earthsdk3-ue 3.5.0-beta.13 → 3.5.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -109,10 +109,10 @@ Msg: ${e}`;console.warn(t)}};g.verboseLogLevel=5,function(r){r.LIST_STREAMERS="l
|
|
|
109
109
|
content: "" !important;
|
|
110
110
|
display: none !important;
|
|
111
111
|
}`,cw=function(r){dw(r,"."+$s+aw+Jc+`
|
|
112
|
-
.`+Zs+lw+Jc)},dw=function(r,A){var e=r.ownerDocument;if(e){var t=e.createElement("style");t.textContent=A,r.appendChild(t)}},zc=function(){function r(){}return r.getOrigin=function(A){var e=r._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},r.isSameOrigin=function(A){return r.getOrigin(A)===r._origin},r.setContext=function(A){r._link=A.document.createElement("a"),r._origin=r.getOrigin(A.location.href)},r._origin="about:blank",r}(),uw=function(){function r(A,e){this.context=A,this._options=e,this._cache={}}return r.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(js(A)||fw(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},r.prototype.match=function(A){return this._cache[A]},r.prototype.loadImage=function(A){return uA(this,void 0,void 0,function(){var e,t,n,s,i=this;return nA(this,function(o){switch(o.label){case 0:return e=zc.isSameOrigin(A),t=!qs(A)&&this._options.useCORS===!0&&tA.SUPPORT_CORS_IMAGES&&!e,n=!qs(A)&&!e&&!js(A)&&typeof this._options.proxy=="string"&&tA.SUPPORT_CORS_XHR&&!t,!e&&this._options.allowTaint===!1&&!qs(A)&&!js(A)&&!n&&!t?[2]:(s=A,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,l){var d=new Image;d.onload=function(){return a(d)},d.onerror=l,(ww(s)||t)&&(d.crossOrigin="anonymous"),d.src=s,d.complete===!0&&setTimeout(function(){return a(d)},500),i._options.imageTimeout>0&&setTimeout(function(){return l("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},r.prototype.has=function(A){return typeof this._cache[A]<"u"},r.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},r.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(s,i){var o=tA.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(o==="text")s(a.response);else{var h=new FileReader;h.addEventListener("load",function(){return s(h.result)},!1),h.addEventListener("error",function(u){return i(u)},!1),h.readAsDataURL(a.response)}else i("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=i;var l=t.indexOf("?")>-1?"&":"?";if(a.open("GET",""+t+l+"url="+encodeURIComponent(A)+"&responseType="+o),o!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=o),e._options.imageTimeout){var d=e._options.imageTimeout;a.timeout=d,a.ontimeout=function(){return i("Timed out ("+d+"ms) proxying "+n)}}a.send()})},r}(),hw=/^data:image\/svg\+xml/i,gw=/^data:image\/.*;base64,/i,Bw=/^data:image\/.*/i,fw=function(r){return tA.SUPPORT_SVG_DRAWING||!pw(r)},qs=function(r){return Bw.test(r)},ww=function(r){return gw.test(r)},js=function(r){return r.substr(0,4)==="blob"},pw=function(r){return r.substr(-3).toLowerCase()==="svg"||hw.test(r)},y=function(){function r(A,e){this.type=0,this.x=A,this.y=e}return r.prototype.add=function(A,e){return new r(this.x+A,this.y+e)},r}(),Ie=function(r,A,e){return new y(r.x+(A.x-r.x)*e,r.y+(A.y-r.y)*e)},Bn=function(){function r(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return r.prototype.subdivide=function(A,e){var t=Ie(this.start,this.startControl,A),n=Ie(this.startControl,this.endControl,A),s=Ie(this.endControl,this.end,A),i=Ie(t,n,A),o=Ie(n,s,A),a=Ie(i,o,A);return e?new r(this.start,t,i,a):new r(a,o,s,this.end)},r.prototype.add=function(A,e){return new r(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},r.prototype.reverse=function(){return new r(this.end,this.endControl,this.startControl,this.start)},r}(),pA=function(r){return r.type===1},Cw=function(){function r(A){var e=A.styles,t=A.bounds,n=st(e.borderTopLeftRadius,t.width,t.height),s=n[0],i=n[1],o=st(e.borderTopRightRadius,t.width,t.height),a=o[0],l=o[1],d=st(e.borderBottomRightRadius,t.width,t.height),h=d[0],u=d[1],f=st(e.borderBottomLeftRadius,t.width,t.height),B=f[0],w=f[1],v=[];v.push((s+a)/t.width),v.push((B+h)/t.width),v.push((i+w)/t.height),v.push((l+u)/t.height);var m=Math.max.apply(Math,v);m>1&&(s/=m,i/=m,a/=m,l/=m,h/=m,u/=m,B/=m,w/=m);var F=t.width-a,E=t.height-u,H=t.width-h,S=t.height-w,U=e.borderTopWidth,D=e.borderRightWidth,R=e.borderBottomWidth,M=e.borderLeftWidth,O=N(e.paddingTop,A.bounds.width),iA=N(e.paddingRight,A.bounds.width),Y=N(e.paddingBottom,A.bounds.width),G=N(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?V(t.left+M/3,t.top+U/3,s-M/3,i-U/3,K.TOP_LEFT):new y(t.left+M/3,t.top+U/3),this.topRightBorderDoubleOuterBox=s>0||i>0?V(t.left+F,t.top+U/3,a-D/3,l-U/3,K.TOP_RIGHT):new y(t.left+t.width-D/3,t.top+U/3),this.bottomRightBorderDoubleOuterBox=h>0||u>0?V(t.left+H,t.top+E,h-D/3,u-R/3,K.BOTTOM_RIGHT):new y(t.left+t.width-D/3,t.top+t.height-R/3),this.bottomLeftBorderDoubleOuterBox=B>0||w>0?V(t.left+M/3,t.top+S,B-M/3,w-R/3,K.BOTTOM_LEFT):new y(t.left+M/3,t.top+t.height-R/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?V(t.left+M*2/3,t.top+U*2/3,s-M*2/3,i-U*2/3,K.TOP_LEFT):new y(t.left+M*2/3,t.top+U*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?V(t.left+F,t.top+U*2/3,a-D*2/3,l-U*2/3,K.TOP_RIGHT):new y(t.left+t.width-D*2/3,t.top+U*2/3),this.bottomRightBorderDoubleInnerBox=h>0||u>0?V(t.left+H,t.top+E,h-D*2/3,u-R*2/3,K.BOTTOM_RIGHT):new y(t.left+t.width-D*2/3,t.top+t.height-R*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||w>0?V(t.left+M*2/3,t.top+S,B-M*2/3,w-R*2/3,K.BOTTOM_LEFT):new y(t.left+M*2/3,t.top+t.height-R*2/3),this.topLeftBorderStroke=s>0||i>0?V(t.left+M/2,t.top+U/2,s-M/2,i-U/2,K.TOP_LEFT):new y(t.left+M/2,t.top+U/2),this.topRightBorderStroke=s>0||i>0?V(t.left+F,t.top+U/2,a-D/2,l-U/2,K.TOP_RIGHT):new y(t.left+t.width-D/2,t.top+U/2),this.bottomRightBorderStroke=h>0||u>0?V(t.left+H,t.top+E,h-D/2,u-R/2,K.BOTTOM_RIGHT):new y(t.left+t.width-D/2,t.top+t.height-R/2),this.bottomLeftBorderStroke=B>0||w>0?V(t.left+M/2,t.top+S,B-M/2,w-R/2,K.BOTTOM_LEFT):new y(t.left+M/2,t.top+t.height-R/2),this.topLeftBorderBox=s>0||i>0?V(t.left,t.top,s,i,K.TOP_LEFT):new y(t.left,t.top),this.topRightBorderBox=a>0||l>0?V(t.left+F,t.top,a,l,K.TOP_RIGHT):new y(t.left+t.width,t.top),this.bottomRightBorderBox=h>0||u>0?V(t.left+H,t.top+E,h,u,K.BOTTOM_RIGHT):new y(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=B>0||w>0?V(t.left,t.top+S,B,w,K.BOTTOM_LEFT):new y(t.left,t.top+t.height),this.topLeftPaddingBox=s>0||i>0?V(t.left+M,t.top+U,Math.max(0,s-M),Math.max(0,i-U),K.TOP_LEFT):new y(t.left+M,t.top+U),this.topRightPaddingBox=a>0||l>0?V(t.left+Math.min(F,t.width-D),t.top+U,F>t.width+D?0:Math.max(0,a-D),Math.max(0,l-U),K.TOP_RIGHT):new y(t.left+t.width-D,t.top+U),this.bottomRightPaddingBox=h>0||u>0?V(t.left+Math.min(H,t.width-M),t.top+Math.min(E,t.height-R),Math.max(0,h-D),Math.max(0,u-R),K.BOTTOM_RIGHT):new y(t.left+t.width-D,t.top+t.height-R),this.bottomLeftPaddingBox=B>0||w>0?V(t.left+M,t.top+Math.min(S,t.height-R),Math.max(0,B-M),Math.max(0,w-R),K.BOTTOM_LEFT):new y(t.left+M,t.top+t.height-R),this.topLeftContentBox=s>0||i>0?V(t.left+M+G,t.top+U+O,Math.max(0,s-(M+G)),Math.max(0,i-(U+O)),K.TOP_LEFT):new y(t.left+M+G,t.top+U+O),this.topRightContentBox=a>0||l>0?V(t.left+Math.min(F,t.width+M+G),t.top+U+O,F>t.width+M+G?0:a-M+G,l-(U+O),K.TOP_RIGHT):new y(t.left+t.width-(D+iA),t.top+U+O),this.bottomRightContentBox=h>0||u>0?V(t.left+Math.min(H,t.width-(M+G)),t.top+Math.min(E,t.height+U+O),Math.max(0,h-(D+iA)),u-(R+Y),K.BOTTOM_RIGHT):new y(t.left+t.width-(D+iA),t.top+t.height-(R+Y)),this.bottomLeftContentBox=B>0||w>0?V(t.left+M+G,t.top+S,Math.max(0,B-(M+G)),w-(R+Y),K.BOTTOM_LEFT):new y(t.left+M+G,t.top+t.height-(R+Y))}return r}(),K;(function(r){r[r.TOP_LEFT=0]="TOP_LEFT",r[r.TOP_RIGHT=1]="TOP_RIGHT",r[r.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",r[r.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(K||(K={}));var V=function(r,A,e,t,n){var s=4*((Math.sqrt(2)-1)/3),i=e*s,o=t*s,a=r+e,l=A+t;switch(n){case K.TOP_LEFT:return new Bn(new y(r,l),new y(r,l-o),new y(a-i,A),new y(a,A));case K.TOP_RIGHT:return new Bn(new y(r,A),new y(r+i,A),new y(a,l-o),new y(a,l));case K.BOTTOM_RIGHT:return new Bn(new y(a,A),new y(a,A+o),new y(r+i,l),new y(r,l));case K.BOTTOM_LEFT:default:return new Bn(new y(a,l),new y(a-i,l),new y(r,A+o),new y(r,A))}},fn=function(r){return[r.topLeftBorderBox,r.topRightBorderBox,r.bottomRightBorderBox,r.bottomLeftBorderBox]},vw=function(r){return[r.topLeftContentBox,r.topRightContentBox,r.bottomRightContentBox,r.bottomLeftContentBox]},wn=function(r){return[r.topLeftPaddingBox,r.topRightPaddingBox,r.bottomRightPaddingBox,r.bottomLeftPaddingBox]},mw=function(){function r(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return r}(),pn=function(){function r(A,e){this.path=A,this.target=e,this.type=1}return r}(),Fw=function(){function r(A){this.opacity=A,this.type=2,this.target=6}return r}(),Qw=function(r){return r.type===0},Yc=function(r){return r.type===1},Uw=function(r){return r.type===2},$c=function(r,A){return r.length===A.length?r.some(function(e,t){return e===A[t]}):!1},Ew=function(r,A,e,t,n){return r.map(function(s,i){switch(i){case 0:return s.add(A,e);case 1:return s.add(A+t,e);case 2:return s.add(A+t,e+n);case 3:return s.add(A,e+n)}return s})},Zc=function(){function r(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return r}(),qc=function(){function r(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Cw(this.container),this.container.styles.opacity<1&&this.effects.push(new Fw(this.container.styles.opacity)),this.container.styles.transform!==null){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new mw(t,n,s))}if(this.container.styles.overflowX!==0){var i=fn(this.curves),o=wn(this.curves);$c(i,o)?this.effects.push(new pn(i,6)):(this.effects.push(new pn(i,2)),this.effects.push(new pn(o,4)))}}return r.prototype.getEffects=function(A){for(var e=[2,3].indexOf(this.container.styles.position)===-1,t=this.parent,n=this.effects.slice(0);t;){var s=t.effects.filter(function(a){return!Yc(a)});if(e||t.container.styles.position!==0||!t.parent){if(n.unshift.apply(n,s),e=[2,3].indexOf(t.container.styles.position)===-1,t.container.styles.overflowX!==0){var i=fn(t.curves),o=wn(t.curves);$c(i,o)||n.unshift(new pn(o,6))}}else n.unshift.apply(n,s);t=t.parent}return n.filter(function(a){return Z(a.target,A)})},r}(),Ai=function(r,A,e,t){r.container.elements.forEach(function(n){var s=Z(n.flags,4),i=Z(n.flags,2),o=new qc(n,r);Z(n.styles.display,2048)&&t.push(o);var a=Z(n.flags,8)?[]:t;if(s||i){var l=s||n.styles.isPositioned()?e:A,d=new Zc(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var h=n.styles.zIndex.order;if(h<0){var u=0;l.negativeZIndex.some(function(B,w){return h>B.element.container.styles.zIndex.order?(u=w,!1):u>0}),l.negativeZIndex.splice(u,0,d)}else if(h>0){var f=0;l.positiveZIndex.some(function(B,w){return h>=B.element.container.styles.zIndex.order?(f=w+1,!1):f>0}),l.positiveZIndex.splice(f,0,d)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(d)}else n.styles.isFloating()?l.nonPositionedFloats.push(d):l.nonPositionedInlineLevel.push(d);Ai(o,d,s?d:e,a)}else n.styles.isInlineLevel()?A.inlineLevel.push(o):A.nonInlineLevel.push(o),Ai(o,A,e,a);Z(n.flags,8)&&jc(n,a)})},jc=function(r,A){for(var e=r instanceof Vs?r.start:1,t=r instanceof Vs?r.reversed:!1,n=0;n<A.length;n++){var s=A[n];s.container instanceof Uc&&typeof s.container.value=="number"&&s.container.value!==0&&(e=s.container.value),s.listValue=dt(e,s.container.styles.listStyleType,!0),e+=t?-1:1}},yw=function(r){var A=new qc(r,null),e=new Zc(A),t=[];return Ai(A,e,e,t),jc(A.container,t),e},Ad=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftPaddingBox,r.topRightBorderBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderBox,r.topRightPaddingBox,r.bottomRightBorderBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightPaddingBox,r.bottomLeftBorderBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftPaddingBox,r.topLeftBorderBox,r.topLeftPaddingBox)}},Sw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox,r.topRightBorderBox,r.topRightBorderDoubleOuterBox);case 1:return CA(r.topRightBorderBox,r.topRightBorderDoubleOuterBox,r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox,r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox,r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox)}},Iw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox,r.topRightBorderDoubleInnerBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderDoubleInnerBox,r.topRightPaddingBox,r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox,r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox,r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox)}},Tw=function(r,A){switch(A){case 0:return Cn(r.topLeftBorderStroke,r.topRightBorderStroke);case 1:return Cn(r.topRightBorderStroke,r.bottomRightBorderStroke);case 2:return Cn(r.bottomRightBorderStroke,r.bottomLeftBorderStroke);case 3:default:return Cn(r.bottomLeftBorderStroke,r.topLeftBorderStroke)}},Cn=function(r,A){var e=[];return pA(r)?e.push(r.subdivide(.5,!1)):e.push(r),pA(A)?e.push(A.subdivide(.5,!0)):e.push(A),e},CA=function(r,A,e,t){var n=[];return pA(r)?n.push(r.subdivide(.5,!1)):n.push(r),pA(e)?n.push(e.subdivide(.5,!0)):n.push(e),pA(t)?n.push(t.subdivide(.5,!0).reverse()):n.push(t),pA(A)?n.push(A.subdivide(.5,!1).reverse()):n.push(A),n},ed=function(r){var A=r.bounds,e=r.styles;return A.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},vn=function(r){var A=r.styles,e=r.bounds,t=N(A.paddingLeft,e.width),n=N(A.paddingRight,e.width),s=N(A.paddingTop,e.width),i=N(A.paddingBottom,e.width);return e.add(t+A.borderLeftWidth,s+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+t+n),-(A.borderTopWidth+A.borderBottomWidth+s+i))},Hw=function(r,A){return r===0?A.bounds:r===2?vn(A):ed(A)},Lw=function(r,A){return r===0?A.bounds:r===2?vn(A):ed(A)},ei=function(r,A,e){var t=Hw(He(r.styles.backgroundOrigin,A),r),n=Lw(He(r.styles.backgroundClip,A),r),s=bw(He(r.styles.backgroundSize,A),e,t),i=s[0],o=s[1],a=st(He(r.styles.backgroundPosition,A),t.width-i,t.height-o),l=Mw(He(r.styles.backgroundRepeat,A),a,s,t,n),d=Math.round(t.left+a[0]),h=Math.round(t.top+a[1]);return[l,d,h,i,o]},Te=function(r){return k(r)&&r.value===Ue.AUTO},mn=function(r){return typeof r=="number"},bw=function(r,A,e){var t=A[0],n=A[1],s=A[2],i=r[0],o=r[1];if(!i)return[0,0];if(z(i)&&o&&z(o))return[N(i,e.width),N(o,e.height)];var a=mn(s);if(k(i)&&(i.value===Ue.CONTAIN||i.value===Ue.COVER)){if(mn(s)){var l=e.width/e.height;return l<s!=(i.value===Ue.COVER)?[e.width,e.width/s]:[e.height*s,e.height]}return[e.width,e.height]}var d=mn(t),h=mn(n),u=d||h;if(Te(i)&&(!o||Te(o))){if(d&&h)return[t,n];if(!a&&!u)return[e.width,e.height];if(u&&a){var f=d?t:n*s,B=h?n:t/s;return[f,B]}var w=d?t:e.width,v=h?n:e.height;return[w,v]}if(a){var m=0,F=0;return z(i)?m=N(i,e.width):z(o)&&(F=N(o,e.height)),Te(i)?m=F*s:(!o||Te(o))&&(F=m/s),[m,F]}var E=null,H=null;if(z(i)?E=N(i,e.width):o&&z(o)&&(H=N(o,e.height)),E!==null&&(!o||Te(o))&&(H=d&&h?E/t*n:e.height),H!==null&&Te(i)&&(E=d&&h?H/n*t:e.width),E!==null&&H!==null)return[E,H];throw new Error("Unable to calculate background-size for element")},He=function(r,A){var e=r[A];return typeof e>"u"?r[0]:e},Mw=function(r,A,e,t,n){var s=A[0],i=A[1],o=e[0],a=e[1];switch(r){case 2:return[new y(Math.round(t.left),Math.round(t.top+i)),new y(Math.round(t.left+t.width),Math.round(t.top+i)),new y(Math.round(t.left+t.width),Math.round(a+t.top+i)),new y(Math.round(t.left),Math.round(a+t.top+i))];case 3:return[new y(Math.round(t.left+s),Math.round(t.top)),new y(Math.round(t.left+s+o),Math.round(t.top)),new y(Math.round(t.left+s+o),Math.round(t.height+t.top)),new y(Math.round(t.left+s),Math.round(t.height+t.top))];case 1:return[new y(Math.round(t.left+s),Math.round(t.top+i)),new y(Math.round(t.left+s+o),Math.round(t.top+i)),new y(Math.round(t.left+s+o),Math.round(t.top+i+a)),new y(Math.round(t.left+s),Math.round(t.top+i+a))];default:return[new y(Math.round(n.left),Math.round(n.top)),new y(Math.round(n.left+n.width),Math.round(n.top)),new y(Math.round(n.left+n.width),Math.round(n.height+n.top)),new y(Math.round(n.left),Math.round(n.height+n.top))]}},Dw="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",td="Hidden Text",Rw=function(){function r(A){this._data={},this._document=A}return r.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",i.appendChild(t),n.src=Dw,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=A,s.style.fontSize=e,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(td)),t.appendChild(s),t.appendChild(n);var o=n.offsetTop-s.offsetTop+2;t.removeChild(s),t.appendChild(this._document.createTextNode(td)),t.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-t.offsetTop+2;return i.removeChild(t),{baseline:o,middle:a}},r.prototype.getMetrics=function(A,e){var t=A+" "+e;return typeof this._data[t]>"u"&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},r}(),rd=function(){function r(A,e){this.context=A,this.options=e}return r}(),xw=1e4,Pw=function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new Rw(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return A.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(n){return t.applyEffect(n)})},A.prototype.applyEffect=function(e){this.ctx.save(),Uw(e)&&(this.ctx.globalAlpha=e.opacity),Qw(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),Yc(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return uA(this,void 0,void 0,function(){var t;return nA(this,function(n){switch(n.label){case 0:return t=e.element.container.styles,t.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return uA(this,void 0,void 0,function(){return nA(this,function(t){switch(t.label){case 0:if(Z(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,t,n){var s=this;if(t===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n);else{var i=_s(e.text);i.reduce(function(o,a){return s.ctx.fillText(a,o,e.bounds.top+n),o+s.ctx.measureText(a).width},e.bounds.left)}},A.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=_w(e.fontFamily).join(", "),s=nt(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,s,n].join(" "),n,s]},A.prototype.renderTextNode=function(e,t){return uA(this,void 0,void 0,function(){var n,s,i,o,a,l,d,h,u=this;return nA(this,function(f){return n=this.createFontStyle(t),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=t.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(i,o),l=a.baseline,d=a.middle,h=t.paintOrder,e.textBounds.forEach(function(B){h.forEach(function(w){switch(w){case 0:u.ctx.fillStyle=j(t.color),u.renderTextWithLetterSpacing(B,t.letterSpacing,l);var v=t.textShadow;v.length&&B.text.trim().length&&(v.slice(0).reverse().forEach(function(m){u.ctx.shadowColor=j(m.color),u.ctx.shadowOffsetX=m.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=m.offsetY.number*u.options.scale,u.ctx.shadowBlur=m.blur.number,u.renderTextWithLetterSpacing(B,t.letterSpacing,l)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),t.textDecorationLine.length&&(u.ctx.fillStyle=j(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(m){switch(m){case 1:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+l),B.bounds.width,1);break;case 2:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:u.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+d),B.bounds.width,1);break}}));break;case 1:t.webkitTextStrokeWidth&&B.text.trim().length&&(u.ctx.strokeStyle=j(t.webkitTextStrokeColor),u.ctx.lineWidth=t.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+l)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(e,t,n){if(n&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var s=vn(e),i=wn(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a,F,F,l,d,h,u,H,f,B,S,w,v,m,F,E,H,S;return nA(this,function(U){switch(U.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,n=e.curves,s=t.styles,i=0,o=t.textNodes,U.label=1;case 1:return i<o.length?(a=o[i],[4,this.renderTextNode(a,s)]):[3,4];case 2:U.sent(),U.label=3;case 3:return i++,[3,1];case 4:if(!(t instanceof mc))return[3,8];U.label=5;case 5:return U.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,8];case 7:return U.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof Fc&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof Qc))return[3,12];U.label=9;case 9:return U.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,12];case 11:return U.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof Ic&&t.tree?(l=new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}),[4,l.render(t.tree)]):[3,14];case 13:d=U.sent(),t.width&&t.height&&this.ctx.drawImage(d,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),U.label=14;case 14:if(t instanceof Os&&(h=Math.min(t.bounds.width,t.bounds.height),t.type===ln?t.checked&&(this.ctx.save(),this.path([new y(t.bounds.left+h*.39363,t.bounds.top+h*.79),new y(t.bounds.left+h*.16,t.bounds.top+h*.5549),new y(t.bounds.left+h*.27347,t.bounds.top+h*.44071),new y(t.bounds.left+h*.39694,t.bounds.top+h*.5649),new y(t.bounds.left+h*.72983,t.bounds.top+h*.23),new y(t.bounds.left+h*.84,t.bounds.top+h*.34085),new y(t.bounds.left+h*.39363,t.bounds.top+h*.79)]),this.ctx.fillStyle=j(Ec),this.ctx.fill(),this.ctx.restore()):t.type===cn&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+h/2,t.bounds.top+h/2,h/4,0,Math.PI*2,!0),this.ctx.fillStyle=j(Ec),this.ctx.fill(),this.ctx.restore())),Kw(t)&&t.value.length){switch(u=this.createFontStyle(s),H=u[0],f=u[1],B=this.fontMetrics.getMetrics(H,f).baseline,this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=kw(t.styles.textAlign),S=vn(t),w=0,t.styles.textAlign){case 1:w+=S.width/2;break;case 2:w+=S.width;break}v=S.add(w,0,0,-S.height/2+1),this.ctx.save(),this.path([new y(S.left,S.top),new y(S.left+S.width,S.top),new y(S.left+S.width,S.top+S.height),new y(S.left,S.top+S.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new lt(t.value,v),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Z(t.styles.display,2048))return[3,20];if(t.styles.listStyleImage===null)return[3,19];if(m=t.styles.listStyleImage,m.type!==0)return[3,18];F=void 0,E=m.url,U.label=15;case 15:return U.trys.push([15,17,,18]),[4,this.context.cache.match(E)];case 16:return F=U.sent(),this.ctx.drawImage(F,t.bounds.left-(F.width+10),t.bounds.top),[3,18];case 17:return U.sent(),this.context.logger.error("Error loading list-style-image "+E),[3,18];case 18:return[3,20];case 19:e.listValue&&t.styles.listStyleType!==-1&&(H=this.createFontStyle(s)[0],this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",S=new bA(t.bounds.left,t.bounds.top+N(t.styles.paddingTop,t.bounds.width),t.bounds.width,tc(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new lt(e.listValue,S),s.letterSpacing,tc(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),U.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return uA(this,void 0,void 0,function(){var t,n,m,s,i,m,o,a,m,l,d,m,h,u,m,f,B,m,w,v,m;return nA(this,function(F){switch(F.label){case 0:if(Z(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:F.sent(),t=0,n=e.negativeZIndex,F.label=2;case 2:return t<n.length?(m=n[t],[4,this.renderStack(m)]):[3,5];case 3:F.sent(),F.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:F.sent(),s=0,i=e.nonInlineLevel,F.label=7;case 7:return s<i.length?(m=i[s],[4,this.renderNode(m)]):[3,10];case 8:F.sent(),F.label=9;case 9:return s++,[3,7];case 10:o=0,a=e.nonPositionedFloats,F.label=11;case 11:return o<a.length?(m=a[o],[4,this.renderStack(m)]):[3,14];case 12:F.sent(),F.label=13;case 13:return o++,[3,11];case 14:l=0,d=e.nonPositionedInlineLevel,F.label=15;case 15:return l<d.length?(m=d[l],[4,this.renderStack(m)]):[3,18];case 16:F.sent(),F.label=17;case 17:return l++,[3,15];case 18:h=0,u=e.inlineLevel,F.label=19;case 19:return h<u.length?(m=u[h],[4,this.renderNode(m)]):[3,22];case 20:F.sent(),F.label=21;case 21:return h++,[3,19];case 22:f=0,B=e.zeroOrAutoZIndexOrTransformedOrOpacity,F.label=23;case 23:return f<B.length?(m=B[f],[4,this.renderStack(m)]):[3,26];case 24:F.sent(),F.label=25;case 25:return f++,[3,23];case 26:w=0,v=e.positiveZIndex,F.label=27;case 27:return w<v.length?(m=v[w],[4,this.renderStack(m)]):[3,30];case 28:F.sent(),F.label=29;case 29:return w++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var t=this;e.forEach(function(n,s){var i=pA(n)?n.start:n;s===0?t.ctx.moveTo(i.x,i.y):t.ctx.lineTo(i.x,i.y),pA(n)&&t.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},A.prototype.renderRepeat=function(e,t,n,s){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},A.prototype.resizeImage=function(e,t,n){var s;if(e.width===t&&e.height===n)return e;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,t),o.height=Math.max(1,n);var a=o.getContext("2d");return a.drawImage(e,0,0,e.width,e.height,0,0,t,n),o},A.prototype.renderBackgroundImage=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a;return nA(this,function(l){switch(l.label){case 0:t=e.styles.backgroundImage.length-1,n=function(d){var h,u,f,O,oA,gA,G,q,R,B,O,oA,gA,G,q,w,v,m,F,E,H,S,U,D,R,M,O,iA,Y,G,q,SA,oA,gA,ce,IA,zA,de,ue,xA,he,PA;return nA(this,function(Pe){switch(Pe.label){case 0:if(d.type!==0)return[3,5];h=void 0,u=d.url,Pe.label=1;case 1:return Pe.trys.push([1,3,,4]),[4,s.context.cache.match(u)];case 2:return h=Pe.sent(),[3,4];case 3:return Pe.sent(),s.context.logger.error("Error loading background-image "+u),[3,4];case 4:return h&&(f=ei(e,t,[h.width,h.height,h.width/h.height]),O=f[0],oA=f[1],gA=f[2],G=f[3],q=f[4],R=s.ctx.createPattern(s.resizeImage(h,G,q),"repeat"),s.renderRepeat(O,R,oA,gA)),[3,6];case 5:Fg(d)?(B=ei(e,t,[null,null,null]),O=B[0],oA=B[1],gA=B[2],G=B[3],q=B[4],w=wg(d.angle,G,q),v=w[0],m=w[1],F=w[2],E=w[3],H=w[4],S=document.createElement("canvas"),S.width=G,S.height=q,U=S.getContext("2d"),D=U.createLinearGradient(m,E,F,H),Wl(d.stops,v).forEach(function(vr){return D.addColorStop(vr.stop,j(vr.color))}),U.fillStyle=D,U.fillRect(0,0,G,q),G>0&&q>0&&(R=s.ctx.createPattern(S,"repeat"),s.renderRepeat(O,R,oA,gA))):Qg(d)&&(M=ei(e,t,[null,null,null]),O=M[0],iA=M[1],Y=M[2],G=M[3],q=M[4],SA=d.position.length===0?[Ss]:d.position,oA=N(SA[0],G),gA=N(SA[SA.length-1],q),ce=pg(d,oA,gA,G,q),IA=ce[0],zA=ce[1],IA>0&&zA>0&&(de=s.ctx.createRadialGradient(iA+oA,Y+gA,0,iA+oA,Y+gA,IA),Wl(d.stops,IA*2).forEach(function(vr){return de.addColorStop(vr.stop,j(vr.color))}),s.path(O),s.ctx.fillStyle=de,IA!==zA?(ue=e.bounds.left+.5*e.bounds.width,xA=e.bounds.top+.5*e.bounds.height,he=zA/IA,PA=1/he,s.ctx.save(),s.ctx.translate(ue,xA),s.ctx.transform(1,0,0,he,0,0),s.ctx.translate(-ue,-xA),s.ctx.fillRect(iA,PA*(Y-xA)+xA,G,q*PA),s.ctx.restore()):s.ctx.fill())),Pe.label=6;case 6:return t--,[2]}})},s=this,i=0,o=e.styles.backgroundImage.slice(0).reverse(),l.label=1;case 1:return i<o.length?(a=o[i],[5,n(a)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,t,n){return uA(this,void 0,void 0,function(){return nA(this,function(s){return this.path(Ad(n,t)),this.ctx.fillStyle=j(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,t,n,s){return uA(this,void 0,void 0,function(){var i,o;return nA(this,function(a){switch(a.label){case 0:return t<3?[4,this.renderSolidBorder(e,n,s)]:[3,2];case 1:return a.sent(),[2];case 2:return i=Sw(s,n),this.path(i),this.ctx.fillStyle=j(e),this.ctx.fill(),o=Iw(s,n),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a,l,d,h=this;return nA(this,function(u){switch(u.label){case 0:return this.applyEffects(e.getEffects(2)),t=e.container.styles,n=!OA(t.backgroundColor)||t.backgroundImage.length,s=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Gw(He(t.backgroundClip,0),e.curves),n||t.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),OA(t.backgroundColor)||(this.ctx.fillStyle=j(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:u.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(f){h.ctx.save();var B=fn(e.curves),w=f.inset?0:xw,v=Ew(B,-w+(f.inset?1:-1)*f.spread.number,(f.inset?1:-1)*f.spread.number,f.spread.number*(f.inset?-2:2),f.spread.number*(f.inset?-2:2));f.inset?(h.path(B),h.ctx.clip(),h.mask(v)):(h.mask(B),h.ctx.clip(),h.path(v)),h.ctx.shadowOffsetX=f.offsetX.number+w,h.ctx.shadowOffsetY=f.offsetY.number,h.ctx.shadowColor=j(f.color),h.ctx.shadowBlur=f.blur.number,h.ctx.fillStyle=f.inset?j(f.color):"rgba(0,0,0,1)",h.ctx.fill(),h.ctx.restore()}),u.label=2;case 2:o=0,a=0,l=s,u.label=3;case 3:return a<l.length?(d=l[a],d.style!==0&&!OA(d.color)&&d.width>0?d.style!==2?[3,5]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,2)]:[3,11]):[3,13];case 4:return u.sent(),[3,11];case 5:return d.style!==3?[3,7]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,3)];case 6:return u.sent(),[3,11];case 7:return d.style!==4?[3,9]:[4,this.renderDoubleBorder(d.color,d.width,o,e.curves)];case 8:return u.sent(),[3,11];case 9:return[4,this.renderSolidBorder(d.color,o,e.curves)];case 10:u.sent(),u.label=11;case 11:o++,u.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,t,n,s,i){return uA(this,void 0,void 0,function(){var o,a,l,d,h,u,f,B,w,v,m,F,E,H,S,U,S,U;return nA(this,function(D){return this.ctx.save(),o=Tw(s,n),a=Ad(s,n),i===2&&(this.path(a),this.ctx.clip()),pA(a[0])?(l=a[0].start.x,d=a[0].start.y):(l=a[0].x,d=a[0].y),pA(a[1])?(h=a[1].end.x,u=a[1].end.y):(h=a[1].x,u=a[1].y),n===0||n===2?f=Math.abs(l-h):f=Math.abs(d-u),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(a.slice(0,2)),B=t<3?t*3:t*2,w=t<3?t*2:t,i===3&&(B=t,w=t),v=!0,f<=B*2?v=!1:f<=B*2+w?(m=f/(2*B+w),B*=m,w*=m):(F=Math.floor((f+w)/(B+w)),E=(f-F*B)/(F-1),H=(f-(F+1)*B)/F,w=H<=0||Math.abs(w-E)<Math.abs(w-H)?E:H),v&&(i===3?this.ctx.setLineDash([0,B+w]):this.ctx.setLineDash([B,w])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=j(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(pA(a[0])&&(S=a[3],U=a[0],this.ctx.beginPath(),this.formatPath([new y(S.end.x,S.end.y),new y(U.start.x,U.start.y)]),this.ctx.stroke()),pA(a[1])&&(S=a[1],U=a[2],this.ctx.beginPath(),this.formatPath([new y(S.end.x,S.end.y),new y(U.start.x,U.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return uA(this,void 0,void 0,function(){var t;return nA(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=yw(e),[4,this.renderStack(t)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(rd),Kw=function(r){return r instanceof Sc||r instanceof yc?!0:r instanceof Os&&r.type!==cn&&r.type!==ln},Gw=function(r,A){switch(r){case 0:return fn(A);case 2:return vw(A);case 1:default:return wn(A)}},kw=function(r){switch(r){case 1:return"center";case 2:return"right";case 0:default:return"left"}},Nw=["-apple-system","system-ui"],_w=function(r){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?r.filter(function(A){return Nw.indexOf(A)===-1}):r},Vw=function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return A.prototype.render=function(e){return uA(this,void 0,void 0,function(){var t,n;return nA(this,function(s){switch(s.label){case 0:return t=Ns(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,Ow(t)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A}(rd),Ow=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},Ww=function(){function r(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return r.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.getTime=function(){return Date.now()-this.start},r.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Ir([this.id,this.getTime()+"ms"],A))},r.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.instances={},r}(),Xw=function(){function r(A,e){var t;this.windowBounds=e,this.instanceName="#"+r.instanceCount++,this.logger=new Ww({id:this.instanceName,enabled:A.logging}),this.cache=(t=A.cache)!==null&&t!==void 0?t:new uw(this,A)}return r.instanceCount=1,r}(),Jw=function(r,A){return A===void 0&&(A={}),zw(r,A)};typeof window<"u"&&zc.setContext(window);var zw=function(r,A){return uA(void 0,void 0,void 0,function(){var e,t,n,s,i,o,a,l,d,h,u,f,B,w,v,m,F,E,H,S,D,U,D,R,M,O,iA,Y,G,q,SA,oA,gA,ce,IA,zA,de,ue,xA,he;return nA(this,function(PA){switch(PA.label){case 0:if(!r||typeof r!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=r.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(t=e.defaultView,!t)throw new Error("Document is not attached to a Window");return n={allowTaint:(R=A.allowTaint)!==null&&R!==void 0?R:!1,imageTimeout:(M=A.imageTimeout)!==null&&M!==void 0?M:15e3,proxy:A.proxy,useCORS:(O=A.useCORS)!==null&&O!==void 0?O:!1},s=is({logging:(iA=A.logging)!==null&&iA!==void 0?iA:!0,cache:A.cache},n),i={windowWidth:(Y=A.windowWidth)!==null&&Y!==void 0?Y:t.innerWidth,windowHeight:(G=A.windowHeight)!==null&&G!==void 0?G:t.innerHeight,scrollX:(q=A.scrollX)!==null&&q!==void 0?q:t.pageXOffset,scrollY:(SA=A.scrollY)!==null&&SA!==void 0?SA:t.pageYOffset},o=new bA(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),a=new Xw(s,o),l=(oA=A.foreignObjectRendering)!==null&&oA!==void 0?oA:!1,d={allowTaint:(gA=A.allowTaint)!==null&&gA!==void 0?gA:!1,onclone:A.onclone,ignoreElements:A.ignoreElements,inlineImages:l,copyStyles:l},a.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),h=new Xc(a,r,d),u=h.clonedReferenceElement,u?[4,h.toIFrame(e,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return f=PA.sent(),B=Xs(u)||Yf(u)?Uu(u.ownerDocument):Tr(a,u),w=B.width,v=B.height,m=B.left,F=B.top,E=Yw(a,u,A.backgroundColor),H={canvas:A.canvas,backgroundColor:E,scale:(IA=(ce=A.scale)!==null&&ce!==void 0?ce:t.devicePixelRatio)!==null&&IA!==void 0?IA:1,x:((zA=A.x)!==null&&zA!==void 0?zA:0)+m,y:((de=A.y)!==null&&de!==void 0?de:0)+F,width:(ue=A.width)!==null&&ue!==void 0?ue:Math.ceil(w),height:(xA=A.height)!==null&&xA!==void 0?xA:Math.ceil(v)},l?(a.logger.debug("Document cloned, using foreign object rendering"),D=new Vw(a,H),[4,D.render(u)]):[3,3];case 2:return S=PA.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+m+","+F+" with size "+w+"x"+v+" using computed rendering"),a.logger.debug("Starting DOM parsing"),U=Hc(a,u),E===U.styles.backgroundColor&&(U.styles.backgroundColor=DA.TRANSPARENT),a.logger.debug("Starting renderer for element at "+H.x+","+H.y+" with size "+H.width+"x"+H.height),D=new Pw(a,H),[4,D.render(U)];case 4:S=PA.sent(),PA.label=5;case 5:return(!((he=A.removeContainer)!==null&&he!==void 0)||he)&&(Xc.destroy(f)||a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),a.logger.debug("Finished rendering"),[2,S]}})})},Yw=function(r,A,e){var t=A.ownerDocument,n=t.documentElement?it(r,getComputedStyle(t.documentElement).backgroundColor):DA.TRANSPARENT,s=t.body?it(r,getComputedStyle(t.body).backgroundColor):DA.TRANSPARENT,i=typeof e=="string"?it(r,e):e===null?DA.TRANSPARENT:4294967295;return A===t.documentElement?OA(n)?OA(s)?i:s:n:i};const Mt=class Mt extends c.EngineObject{constructor(A,e){super(A,e),this.ad(new c.ObjResettingWithEvent(A.renderInUEChanged,()=>A.renderInUE?new sd(A,e):new nd(A,e)))}};p(Mt,"type",Mt.register("ESUeViewer",c.ESGeoDiv.type,Mt));let ti=Mt;class nd extends c.Destroyable{constructor(e,t){super();p(this,"_screenPosition",this.disposeVar(c.reactArrayWithUndefined(void 0)));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this.disposeVar(new c.ESTextLabel);s.parentID=e.id,e.components.disposableAdd(s,!0),s.show=!1,this.dispose(c.bind([s,"position"],[e,"position"])),this.dispose(c.bind([s,"rotation"],[e,"rotation"])),this.dispose(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.dispose(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{YA(n,s.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!t.actived)return;const a=await t.getCurrentCameraInfo();if(!a)return;const{position:l,rotation:d}=a;e.flyInParam={position:l,rotation:d,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((a,l)=>{_e(n,s.id,a,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((a,l,d)=>{Ge(n,s.id,a,l,d)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((a,l,d,h)=>{ke(n,s.id,a,l,h,d)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((a,l,d,h,u)=>{Ne(n,s.id,a,l,d,h,u)})),this.dispose(e.flyToEvent.disposableOn((a,l)=>{s.flyTo(a)})),this.dispose(e.flyInEvent.don(a=>{s.flyIn(a)}));const i=this._screenPosition,o=this.disposeVar(new c.ESCustomDiv);o.parentID=e.id,t.add(o),this.dispose(()=>t.delete(o)),this.dispose(c.bind([o,"allowPicking"],[e,"allowPicking"]));{const a=this.disposeVar(c.createAnimateFrame()),l=()=>{e.show?a.restart(void 0,async()=>{if(!e.position)return;const d=await t.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!d)this._screenPosition.value=void 0;else{const[h,u]=d;h===-1&&u===-1?this._screenPosition.value=void 0:this._screenPosition.value=[h,u]}}):a.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const a=()=>class extends c.Destroyable{constructor(u,f,B){if(super(),this._subContainer=u,!B)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new c.PosFloatDiv,v=w.element;this._subContainer.appendChild(v),this.dispose(()=>this._subContainer.removeChild(v)),v.onclick=m=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new c.ESJPickedResult({div:v,pointerEvent:m},e,void 0,void 0,void 0,[m.x,m.y]))};{const m=()=>{e.editing?v.children[0].style.pointerEvents="none":v.children[0].style.pointerEvents="all"};m(),this.d(e.editingChanged.don(m))}{const m=()=>{const E=e.show;i.value&&E?(w.show=!0,w.winPos=[...i.value]):(w.show=!1,w.winPos=[0,0])};m();const F=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,i.changed));this.dispose(F.disposableOn(m))}{const m=()=>{const[F,E]=e.anchor??c.ESGeoDiv.defaults.anchor;w.originRatioX=F,w.originRatioY=E};m(),this.dispose(e.anchorChanged.disposableOn(m))}{const m=()=>{w.opacity=e.opacity??c.ESGeoDiv.defaults.opacity};m(),this.dispose(e.opacityChanged.disposableOn(m))}this.disposeVar(new e.instanceClass(w.contentDiv,e,B))}},l=()=>{try{e.instanceClass?o.instanceClass=a():o.instanceClass=void 0}catch(h){console.error(h)}};l();const d=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(d.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class sd extends c.Destroyable{constructor(e,t){super();p(this,"_imageLabel");p(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new c.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this._imageLabel;e.components.disposableAdd(s,!0);{const i=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),d=this.dv(new e.instanceClass(l,e,t))._container;if(d.style.opacity=e.opacity.toString()??c.ESGeoDiv.defaults.opacity,d.style.position="fixed",d.style.zIndex="-1",d.style.top="0px",!document.body.contains(d)){document.body.appendChild(d);let u=d?d.querySelectorAll("*[class]"):[];for(let f=0;f<u.length;f++){const B=u[f];var h=B.getBoundingClientRect();this._hasClassDivAndPos[B.className]=[B.offsetLeft,B.offsetTop,B.offsetLeft+h.width,B.offsetTop+h.height]}}Jw(d,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:d.offsetWidth,height:d.offsetHeight,scale:1}).then(u=>{document.body.contains(d)&&document.body.removeChild(d),s.url=u.toDataURL(),s.show=e.show}).catch(()=>{document.body.contains(d)&&document.body.removeChild(d)})},o=()=>{try{e.instanceClass?i():(s.url="",s.show=!1)}catch(l){console.error(l)}};o();const a=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(a.don(o))}{const i=()=>{s.show=e.show};s.show=!1,this.ad(e.showChanged.don(i))}this.d(c.track([s,"anchor"],[e,"anchor"])),this.d(c.bind([s,"position"],[e,"position"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.d(c.bind([s,"allowPicking"],[e,"allowPicking"])),this.d(c.bind([s,"scale"],[e,"scale"])),this.d(c.track([s,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(c.track([s,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{s.automaticLanding()})),this.d(t.widgetEvent.don(i=>{if(i.objId!==this._imageLabel.id)return;const{type:o,add:a}=i;if(o==="leftClick"&&a){const l=(a==null?void 0:a.classNames)??[],d=Object.keys(this._hasClassDivAndPos);for(let h=0;h<d.length;h++){const u=d[h];let f=this._hasClassDivAndPos[u];a&&a.mouseRelativePos&&a.mouseRelativePos[0]>=f[0]&&a.mouseRelativePos[0]<=f[2]&&a.mouseRelativePos[1]>=f[1]&&a.mouseRelativePos[1]<=f[3]&&l.push(u)}a.classNames=l}e.widgetEvent.emit({type:o,add:a})})),this.d(e.calcFlyToParamEvent.don(()=>{YA(n,s.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const i=t.getCurrentCameraInfo();if(!i)return;const{position:o,rotation:a}=i;e.flyInParam={position:o,rotation:a,flyDuration:1}})),this.d(e.smoothMoveEvent.don((i,o)=>{_e(n,s.id,i,o)})),this.d(e.smoothMoveWithRotationEvent.don((i,o,a)=>{Ge(n,s.id,i,o,a)})),this.d(e.smoothMoveOnGroundEvent.don((i,o,a,l)=>{ke(n,s.id,i,o,l,a)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((i,o,a,l,d)=>{Ne(n,s.id,i,o,a,l,d)})),this.d(e.flyToEvent.don((i,o)=>{s.flyTo(i)})),this.d(e.flyInEvent.don(i=>{s.flyIn(i)}))}}const Dt=class Dt extends cA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.flyToFeatureIndexEvent.don((n,s)=>{t.callUeFunc({f:"flyToFeatureIndex",p:{id:A.id,index:n,duration:s}})})),this.d(A.flyToFeatureEvent.don((n,s,i)=>{t.callUeFunc({f:"flyToFeature",p:{id:A.id,key:n,value:s,duration:i}})}))}};p(Dt,"type",Dt.register("ESUeViewer",c.ESGeoJson.type,Dt));let ri=Dt;const Rt=class Rt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Rt,"type",Rt.register("ESUeViewer",c.ESGeoLineString.type,Rt));let Fn=Rt;const xt=class xt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xt,"type",xt.register("ESUeViewer",c.ESGeoRectangle.type,xt));let ni=xt;const Pt=class Pt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pt,"type",Pt.register("ESUeViewer",c.ESGeoWater.type,Pt));let si=Pt;const ie=class ie extends P{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.setNodePositionEvent.don((n,s)=>{io(t,A.id,n,s)})),this.d(A.setNodeRotationEvent.don((n,s)=>{oo(t,A.id,n,s)})),this.d(A.setNodeScaleEvent.don((n,s)=>{ao(t,A.id,n,s)}))}};p(ie,"forceUeUpdateProps",[...P.forceUeUpdateProps,"url"]),p(ie,"propValFuncs",{...P.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),p(ie,"type",ie.register("ESUeViewer",c.ESGltfModel.type,ie));let ii=ie;const Kt=class Kt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Kt,"type",Kt.register("ESUeViewer",c.ESHeightMeasurement.type,Kt));let oi=Kt;const Gt=class Gt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(i,o,a,l)=>{const{viewer:d}=i;if(!d){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"AIMoveTo",p:{id:o,Destination:a,Time:l}});return h.error&&console.error("AIMoveTo:",h.error),h};this.d(A.aiMoveToEvent.don((i,o)=>{n(e,A.id,i,o)}));const s=async(i,o)=>{const{viewer:a}=i;if(!a){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await a.callUeFunc({f:"StopAIMove",p:{id:o}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(A.stopAIMoveEvent.don(()=>{s(e,A.id)}))}};p(Gt,"type",Gt.register("ESUeViewer",c.ESHuman.type,Gt));let ai=Gt;const oe=class oe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.anchor=[.5,1]}};p(oe,"type",oe.register("ESUeViewer",c.ESImageLabel.type,oe)),p(oe,"forceUeUpdateProps",[...QA.forceUeUpdateProps,"url"]),p(oe,"propValFuncs",{...QA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A)});let li=oe;const kt=class kt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(kt,"type",kt.register("ESUeViewer",c.ESLevelRuntimeModel.type,kt));let ci=kt;const Nt=class Nt extends Er{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Nt,"type",Nt.register("ESUeViewer",c.ESLocalCircle.type,Nt));let di=Nt;const _t=class _t extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(_t,"type",_t.register("ESUeViewer",c.ESLocalPolygonZ.type,_t));let ui=_t;const Vt=class Vt extends Er{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Vt,"type",Vt.register("ESUeViewer",c.ESLocalRectangle.type,Vt));let hi=Vt;const Ot=class Ot extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ot,"type",Ot.register("ESUeViewer",c.ESLocalSkyBox.type,Ot));let gi=Ot;const Wt=class Wt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Wt,"type",Wt.register("ESUeViewer",c.ESLocationMeasurement.type,Wt));let Bi=Wt;const Xt=class Xt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Xt,"type",Xt.register("ESUeViewer",c.ESPipeFence.type,Xt));let fi=Xt;const Jt=class Jt extends Fn{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Jt,"type",Jt.register("ESUeViewer",c.ESPipeline.type,Jt));let wi=Jt;const zt=class zt extends yr{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.highlightFeatureEvent.don(n=>{const s=typeof n=="number"?n.toString():n;to(t,A.id,s)})),this.d(A.highlightFeatureAndFlyToEvent.don((n,s,i,o)=>{const a=typeof n=="number"?n.toString():n;ro(t,A.id,a,o??1)})),this.d(A.setLayerVisibleEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,no(t,A.id,i)})),this.d(A.setLayerColorEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,so(t,A.id,i)}))}};p(zt,"type",zt.register("ESUeViewer",c.ESPipeserTileset.type,zt));let pi=zt;const Yt=class Yt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Yt,"type",Yt.register("ESUeViewer",c.ESPit.type,Yt));let Ci=Yt;const $t=class $t extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(A.getInitialStyleEvent.don(async()=>{try{const n=await t.callUeFunc({f:"GetInitialStyle",p:{id:A.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),A.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),A.initialStyle.value=void 0}}))}};p($t,"type",$t.register("ESUeViewer",c.ESPoi2D.type,$t));let vi=$t;const Zt=class Zt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Zt,"type",Zt.register("ESUeViewer",c.ESPoi3D.type,Zt));let mi=Zt;const ae=class ae extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ae,"type",ae.register("ESUeViewer",c.ESPoiTileset.type,ae)),p(ae,"forceUeUpdateProps",[...cA.forceUeUpdateProps,"url"]),p(ae,"propValFuncs",{...cA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A)});let Fi=ae;const qt=class qt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(qt,"type",qt.register("ESUeViewer",c.ESPolygonFence.type,qt));let Qi=qt;const De=class De extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(De,"type",De.register("ESUeViewer",c.ESPolygonFlattenedPlane.type,De)),p(De,"propValFuncs",{...dA.propValFuncs,targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A}});let Ui=De;const jt=class jt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(jt,"type",jt.register("ESUeViewer",c.ESPolygonWithHole.type,jt));let Ei=jt;const Ar=class Ar extends qA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{A.ids=[]}),this.d(A.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(A.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=o=>{o=o.toLocaleLowerCase();let a=[255,255,255,1];if(o.startsWith("#")){if(o.length===4){let l=parseInt(o[1]+o[1],16),d=parseInt(o[2]+o[2],16),h=parseInt(o[3]+o[3],16);a=[l,d,h,1]}else if(o.length===7){let l=parseInt(o.substring(1,3),16),d=parseInt(o.substring(3,5),16),h=parseInt(o.substring(5,7),16);a=[l,d,h,1]}}else if(o.startsWith("rgba")){let l=o.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]),f=parseFloat(l[4]);a=[d,h,u,f]}}else if(o.startsWith("rgb")){let l=o.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]);a=[d,h,u,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[a[0]/255,a[1]/255,a[2]/255,a[3]]},s=()=>{const o=A.layerConfig;if(!o)return;const a=[];o.forEach(l=>{o.filter(h=>h.dataset==l.dataset).length==1?a.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):a.push({condition:[{field:"layer",op:"==",value:l.layer},{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),A.setFeatureStyle(a)};s();const i=this.dv(c.createNextAnimateFrameEvent(A.layerConfigChanged,A.colorBlendModeChanged));this.d(i.don(()=>{s()}))}}};p(Ar,"type",Ar.register("ESUeViewer",c.ESRtsTileset.type,Ar));let yi=Ar;const er=class er extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(A.addTreesEvent.don(n=>{c.addTreesCallFunc(e,A.id,n)})),this.d(A.removeAllTreesEvent.don(()=>{c.removeAllTreesCallFunc(e,A.id)})),this.d(A.updateTreeParamsEvent.don(n=>{c.updateTreeParamsCallFunc(e,A.id,n)})),this.d(A.cutDownTreesEvent.don((n,s)=>{c.cutDownTreesCallFunc(e,A.id,n,s)})),this.d(A.growthSimulationEvent.don((n,s,i)=>{c.growthSimulationCallFunc(e,A.id,n,s,i)}))}};p(er,"type",er.register("ESUeViewer",c.ESSeparateFoliage.type,er));let Si=er;const tr=class tr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(tr,"type",tr.register("ESUeViewer",c.ESSubmergingAnalysis.type,tr));let Ii=tr;const rr=class rr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.stopEvent.don(()=>{t.callUeFunc({f:"Stop",p:{id:A.id}})}))}};p(rr,"type",rr.register("ESUeViewer",c.ESSunshineAnalysis.type,rr));let Ti=rr;const nr=class nr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})}))}};p(nr,"type",nr.register("ESUeViewer",c.ESSurfaceAreaMeasurement.type,nr));let Hi=nr;const sr=class sr extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(sr,"type",sr.register("ESUeViewer",c.ESTextLabel.type,sr));let Li=sr;const Re=class Re extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.callFunctionEvent.don(async(n,s)=>{const i=await yn(t,A.id,n,s);A.__callFunctionResultEvent.emit(i)}))}};p(Re,"type",Re.register("ESUeViewer",c.ESUEWidget.type,Re)),p(Re,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let bi=Re;const id=r=>{switch(r){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},$w=r=>{switch(r){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},ir=class ir extends c.EngineObject{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn(`${A.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{Un(t,A.id)});const n=async()=>{l()||await t.callUeFunc({f:"update",p:{id:A.id,name:A.name,show:A.show,rotation:A.rotation,flyToParam:A.flyToParam??c.ESUnrealActor.defaultFlyToParam,flyInParam:A.flyInParam??c.ESUnrealActor.defaultFlyInParam,highlight:A.highlight,collision:A.collision,scale:A.scale,minVisibleDistance:A.minVisibleDistance,maxVisibleDistance:A.maxVisibleDistance}})},s=this.dv(c.createNextAnimateFrameEvent(A.showChanged,A.nameChanged,A.rotationChanged,A.flyToParamChanged,A.flyInParamChanged,A.highlightChanged,A.collisionChanged,A.scaleChanged,A.minVisibleDistanceChanged,A.maxVisibleDistanceChanged));this.d(s.don(n)),this.d(A.flushEvent.don(()=>s.flush()));let i,o;const a=async()=>{l()||(await t.callUeFunc({f:"update",p:{id:A.id,position:A.position}}),(e.debug??!1)&&console.log(`updatePostion:${A.position},actorTag:${A.actorTag},actorClass:${A.actorClass}`))},l=()=>!i&&!o?(console.warn(`${A.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,d=async()=>{const{id:u}=A,f=await e.unBindActorByID(u);f&&f.error!==""&&console.warn(`${A.id} UeESUnrealActor UnBindActorByID: ${f.error}`),i=void 0;const B=await t.callUeFunc({f:"destroy",p:{id:u}});if(B&&B.error!==""){console.warn(`${A.id} UeESUnrealActor DestroyActorByID: ${B.error}`);return}o=void 0},h=this.dv(c.react({type:"ActorClass",actorClass:"default"}));{const u=this.dv(c.createNextAnimateFrameEvent(A.actorClassChanged,A.actorTagChanged)),f=async()=>{A.actorTag!==""?h.value={type:"ActorTag",actorTag:A.actorTag}:h.value={type:"ActorClass",actorClass:A.actorClass===""?"default":A.actorClass}};f(),this.d(u.don(f)),this.d(A.flushEvent.don(()=>u.flush()))}{const u=this.dv(c.createProcessingFromAsyncFunc(async B=>{if(await B.promise(d()),A.lastActorStatus="null",h.value.type==="ActorTag"){const{actorTag:w}=h.value;try{const v=await B.promise(e.bindActorByTag(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${v.error}`);return}if(v.re.type===0)A.lastActorStatus="bound",i=w;else if(v.re.type===1)A.lastActorStatus="bound",i=w,console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${id(v.re.type)}`);else{i=void 0,console.warn(`${A.id} UeESUnrealActor BindActorByTag error:${w}, ${id(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor BindActorByTag catch error:${w}, ${v}`);return}}else if(h.value.type==="ActorClass"){const{actorClass:w}=h.value;try{const v=await B.promise(e.createActorByClass(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error :${w}, ${v.error}`);return}if(v.re.type===0)w!=="default"&&(A.lastActorStatus="created"),o=w;else{console.warn(`${A.id} UeESUnrealActor CreateActorByClass error type :${w},${$w(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(v)}`);return}}await B.promise(n()),await B.promise(a())})),f=async()=>{u.restart()};f(),this.d(h.changed.don(f))}this.d(A.positionChanged.don(a)),this.d(A.callFunctionEvent.don(async(u,f)=>{if(l()){A.__callFunctionResultEvent.emit(void 0);return}const B=await yn(t,A.id,u,f);A.__callFunctionResultEvent.emit(B)})),this.d(A.smoothMoveEvent.don((u,f)=>{l()||_e(t,A.id,u,f)})),this.d(A.smoothMoveWithRotationEvent.don((u,f,B)=>{l()||Ge(t,A.id,u,f,B)})),this.d(A.smoothMoveOnGroundEvent.don((u,f,B,w)=>{l()||ke(t,A.id,u,f,w,B)})),this.d(A.smoothMoveWithRotationOnGroundEvent.don((u,f,B,w,v)=>{l()||Ne(t,A.id,u,f,B,w,v)})),this.d(A.automaticLandingEvent.don(u=>{if(l())return;const f=[A.position[0],A.position[1]];e.getHeightByLonLat(A.position[0],A.position[1],"Visibility").then(B=>{B!==null&&(A.position=[...f,B],A.collision=u)})})),this.d(A.flyToEvent.don(async(u,f)=>{if(l())return;const B=await Be(t,A.id,u);let w="over";B===void 0?w="error":B.endType===0?w="over":B.endType===1&&(w="cancelled"),A.flyOverEvent.emit(f,w,e)})),this.d(A.calcFlyToParamEvent.don(()=>{l()||YA(t,A.id)})),this.d(A.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const u=await e.getCurrentCameraInfo();if(!u)return;const{position:f,rotation:B}=u;A.flyInParam={position:f,rotation:B,flyDuration:1}})),this.d(e.propChanged.don(u=>{l()||u.objId===A.id&&Object.keys(u.props).forEach(f=>{const B=u.props[f]===null?void 0:u.props[f];A[f]=B})}))}};p(ir,"type",ir.register("ESUeViewer",c.ESUnrealActor.type,ir));let Mi=ir;const or=class or extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(or,"type",or.register("ESUeViewer",c.ESVideoFusion.type,or));let Di=or;const ar=class ar extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ar,"type",ar.register("ESUeViewer",c.ESViewShed.type,ar));let Ri=ar;const lr=class lr extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is underfined!");return}}};p(lr,"type",lr.register("ESUeViewer",c.ESVisibilityAnalysis.type,lr));let xi=lr;const cr=class cr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(c.track([A,"volume"],[A,"cutAndFillVolume"])),this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(cr,"type",cr.register("ESUeViewer",c.ESVolumeMeasurement.type,cr));let Pi=cr;const xe=class xe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xe,"type",xe.register("ESUeViewer",c.ESWidget.type,xe)),p(xe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let Ki=xe;const dr=class dr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.poi.actorTag=A.human.id,A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8],this.d(A.poiOffsetHeightChanged.don(()=>{A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8]})),this.d(()=>{A.poi.actorTag=""})}};p(dr,"type",dr.register("ESUeViewer",c.ESHumanPoi.type,dr));let Gi=dr;c.ESSceneObject.context.getStrFromEnv(c.ESNavigator.defaults.imgUrl);const ur=class ur extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(c.track([n,"show"],[A,"show"])),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){super(),this._subContainer=i;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const u=async()=>{const f=await e.getCurrentCameraInfo(),B=f==null?void 0:f.position,v=[...f==null?void 0:f.rotation];v[0]=360,e.flyIn(B,v)};l.addEventListener("click",u),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",u))}{const u=()=>{l.style.width=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`,l.style.height=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`};u(),A.dispose(A.cssSizeChanged.disposableOn(u))}l.style.position="fixed";{const u=()=>{l.style.top=`${A.cssPosition?A.cssPosition[0]:c.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${A.cssPosition?A.cssPosition[1]:c.ESNavigator.defaults.cssPosition[1]}px`};u(),A.dispose(A.cssPositionChanged.disposableOn(u))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const d=document.createElement("div");l.appendChild(d),this.dispose(()=>l.removeChild(d)),d.style.width="100%",d.style.height="100%",d.style.position="relative";const h=document.createElement("img");d.appendChild(h),this.dispose(()=>d.removeChild(h)),h.style.width="100%",h.style.height="100%",h.style.border="none";{const u=()=>h.src=A.imgUrl;u(),A.dispose(A.imgUrlChanged.disposableOn(u))}{const u=()=>{const v=-e.getCurrentCameraInfo().rotation[0];h.style.transform=`rotate(${v}deg)`};let f;const B=async()=>{u(),A.show?(l.style.display="block",f=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(f))};this.dispose(A.showChanged.disposableOn(B)),B(),this.dispose(()=>clearInterval(f))}h.style.transformOrigin="50% 50%"}}}};p(ur,"type",ur.register("ESUeViewer",c.ESNavigator.type,ur));let ki=ur;const le=class le extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}{const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,materialMode:A.materialMode}})};this.dispose(A.materialModeChanged.disposableOn(n))}}};p(le,"type",le.register("ESUeViewer",c.ESPath.type,le)),p(le,"forceUeUpdateProps",[...rA.forceUeUpdateProps]),p(le,"propValFuncs",{...rA.propValFuncs});let Ni=le;async function Zw(r){navigator.clipboard.writeText(r).then(function(){console.log("复制成功")},function(A){console.log("复制失败")})}const hr=class hr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){if(super(),this._subContainer=i,!a||!(a instanceof LA))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${c.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${c.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const d=document.createElement("span");l.appendChild(d),this.dispose(()=>l.removeChild(d));const h=document.createElement("span");d.appendChild(h),this.dispose(()=>d.removeChild(h));const u=document.createElement("span");d.appendChild(u),u.addEventListener("dblclick",function(){let B=u.innerHTML;B.startsWith("鼠标位置")&&(B=B.slice(5)),Zw(B)}),u.style.cursor="pointer",this.dispose(()=>d.removeChild(u));const f=document.createElement("span");l.appendChild(f),this.dispose(()=>l.removeChild(f));{const B=()=>{l.style.height=(A.height??c.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(A.height??c.ESViewerStatusBar.defaults.height)+"px"};this.dispose(A.heightChanged.disposableOn(B)),B()}{const B=()=>{l.style.fontSize=(A.fontSize??c.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(A.fontSizeChanged.disposableOn(B)),B()}{const B=()=>{A.bgColor?l.style.background=`rgba(${A.bgColor[0]*255},${A.bgColor[1]*255},${A.bgColor[2]*255},${A.bgColor[3]})`:l.style.background=`rgba(${c.ESViewerStatusBar.defaults.bgColor[0]},${c.ESViewerStatusBar.defaults.bgColor[1]},${c.ESViewerStatusBar.defaults.bgColor[2]},${c.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(A.bgColorChanged.disposableOn(B)),B()}a.getVersion().then(B=>{B&&(f.innerText=`Ue 版本 : ${B[0]} `)}).catch(B=>{console.log(B)});{const B=()=>{let m="",F="";m+=`帧率:${a.getFPS().toFixed(0)}FPS`,h.innerText=m;const E=e.getCurrentCameraInfo();m+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,h.innerText=m,e.pick().then(H=>{if(H){const{pickResult:S}=H;if(S&&S.position){const{position:U}=S;F+=`鼠标位置:${U[0].toFixed(5)}° ${U[1].toFixed(5)}° ${U[2].toFixed(2)}m`}else F+="暂时无法获取鼠标位置...";u.innerText=F}}).catch(H=>{console.log(H)})};let w;const v=async()=>{B(),A.show?(l.style.display="flex",w=setInterval(()=>{B()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(A.showChanged.disposableOn(v)),v(),this.dispose(()=>clearInterval(w))}}}}};p(hr,"type",hr.register("ESUeViewer",c.ESViewerStatusBar.type,hr));let _i=hr;const gr=class gr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(gr,"type",gr.register("ESUeViewer",c.ESGaussianSplatting.type,gr));let Vi=gr;const Br=class Br extends qA{constructor(e,t){super(e,t);p(this,"_es3DTileset",this.dv(new c.ES3DTileset));if(!t.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const s=this._es3DTileset;e.components.disposableAdd(s,!0),this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"collision"],[e,"collision"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.track([s,"url"],[e,"url"])),this.d(c.track([s,"actorTag"],[e,"actorTag"])),this.d(c.track([s,"materialMode"],[e,"materialMode"])),this.d(c.track([s,"highlight"],[e,"highlight"])),this.d(c.track([s,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(c.track([s,"highlightID"],[e,"highlightID"])),this.d(c.track([s,"highlightColor"],[e,"highlightColor"])),this.d(c.bind([s,"offset"],[e,"offset"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.track([s,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(c.track([s,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(c.track([s,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(c.track([s,"czmClassificationType"],[e,"czmClassificationType"])),this.d(c.track([s,"czmStyleJson"],[e,"czmStyleJson"])),this.d(c.track([s,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(c.track([s,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(c.track([s,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(c.track([s,"colorBlendMode"],[e,"colorBlendMode"])),this.d(c.track([s,"cacheBytes"],[e,"cacheBytes"])),this.d(c.track([s,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(c.track([s,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(c.track([s,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(c.track([s,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(c.track([s,"materialParams"],[e,"materialParams"])),this.d(c.bind([s,"supportEdit"],[e,"supportEdit"])),this.d(c.bind([s,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(c.bind([s,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(c.bind([s,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(c.bind([s,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(c.bind([s,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(c.bind([s,"excavateId"],[e,"excavateId"]))}{const s=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{s.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...i)=>{s.highlightFeature(...i)})),this.d(e.highlightFeatureAndFlyToEvent.don((...i)=>{s.highlightFeatureAndFlyTo(...i)})),this.d(e.setFeatureColorEvent.don((...i)=>{s.setFeatureColor(...i)})),this.d(e.setFeatureVisableEvent.don((...i)=>{s.setFeatureVisable(...i)})),this.d(e.resetFeatureStyleEvent.don((...i)=>{s.resetFeatureStyle(...i)})),this.d(e.flyInEvent.don((...i)=>{s.flyIn(i[0])})),this.d(e.flyToEvent.don((...i)=>{s.flyTo(i[0])})),this.d(e.calcFlyToParamEvent.don((...i)=>{s.calcFlyToParam(...i)})),this.d(e.calcFlyInParamEvent.don((...i)=>{s.calcFlyInParam(...i)}))}{const s=this._es3DTileset;this.d(s.tilesetReady.don(i=>{e.tilesetReady.emit(i)})),this.d(s.pickedEvent.don(i=>{i.assign({sceneObject:e}),e.pickedEvent.emit(i)}))}{const s=()=>{this.es3DTileset.show=e.show};s(),this.d(e.showChanged.don(()=>{s()}))}}get es3DTileset(){return this._es3DTileset}};p(Br,"type",Br.register("ESUeViewer",c.ESRtsFeatureEditing.type,Br));let Oi=Br;const fr=class fr extends qA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(fr,"type",fr.register("ESUeViewer",c.ESMsTileset.type,fr));let Wi=fr;const wr=class wr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,height:A.height??c.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:A.extrudedHeight??c.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:A.perPositionHeight??c.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},s=this.disposeVar(c.createNextAnimateFrameEvent(A.heightChanged,A.extrudedHeightChanged,A.perPositionHeightChanged));this.dispose(s.disposableOn(n)),this.dispose(A.createdEvent.disposableOn(n))}};p(wr,"type",wr.register("ESUeViewer",c.ESGeoExtrudedPolygon.type,wr));let Xi=wr;const pr=class pr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(pr,"type",pr.register("ESUeViewer",c.ESStaticMesh.type,pr));let Ji=pr;const Cr=class Cr extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(Cr,"type",Cr.register("ESUeViewer",c.ESSkylineAnalysis.type,Cr));let zi=Cr;C.copyright=void 0;try{const r="earthsdk3-ue",A="3.5.0-beta.13",e="2025-10-15T08:26:43.000Z",t="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="d85e1020200203ea0aca1c05ac3f93f1f4e4574e",o=((Date.now()-1760516803e3)/36e5).toFixed(1),a=`%c🌏 ${r}%c ${A}.${s.slice(0,8)}.${e} (距今${o}个小时)
|
|
112
|
+
.`+Zs+lw+Jc)},dw=function(r,A){var e=r.ownerDocument;if(e){var t=e.createElement("style");t.textContent=A,r.appendChild(t)}},zc=function(){function r(){}return r.getOrigin=function(A){var e=r._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},r.isSameOrigin=function(A){return r.getOrigin(A)===r._origin},r.setContext=function(A){r._link=A.document.createElement("a"),r._origin=r.getOrigin(A.location.href)},r._origin="about:blank",r}(),uw=function(){function r(A,e){this.context=A,this._options=e,this._cache={}}return r.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(js(A)||fw(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},r.prototype.match=function(A){return this._cache[A]},r.prototype.loadImage=function(A){return uA(this,void 0,void 0,function(){var e,t,n,s,i=this;return nA(this,function(o){switch(o.label){case 0:return e=zc.isSameOrigin(A),t=!qs(A)&&this._options.useCORS===!0&&tA.SUPPORT_CORS_IMAGES&&!e,n=!qs(A)&&!e&&!js(A)&&typeof this._options.proxy=="string"&&tA.SUPPORT_CORS_XHR&&!t,!e&&this._options.allowTaint===!1&&!qs(A)&&!js(A)&&!n&&!t?[2]:(s=A,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,l){var d=new Image;d.onload=function(){return a(d)},d.onerror=l,(ww(s)||t)&&(d.crossOrigin="anonymous"),d.src=s,d.complete===!0&&setTimeout(function(){return a(d)},500),i._options.imageTimeout>0&&setTimeout(function(){return l("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},r.prototype.has=function(A){return typeof this._cache[A]<"u"},r.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},r.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(s,i){var o=tA.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(o==="text")s(a.response);else{var h=new FileReader;h.addEventListener("load",function(){return s(h.result)},!1),h.addEventListener("error",function(u){return i(u)},!1),h.readAsDataURL(a.response)}else i("Failed to proxy resource "+n+" with status code "+a.status)},a.onerror=i;var l=t.indexOf("?")>-1?"&":"?";if(a.open("GET",""+t+l+"url="+encodeURIComponent(A)+"&responseType="+o),o!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=o),e._options.imageTimeout){var d=e._options.imageTimeout;a.timeout=d,a.ontimeout=function(){return i("Timed out ("+d+"ms) proxying "+n)}}a.send()})},r}(),hw=/^data:image\/svg\+xml/i,gw=/^data:image\/.*;base64,/i,Bw=/^data:image\/.*/i,fw=function(r){return tA.SUPPORT_SVG_DRAWING||!pw(r)},qs=function(r){return Bw.test(r)},ww=function(r){return gw.test(r)},js=function(r){return r.substr(0,4)==="blob"},pw=function(r){return r.substr(-3).toLowerCase()==="svg"||hw.test(r)},y=function(){function r(A,e){this.type=0,this.x=A,this.y=e}return r.prototype.add=function(A,e){return new r(this.x+A,this.y+e)},r}(),Ie=function(r,A,e){return new y(r.x+(A.x-r.x)*e,r.y+(A.y-r.y)*e)},Bn=function(){function r(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return r.prototype.subdivide=function(A,e){var t=Ie(this.start,this.startControl,A),n=Ie(this.startControl,this.endControl,A),s=Ie(this.endControl,this.end,A),i=Ie(t,n,A),o=Ie(n,s,A),a=Ie(i,o,A);return e?new r(this.start,t,i,a):new r(a,o,s,this.end)},r.prototype.add=function(A,e){return new r(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},r.prototype.reverse=function(){return new r(this.end,this.endControl,this.startControl,this.start)},r}(),pA=function(r){return r.type===1},Cw=function(){function r(A){var e=A.styles,t=A.bounds,n=st(e.borderTopLeftRadius,t.width,t.height),s=n[0],i=n[1],o=st(e.borderTopRightRadius,t.width,t.height),a=o[0],l=o[1],d=st(e.borderBottomRightRadius,t.width,t.height),h=d[0],u=d[1],f=st(e.borderBottomLeftRadius,t.width,t.height),B=f[0],w=f[1],v=[];v.push((s+a)/t.width),v.push((B+h)/t.width),v.push((i+w)/t.height),v.push((l+u)/t.height);var m=Math.max.apply(Math,v);m>1&&(s/=m,i/=m,a/=m,l/=m,h/=m,u/=m,B/=m,w/=m);var F=t.width-a,E=t.height-u,H=t.width-h,S=t.height-w,U=e.borderTopWidth,D=e.borderRightWidth,R=e.borderBottomWidth,M=e.borderLeftWidth,O=N(e.paddingTop,A.bounds.width),iA=N(e.paddingRight,A.bounds.width),Y=N(e.paddingBottom,A.bounds.width),G=N(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?V(t.left+M/3,t.top+U/3,s-M/3,i-U/3,K.TOP_LEFT):new y(t.left+M/3,t.top+U/3),this.topRightBorderDoubleOuterBox=s>0||i>0?V(t.left+F,t.top+U/3,a-D/3,l-U/3,K.TOP_RIGHT):new y(t.left+t.width-D/3,t.top+U/3),this.bottomRightBorderDoubleOuterBox=h>0||u>0?V(t.left+H,t.top+E,h-D/3,u-R/3,K.BOTTOM_RIGHT):new y(t.left+t.width-D/3,t.top+t.height-R/3),this.bottomLeftBorderDoubleOuterBox=B>0||w>0?V(t.left+M/3,t.top+S,B-M/3,w-R/3,K.BOTTOM_LEFT):new y(t.left+M/3,t.top+t.height-R/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?V(t.left+M*2/3,t.top+U*2/3,s-M*2/3,i-U*2/3,K.TOP_LEFT):new y(t.left+M*2/3,t.top+U*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?V(t.left+F,t.top+U*2/3,a-D*2/3,l-U*2/3,K.TOP_RIGHT):new y(t.left+t.width-D*2/3,t.top+U*2/3),this.bottomRightBorderDoubleInnerBox=h>0||u>0?V(t.left+H,t.top+E,h-D*2/3,u-R*2/3,K.BOTTOM_RIGHT):new y(t.left+t.width-D*2/3,t.top+t.height-R*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||w>0?V(t.left+M*2/3,t.top+S,B-M*2/3,w-R*2/3,K.BOTTOM_LEFT):new y(t.left+M*2/3,t.top+t.height-R*2/3),this.topLeftBorderStroke=s>0||i>0?V(t.left+M/2,t.top+U/2,s-M/2,i-U/2,K.TOP_LEFT):new y(t.left+M/2,t.top+U/2),this.topRightBorderStroke=s>0||i>0?V(t.left+F,t.top+U/2,a-D/2,l-U/2,K.TOP_RIGHT):new y(t.left+t.width-D/2,t.top+U/2),this.bottomRightBorderStroke=h>0||u>0?V(t.left+H,t.top+E,h-D/2,u-R/2,K.BOTTOM_RIGHT):new y(t.left+t.width-D/2,t.top+t.height-R/2),this.bottomLeftBorderStroke=B>0||w>0?V(t.left+M/2,t.top+S,B-M/2,w-R/2,K.BOTTOM_LEFT):new y(t.left+M/2,t.top+t.height-R/2),this.topLeftBorderBox=s>0||i>0?V(t.left,t.top,s,i,K.TOP_LEFT):new y(t.left,t.top),this.topRightBorderBox=a>0||l>0?V(t.left+F,t.top,a,l,K.TOP_RIGHT):new y(t.left+t.width,t.top),this.bottomRightBorderBox=h>0||u>0?V(t.left+H,t.top+E,h,u,K.BOTTOM_RIGHT):new y(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=B>0||w>0?V(t.left,t.top+S,B,w,K.BOTTOM_LEFT):new y(t.left,t.top+t.height),this.topLeftPaddingBox=s>0||i>0?V(t.left+M,t.top+U,Math.max(0,s-M),Math.max(0,i-U),K.TOP_LEFT):new y(t.left+M,t.top+U),this.topRightPaddingBox=a>0||l>0?V(t.left+Math.min(F,t.width-D),t.top+U,F>t.width+D?0:Math.max(0,a-D),Math.max(0,l-U),K.TOP_RIGHT):new y(t.left+t.width-D,t.top+U),this.bottomRightPaddingBox=h>0||u>0?V(t.left+Math.min(H,t.width-M),t.top+Math.min(E,t.height-R),Math.max(0,h-D),Math.max(0,u-R),K.BOTTOM_RIGHT):new y(t.left+t.width-D,t.top+t.height-R),this.bottomLeftPaddingBox=B>0||w>0?V(t.left+M,t.top+Math.min(S,t.height-R),Math.max(0,B-M),Math.max(0,w-R),K.BOTTOM_LEFT):new y(t.left+M,t.top+t.height-R),this.topLeftContentBox=s>0||i>0?V(t.left+M+G,t.top+U+O,Math.max(0,s-(M+G)),Math.max(0,i-(U+O)),K.TOP_LEFT):new y(t.left+M+G,t.top+U+O),this.topRightContentBox=a>0||l>0?V(t.left+Math.min(F,t.width+M+G),t.top+U+O,F>t.width+M+G?0:a-M+G,l-(U+O),K.TOP_RIGHT):new y(t.left+t.width-(D+iA),t.top+U+O),this.bottomRightContentBox=h>0||u>0?V(t.left+Math.min(H,t.width-(M+G)),t.top+Math.min(E,t.height+U+O),Math.max(0,h-(D+iA)),u-(R+Y),K.BOTTOM_RIGHT):new y(t.left+t.width-(D+iA),t.top+t.height-(R+Y)),this.bottomLeftContentBox=B>0||w>0?V(t.left+M+G,t.top+S,Math.max(0,B-(M+G)),w-(R+Y),K.BOTTOM_LEFT):new y(t.left+M+G,t.top+t.height-(R+Y))}return r}(),K;(function(r){r[r.TOP_LEFT=0]="TOP_LEFT",r[r.TOP_RIGHT=1]="TOP_RIGHT",r[r.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",r[r.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(K||(K={}));var V=function(r,A,e,t,n){var s=4*((Math.sqrt(2)-1)/3),i=e*s,o=t*s,a=r+e,l=A+t;switch(n){case K.TOP_LEFT:return new Bn(new y(r,l),new y(r,l-o),new y(a-i,A),new y(a,A));case K.TOP_RIGHT:return new Bn(new y(r,A),new y(r+i,A),new y(a,l-o),new y(a,l));case K.BOTTOM_RIGHT:return new Bn(new y(a,A),new y(a,A+o),new y(r+i,l),new y(r,l));case K.BOTTOM_LEFT:default:return new Bn(new y(a,l),new y(a-i,l),new y(r,A+o),new y(r,A))}},fn=function(r){return[r.topLeftBorderBox,r.topRightBorderBox,r.bottomRightBorderBox,r.bottomLeftBorderBox]},vw=function(r){return[r.topLeftContentBox,r.topRightContentBox,r.bottomRightContentBox,r.bottomLeftContentBox]},wn=function(r){return[r.topLeftPaddingBox,r.topRightPaddingBox,r.bottomRightPaddingBox,r.bottomLeftPaddingBox]},mw=function(){function r(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return r}(),pn=function(){function r(A,e){this.path=A,this.target=e,this.type=1}return r}(),Fw=function(){function r(A){this.opacity=A,this.type=2,this.target=6}return r}(),Qw=function(r){return r.type===0},Yc=function(r){return r.type===1},Uw=function(r){return r.type===2},$c=function(r,A){return r.length===A.length?r.some(function(e,t){return e===A[t]}):!1},Ew=function(r,A,e,t,n){return r.map(function(s,i){switch(i){case 0:return s.add(A,e);case 1:return s.add(A+t,e);case 2:return s.add(A+t,e+n);case 3:return s.add(A,e+n)}return s})},Zc=function(){function r(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return r}(),qc=function(){function r(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Cw(this.container),this.container.styles.opacity<1&&this.effects.push(new Fw(this.container.styles.opacity)),this.container.styles.transform!==null){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new mw(t,n,s))}if(this.container.styles.overflowX!==0){var i=fn(this.curves),o=wn(this.curves);$c(i,o)?this.effects.push(new pn(i,6)):(this.effects.push(new pn(i,2)),this.effects.push(new pn(o,4)))}}return r.prototype.getEffects=function(A){for(var e=[2,3].indexOf(this.container.styles.position)===-1,t=this.parent,n=this.effects.slice(0);t;){var s=t.effects.filter(function(a){return!Yc(a)});if(e||t.container.styles.position!==0||!t.parent){if(n.unshift.apply(n,s),e=[2,3].indexOf(t.container.styles.position)===-1,t.container.styles.overflowX!==0){var i=fn(t.curves),o=wn(t.curves);$c(i,o)||n.unshift(new pn(o,6))}}else n.unshift.apply(n,s);t=t.parent}return n.filter(function(a){return Z(a.target,A)})},r}(),Ai=function(r,A,e,t){r.container.elements.forEach(function(n){var s=Z(n.flags,4),i=Z(n.flags,2),o=new qc(n,r);Z(n.styles.display,2048)&&t.push(o);var a=Z(n.flags,8)?[]:t;if(s||i){var l=s||n.styles.isPositioned()?e:A,d=new Zc(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var h=n.styles.zIndex.order;if(h<0){var u=0;l.negativeZIndex.some(function(B,w){return h>B.element.container.styles.zIndex.order?(u=w,!1):u>0}),l.negativeZIndex.splice(u,0,d)}else if(h>0){var f=0;l.positiveZIndex.some(function(B,w){return h>=B.element.container.styles.zIndex.order?(f=w+1,!1):f>0}),l.positiveZIndex.splice(f,0,d)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(d)}else n.styles.isFloating()?l.nonPositionedFloats.push(d):l.nonPositionedInlineLevel.push(d);Ai(o,d,s?d:e,a)}else n.styles.isInlineLevel()?A.inlineLevel.push(o):A.nonInlineLevel.push(o),Ai(o,A,e,a);Z(n.flags,8)&&jc(n,a)})},jc=function(r,A){for(var e=r instanceof Vs?r.start:1,t=r instanceof Vs?r.reversed:!1,n=0;n<A.length;n++){var s=A[n];s.container instanceof Uc&&typeof s.container.value=="number"&&s.container.value!==0&&(e=s.container.value),s.listValue=dt(e,s.container.styles.listStyleType,!0),e+=t?-1:1}},yw=function(r){var A=new qc(r,null),e=new Zc(A),t=[];return Ai(A,e,e,t),jc(A.container,t),e},Ad=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftPaddingBox,r.topRightBorderBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderBox,r.topRightPaddingBox,r.bottomRightBorderBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightPaddingBox,r.bottomLeftBorderBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftPaddingBox,r.topLeftBorderBox,r.topLeftPaddingBox)}},Sw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox,r.topRightBorderBox,r.topRightBorderDoubleOuterBox);case 1:return CA(r.topRightBorderBox,r.topRightBorderDoubleOuterBox,r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox);case 2:return CA(r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox,r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox);case 3:default:return CA(r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox,r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox)}},Iw=function(r,A){switch(A){case 0:return CA(r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox,r.topRightBorderDoubleInnerBox,r.topRightPaddingBox);case 1:return CA(r.topRightBorderDoubleInnerBox,r.topRightPaddingBox,r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox);case 2:return CA(r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox,r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox);case 3:default:return CA(r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox,r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox)}},Tw=function(r,A){switch(A){case 0:return Cn(r.topLeftBorderStroke,r.topRightBorderStroke);case 1:return Cn(r.topRightBorderStroke,r.bottomRightBorderStroke);case 2:return Cn(r.bottomRightBorderStroke,r.bottomLeftBorderStroke);case 3:default:return Cn(r.bottomLeftBorderStroke,r.topLeftBorderStroke)}},Cn=function(r,A){var e=[];return pA(r)?e.push(r.subdivide(.5,!1)):e.push(r),pA(A)?e.push(A.subdivide(.5,!0)):e.push(A),e},CA=function(r,A,e,t){var n=[];return pA(r)?n.push(r.subdivide(.5,!1)):n.push(r),pA(e)?n.push(e.subdivide(.5,!0)):n.push(e),pA(t)?n.push(t.subdivide(.5,!0).reverse()):n.push(t),pA(A)?n.push(A.subdivide(.5,!1).reverse()):n.push(A),n},ed=function(r){var A=r.bounds,e=r.styles;return A.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},vn=function(r){var A=r.styles,e=r.bounds,t=N(A.paddingLeft,e.width),n=N(A.paddingRight,e.width),s=N(A.paddingTop,e.width),i=N(A.paddingBottom,e.width);return e.add(t+A.borderLeftWidth,s+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+t+n),-(A.borderTopWidth+A.borderBottomWidth+s+i))},Hw=function(r,A){return r===0?A.bounds:r===2?vn(A):ed(A)},Lw=function(r,A){return r===0?A.bounds:r===2?vn(A):ed(A)},ei=function(r,A,e){var t=Hw(He(r.styles.backgroundOrigin,A),r),n=Lw(He(r.styles.backgroundClip,A),r),s=bw(He(r.styles.backgroundSize,A),e,t),i=s[0],o=s[1],a=st(He(r.styles.backgroundPosition,A),t.width-i,t.height-o),l=Mw(He(r.styles.backgroundRepeat,A),a,s,t,n),d=Math.round(t.left+a[0]),h=Math.round(t.top+a[1]);return[l,d,h,i,o]},Te=function(r){return k(r)&&r.value===Ue.AUTO},mn=function(r){return typeof r=="number"},bw=function(r,A,e){var t=A[0],n=A[1],s=A[2],i=r[0],o=r[1];if(!i)return[0,0];if(z(i)&&o&&z(o))return[N(i,e.width),N(o,e.height)];var a=mn(s);if(k(i)&&(i.value===Ue.CONTAIN||i.value===Ue.COVER)){if(mn(s)){var l=e.width/e.height;return l<s!=(i.value===Ue.COVER)?[e.width,e.width/s]:[e.height*s,e.height]}return[e.width,e.height]}var d=mn(t),h=mn(n),u=d||h;if(Te(i)&&(!o||Te(o))){if(d&&h)return[t,n];if(!a&&!u)return[e.width,e.height];if(u&&a){var f=d?t:n*s,B=h?n:t/s;return[f,B]}var w=d?t:e.width,v=h?n:e.height;return[w,v]}if(a){var m=0,F=0;return z(i)?m=N(i,e.width):z(o)&&(F=N(o,e.height)),Te(i)?m=F*s:(!o||Te(o))&&(F=m/s),[m,F]}var E=null,H=null;if(z(i)?E=N(i,e.width):o&&z(o)&&(H=N(o,e.height)),E!==null&&(!o||Te(o))&&(H=d&&h?E/t*n:e.height),H!==null&&Te(i)&&(E=d&&h?H/n*t:e.width),E!==null&&H!==null)return[E,H];throw new Error("Unable to calculate background-size for element")},He=function(r,A){var e=r[A];return typeof e>"u"?r[0]:e},Mw=function(r,A,e,t,n){var s=A[0],i=A[1],o=e[0],a=e[1];switch(r){case 2:return[new y(Math.round(t.left),Math.round(t.top+i)),new y(Math.round(t.left+t.width),Math.round(t.top+i)),new y(Math.round(t.left+t.width),Math.round(a+t.top+i)),new y(Math.round(t.left),Math.round(a+t.top+i))];case 3:return[new y(Math.round(t.left+s),Math.round(t.top)),new y(Math.round(t.left+s+o),Math.round(t.top)),new y(Math.round(t.left+s+o),Math.round(t.height+t.top)),new y(Math.round(t.left+s),Math.round(t.height+t.top))];case 1:return[new y(Math.round(t.left+s),Math.round(t.top+i)),new y(Math.round(t.left+s+o),Math.round(t.top+i)),new y(Math.round(t.left+s+o),Math.round(t.top+i+a)),new y(Math.round(t.left+s),Math.round(t.top+i+a))];default:return[new y(Math.round(n.left),Math.round(n.top)),new y(Math.round(n.left+n.width),Math.round(n.top)),new y(Math.round(n.left+n.width),Math.round(n.height+n.top)),new y(Math.round(n.left),Math.round(n.height+n.top))]}},Dw="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",td="Hidden Text",Rw=function(){function r(A){this._data={},this._document=A}return r.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",i.appendChild(t),n.src=Dw,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=A,s.style.fontSize=e,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(td)),t.appendChild(s),t.appendChild(n);var o=n.offsetTop-s.offsetTop+2;t.removeChild(s),t.appendChild(this._document.createTextNode(td)),t.style.lineHeight="normal",n.style.verticalAlign="super";var a=n.offsetTop-t.offsetTop+2;return i.removeChild(t),{baseline:o,middle:a}},r.prototype.getMetrics=function(A,e){var t=A+" "+e;return typeof this._data[t]>"u"&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},r}(),rd=function(){function r(A,e){this.context=A,this.options=e}return r}(),xw=1e4,Pw=function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new Rw(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return A.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(n){return t.applyEffect(n)})},A.prototype.applyEffect=function(e){this.ctx.save(),Uw(e)&&(this.ctx.globalAlpha=e.opacity),Qw(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),Yc(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return uA(this,void 0,void 0,function(){var t;return nA(this,function(n){switch(n.label){case 0:return t=e.element.container.styles,t.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return uA(this,void 0,void 0,function(){return nA(this,function(t){switch(t.label){case 0:if(Z(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,t,n){var s=this;if(t===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n);else{var i=_s(e.text);i.reduce(function(o,a){return s.ctx.fillText(a,o,e.bounds.top+n),o+s.ctx.measureText(a).width},e.bounds.left)}},A.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=_w(e.fontFamily).join(", "),s=nt(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,s,n].join(" "),n,s]},A.prototype.renderTextNode=function(e,t){return uA(this,void 0,void 0,function(){var n,s,i,o,a,l,d,h,u=this;return nA(this,function(f){return n=this.createFontStyle(t),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=t.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(i,o),l=a.baseline,d=a.middle,h=t.paintOrder,e.textBounds.forEach(function(B){h.forEach(function(w){switch(w){case 0:u.ctx.fillStyle=j(t.color),u.renderTextWithLetterSpacing(B,t.letterSpacing,l);var v=t.textShadow;v.length&&B.text.trim().length&&(v.slice(0).reverse().forEach(function(m){u.ctx.shadowColor=j(m.color),u.ctx.shadowOffsetX=m.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=m.offsetY.number*u.options.scale,u.ctx.shadowBlur=m.blur.number,u.renderTextWithLetterSpacing(B,t.letterSpacing,l)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),t.textDecorationLine.length&&(u.ctx.fillStyle=j(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(m){switch(m){case 1:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+l),B.bounds.width,1);break;case 2:u.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:u.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+d),B.bounds.width,1);break}}));break;case 1:t.webkitTextStrokeWidth&&B.text.trim().length&&(u.ctx.strokeStyle=j(t.webkitTextStrokeColor),u.ctx.lineWidth=t.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+l)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(e,t,n){if(n&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var s=vn(e),i=wn(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a,F,F,l,d,h,u,H,f,B,S,w,v,m,F,E,H,S;return nA(this,function(U){switch(U.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,n=e.curves,s=t.styles,i=0,o=t.textNodes,U.label=1;case 1:return i<o.length?(a=o[i],[4,this.renderTextNode(a,s)]):[3,4];case 2:U.sent(),U.label=3;case 3:return i++,[3,1];case 4:if(!(t instanceof mc))return[3,8];U.label=5;case 5:return U.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,8];case 7:return U.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof Fc&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof Qc))return[3,12];U.label=9;case 9:return U.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return F=U.sent(),this.renderReplacedElement(t,n,F),[3,12];case 11:return U.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof Ic&&t.tree?(l=new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}),[4,l.render(t.tree)]):[3,14];case 13:d=U.sent(),t.width&&t.height&&this.ctx.drawImage(d,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),U.label=14;case 14:if(t instanceof Os&&(h=Math.min(t.bounds.width,t.bounds.height),t.type===ln?t.checked&&(this.ctx.save(),this.path([new y(t.bounds.left+h*.39363,t.bounds.top+h*.79),new y(t.bounds.left+h*.16,t.bounds.top+h*.5549),new y(t.bounds.left+h*.27347,t.bounds.top+h*.44071),new y(t.bounds.left+h*.39694,t.bounds.top+h*.5649),new y(t.bounds.left+h*.72983,t.bounds.top+h*.23),new y(t.bounds.left+h*.84,t.bounds.top+h*.34085),new y(t.bounds.left+h*.39363,t.bounds.top+h*.79)]),this.ctx.fillStyle=j(Ec),this.ctx.fill(),this.ctx.restore()):t.type===cn&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+h/2,t.bounds.top+h/2,h/4,0,Math.PI*2,!0),this.ctx.fillStyle=j(Ec),this.ctx.fill(),this.ctx.restore())),Kw(t)&&t.value.length){switch(u=this.createFontStyle(s),H=u[0],f=u[1],B=this.fontMetrics.getMetrics(H,f).baseline,this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=kw(t.styles.textAlign),S=vn(t),w=0,t.styles.textAlign){case 1:w+=S.width/2;break;case 2:w+=S.width;break}v=S.add(w,0,0,-S.height/2+1),this.ctx.save(),this.path([new y(S.left,S.top),new y(S.left+S.width,S.top),new y(S.left+S.width,S.top+S.height),new y(S.left,S.top+S.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new lt(t.value,v),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Z(t.styles.display,2048))return[3,20];if(t.styles.listStyleImage===null)return[3,19];if(m=t.styles.listStyleImage,m.type!==0)return[3,18];F=void 0,E=m.url,U.label=15;case 15:return U.trys.push([15,17,,18]),[4,this.context.cache.match(E)];case 16:return F=U.sent(),this.ctx.drawImage(F,t.bounds.left-(F.width+10),t.bounds.top),[3,18];case 17:return U.sent(),this.context.logger.error("Error loading list-style-image "+E),[3,18];case 18:return[3,20];case 19:e.listValue&&t.styles.listStyleType!==-1&&(H=this.createFontStyle(s)[0],this.ctx.font=H,this.ctx.fillStyle=j(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",S=new bA(t.bounds.left,t.bounds.top+N(t.styles.paddingTop,t.bounds.width),t.bounds.width,tc(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new lt(e.listValue,S),s.letterSpacing,tc(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),U.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return uA(this,void 0,void 0,function(){var t,n,m,s,i,m,o,a,m,l,d,m,h,u,m,f,B,m,w,v,m;return nA(this,function(F){switch(F.label){case 0:if(Z(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:F.sent(),t=0,n=e.negativeZIndex,F.label=2;case 2:return t<n.length?(m=n[t],[4,this.renderStack(m)]):[3,5];case 3:F.sent(),F.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:F.sent(),s=0,i=e.nonInlineLevel,F.label=7;case 7:return s<i.length?(m=i[s],[4,this.renderNode(m)]):[3,10];case 8:F.sent(),F.label=9;case 9:return s++,[3,7];case 10:o=0,a=e.nonPositionedFloats,F.label=11;case 11:return o<a.length?(m=a[o],[4,this.renderStack(m)]):[3,14];case 12:F.sent(),F.label=13;case 13:return o++,[3,11];case 14:l=0,d=e.nonPositionedInlineLevel,F.label=15;case 15:return l<d.length?(m=d[l],[4,this.renderStack(m)]):[3,18];case 16:F.sent(),F.label=17;case 17:return l++,[3,15];case 18:h=0,u=e.inlineLevel,F.label=19;case 19:return h<u.length?(m=u[h],[4,this.renderNode(m)]):[3,22];case 20:F.sent(),F.label=21;case 21:return h++,[3,19];case 22:f=0,B=e.zeroOrAutoZIndexOrTransformedOrOpacity,F.label=23;case 23:return f<B.length?(m=B[f],[4,this.renderStack(m)]):[3,26];case 24:F.sent(),F.label=25;case 25:return f++,[3,23];case 26:w=0,v=e.positiveZIndex,F.label=27;case 27:return w<v.length?(m=v[w],[4,this.renderStack(m)]):[3,30];case 28:F.sent(),F.label=29;case 29:return w++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var t=this;e.forEach(function(n,s){var i=pA(n)?n.start:n;s===0?t.ctx.moveTo(i.x,i.y):t.ctx.lineTo(i.x,i.y),pA(n)&&t.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},A.prototype.renderRepeat=function(e,t,n,s){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},A.prototype.resizeImage=function(e,t,n){var s;if(e.width===t&&e.height===n)return e;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,t),o.height=Math.max(1,n);var a=o.getContext("2d");return a.drawImage(e,0,0,e.width,e.height,0,0,t,n),o},A.prototype.renderBackgroundImage=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a;return nA(this,function(l){switch(l.label){case 0:t=e.styles.backgroundImage.length-1,n=function(d){var h,u,f,O,oA,gA,G,q,R,B,O,oA,gA,G,q,w,v,m,F,E,H,S,U,D,R,M,O,iA,Y,G,q,SA,oA,gA,ce,IA,zA,de,ue,xA,he,PA;return nA(this,function(Pe){switch(Pe.label){case 0:if(d.type!==0)return[3,5];h=void 0,u=d.url,Pe.label=1;case 1:return Pe.trys.push([1,3,,4]),[4,s.context.cache.match(u)];case 2:return h=Pe.sent(),[3,4];case 3:return Pe.sent(),s.context.logger.error("Error loading background-image "+u),[3,4];case 4:return h&&(f=ei(e,t,[h.width,h.height,h.width/h.height]),O=f[0],oA=f[1],gA=f[2],G=f[3],q=f[4],R=s.ctx.createPattern(s.resizeImage(h,G,q),"repeat"),s.renderRepeat(O,R,oA,gA)),[3,6];case 5:Fg(d)?(B=ei(e,t,[null,null,null]),O=B[0],oA=B[1],gA=B[2],G=B[3],q=B[4],w=wg(d.angle,G,q),v=w[0],m=w[1],F=w[2],E=w[3],H=w[4],S=document.createElement("canvas"),S.width=G,S.height=q,U=S.getContext("2d"),D=U.createLinearGradient(m,E,F,H),Wl(d.stops,v).forEach(function(vr){return D.addColorStop(vr.stop,j(vr.color))}),U.fillStyle=D,U.fillRect(0,0,G,q),G>0&&q>0&&(R=s.ctx.createPattern(S,"repeat"),s.renderRepeat(O,R,oA,gA))):Qg(d)&&(M=ei(e,t,[null,null,null]),O=M[0],iA=M[1],Y=M[2],G=M[3],q=M[4],SA=d.position.length===0?[Ss]:d.position,oA=N(SA[0],G),gA=N(SA[SA.length-1],q),ce=pg(d,oA,gA,G,q),IA=ce[0],zA=ce[1],IA>0&&zA>0&&(de=s.ctx.createRadialGradient(iA+oA,Y+gA,0,iA+oA,Y+gA,IA),Wl(d.stops,IA*2).forEach(function(vr){return de.addColorStop(vr.stop,j(vr.color))}),s.path(O),s.ctx.fillStyle=de,IA!==zA?(ue=e.bounds.left+.5*e.bounds.width,xA=e.bounds.top+.5*e.bounds.height,he=zA/IA,PA=1/he,s.ctx.save(),s.ctx.translate(ue,xA),s.ctx.transform(1,0,0,he,0,0),s.ctx.translate(-ue,-xA),s.ctx.fillRect(iA,PA*(Y-xA)+xA,G,q*PA),s.ctx.restore()):s.ctx.fill())),Pe.label=6;case 6:return t--,[2]}})},s=this,i=0,o=e.styles.backgroundImage.slice(0).reverse(),l.label=1;case 1:return i<o.length?(a=o[i],[5,n(a)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,t,n){return uA(this,void 0,void 0,function(){return nA(this,function(s){return this.path(Ad(n,t)),this.ctx.fillStyle=j(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,t,n,s){return uA(this,void 0,void 0,function(){var i,o;return nA(this,function(a){switch(a.label){case 0:return t<3?[4,this.renderSolidBorder(e,n,s)]:[3,2];case 1:return a.sent(),[2];case 2:return i=Sw(s,n),this.path(i),this.ctx.fillStyle=j(e),this.ctx.fill(),o=Iw(s,n),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return uA(this,void 0,void 0,function(){var t,n,s,i,o,a,l,d,h=this;return nA(this,function(u){switch(u.label){case 0:return this.applyEffects(e.getEffects(2)),t=e.container.styles,n=!OA(t.backgroundColor)||t.backgroundImage.length,s=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Gw(He(t.backgroundClip,0),e.curves),n||t.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),OA(t.backgroundColor)||(this.ctx.fillStyle=j(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:u.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(f){h.ctx.save();var B=fn(e.curves),w=f.inset?0:xw,v=Ew(B,-w+(f.inset?1:-1)*f.spread.number,(f.inset?1:-1)*f.spread.number,f.spread.number*(f.inset?-2:2),f.spread.number*(f.inset?-2:2));f.inset?(h.path(B),h.ctx.clip(),h.mask(v)):(h.mask(B),h.ctx.clip(),h.path(v)),h.ctx.shadowOffsetX=f.offsetX.number+w,h.ctx.shadowOffsetY=f.offsetY.number,h.ctx.shadowColor=j(f.color),h.ctx.shadowBlur=f.blur.number,h.ctx.fillStyle=f.inset?j(f.color):"rgba(0,0,0,1)",h.ctx.fill(),h.ctx.restore()}),u.label=2;case 2:o=0,a=0,l=s,u.label=3;case 3:return a<l.length?(d=l[a],d.style!==0&&!OA(d.color)&&d.width>0?d.style!==2?[3,5]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,2)]:[3,11]):[3,13];case 4:return u.sent(),[3,11];case 5:return d.style!==3?[3,7]:[4,this.renderDashedDottedBorder(d.color,d.width,o,e.curves,3)];case 6:return u.sent(),[3,11];case 7:return d.style!==4?[3,9]:[4,this.renderDoubleBorder(d.color,d.width,o,e.curves)];case 8:return u.sent(),[3,11];case 9:return[4,this.renderSolidBorder(d.color,o,e.curves)];case 10:u.sent(),u.label=11;case 11:o++,u.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,t,n,s,i){return uA(this,void 0,void 0,function(){var o,a,l,d,h,u,f,B,w,v,m,F,E,H,S,U,S,U;return nA(this,function(D){return this.ctx.save(),o=Tw(s,n),a=Ad(s,n),i===2&&(this.path(a),this.ctx.clip()),pA(a[0])?(l=a[0].start.x,d=a[0].start.y):(l=a[0].x,d=a[0].y),pA(a[1])?(h=a[1].end.x,u=a[1].end.y):(h=a[1].x,u=a[1].y),n===0||n===2?f=Math.abs(l-h):f=Math.abs(d-u),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(a.slice(0,2)),B=t<3?t*3:t*2,w=t<3?t*2:t,i===3&&(B=t,w=t),v=!0,f<=B*2?v=!1:f<=B*2+w?(m=f/(2*B+w),B*=m,w*=m):(F=Math.floor((f+w)/(B+w)),E=(f-F*B)/(F-1),H=(f-(F+1)*B)/F,w=H<=0||Math.abs(w-E)<Math.abs(w-H)?E:H),v&&(i===3?this.ctx.setLineDash([0,B+w]):this.ctx.setLineDash([B,w])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=j(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(pA(a[0])&&(S=a[3],U=a[0],this.ctx.beginPath(),this.formatPath([new y(S.end.x,S.end.y),new y(U.start.x,U.start.y)]),this.ctx.stroke()),pA(a[1])&&(S=a[1],U=a[2],this.ctx.beginPath(),this.formatPath([new y(S.end.x,S.end.y),new y(U.start.x,U.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return uA(this,void 0,void 0,function(){var t;return nA(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=yw(e),[4,this.renderStack(t)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(rd),Kw=function(r){return r instanceof Sc||r instanceof yc?!0:r instanceof Os&&r.type!==cn&&r.type!==ln},Gw=function(r,A){switch(r){case 0:return fn(A);case 2:return vw(A);case 1:default:return wn(A)}},kw=function(r){switch(r){case 1:return"center";case 2:return"right";case 0:default:return"left"}},Nw=["-apple-system","system-ui"],_w=function(r){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?r.filter(function(A){return Nw.indexOf(A)===-1}):r},Vw=function(r){mA(A,r);function A(e,t){var n=r.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return A.prototype.render=function(e){return uA(this,void 0,void 0,function(){var t,n;return nA(this,function(s){switch(s.label){case 0:return t=Ns(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,Ow(t)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=j(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A}(rd),Ow=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},Ww=function(){function r(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return r.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.getTime=function(){return Date.now()-this.start},r.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Ir([this.id,this.getTime()+"ms"],A))},r.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Ir([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.instances={},r}(),Xw=function(){function r(A,e){var t;this.windowBounds=e,this.instanceName="#"+r.instanceCount++,this.logger=new Ww({id:this.instanceName,enabled:A.logging}),this.cache=(t=A.cache)!==null&&t!==void 0?t:new uw(this,A)}return r.instanceCount=1,r}(),Jw=function(r,A){return A===void 0&&(A={}),zw(r,A)};typeof window<"u"&&zc.setContext(window);var zw=function(r,A){return uA(void 0,void 0,void 0,function(){var e,t,n,s,i,o,a,l,d,h,u,f,B,w,v,m,F,E,H,S,D,U,D,R,M,O,iA,Y,G,q,SA,oA,gA,ce,IA,zA,de,ue,xA,he;return nA(this,function(PA){switch(PA.label){case 0:if(!r||typeof r!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=r.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(t=e.defaultView,!t)throw new Error("Document is not attached to a Window");return n={allowTaint:(R=A.allowTaint)!==null&&R!==void 0?R:!1,imageTimeout:(M=A.imageTimeout)!==null&&M!==void 0?M:15e3,proxy:A.proxy,useCORS:(O=A.useCORS)!==null&&O!==void 0?O:!1},s=is({logging:(iA=A.logging)!==null&&iA!==void 0?iA:!0,cache:A.cache},n),i={windowWidth:(Y=A.windowWidth)!==null&&Y!==void 0?Y:t.innerWidth,windowHeight:(G=A.windowHeight)!==null&&G!==void 0?G:t.innerHeight,scrollX:(q=A.scrollX)!==null&&q!==void 0?q:t.pageXOffset,scrollY:(SA=A.scrollY)!==null&&SA!==void 0?SA:t.pageYOffset},o=new bA(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),a=new Xw(s,o),l=(oA=A.foreignObjectRendering)!==null&&oA!==void 0?oA:!1,d={allowTaint:(gA=A.allowTaint)!==null&&gA!==void 0?gA:!1,onclone:A.onclone,ignoreElements:A.ignoreElements,inlineImages:l,copyStyles:l},a.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),h=new Xc(a,r,d),u=h.clonedReferenceElement,u?[4,h.toIFrame(e,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return f=PA.sent(),B=Xs(u)||Yf(u)?Uu(u.ownerDocument):Tr(a,u),w=B.width,v=B.height,m=B.left,F=B.top,E=Yw(a,u,A.backgroundColor),H={canvas:A.canvas,backgroundColor:E,scale:(IA=(ce=A.scale)!==null&&ce!==void 0?ce:t.devicePixelRatio)!==null&&IA!==void 0?IA:1,x:((zA=A.x)!==null&&zA!==void 0?zA:0)+m,y:((de=A.y)!==null&&de!==void 0?de:0)+F,width:(ue=A.width)!==null&&ue!==void 0?ue:Math.ceil(w),height:(xA=A.height)!==null&&xA!==void 0?xA:Math.ceil(v)},l?(a.logger.debug("Document cloned, using foreign object rendering"),D=new Vw(a,H),[4,D.render(u)]):[3,3];case 2:return S=PA.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+m+","+F+" with size "+w+"x"+v+" using computed rendering"),a.logger.debug("Starting DOM parsing"),U=Hc(a,u),E===U.styles.backgroundColor&&(U.styles.backgroundColor=DA.TRANSPARENT),a.logger.debug("Starting renderer for element at "+H.x+","+H.y+" with size "+H.width+"x"+H.height),D=new Pw(a,H),[4,D.render(U)];case 4:S=PA.sent(),PA.label=5;case 5:return(!((he=A.removeContainer)!==null&&he!==void 0)||he)&&(Xc.destroy(f)||a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),a.logger.debug("Finished rendering"),[2,S]}})})},Yw=function(r,A,e){var t=A.ownerDocument,n=t.documentElement?it(r,getComputedStyle(t.documentElement).backgroundColor):DA.TRANSPARENT,s=t.body?it(r,getComputedStyle(t.body).backgroundColor):DA.TRANSPARENT,i=typeof e=="string"?it(r,e):e===null?DA.TRANSPARENT:4294967295;return A===t.documentElement?OA(n)?OA(s)?i:s:n:i};const Mt=class Mt extends c.EngineObject{constructor(A,e){super(A,e),this.ad(new c.ObjResettingWithEvent(A.renderInUEChanged,()=>A.renderInUE?new sd(A,e):new nd(A,e)))}};p(Mt,"type",Mt.register("ESUeViewer",c.ESGeoDiv.type,Mt));let ti=Mt;class nd extends c.Destroyable{constructor(e,t){super();p(this,"_screenPosition",this.disposeVar(c.reactArrayWithUndefined(void 0)));const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this.disposeVar(new c.ESTextLabel);s.parentID=e.id,e.components.disposableAdd(s,!0),s.show=!1,this.dispose(c.bind([s,"position"],[e,"position"])),this.dispose(c.bind([s,"rotation"],[e,"rotation"])),this.dispose(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.dispose(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{YA(n,s.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!t.actived)return;const a=await t.getCurrentCameraInfo();if(!a)return;const{position:l,rotation:d}=a;e.flyInParam={position:l,rotation:d,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((a,l)=>{_e(n,s.id,a,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((a,l,d)=>{Ge(n,s.id,a,l,d)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((a,l,d,h)=>{ke(n,s.id,a,l,h,d)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((a,l,d,h,u)=>{Ne(n,s.id,a,l,d,h,u)})),this.dispose(e.flyToEvent.disposableOn((a,l)=>{s.flyTo(a)})),this.dispose(e.flyInEvent.don(a=>{s.flyIn(a)}));const i=this._screenPosition,o=this.disposeVar(new c.ESCustomDiv);o.parentID=e.id,t.add(o),this.dispose(()=>t.delete(o)),this.dispose(c.bind([o,"allowPicking"],[e,"allowPicking"]));{const a=this.disposeVar(c.createAnimateFrame()),l=()=>{e.show?a.restart(void 0,async()=>{if(!e.position)return;const d=await t.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!d)this._screenPosition.value=void 0;else{const[h,u]=d;h===-1&&u===-1?this._screenPosition.value=void 0:this._screenPosition.value=[h,u]}}):a.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const a=()=>class extends c.Destroyable{constructor(u,f,B){if(super(),this._subContainer=u,!B)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new c.PosFloatDiv,v=w.element;this._subContainer.appendChild(v),this.dispose(()=>this._subContainer.removeChild(v)),v.onclick=m=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new c.ESJPickedResult({div:v,pointerEvent:m},e,void 0,void 0,void 0,[m.x,m.y]))};{const m=()=>{e.editing?v.children[0].style.pointerEvents="none":v.children[0].style.pointerEvents="all"};m(),this.d(e.editingChanged.don(m))}{const m=()=>{const E=e.show;i.value&&E?(w.show=!0,w.winPos=[...i.value]):(w.show=!1,w.winPos=[0,0])};m();const F=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,i.changed));this.dispose(F.disposableOn(m))}{const m=()=>{const[F,E]=e.anchor??c.ESGeoDiv.defaults.anchor;w.originRatioX=F,w.originRatioY=E};m(),this.dispose(e.anchorChanged.disposableOn(m))}{const m=()=>{w.opacity=e.opacity??c.ESGeoDiv.defaults.opacity};m(),this.dispose(e.opacityChanged.disposableOn(m))}this.disposeVar(new e.instanceClass(w.contentDiv,e,B))}},l=()=>{try{e.instanceClass?o.instanceClass=a():o.instanceClass=void 0}catch(h){console.error(h)}};l();const d=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(d.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class sd extends c.Destroyable{constructor(e,t){super();p(this,"_imageLabel");p(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new c.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=t.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this._imageLabel;e.components.disposableAdd(s,!0);{const i=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),d=this.dv(new e.instanceClass(l,e,t))._container;if(d.style.opacity=e.opacity.toString()??c.ESGeoDiv.defaults.opacity,d.style.position="fixed",d.style.zIndex="-1",d.style.top="0px",!document.body.contains(d)){document.body.appendChild(d);let u=d?d.querySelectorAll("*[class]"):[];for(let f=0;f<u.length;f++){const B=u[f];var h=B.getBoundingClientRect();this._hasClassDivAndPos[B.className]=[B.offsetLeft,B.offsetTop,B.offsetLeft+h.width,B.offsetTop+h.height]}}Jw(d,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:d.offsetWidth,height:d.offsetHeight,scale:1}).then(u=>{document.body.contains(d)&&document.body.removeChild(d),s.url=u.toDataURL(),s.show=e.show}).catch(()=>{document.body.contains(d)&&document.body.removeChild(d)})},o=()=>{try{e.instanceClass?i():(s.url="",s.show=!1)}catch(l){console.error(l)}};o();const a=this.dv(c.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(a.don(o))}{const i=()=>{s.show=e.show};s.show=!1,this.ad(e.showChanged.don(i))}this.d(c.track([s,"anchor"],[e,"anchor"])),this.d(c.bind([s,"position"],[e,"position"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyInParam"],[e,"flyInParam"])),this.d(c.bind([s,"allowPicking"],[e,"allowPicking"])),this.d(c.bind([s,"scale"],[e,"scale"])),this.d(c.track([s,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(c.track([s,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{s.automaticLanding()})),this.d(t.widgetEvent.don(i=>{if(i.objId!==this._imageLabel.id)return;const{type:o,add:a}=i;if(o==="leftClick"&&a){const l=(a==null?void 0:a.classNames)??[],d=Object.keys(this._hasClassDivAndPos);for(let h=0;h<d.length;h++){const u=d[h];let f=this._hasClassDivAndPos[u];a&&a.mouseRelativePos&&a.mouseRelativePos[0]>=f[0]&&a.mouseRelativePos[0]<=f[2]&&a.mouseRelativePos[1]>=f[1]&&a.mouseRelativePos[1]<=f[3]&&l.push(u)}a.classNames=l}e.widgetEvent.emit({type:o,add:a})})),this.d(e.calcFlyToParamEvent.don(()=>{YA(n,s.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const i=t.getCurrentCameraInfo();if(!i)return;const{position:o,rotation:a}=i;e.flyInParam={position:o,rotation:a,flyDuration:1}})),this.d(e.smoothMoveEvent.don((i,o)=>{_e(n,s.id,i,o)})),this.d(e.smoothMoveWithRotationEvent.don((i,o,a)=>{Ge(n,s.id,i,o,a)})),this.d(e.smoothMoveOnGroundEvent.don((i,o,a,l)=>{ke(n,s.id,i,o,l,a)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((i,o,a,l,d)=>{Ne(n,s.id,i,o,a,l,d)})),this.d(e.flyToEvent.don((i,o)=>{s.flyTo(i)})),this.d(e.flyInEvent.don(i=>{s.flyIn(i)}))}}const Dt=class Dt extends cA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.flyToFeatureIndexEvent.don((n,s)=>{t.callUeFunc({f:"flyToFeatureIndex",p:{id:A.id,index:n,duration:s}})})),this.d(A.flyToFeatureEvent.don((n,s,i)=>{t.callUeFunc({f:"flyToFeature",p:{id:A.id,key:n,value:s,duration:i}})}))}};p(Dt,"type",Dt.register("ESUeViewer",c.ESGeoJson.type,Dt));let ri=Dt;const Rt=class Rt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Rt,"type",Rt.register("ESUeViewer",c.ESGeoLineString.type,Rt));let Fn=Rt;const xt=class xt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xt,"type",xt.register("ESUeViewer",c.ESGeoRectangle.type,xt));let ni=xt;const Pt=class Pt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Pt,"type",Pt.register("ESUeViewer",c.ESGeoWater.type,Pt));let si=Pt;const ie=class ie extends P{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.setNodePositionEvent.don((n,s)=>{io(t,A.id,n,s)})),this.d(A.setNodeRotationEvent.don((n,s)=>{oo(t,A.id,n,s)})),this.d(A.setNodeScaleEvent.don((n,s)=>{ao(t,A.id,n,s)}))}};p(ie,"forceUeUpdateProps",[...P.forceUeUpdateProps,"url"]),p(ie,"propValFuncs",{...P.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),p(ie,"type",ie.register("ESUeViewer",c.ESGltfModel.type,ie));let ii=ie;const Kt=class Kt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Kt,"type",Kt.register("ESUeViewer",c.ESHeightMeasurement.type,Kt));let oi=Kt;const Gt=class Gt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(i,o,a,l)=>{const{viewer:d}=i;if(!d){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"AIMoveTo",p:{id:o,Destination:a,Time:l}});return h.error&&console.error("AIMoveTo:",h.error),h};this.d(A.aiMoveToEvent.don((i,o)=>{n(e,A.id,i,o)}));const s=async(i,o)=>{const{viewer:a}=i;if(!a){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await a.callUeFunc({f:"StopAIMove",p:{id:o}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(A.stopAIMoveEvent.don(()=>{s(e,A.id)}))}};p(Gt,"type",Gt.register("ESUeViewer",c.ESHuman.type,Gt));let ai=Gt;const oe=class oe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.anchor=[.5,1]}};p(oe,"type",oe.register("ESUeViewer",c.ESImageLabel.type,oe)),p(oe,"forceUeUpdateProps",[...QA.forceUeUpdateProps,"url"]),p(oe,"propValFuncs",{...QA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(c.rpToap(A)):(A.url=c.ESSceneObject.context.getStrFromEnv(c.rpToap(A.url)),A)});let li=oe;const kt=class kt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(kt,"type",kt.register("ESUeViewer",c.ESLevelRuntimeModel.type,kt));let ci=kt;const Nt=class Nt extends Er{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Nt,"type",Nt.register("ESUeViewer",c.ESLocalCircle.type,Nt));let di=Nt;const _t=class _t extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(_t,"type",_t.register("ESUeViewer",c.ESLocalPolygonZ.type,_t));let ui=_t;const Vt=class Vt extends Er{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Vt,"type",Vt.register("ESUeViewer",c.ESLocalRectangle.type,Vt));let hi=Vt;const Ot=class Ot extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Ot,"type",Ot.register("ESUeViewer",c.ESLocalSkyBox.type,Ot));let gi=Ot;const Wt=class Wt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Wt,"type",Wt.register("ESUeViewer",c.ESLocationMeasurement.type,Wt));let Bi=Wt;const Xt=class Xt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Xt,"type",Xt.register("ESUeViewer",c.ESPipeFence.type,Xt));let fi=Xt;const Jt=class Jt extends Fn{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Jt,"type",Jt.register("ESUeViewer",c.ESPipeline.type,Jt));let wi=Jt;const zt=class zt extends yr{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.highlightFeatureEvent.don(n=>{const s=typeof n=="number"?n.toString():n;to(t,A.id,s)})),this.d(A.highlightFeatureAndFlyToEvent.don((n,s,i,o)=>{const a=typeof n=="number"?n.toString():n;ro(t,A.id,a,o??1)})),this.d(A.setLayerVisibleEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,no(t,A.id,i)})),this.d(A.setLayerColorEvent.don((n,s)=>{let i="";typeof s!="string"?i=JSON.stringify(s):i=s,so(t,A.id,i)}))}};p(zt,"type",zt.register("ESUeViewer",c.ESPipeserTileset.type,zt));let pi=zt;const Yt=class Yt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Yt,"type",Yt.register("ESUeViewer",c.ESPit.type,Yt));let Ci=Yt;const $t=class $t extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(A.getInitialStyleEvent.don(async()=>{try{const n=await t.callUeFunc({f:"GetInitialStyle",p:{id:A.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),A.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),A.initialStyle.value=void 0}}))}};p($t,"type",$t.register("ESUeViewer",c.ESPoi2D.type,$t));let vi=$t;const Zt=class Zt extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(Zt,"type",Zt.register("ESUeViewer",c.ESPoi3D.type,Zt));let mi=Zt;const ae=class ae extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ae,"type",ae.register("ESUeViewer",c.ESPoiTileset.type,ae)),p(ae,"forceUeUpdateProps",[...cA.forceUeUpdateProps,"url"]),p(ae,"propValFuncs",{...cA.propValFuncs,url:A=>typeof A=="string"?c.ESSceneObject.context.getStrFromEnv(A):(A.url=c.ESSceneObject.context.getStrFromEnv(A.url),A)});let Fi=ae;const qt=class qt extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(qt,"type",qt.register("ESUeViewer",c.ESPolygonFence.type,qt));let Qi=qt;const De=class De extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(De,"type",De.register("ESUeViewer",c.ESPolygonFlattenedPlane.type,De)),p(De,"propValFuncs",{...dA.propValFuncs,targetID:A=>{if(!A)return"";const e=c.ESSceneObject.getSceneObject(A);return e?(e.components.main??e).id:A}});let Ui=De;const jt=class jt extends dA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(jt,"type",jt.register("ESUeViewer",c.ESPolygonWithHole.type,jt));let Ei=jt;const Ar=class Ar extends qA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{A.ids=[]}),this.d(A.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(A.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=o=>{o=o.toLocaleLowerCase();let a=[255,255,255,1];if(o.startsWith("#")){if(o.length===4){let l=parseInt(o[1]+o[1],16),d=parseInt(o[2]+o[2],16),h=parseInt(o[3]+o[3],16);a=[l,d,h,1]}else if(o.length===7){let l=parseInt(o.substring(1,3),16),d=parseInt(o.substring(3,5),16),h=parseInt(o.substring(5,7),16);a=[l,d,h,1]}}else if(o.startsWith("rgba")){let l=o.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]),f=parseFloat(l[4]);a=[d,h,u,f]}}else if(o.startsWith("rgb")){let l=o.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let d=parseInt(l[1]),h=parseInt(l[2]),u=parseInt(l[3]);a=[d,h,u,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[a[0]/255,a[1]/255,a[2]/255,a[3]]},s=()=>{const o=A.layerConfig;if(!o)return;const a=[];o.forEach(l=>{o.filter(h=>h.dataset==l.dataset).length==1?a.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):a.push({condition:[{field:"layer",op:"==",value:l.layer},{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),A.setFeatureStyle(a)};s();const i=this.dv(c.createNextAnimateFrameEvent(A.layerConfigChanged,A.colorBlendModeChanged));this.d(i.don(()=>{s()}))}}};p(Ar,"type",Ar.register("ESUeViewer",c.ESRtsTileset.type,Ar));let yi=Ar;const er=class er extends cA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(A.addTreesEvent.don(n=>{c.addTreesCallFunc(e,A.id,n)})),this.d(A.removeAllTreesEvent.don(()=>{c.removeAllTreesCallFunc(e,A.id)})),this.d(A.updateTreeParamsEvent.don(n=>{c.updateTreeParamsCallFunc(e,A.id,n)})),this.d(A.cutDownTreesEvent.don((n,s)=>{c.cutDownTreesCallFunc(e,A.id,n,s)})),this.d(A.growthSimulationEvent.don((n,s,i)=>{c.growthSimulationCallFunc(e,A.id,n,s,i)}))}};p(er,"type",er.register("ESUeViewer",c.ESSeparateFoliage.type,er));let Si=er;const tr=class tr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(tr,"type",tr.register("ESUeViewer",c.ESSubmergingAnalysis.type,tr));let Ii=tr;const rr=class rr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.stopEvent.don(()=>{t.callUeFunc({f:"Stop",p:{id:A.id}})}))}};p(rr,"type",rr.register("ESUeViewer",c.ESSunshineAnalysis.type,rr));let Ti=rr;const nr=class nr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})}))}};p(nr,"type",nr.register("ESUeViewer",c.ESSurfaceAreaMeasurement.type,nr));let Hi=nr;const sr=class sr extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(sr,"type",sr.register("ESUeViewer",c.ESTextLabel.type,sr));let Li=sr;const Re=class Re extends QA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.callFunctionEvent.don(async(n,s)=>{const i=await yn(t,A.id,n,s);A.__callFunctionResultEvent.emit(i)}))}};p(Re,"type",Re.register("ESUeViewer",c.ESUEWidget.type,Re)),p(Re,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let bi=Re;const id=r=>{switch(r){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},$w=r=>{switch(r){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},ir=class ir extends c.EngineObject{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn(`${A.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{Un(t,A.id)});const n=async()=>{l()||await t.callUeFunc({f:"update",p:{id:A.id,name:A.name,show:A.show,rotation:A.rotation,flyToParam:A.flyToParam??c.ESUnrealActor.defaultFlyToParam,flyInParam:A.flyInParam??c.ESUnrealActor.defaultFlyInParam,highlight:A.highlight,collision:A.collision,scale:A.scale,minVisibleDistance:A.minVisibleDistance,maxVisibleDistance:A.maxVisibleDistance}})},s=this.dv(c.createNextAnimateFrameEvent(A.showChanged,A.nameChanged,A.rotationChanged,A.flyToParamChanged,A.flyInParamChanged,A.highlightChanged,A.collisionChanged,A.scaleChanged,A.minVisibleDistanceChanged,A.maxVisibleDistanceChanged));this.d(s.don(n)),this.d(A.flushEvent.don(()=>s.flush()));let i,o;const a=async()=>{l()||(await t.callUeFunc({f:"update",p:{id:A.id,position:A.position}}),(e.debug??!1)&&console.log(`updatePostion:${A.position},actorTag:${A.actorTag},actorClass:${A.actorClass}`))},l=()=>!i&&!o?(console.warn(`${A.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,d=async()=>{const{id:u}=A,f=await e.unBindActorByID(u);f&&f.error!==""&&console.warn(`${A.id} UeESUnrealActor UnBindActorByID: ${f.error}`),i=void 0;const B=await t.callUeFunc({f:"destroy",p:{id:u}});if(B&&B.error!==""){console.warn(`${A.id} UeESUnrealActor DestroyActorByID: ${B.error}`);return}o=void 0},h=this.dv(c.react({type:"ActorClass",actorClass:"default"}));{const u=this.dv(c.createNextAnimateFrameEvent(A.actorClassChanged,A.actorTagChanged)),f=async()=>{A.actorTag!==""?h.value={type:"ActorTag",actorTag:A.actorTag}:h.value={type:"ActorClass",actorClass:A.actorClass===""?"default":A.actorClass}};f(),this.d(u.don(f)),this.d(A.flushEvent.don(()=>u.flush()))}{const u=this.dv(c.createProcessingFromAsyncFunc(async B=>{if(await B.promise(d()),A.lastActorStatus="null",h.value.type==="ActorTag"){const{actorTag:w}=h.value;try{const v=await B.promise(e.bindActorByTag(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${v.error}`);return}if(v.re.type===0)A.lastActorStatus="bound",i=w;else if(v.re.type===1)A.lastActorStatus="bound",i=w,console.warn(`${A.id} UeESUnrealActor BindActorByTag:${w},${id(v.re.type)}`);else{i=void 0,console.warn(`${A.id} UeESUnrealActor BindActorByTag error:${w}, ${id(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor BindActorByTag catch error:${w}, ${v}`);return}}else if(h.value.type==="ActorClass"){const{actorClass:w}=h.value;try{const v=await B.promise(e.createActorByClass(A.id,w));if(!v)return;if(v.error!==""){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error :${w}, ${v.error}`);return}if(v.re.type===0)w!=="default"&&(A.lastActorStatus="created"),o=w;else{console.warn(`${A.id} UeESUnrealActor CreateActorByClass error type :${w},${$w(v.re.type)}`);return}}catch(v){console.warn(`${A.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(v)}`);return}}await B.promise(n()),await B.promise(a())})),f=async()=>{u.restart()};f(),this.d(h.changed.don(f))}this.d(A.positionChanged.don(a)),this.d(A.callFunctionEvent.don(async(u,f)=>{if(l()){A.__callFunctionResultEvent.emit(void 0);return}const B=await yn(t,A.id,u,f);A.__callFunctionResultEvent.emit(B)})),this.d(A.smoothMoveEvent.don((u,f)=>{l()||_e(t,A.id,u,f)})),this.d(A.smoothMoveWithRotationEvent.don((u,f,B)=>{l()||Ge(t,A.id,u,f,B)})),this.d(A.smoothMoveOnGroundEvent.don((u,f,B,w)=>{l()||ke(t,A.id,u,f,w,B)})),this.d(A.smoothMoveWithRotationOnGroundEvent.don((u,f,B,w,v)=>{l()||Ne(t,A.id,u,f,B,w,v)})),this.d(A.automaticLandingEvent.don(u=>{if(l())return;const f=[A.position[0],A.position[1]];e.getHeightByLonLat(A.position[0],A.position[1],"Visibility").then(B=>{B!==null&&(A.position=[...f,B],A.collision=u)})})),this.d(A.flyToEvent.don(async(u,f)=>{if(l())return;const B=await Be(t,A.id,u);let w="over";B===void 0?w="error":B.endType===0?w="over":B.endType===1&&(w="cancelled"),A.flyOverEvent.emit(f,w,e)})),this.d(A.calcFlyToParamEvent.don(()=>{l()||YA(t,A.id)})),this.d(A.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const u=await e.getCurrentCameraInfo();if(!u)return;const{position:f,rotation:B}=u;A.flyInParam={position:f,rotation:B,flyDuration:1}})),this.d(e.propChanged.don(u=>{l()||u.objId===A.id&&Object.keys(u.props).forEach(f=>{const B=u.props[f]===null?void 0:u.props[f];A[f]=B})}))}};p(ir,"type",ir.register("ESUeViewer",c.ESUnrealActor.type,ir));let Mi=ir;const or=class or extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(or,"type",or.register("ESUeViewer",c.ESVideoFusion.type,or));let Di=or;const ar=class ar extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(ar,"type",ar.register("ESUeViewer",c.ESViewShed.type,ar));let Ri=ar;const lr=class lr extends rA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is underfined!");return}}};p(lr,"type",lr.register("ESUeViewer",c.ESVisibilityAnalysis.type,lr));let xi=lr;const cr=class cr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.ad(c.track([A,"volume"],[A,"cutAndFillVolume"])),this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(cr,"type",cr.register("ESUeViewer",c.ESVolumeMeasurement.type,cr));let Pi=cr;const xe=class xe extends QA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(xe,"type",xe.register("ESUeViewer",c.ESWidget.type,xe)),p(xe,"propValFuncs",{...QA.propValFuncs,info:A=>JSON.stringify(A??{})});let Ki=xe;const dr=class dr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}A.poi.actorTag=A.human.id,A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8],this.d(A.poiOffsetHeightChanged.don(()=>{A.poi.positionOffset=[0,0,A.poiOffsetHeight-.8]})),this.d(()=>{A.poi.actorTag=""})}};p(dr,"type",dr.register("ESUeViewer",c.ESHumanPoi.type,dr));let Gi=dr;c.ESSceneObject.context.getStrFromEnv(c.ESNavigator.defaults.imgUrl);const ur=class ur extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(c.track([n,"show"],[A,"show"])),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){super(),this._subContainer=i;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const u=async()=>{const f=await e.getCurrentCameraInfo(),B=f==null?void 0:f.position,v=[...f==null?void 0:f.rotation];v[0]=360,e.flyIn(B,v)};l.addEventListener("click",u),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",u))}{const u=()=>{l.style.width=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`,l.style.height=`${A.cssSize?A.cssSize:c.ESNavigator.defaults.cssSize}px`};u(),A.dispose(A.cssSizeChanged.disposableOn(u))}l.style.position="fixed";{const u=()=>{l.style.top=`${A.cssPosition?A.cssPosition[0]:c.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${A.cssPosition?A.cssPosition[1]:c.ESNavigator.defaults.cssPosition[1]}px`};u(),A.dispose(A.cssPositionChanged.disposableOn(u))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const d=document.createElement("div");l.appendChild(d),this.dispose(()=>l.removeChild(d)),d.style.width="100%",d.style.height="100%",d.style.position="relative";const h=document.createElement("img");d.appendChild(h),this.dispose(()=>d.removeChild(h)),h.style.width="100%",h.style.height="100%",h.style.border="none";{const u=()=>h.src=A.imgUrl;u(),A.dispose(A.imgUrlChanged.disposableOn(u))}{const u=()=>{const v=-e.getCurrentCameraInfo().rotation[0];h.style.transform=`rotate(${v}deg)`};let f;const B=async()=>{u(),A.show?(l.style.display="block",f=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(f))};this.dispose(A.showChanged.disposableOn(B)),B(),this.dispose(()=>clearInterval(f))}h.style.transformOrigin="50% 50%"}}}};p(ur,"type",ur.register("ESUeViewer",c.ESNavigator.type,ur));let ki=ur;const le=class le extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}{const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,materialMode:A.materialMode}})};this.dispose(A.materialModeChanged.disposableOn(n))}}};p(le,"type",le.register("ESUeViewer",c.ESPath.type,le)),p(le,"forceUeUpdateProps",[...rA.forceUeUpdateProps]),p(le,"propValFuncs",{...rA.propValFuncs});let Ni=le;async function Zw(r){navigator.clipboard.writeText(r).then(function(){console.log("复制成功")},function(A){console.log("复制失败")})}const hr=class hr extends c.EngineObject{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new c.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends c.Destroyable{constructor(i,o,a){if(super(),this._subContainer=i,!a||!(a instanceof LA))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${c.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${c.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const d=document.createElement("span");l.appendChild(d),this.dispose(()=>l.removeChild(d));const h=document.createElement("span");d.appendChild(h),this.dispose(()=>d.removeChild(h));const u=document.createElement("span");d.appendChild(u),u.addEventListener("dblclick",function(){let B=u.innerHTML;B.startsWith("鼠标位置")&&(B=B.slice(5)),Zw(B)}),u.style.cursor="pointer",this.dispose(()=>d.removeChild(u));const f=document.createElement("span");l.appendChild(f),this.dispose(()=>l.removeChild(f));{const B=()=>{l.style.height=(A.height??c.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(A.height??c.ESViewerStatusBar.defaults.height)+"px"};this.dispose(A.heightChanged.disposableOn(B)),B()}{const B=()=>{l.style.fontSize=(A.fontSize??c.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(A.fontSizeChanged.disposableOn(B)),B()}{const B=()=>{A.bgColor?l.style.background=`rgba(${A.bgColor[0]*255},${A.bgColor[1]*255},${A.bgColor[2]*255},${A.bgColor[3]})`:l.style.background=`rgba(${c.ESViewerStatusBar.defaults.bgColor[0]},${c.ESViewerStatusBar.defaults.bgColor[1]},${c.ESViewerStatusBar.defaults.bgColor[2]},${c.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(A.bgColorChanged.disposableOn(B)),B()}a.getVersion().then(B=>{B&&(f.innerText=`Ue 版本 : ${B[0]} `)}).catch(B=>{console.log(B)});{const B=()=>{let m="",F="";m+=`帧率:${a.getFPS().toFixed(0)}FPS`,h.innerText=m;const E=e.getCurrentCameraInfo();m+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,h.innerText=m,e.pick().then(H=>{if(H){const{pickResult:S}=H;if(S&&S.position){const{position:U}=S;F+=`鼠标位置:${U[0].toFixed(5)}° ${U[1].toFixed(5)}° ${U[2].toFixed(2)}m`}else F+="暂时无法获取鼠标位置...";u.innerText=F}}).catch(H=>{console.log(H)})};let w;const v=async()=>{B(),A.show?(l.style.display="flex",w=setInterval(()=>{B()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(A.showChanged.disposableOn(v)),v(),this.dispose(()=>clearInterval(w))}}}}};p(hr,"type",hr.register("ESUeViewer",c.ESViewerStatusBar.type,hr));let _i=hr;const gr=class gr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(gr,"type",gr.register("ESUeViewer",c.ESGaussianSplatting.type,gr));let Vi=gr;const Br=class Br extends qA{constructor(e,t){super(e,t);p(this,"_es3DTileset",this.dv(new c.ES3DTileset));if(!t.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const s=this._es3DTileset;e.components.disposableAdd(s,!0),this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"collision"],[e,"collision"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.bind([s,"flyToParam"],[e,"flyToParam"])),this.d(c.track([s,"url"],[e,"url"])),this.d(c.track([s,"actorTag"],[e,"actorTag"])),this.d(c.track([s,"materialMode"],[e,"materialMode"])),this.d(c.track([s,"highlight"],[e,"highlight"])),this.d(c.track([s,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(c.track([s,"highlightID"],[e,"highlightID"])),this.d(c.track([s,"highlightColor"],[e,"highlightColor"])),this.d(c.bind([s,"offset"],[e,"offset"])),this.d(c.bind([s,"rotation"],[e,"rotation"])),this.d(c.track([s,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(c.track([s,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(c.track([s,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(c.track([s,"czmClassificationType"],[e,"czmClassificationType"])),this.d(c.track([s,"czmStyleJson"],[e,"czmStyleJson"])),this.d(c.track([s,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(c.track([s,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(c.track([s,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(c.track([s,"colorBlendMode"],[e,"colorBlendMode"])),this.d(c.track([s,"cacheBytes"],[e,"cacheBytes"])),this.d(c.track([s,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(c.track([s,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(c.track([s,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(c.track([s,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(c.track([s,"materialParams"],[e,"materialParams"])),this.d(c.bind([s,"supportEdit"],[e,"supportEdit"])),this.d(c.bind([s,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(c.bind([s,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(c.bind([s,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(c.bind([s,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(c.bind([s,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(c.bind([s,"excavateId"],[e,"excavateId"]))}{const s=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{s.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...i)=>{s.highlightFeature(...i)})),this.d(e.highlightFeatureAndFlyToEvent.don((...i)=>{s.highlightFeatureAndFlyTo(...i)})),this.d(e.setFeatureColorEvent.don((...i)=>{s.setFeatureColor(...i)})),this.d(e.setFeatureVisableEvent.don((...i)=>{s.setFeatureVisable(...i)})),this.d(e.resetFeatureStyleEvent.don((...i)=>{s.resetFeatureStyle(...i)})),this.d(e.flyInEvent.don((...i)=>{s.flyIn(i[0])})),this.d(e.flyToEvent.don((...i)=>{s.flyTo(i[0])})),this.d(e.calcFlyToParamEvent.don((...i)=>{s.calcFlyToParam(...i)})),this.d(e.calcFlyInParamEvent.don((...i)=>{s.calcFlyInParam(...i)}))}{const s=this._es3DTileset;this.d(s.tilesetReady.don(i=>{e.tilesetReady.emit(i)})),this.d(s.pickedEvent.don(i=>{i.assign({sceneObject:e}),e.pickedEvent.emit(i)}))}{const s=()=>{this.es3DTileset.show=e.show};s(),this.d(e.showChanged.don(()=>{s()}))}}get es3DTileset(){return this._es3DTileset}};p(Br,"type",Br.register("ESUeViewer",c.ESRtsFeatureEditing.type,Br));let Oi=Br;const fr=class fr extends qA{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(fr,"type",fr.register("ESUeViewer",c.ESMsTileset.type,fr));let Wi=fr;const wr=class wr extends dA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}const n=()=>{t.callUeFunc({f:"update",p:{id:A.id,height:A.height??c.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:A.extrudedHeight??c.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:A.perPositionHeight??c.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},s=this.disposeVar(c.createNextAnimateFrameEvent(A.heightChanged,A.extrudedHeightChanged,A.perPositionHeightChanged));this.dispose(s.disposableOn(n)),this.dispose(A.createdEvent.disposableOn(n))}};p(wr,"type",wr.register("ESUeViewer",c.ESGeoExtrudedPolygon.type,wr));let Xi=wr;const pr=class pr extends P{constructor(A,e){if(super(A,e),!e.viewer){console.warn("viewer is undefined!");return}}};p(pr,"type",pr.register("ESUeViewer",c.ESStaticMesh.type,pr));let Ji=pr;const Cr=class Cr extends rA{constructor(A,e){super(A,e);const t=e.viewer;if(!t){console.warn("viewer is undefined!");return}this.d(A.startEvent.don(()=>{t.callUeFunc({f:"Start",p:{id:A.id}})})),this.d(A.clearEvent.don(()=>{t.callUeFunc({f:"Clear",p:{id:A.id}})}))}};p(Cr,"type",Cr.register("ESUeViewer",c.ESSkylineAnalysis.type,Cr));let zi=Cr;C.copyright=void 0;try{const r="earthsdk3-ue",A="3.5.0-beta.15",e="2025-10-17T09:37:17.000Z",t="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="1d92544757525a67472147b6dd3aca525c1d2508",o=((Date.now()-1760693837e3)/36e5).toFixed(1),a=`%c🌏 ${r}%c ${A}.${s.slice(0,8)}.${e} (距今${o}个小时)
|
|
113
113
|
%c${n?n+`
|
|
114
114
|
`:""}当前网站正在使用${r},此软件版权归${t}所有
|
|
115
|
-
`;C.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
115
|
+
`;C.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","1d92544757525a67472147b6dd3aca525c1d2508")},get info(){return a},get date(){return"2025-10-17T09:37:17.000Z"},get author(){return"suplyang"},get version(){return"3.5.0-beta.15"},get name(){return"earthsdk3-ue"},get commitId(){return"1d92544757525a67472147b6dd3aca525c1d2508"},print(l=!1){!l&&window._xe2_no_copy_print||console.info(this.info,`
|
|
116
116
|
font-size: 18px;
|
|
117
117
|
font-weight: 1000;
|
|
118
118
|
line-height: 1;
|
package/dist/earthsdk3-ue.js
CHANGED
|
@@ -5257,7 +5257,7 @@ const ge = class ge extends D {
|
|
|
5257
5257
|
v(ge, "type", ge.register("ESUeViewer", Yn.type, ge));
|
|
5258
5258
|
let ur = ge, We;
|
|
5259
5259
|
try {
|
|
5260
|
-
const l = "earthsdk3-ue", e = "3.5.0-beta.
|
|
5260
|
+
const l = "earthsdk3-ue", e = "3.5.0-beta.15", t = "2025-10-17T09:37:17.000Z", i = "北京西部世界科技有限公司", r = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", n = "1d92544757525a67472147b6dd3aca525c1d2508", o = ((Date.now() - 1760693837e3) / 36e5).toFixed(1), h = `%c🌏 ${l}%c ${e}.${n.slice(0, 8)}.${t} (距今${o}个小时)
|
|
5261
5261
|
%c${r ? r + `
|
|
5262
5262
|
` : ""}当前网站正在使用${l},此软件版权归${i}所有
|
|
5263
5263
|
`;
|
|
@@ -5271,7 +5271,7 @@ try {
|
|
|
5271
5271
|
},
|
|
5272
5272
|
// @ts-ignore
|
|
5273
5273
|
get gituri() {
|
|
5274
|
-
return GITURI_ && GITURI_.replace("${commitId}", "
|
|
5274
|
+
return GITURI_ && GITURI_.replace("${commitId}", "1d92544757525a67472147b6dd3aca525c1d2508");
|
|
5275
5275
|
},
|
|
5276
5276
|
// @ts-ignore
|
|
5277
5277
|
get info() {
|
|
@@ -5279,7 +5279,7 @@ try {
|
|
|
5279
5279
|
},
|
|
5280
5280
|
// @ts-ignore
|
|
5281
5281
|
get date() {
|
|
5282
|
-
return "2025-10-
|
|
5282
|
+
return "2025-10-17T09:37:17.000Z";
|
|
5283
5283
|
},
|
|
5284
5284
|
// @ts-ignore
|
|
5285
5285
|
get author() {
|
|
@@ -5287,7 +5287,7 @@ try {
|
|
|
5287
5287
|
},
|
|
5288
5288
|
// @ts-ignore
|
|
5289
5289
|
get version() {
|
|
5290
|
-
return "3.5.0-beta.
|
|
5290
|
+
return "3.5.0-beta.15";
|
|
5291
5291
|
},
|
|
5292
5292
|
// @ts-ignore
|
|
5293
5293
|
get name() {
|
|
@@ -5295,7 +5295,7 @@ try {
|
|
|
5295
5295
|
},
|
|
5296
5296
|
// @ts-ignore
|
|
5297
5297
|
get commitId() {
|
|
5298
|
-
return "
|
|
5298
|
+
return "1d92544757525a67472147b6dd3aca525c1d2508";
|
|
5299
5299
|
},
|
|
5300
5300
|
print(a = !1) {
|
|
5301
5301
|
!a && window._xe2_no_copy_print || console.info(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,function(p,o,R,Jn){"use strict";var Sr=Object.defineProperty;var Fr=(p,o,R)=>o in p?Sr(p,o,{enumerable:!0,configurable:!0,writable:!0,value:R}):p[o]=R;var f=(p,o,R)=>Fr(p,typeof o!="symbol"?o+"":o,R);const Kn={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:window.location.href??"",screenPercentage:-1,antiAliasingMethod:"default"},$i=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.reactArrayWithUndefined(void 0),keepWorldOriginNearCamera:void 0,useCache:void 0,widgetInteractionDistance:void 0,memReportInterval:void 0,sceneControlled:void 0,brightness:void 0,emissiveIntensity:void 0,statusUpdateInterval:void 0,baseUrl:void 0,screenPercentage:void 0,antiAliasingMethod:void 0});function dt(){const c=$i(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function pt(c){const{defaults:t}=M,e=dt(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const H=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},ft=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},W=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},_i=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},Q=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},bi=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},xi=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},Ni=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},zi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Gi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},wt=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},k=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},O=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},j=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Hi=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Ji=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},Ki=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Xi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},ee=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},yt=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},qi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},Zi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},Vi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},Yi=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},Qi=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},ki=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},Oi=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},ji=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},en=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});if(i.error){console.warn(`GetHeightsByLonLats:${i.error}`);return}i.re.heights.includes(null)&&console.warn("注意! GetHeightsByLonLats: 存在高度为null的点. there are points with a height of null");try{return i.re.heights}catch{return}},tn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},nn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},rn=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},on=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},sn=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},an=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},ln=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},dn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},un=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},vn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},gn=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),pn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),fn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),wn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),yn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),mn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},Cn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},En=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Sn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},Fn=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},In=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},Tn=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},Rn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Dn=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Ln=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},Pn=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},Bn=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},Un=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},An=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},Mn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},Wn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class te extends o.Destroyable{}const Xn={Response:1},ct={UIInteraction:50,MouseWheel:75};class qn extends o.HasOwner{constructor(e,i){super(e);f(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));f(this,"_inner");this._uri=i,this._inner=new WebSocket(this._uri),this.d(()=>{this._inner.close()}),this._innerInit()}get esUeViewer(){return this.owner}get uri(){return this._uri}get inner(){return this._inner}_innerInit(){this.inner.onmessage=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===Xn.Response){a+=4;let v=s[a/4];a+=4;for(let l=0;l<v;l++){let y=s[a/4];a+=4;let g=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(g)}}},i.readAsArrayBuffer(e.data)},this.inner.onopen=()=>{this.isDestroyed()||(console.warn("earthsdk message websocket server connected:",this.uri),console.log("%c[EarthSDK websocket open]","background: #a6ec99; color: black","open"),this.owner.dispatchEvent(new CustomEvent("esmsgwsopen",{detail:"websocket open"})))},this._inner.onclose=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket close ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket close"})))},this._inner.onerror=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=ct.UIInteraction&&r<=ct.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}window.g_emitDescriptor_maxBytes=3e4;let Zn=-1;R.Logger.SetLoggerVerbosity(1);class Vn extends o.Destroyable{constructor(e,i){super();f(this,"_eventTarget",new EventTarget);f(this,"debug",!1);f(this,"uiInteractionCallbacks",new Map);f(this,"_pixelStream");f(this,"_esMsgWsWrapper");this._domOrDomId=e,this._options=i;const n=typeof this._domOrDomId=="string"?document.getElementById(this._domOrDomId):this._domOrDomId;if(!n)throw new Error(`ESUEViewer container${this._domOrDomId} error!`);console.log(`PSUEViewer init _options ${this._options}`);const{url:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const v=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):v.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new R.Config({initialSettings:{AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,[R.TextParameters.SignallingServerUrl]:i}});return n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),new R.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new qn(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.inner.readyState)===1}_handerPixelStreamEvent(){this.pixelStream.addEventListener("videoInitialized",()=>{console.log("%c[EarthSDK webrtc videoInitialized]","background: #a6ec99; color: black","videoInitialized"),this.dispatchEvent(new CustomEvent("videoinited",{detail:"videoinited"}))}),this.pixelStream.addEventListener("webRtcFailed",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcFailed]","background: red; color: black","webRtcFailed"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcFailed"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcDisconnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcDisconnected]","background: red; color: black","webRtcDisconnected"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcDisconnected"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcConnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webrtc webRtcConnected]","background: #a6ec99; color: black","webRtcConnected"),this.dispatchEvent(new CustomEvent("webRtcConnected",{detail:"webRtcConnected"})))}),this.pixelStream.addResponseEventListener("esueviewer",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);if(i.ers=i.ers&&i.ers.filter(n=>n.et!=="mouseMoveEvent"),!(i.ers&&i.ers.length>0||i.frs&&i.frs.length>0))return;console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=window.g_emitDescriptor_maxBytes,s=n.length,a=++Zn;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-0/1-`+n);return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,g)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-${g}/${v}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class Yn extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new Vn(this._container,{url:this._wsuri,esmsgWsUri:this._esmsgWsUri})),this.instanceInit()}get webSocketReady(){return this._instance.esWebSocketReady}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class Qn extends te{constructor(e,i,n,r){super();f(this,"_esueViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));f(this,"_esmsgwsopen",this.dv(o.react(!1)));f(this,"_videoinited",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new Yn(e,i,n));const a=this._esueViewerWrapper;{const h=()=>a.debug=s.debug??!1;h(),this.d(s.debugChanged.don(h))}let v=!1;{const h=()=>{if(v)return;const u=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&u){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),v=!0}};this.d(this.videoinitedChanged.don(()=>{h()})),this.d(this.webRtcConnectedChanged.don(()=>{h()})),this.d(this.esmsgwsopenChanged.don(()=>{h()}))}this.d(a.event.don((h,u)=>{if(h==="error")this._errorEvent.emit(u);else if(h==="ueevent"){const w=JSON.parse(u);if(w.t==="cr"){const m=w;if(m.frs&&this._ueFuncResultWithIdsEvent.emit(m.frs),m.ers)for(let C of m.ers)this._ueEvent.emit(C)}}else h==="webRtcConnected"?this.webRtcConnected=!0:h==="videoinited"?this.videoinited=!0:h==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const h=this.dv(o.createAnimateFrame());let u,w;h.start(()=>{if(u!==e.offsetWidth||w!==e.offsetHeight){if(u=e.offsetWidth,w=e.offsetHeight,u===void 0||w===void 0||!Number.isFinite(u)||!Number.isFinite(w)||u<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${w}`);return}a.resize(u,w),console.log(`resize: ${u} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(h=>{for(const u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w.resultCallback(u.r))}}));let l=0;const y=h=>{const u={n:l++,tt:Date.now(),t:"c",fs:h};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},g=()=>{if(!v||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=window.g_emitDescriptor_maxBytes,w=h.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.createInterval()).start(g,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get esueViewerWrapper(){return this._esueViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}get esmsgwsopen(){return this._esmsgwsopen.value}set esmsgwsopen(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function kn(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const On=c=>{const t={type:"input",inputdata:kn(c)};return JSON.stringify(t)};function jn(c){return typeof c=="string"?document.getElementById(c):c}window.g_emitDescriptor_maxBytes=3e4,console.log("全局可设置消息体最大字节, window.g_emitDescriptor_maxBytes 默认 30000 。");let er=-1;R.Logger.SetLoggerVerbosity(1);class tr extends o.Destroyable{constructor(e,i){super();f(this,"debug",!1);f(this,"_error",this.dv(new o.Event));f(this,"_connected",this.dv(new o.Event));f(this,"_ueevent",this.dv(new o.Event));f(this,"_pixelStream");f(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new R.Config({initialSettings:{HoveringMouse:!0,AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,ss:this._option.ws},useUrlParams:!0});n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new R.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(On(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const v=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,v.x,v.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),this.d(()=>{this.pixelStream.removeResponseEventListener("handle_responses")})}get error(){return this._error}get connected(){return this._connected}get ueevent(){return this._ueevent}get container(){return jn(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=window.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++er;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,g)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${g}/${v}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class ir extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new tr(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class nr extends te{constructor(e,i,n,r){super();f(this,"_videoInitialized",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));f(this,"_webSocketOpen",this.dv(o.react(!1)));f(this,"_ue5ViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new ir(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const h=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(h.don(()=>{if(d)return;const u=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&u){this._ue5ViewerWrapper.instance.emitUIInteraction(),this._readyEvent.emit(),d=!0,console.log("%c[EarthSDK videoInitialized && webRtcConnected && webSocketReady]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};this._ue5ViewerWrapper.emitUIInteractionForBigData(w)}else console.warn("webSocketReady",u),d=!1}))}this.d(a.event.don((d,h)=>{if(d==="errorEvent")this._errorEvent.emit(h);else if(d==="videoInitialized")this._videoInitialized.value=!0;else if(d==="webRtcConnected")this._webRtcConnected.value=!0;else if(d==="webSocketOpen")this._webSocketOpen.value=!0;else if(d==="ueevent"){const u=JSON.parse(h);if(u.t==="cr"){const w=u;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let h,u,w;d.start(()=>{if(h!==e.offsetWidth||u!==e.offsetHeight||w!==s.resolutionScale){if(h=e.offsetWidth,u=e.offsetHeight,h===void 0||u===void 0||!Number.isFinite(h)||!Number.isFinite(u)||h<0||u<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${u}`);return}w=s.resolutionScale,a.resize(h/w,u/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const h of d){const u=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);u&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),u.resultCallback(h.r))}}));let v=0;const l=d=>{const h={n:v++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=window.g_emitDescriptor_maxBytes,w=h.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.createInterval()).start(y,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get videoInitialized(){return this._videoInitialized.value}get webRtcConnected(){return this._webRtcConnected.value}get webSocketOpen(){return this._webSocketOpen.value}get ue5ViewerWrapper(){return this._ue5ViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}resize(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class rr extends o.Destroyable{constructor(e,i,n,r){super();f(this,"_onRuntimeInitialized",this.dv(new o.Event));f(this,"_vIframe",null);this._ueViewer=r;const s=this._ueViewer;{const a=document.createElement("iframe");this._vIframe=a,a.style.cssText="width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const v=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=v,a.onload=()=>{const l=a.contentWindow;if(!l){console.error("iframeWindow is null");return}console.log("iwindow.Module",l.Module),l.Module.onRuntimeInitialized=()=>{this._onRuntimeInitialized.emit(),s.setStatus("Created"),s.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const $n=typeof TextDecoder<"u"?new TextDecoder:void 0,or=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&$n)return $n.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var v=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|v:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|v<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class sr extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const v=pt(e);e.setGlobalProperty(v)};n();const r=dt(),s=[];r.forEach(v=>{const l=e[v+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var v;return((v=o.ESSceneObject.getSceneObjById(a))==null?void 0:v.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let ar=-1;class lr extends te{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Map);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new rr(e,i,n,s));let v=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var h;if(v=!0,(h=a==null?void 0:a.vIframe)!=null&&h.contentWindow){l=a.vIframe.contentWindow;const u=a.vIframe.contentWindow.document.getElementById("mainarea");u?this.dv(new sr(u,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=u=>{try{const w=or(l.HEAPU8,u),m=JSON.parse(w);if(s.debug&&(console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(m,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()),m.t==="cr"){const C=m;if(C.frs&&this._ueFuncResultWithIdsEvent.emit(C.frs),C.ers)for(let I of C.ers)this._ueEvent.emit(I)}m.callid&&this._waitingUeCalls.has(m.callid)&&(this._waitingUeCalls.delete(m.callid),console.log(`waitingUeCalls.delete:${m.callid} end`))}catch(w){console.error("UE_JSHTML5Communication.UESendMessageToJS error:",w)}}:console.error("UE_JSHTML5Communication UESendMessageToJS not found")})),this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(h=>{for(const u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w(u.r))}}));let y=0;const g=()=>{if(!v||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([F])=>F),u={n:y++,tt:Date.now(),t:"c",fs:h,callid:o.createGuid()};for(const[F,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(F.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(u.callid,u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(u),m=window.g_emitDescriptor_maxBytes??3e4,C=w.length,I=++ar;if(C<m){const F=`${I}-0/1-`+w;l.UE_JSHTML5Communication.JSSendMessageToUE(F);return}const E=Math.ceil(C/m)|0;[...new Array(E).keys()].map(F=>w.slice(F*m,(F+1)*m)).forEach((F,B)=>{const Wi=`${I}-${B}/${E}-`+F;l.UE_JSHTML5Communication.JSSendMessageToUE(Wi)})};this.dv(o.createInterval()).start(g,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let dr=-1;class cr extends te{constructor(e,i){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};window.ue.es.oncommand(JSON.stringify(s)),r=!0,window.calljs=(y,g)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${g}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(g);if(d.t==="cr"){const h=d;if(h.frs&&this._ueFuncResultWithIdsEvent.emit(h.frs),h.ers)for(let u of h.ers)this._ueEvent.emit(u)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const g of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(g.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(g.fid),d(g.r))}}));let a=0;const v=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h),g={n:a++,tt:Date.now(),t:"c",fs:y};for(const[h,u]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,u);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(g),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(g,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++dr;window.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(g)).then(()=>{this._waitingUeCalls.delete(g)})};this.dv(o.createInterval()).start(v,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class ur extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=pt(t);t.setGlobalProperty(a)};i();const n=dt(),r=[];n.forEach(a=>{const v=t[a+"Changed"];r.push(v)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class hr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=pt(e);e.setGlobalProperty(l)};r();const s=dt(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const v=this.dv(o.createNextAnimateFrameEvent(...a));this.d(v.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.overflow="hidden",n.style.top="0",n.style.left="0",n.style.zIndex="0",n.style.backgroundColor="rgba(255,0,0,0)",n.setAttribute("masker","大屏顶层div,用于模拟鼠标事件和控制UE鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{window.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},v=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",v),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",v)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",v=>{e.statusUpdateEvent.emit(v)})),a})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(v=>{var l;return((l=o.ESSceneObject.getSceneObjById(v))==null?void 0:l.parentID)??v}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class vr extends o.Destroyable{constructor(e,i,n){super();f(this,"_reconnectEvent",this.dv(new o.Event));const r=(g,d)=>g.hasOwnProperty(d);let s=0,a;this.d(()=>{a&&clearTimeout(a)});const l=new URLSearchParams(window.location.search).get("eswebview")==="true",y=()=>{if(window.ue.esinput){n.setStatus("Creating"),console.log("存在(window.ue && window.ue.es && window.ue.esinput 需要适配新版ESWebView 鼠标穿透), 开始创建UeFalseCloudViewer..."),n.setStatusLog("开始创建本地视口...");const g=this.dv(new cr(e,n));this.d(()=>n.viewer=void 0),n.viewer=g,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new hr(e,n,g))}else n.setStatus("Error"),n.setStatusLog("请升级 ESWebView !"),this.d(()=>n.viewer=void 0),n.viewer=void 0};if(window.ue&&window.ue.es)y();else if(l){const g=setInterval(()=>{window.ue&&window.ue.es&&(clearInterval(g),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let g;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&g&&e.removeChild(g)&&(g=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,g&&e.removeChild(g)&&(g=void 0),g=document.createElement("div"),g.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),g.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(g);let u,w,m;if(r(i.options,"ws")){const{ws:T,esmsg:F,uselnternalSignallingServer:B}=i.options;u=T,w=F,m=B??!1}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:T,offsetHeight:F}=g;let{uri:B,app:Wi,token:Gn}=i.options;B.endsWith("/")||(B+="/");const fr=Gn?`?essstoken=${Gn}`:"",Hn=`/${Wi}/${T??1920}/${F??1080}`+fr;console.log(`请求信令服务器: ${B}instance${Hn}`);const wr=await h.promise(fetch(`${B}instance${Hn}`,{method:"GET"})),Y=await h.promise(wr.json());if(Y&&Y.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${Y.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(Y,void 0," ")}`),await o.sleep(2e3);const{server:yr,esmsg:mr,instanceId:Cr,useInternalSignallingServer:Er}=Y;if(!Cr){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}u=yr,w=mr,m=Er??!1,n.esssResponse=Y}}const C=this.dv(m?new nr(g,u,w,n):new Qn(g,u,w,n));this.d(()=>n.viewer=void 0),this.d(C.errorEvent.don(T=>{const F=`[${T}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(F),this._reconnectEvent.emit(C)})),await h.promise(new Promise(T=>this.d(C.readyEvent.donce(T)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:I,offsetHeight:E}=g;C.resize(I*window.devicePixelRatio,E*window.devicePixelRatio),n.viewer=C,this.d(()=>n.viewer=void 0),this.dv(new ur(n,C))}));d.start(),this.d(this._reconnectEvent.don(h=>{a===void 0&&(h&&!h.isDestroyed()&&h.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=window.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(h=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",h),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const g=i,d=g.options.project,h=g.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const u=this.dv(new lr(e,d,h,n));n.viewer=u,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const _=class _ extends o.ESViewer{constructor(e){super(e);f(this,"_viewer",this.dv(o.react(void 0)));f(this,"_esssResponse");f(this,"_speechRecognition",this.dv(new o.Event));f(this,"_propChanged",this.dv(new o.Event));f(this,"_objectEvent",this.dv(new o.Event));f(this,"_widgetEvent",this.dv(new o.Event));f(this,"_customMessage",this.dv(new o.Event));f(this,"_statusUpdateEvent",this.dv(new o.Event));f(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new vr(this.subContainer,i,this)}))}get defaultProps(){return _.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}get speechRecognition(){return this._speechRecognition}get propChanged(){return this._propChanged}get objectEvent(){return this._objectEvent}get widgetEvent(){return this._widgetEvent}get customMessage(){return this._customMessage}get statusUpdateEvent(){return this._statusUpdateEvent}async uePositionToLonLatAlt(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await on(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await wt(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await sn(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await ln(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await dn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await cn(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await un(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await hn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await vn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await bi(this.viewer,e)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await xi(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await Ni(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await zi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Gi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await Qi(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await gn(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await pn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await fn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await wn(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await yn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await mn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Cn(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await En(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Sn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Fn(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await In(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await Tn(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await Rn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Dn(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Ln(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await Pn(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await Bn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Wn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&window.ue&&this.container){const[s,a]=e,{x:v,y:l}=this.container.getBoundingClientRect();r=[v+s,l+a]}return await ki(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&window.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await Oi(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await Q(this.viewer,void 0,e,i,n,r);if(s)return s.endType===0&&console.warn(`flyTo:flyTo is end! endType:${s.endType}`),s.endType===1&&console.warn(`flyTo:飞行中断! endType:${s.endType}`),s}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await H(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:v}=s,l={distance:i??v,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const v={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,v);return l&&!l.error&&(this._navigationMode.value=v.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}getFPS(){return this._statusInfo.fps}async getVersion(){const e=window.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await an(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await ji(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await en(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await tn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await nn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await rn(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await Yi(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await Un(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await An(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await Mn(this.viewer,i,n)}};f(_,"type",_.register("ESUeViewer",_)),f(_,"defaults",{...Kn});let M=_;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...$i(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(M||(M={})),o.extendClassProps(M.prototype,M.createDefaultProps);class $ extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(h=>r[h]!==null);a.push(...this.constructor.forceUeUpdateProps);const v=t.constructor.defaults,l={val:{}},y=[];for(let h of a){const u=h+"Changed",w=t[u];y.push(w);const m=r[h];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const I=t[h]??v[h]??t.constructor[`default${h.charAt(0).toUpperCase()+h.slice(1)}`];let E=m?m(I,this,e,t):I;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${h} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[h]=E};C(),this.d(w.don(C))}const g=()=>{i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(g)),this.d(n.changed.don(g)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&ft(i,t.id)}),i.callUeFunc({f:"create",p:{type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}f($,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),f($,"forceUeUpdateProps",[]);class L extends ${constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{H(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;Q(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class S extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((v,l)=>{ee(i,t.id,v,l)})),this.d(t.smoothMoveWithRotationEvent.don((v,l,y)=>{k(i,t.id,v,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((v,l,y,g)=>{O(i,t.id,v,l,g,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((v,l,y,g,d)=>{j(i,t.id,v,l,y,g,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(v,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:v,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(v=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=v)})}));const s=async(v,l,y,g)=>{const{viewer:d}=v;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:g}});return h.error&&console.error("SmoothMoveRelatively:",h.error),h};this.d(t.smoothMoveRelativelyEvent.don((v,l)=>{s(e,t.id,v,l)}));const a=async(v,l,y,g,d)=>{const{viewer:h}=v;if(!h){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const u=await h.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:g,Time:d}});return u.error&&console.error("SmoothMoveRelativelyWithRotation:",u.error),u};this.d(t.smoothMoveRelativelyWithRotationEvent.don((v,l,y)=>{a(e,t.id,v,l,y)}))}}class D extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}f(D,"propValFuncs",{...L.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends S{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class mt extends S{constructor(t,e){super(t,e),e.viewer}}f(mt,"propValFuncs",{...S.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class ut extends mt{constructor(t,e){super(t,e),e.viewer}}const _n=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},ie=class ie extends o.EngineObject{constructor(e,i){super(e,i);f(this,"_styleColor",this.dv(o.react([])));f(this,"_styleVisable",this.dv(o.react([])));const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},v=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(v.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const g=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(g.don(d))}const y=async()=>{const{id:g}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(g);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:g}});if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset Destroy: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset Destroy: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(l.value===void 0){await h.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:u}=l.value;if(r!==u&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.bind3DTilesetByTag(e.id,u));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w.error}`);return}if(w.re.type!==0)if(w.re.type===1)console.warn(`UeES3DTileset Bind3DTilesetByTag: ${_n(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${_n(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:u}=l.value;if(u!==s&&await y(),s!==void 0||u===void 0)return;try{s=u;const w=await h.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await h.promise(a())})),d=async()=>{g.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{_i(n,e.id)})),this.d(e.flyToEvent.don(async(g,d)=>{if(!r&&!s)return;const h=await H(n,e.id,g);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),e.flyOverEvent.emit(d,u,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||W(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const g=await i.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;e.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(i.propChanged.don(g=>{!r&&!s||g.objId===e.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];e[d]=h})})),this.d(i.objectEvent.don(g=>{!r&&!s||g.id!==e.id||g.type!=="3DTilesetReady"||e.tilesetReady.emit(g.p)}));{const g=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},h=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},u=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m)=>{const C=[...this.styleColor,...m];this.styleColor=[...C],g(w,C)})),this.d(e.setFeatureVisableEvent.don((w,m)=>{const C=[...this.styleVisable,...m];this.styleVisable=[...C],d(w,C)})),this.d(e.resetFeatureStyleEvent.don(()=>{h(),this.styleColor=[],this.styleVisable=[]})),this.d(e.setFeatureStyleEvent.don(w=>{u(w)}))}{const g=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{g()}))}{const g=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&g()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};f(ie,"type",ie.register("ESUeViewer",o.ES3DTileset.type,ie));let ht=ie;const bn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},ne=class ne extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const g=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};g(),this.ad(t.urlChanged.don(g))}const v=async()=>{if(!n&&!r)return;let g=t.targetID??o.ESImageryLayer.defaults.targetID;if(g&&g!=""){const d=o.ESSceneObject.getSceneObject(g);g=d?(d.components.main??d).id:g}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:g,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(v));const y=async()=>{const{id:g}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(g);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:g,test:"UeESImageryLayer"}});if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer Destroy: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer Destroy promise: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(s.value===void 0){await h.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:u,componentTag:w}=s.value;if(n!==u&&await h.promise(y()),n!==void 0||u===void 0)return;try{n=u;const m=await h.promise(e.bindImageryByTag(t.id,u,w));if(!m)return;if(m.error!==""){console.warn(`ESImageryLayer BindImageryByTag: ${m.error}`);return}if(m.re.type!==0)if(m.re.type===1)console.warn(`ESImageryLayer BindImageryByTag: ${bn(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${bn(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(s.value.type==="CreatedUrl"){const{url:u}=s.value;if(u!==r&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await h.promise(v())})),d=async()=>{g.restart()};d(),this.d(s.changed.don(d))}{const g=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(g.don(d))}this.d(t.flyToEvent.don(async(g,d)=>{if(!n&&!r)return;const h=await H(i,t.id,g);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.flyInEvent.don(async(g,d)=>{var w,m;if(!n&&!r)return;const h=await Q(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,g??1);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const g=await e.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;t.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(g=>{!n&&!r||g.objId===t.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];t[d]=h})}))}};f(ne,"type",ne.register("ESUeViewer",o.ESImageryLayer.type,ne));let Ct=ne;const b=class b extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(b,"type",b.register("ESUeViewer",o.ESTerrainLayer.type,b)),f(b,"forceUeUpdateProps",[...L.forceUeUpdateProps,"url"]),f(b,"propValFuncs",{...L.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let Et=b;const re=class re extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(re,"type",re.register("ESUeViewer",o.ESAlarm.type,re));let St=re;const oe=class oe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(oe,"type",oe.register("ESUeViewer",o.ESApertureEffect.type,oe));let Ft=oe;const se=class se extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(se,"type",se.register("ESUeViewer",o.ESGeoPolygon.type,se));let P=se;const ae=class ae extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(ae,"type",ae.register("ESUeViewer",o.ESAreaMeasurement.type,ae));let It=ae;const le=class le extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(le,"type",le.register("ESUeViewer",o.ESBlastParticleSystem.type,le));let Tt=le;const J=class J extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(J,"type",J.register("ESUeViewer",o.ESBoxClipping.type,J)),f(J,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Rt=J;const de=class de extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:v,position:l,rotation:y}=t;Q(i,a,l,y,v??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{wt(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};f(de,"type",de.register("ESUeViewer",o.ESCameraView.type,de));let Dt=de;const ce=class ce extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ce,"type",ce.register("ESUeViewer",o.ESCameraVisibleRange.type,ce));let Lt=ce;const ue=class ue extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ue,"type",ue.register("ESUeViewer",o.ESCar.type,ue));let Pt=ue;const he=class he extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(he,"type",he.register("ESUeViewer",o.ESClassification.type,he));let Bt=he;const K=class K extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(K,"type",K.register("ESUeViewer",o.ESClippingPlane.type,K)),f(K,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Ut=K;const ve=class ve extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url??o.ESDataMesh.defaults.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(ve,"type",ve.register("ESUeViewer",o.ESDataMesh.type,ve));let At=ve;const ge=class ge extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ge,"type",ge.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,ge));let Mt=ge;const pe=class pe extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(pe,"type",pe.register("ESUeViewer",o.ESDirectionMeasurement.type,pe));let Wt=pe;const fe=class fe extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(fe,"type",fe.register("ESUeViewer",o.ESDistanceMeasurement.type,fe));let $t=fe;const we=class we extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(we,"type",we.register("ESUeViewer",o.ESLocalPolygon.type,we));let vt=we;const ye=class ye extends vt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ye,"type",ye.register("ESUeViewer",o.ESDynamicWater.type,ye));let _t=ye;const me=class me extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};f(me,"type",me.register("ESUeViewer",o.ESEntityCluster.type,me));let bt=me;const X=class X extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(X,"type",X.register("ESUeViewer",o.ESExcavate.type,X)),f(X,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let xt=X;const Ce=class Ce extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ce,"type",Ce.register("ESUeViewer",o.ESFireParticleSystem.type,Ce));let Nt=Ce;const Ee=class Ee extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(Ee,"type",Ee.register("ESUeViewer",o.ESForestTileset.type,Ee));let zt=Ee;const Se=class Se extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new Nn(t,e):new xn(t,e)))}};f(Se,"type",Se.register("ESUeViewer",o.ESGeoDiv.type,Se));let Gt=Se;class xn extends o.Destroyable{constructor(e,i){super();f(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,e.components.disposableAdd(r,!0),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{W(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:l,rotation:y}=v;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((v,l)=>{ee(n,r.id,v,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((v,l,y)=>{k(n,r.id,v,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((v,l,y,g)=>{O(n,r.id,v,l,g,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((v,l,y,g,d)=>{j(n,r.id,v,l,y,g,d)})),this.dispose(e.flyToEvent.disposableOn((v,l)=>{r.flyTo(v)})),this.dispose(e.flyInEvent.don(v=>{r.flyIn(v)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const v=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?v.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[g,d]=y;g===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[g,d]}}):v.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const v=()=>class extends o.Destroyable{constructor(d,h,u){if(super(),this._subContainer=d,!u)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{const E=e.show;s.value&&E?(w.show=!0,w.winPos=[...s.value]):(w.show=!1,w.winPos=[0,0])};C();const I=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed));this.dispose(I.disposableOn(C))}{const C=()=>{const[I,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=I,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,u))}},l=()=>{try{e.instanceClass?a.instanceClass=v():a.instanceClass=void 0}catch(g){console.error(g)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class Nn extends o.Destroyable{constructor(e,i){super();f(this,"_imageLabel");f(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;e.components.disposableAdd(r,!0);{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.ESGeoDiv.defaults.opacity,y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",!document.body.contains(y)){document.body.appendChild(y);let d=y?y.querySelectorAll("*[class]"):[];for(let h=0;h<d.length;h++){const u=d[h];var g=u.getBoundingClientRect();this._hasClassDivAndPos[u.className]=[u.offsetLeft,u.offsetTop,u.offsetLeft+g.width,u.offsetTop+g.height]}}Jn(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:1}).then(d=>{document.body.contains(y)&&document.body.removeChild(y),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const v=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(v.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:v}=s;if(a==="leftClick"&&v){const l=(v==null?void 0:v.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let g=0;g<y.length;g++){const d=y[g];let h=this._hasClassDivAndPos[d];v&&v.mouseRelativePos&&v.mouseRelativePos[0]>=h[0]&&v.mouseRelativePos[0]<=h[2]&&v.mouseRelativePos[1]>=h[1]&&v.mouseRelativePos[1]<=h[3]&&l.push(d)}v.classNames=l}e.widgetEvent.emit({type:a,add:v})})),this.d(e.calcFlyToParamEvent.don(()=>{W(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:v}=s;e.flyInParam={position:a,rotation:v,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{ee(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,v)=>{k(n,r.id,s,a,v)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,v,l)=>{O(n,r.id,s,a,l,v)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,v,l,y)=>{j(n,r.id,s,a,v,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const Fe=class Fe extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.flyToFeatureIndexEvent.don((n,r)=>{i.callUeFunc({f:"flyToFeatureIndex",p:{id:t.id,index:n,duration:r}})})),this.d(t.flyToFeatureEvent.don((n,r,s)=>{i.callUeFunc({f:"flyToFeature",p:{id:t.id,key:n,value:r,duration:s}})}))}};f(Fe,"type",Fe.register("ESUeViewer",o.ESGeoJson.type,Fe));let Ht=Fe;const Ie=class Ie extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ie,"type",Ie.register("ESUeViewer",o.ESGeoLineString.type,Ie));let gt=Ie;const Te=class Te extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Te,"type",Te.register("ESUeViewer",o.ESGeoRectangle.type,Te));let Jt=Te;const Re=class Re extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Re,"type",Re.register("ESUeViewer",o.ESGeoWater.type,Re));let Kt=Re;const x=class x extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{qi(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{Zi(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{Vi(i,t.id,n,r)}))}};f(x,"forceUeUpdateProps",[...S.forceUeUpdateProps,"url"]),f(x,"propValFuncs",{...S.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),f(x,"type",x.register("ESUeViewer",o.ESGltfModel.type,x));let Xt=x;const De=class De extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(De,"type",De.register("ESUeViewer",o.ESHeightMeasurement.type,De));let qt=De;const Le=class Le extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,v,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const g=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:v,Time:l}});return g.error&&console.error("AIMoveTo:",g.error),g};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:v}=s;if(!v){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await v.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};f(Le,"type",Le.register("ESUeViewer",o.ESHuman.type,Le));let Zt=Le;const N=class N extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};f(N,"type",N.register("ESUeViewer",o.ESImageLabel.type,N)),f(N,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),f(N,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let Vt=N;const Pe=class Pe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Pe,"type",Pe.register("ESUeViewer",o.ESLevelRuntimeModel.type,Pe));let Yt=Pe;const Be=class Be extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Be,"type",Be.register("ESUeViewer",o.ESLocalCircle.type,Be));let Qt=Be;const Ue=class Ue extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ue,"type",Ue.register("ESUeViewer",o.ESLocalPolygonZ.type,Ue));let kt=Ue;const Ae=class Ae extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ae,"type",Ae.register("ESUeViewer",o.ESLocalRectangle.type,Ae));let Ot=Ae;const Me=class Me extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Me,"type",Me.register("ESUeViewer",o.ESLocalSkyBox.type,Me));let jt=Me;const We=class We extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(We,"type",We.register("ESUeViewer",o.ESLocationMeasurement.type,We));let ei=We;const $e=class $e extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f($e,"type",$e.register("ESUeViewer",o.ESPipeFence.type,$e));let ti=$e;const _e=class _e extends gt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(_e,"type",_e.register("ESUeViewer",o.ESPipeline.type,_e));let ii=_e;const be=class be extends ht{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Hi(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const v=typeof n=="number"?n.toString():n;Ji(i,t.id,v,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Ki(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Xi(i,t.id,s)}))}};f(be,"type",be.register("ESUeViewer",o.ESPipeserTileset.type,be));let ni=be;const xe=class xe extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(xe,"type",xe.register("ESUeViewer",o.ESPit.type,xe));let ri=xe;const Ne=class Ne extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};f(Ne,"type",Ne.register("ESUeViewer",o.ESPoi2D.type,Ne));let oi=Ne;const ze=class ze extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ze,"type",ze.register("ESUeViewer",o.ESPoi3D.type,ze));let si=ze;const z=class z extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(z,"type",z.register("ESUeViewer",o.ESPoiTileset.type,z)),f(z,"forceUeUpdateProps",[...L.forceUeUpdateProps,"url"]),f(z,"propValFuncs",{...L.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let ai=z;const Ge=class Ge extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ge,"type",Ge.register("ESUeViewer",o.ESPolygonFence.type,Ge));let li=Ge;const q=class q extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(q,"type",q.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,q)),f(q,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let di=q;const He=class He extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(He,"type",He.register("ESUeViewer",o.ESPolygonWithHole.type,He));let ci=He;const Je=class Je extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let v=[255,255,255,1];if(a.startsWith("#")){if(a.length===4){let l=parseInt(a[1]+a[1],16),y=parseInt(a[2]+a[2],16),g=parseInt(a[3]+a[3],16);v=[l,y,g,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),g=parseInt(a.substring(5,7),16);v=[l,y,g,1]}}else if(a.startsWith("rgba")){let l=a.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]),h=parseFloat(l[4]);v=[y,g,d,h]}}else if(a.startsWith("rgb")){let l=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]);v=[y,g,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[v[0]/255,v[1]/255,v[2]/255,v[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const v=[];a.forEach(l=>{a.filter(g=>g.dataset==l.dataset).length==1?v.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):v.push({condition:[{field:"layer",op:"==",value:l.layer},{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),t.setFeatureStyle(v)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};f(Je,"type",Je.register("ESUeViewer",o.ESRtsTileset.type,Je));let ui=Je;const Ke=class Ke extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};f(Ke,"type",Ke.register("ESUeViewer",o.ESSeparateFoliage.type,Ke));let hi=Ke;const Xe=class Xe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Xe,"type",Xe.register("ESUeViewer",o.ESSubmergingAnalysis.type,Xe));let vi=Xe;const qe=class qe extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};f(qe,"type",qe.register("ESUeViewer",o.ESSunshineAnalysis.type,qe));let gi=qe;const Ze=class Ze extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};f(Ze,"type",Ze.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,Ze));let pi=Ze;const Ve=class Ve extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ve,"type",Ve.register("ESUeViewer",o.ESTextLabel.type,Ve));let fi=Ve;const Z=class Z extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await yt(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};f(Z,"type",Z.register("ESUeViewer",o.ESUEWidget.type,Z)),f(Z,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let wi=Z;const zn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},gr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Ye=class Ye extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{ft(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const v=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,h=await e.unBindActorByID(d);h&&h.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${h.error}`),s=void 0;const u=await i.callUeFunc({f:"destroy",p:{id:d}});if(u&&u.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${u.error}`);return}a=void 0},g=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),h=async()=>{t.actorTag!==""?g.value={type:"ActorTag",actorTag:t.actorTag}:g.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};h(),this.d(d.don(h)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(await u.promise(y()),t.lastActorStatus="null",g.value.type==="ActorTag"){const{actorTag:w}=g.value;try{const m=await u.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${zn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${zn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(g.value.type==="ActorClass"){const{actorClass:w}=g.value;try{const m=await u.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${gr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await u.promise(n()),await u.promise(v())})),h=async()=>{d.restart()};h(),this.d(g.changed.don(h))}this.d(t.positionChanged.don(v)),this.d(t.callFunctionEvent.don(async(d,h)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const u=await yt(i,t.id,d,h);t.__callFunctionResultEvent.emit(u)})),this.d(t.smoothMoveEvent.don((d,h)=>{l()||ee(i,t.id,d,h)})),this.d(t.smoothMoveWithRotationEvent.don((d,h,u)=>{l()||k(i,t.id,d,h,u)})),this.d(t.smoothMoveOnGroundEvent.don((d,h,u,w)=>{l()||O(i,t.id,d,h,w,u)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,h,u,w,m)=>{l()||j(i,t.id,d,h,u,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const h=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(u=>{u!==null&&(t.position=[...h,u],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,h)=>{if(l())return;const u=await H(i,t.id,d);let w="over";u===void 0?w="error":u.endType===0?w="over":u.endType===1&&(w="cancelled"),t.flyOverEvent.emit(h,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:h,rotation:u}=d;t.flyInParam={position:h,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(h=>{const u=d.props[h]===null?void 0:d.props[h];t[h]=u})}))}};f(Ye,"type",Ye.register("ESUeViewer",o.ESUnrealActor.type,Ye));let yi=Ye;const Qe=class Qe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Qe,"type",Qe.register("ESUeViewer",o.ESVideoFusion.type,Qe));let mi=Qe;const ke=class ke extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ke,"type",ke.register("ESUeViewer",o.ESViewShed.type,ke));let Ci=ke;const Oe=class Oe extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(Oe,"type",Oe.register("ESUeViewer",o.ESVisibilityAnalysis.type,Oe));let Ei=Oe;const je=class je extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(je,"type",je.register("ESUeViewer",o.ESVolumeMeasurement.type,je));let Si=je;const V=class V extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(V,"type",V.register("ESUeViewer",o.ESWidget.type,V)),f(V,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Fi=V;const et=class et extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};f(et,"type",et.register("ESUeViewer",o.ESHumanPoi.type,et));let Ii=et;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const tt=class tt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const h=await e.getCurrentCameraInfo(),u=h==null?void 0:h.position,m=[...h==null?void 0:h.rotation];m[0]=360,e.flyIn(u,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.cssPositionChanged.disposableOn(d))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const y=document.createElement("div");l.appendChild(y),this.dispose(()=>l.removeChild(y)),y.style.width="100%",y.style.height="100%",y.style.position="relative";const g=document.createElement("img");y.appendChild(g),this.dispose(()=>y.removeChild(g)),g.style.width="100%",g.style.height="100%",g.style.border="none";{const d=()=>g.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];g.style.transform=`rotate(${m}deg)`};let h;const u=async()=>{d(),t.show?(l.style.display="block",h=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(h))};this.dispose(t.showChanged.disposableOn(u)),u(),this.dispose(()=>clearInterval(h))}g.style.transformOrigin="50% 50%"}}}};f(tt,"type",tt.register("ESUeViewer",o.ESNavigator.type,tt));let Ti=tt;const G=class G extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};f(G,"type",G.register("ESUeViewer",o.ESPath.type,G)),f(G,"forceUeUpdateProps",[...D.forceUeUpdateProps]),f(G,"propValFuncs",{...D.propValFuncs});let Ri=G;async function pr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const it=class it extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){if(super(),this._subContainer=s,!v||!(v instanceof M))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${o.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${o.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const y=document.createElement("span");l.appendChild(y),this.dispose(()=>l.removeChild(y));const g=document.createElement("span");y.appendChild(g),this.dispose(()=>y.removeChild(g));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let u=d.innerHTML;u.startsWith("鼠标位置")&&(u=u.slice(5)),pr(u)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const h=document.createElement("span");l.appendChild(h),this.dispose(()=>l.removeChild(h));{const u=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(u)),u()}{const u=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(u)),u()}{const u=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(u)),u()}v.getVersion().then(u=>{u&&(h.innerText=`Ue 版本 : ${u[0]} `)}).catch(u=>{console.log(u)});{const u=()=>{let C="",I="";C+=`帧率:${v.getFPS().toFixed(0)}FPS`,g.innerText=C;const E=e.getCurrentCameraInfo();C+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,g.innerText=C,e.pick().then(T=>{if(T){const{pickResult:F}=T;if(F&&F.position){const{position:B}=F;I+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else I+="暂时无法获取鼠标位置...";d.innerText=I}}).catch(T=>{console.log(T)})};let w;const m=async()=>{u(),t.show?(l.style.display="flex",w=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};f(it,"type",it.register("ESUeViewer",o.ESViewerStatusBar.type,it));let Di=it;const nt=class nt extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(nt,"type",nt.register("ESUeViewer",o.ESGaussianSplatting.type,nt));let Li=nt;const rt=class rt extends ${constructor(e,i){super(e,i);f(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};f(rt,"type",rt.register("ESUeViewer",o.ESRtsFeatureEditing.type,rt));let Pi=rt;const ot=class ot extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ot,"type",ot.register("ESUeViewer",o.ESMsTileset.type,ot));let Bi=ot;const st=class st extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};f(st,"type",st.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,st));let Ui=st;const at=class at extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(at,"type",at.register("ESUeViewer",o.ESStaticMesh.type,at));let Ai=at;const lt=class lt extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(lt,"type",lt.register("ESUeViewer",o.ESSkylineAnalysis.type,lt));let Mi=lt;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.5.0-beta.13",e="2025-10-15T08:26:43.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="d85e1020200203ea0aca1c05ac3f93f1f4e4574e",a=((Date.now()-1760516803e3)/36e5).toFixed(1),v=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
|
|
1
|
+
(function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,function(p,o,R,Jn){"use strict";var Sr=Object.defineProperty;var Fr=(p,o,R)=>o in p?Sr(p,o,{enumerable:!0,configurable:!0,writable:!0,value:R}):p[o]=R;var f=(p,o,R)=>Fr(p,typeof o!="symbol"?o+"":o,R);const Kn={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:window.location.href??"",screenPercentage:-1,antiAliasingMethod:"default"},$i=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.reactArrayWithUndefined(void 0),keepWorldOriginNearCamera:void 0,useCache:void 0,widgetInteractionDistance:void 0,memReportInterval:void 0,sceneControlled:void 0,brightness:void 0,emissiveIntensity:void 0,statusUpdateInterval:void 0,baseUrl:void 0,screenPercentage:void 0,antiAliasingMethod:void 0});function dt(){const c=$i(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function pt(c){const{defaults:t}=M,e=dt(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const H=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},ft=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},W=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},_i=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},Q=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},bi=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},xi=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},Ni=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},zi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Gi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},wt=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},k=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},O=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},j=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Hi=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Ji=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},Ki=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Xi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},ee=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},yt=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},qi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},Zi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},Vi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},Yi=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},Qi=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},ki=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},Oi=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},ji=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},en=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});if(i.error){console.warn(`GetHeightsByLonLats:${i.error}`);return}i.re.heights.includes(null)&&console.warn("注意! GetHeightsByLonLats: 存在高度为null的点. there are points with a height of null");try{return i.re.heights}catch{return}},tn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},nn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},rn=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},on=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},sn=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},an=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},ln=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},dn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},un=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},vn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},gn=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),pn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),fn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),wn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),yn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),mn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},Cn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},En=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Sn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},Fn=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},In=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},Tn=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},Rn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Dn=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Ln=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},Pn=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},Bn=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},Un=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},An=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},Mn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},Wn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class te extends o.Destroyable{}const Xn={Response:1},ct={UIInteraction:50,MouseWheel:75};class qn extends o.HasOwner{constructor(e,i){super(e);f(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));f(this,"_inner");this._uri=i,this._inner=new WebSocket(this._uri),this.d(()=>{this._inner.close()}),this._innerInit()}get esUeViewer(){return this.owner}get uri(){return this._uri}get inner(){return this._inner}_innerInit(){this.inner.onmessage=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===Xn.Response){a+=4;let v=s[a/4];a+=4;for(let l=0;l<v;l++){let y=s[a/4];a+=4;let g=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(g)}}},i.readAsArrayBuffer(e.data)},this.inner.onopen=()=>{this.isDestroyed()||(console.warn("earthsdk message websocket server connected:",this.uri),console.log("%c[EarthSDK websocket open]","background: #a6ec99; color: black","open"),this.owner.dispatchEvent(new CustomEvent("esmsgwsopen",{detail:"websocket open"})))},this._inner.onclose=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket close ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket close"})))},this._inner.onerror=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=ct.UIInteraction&&r<=ct.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}window.g_emitDescriptor_maxBytes=3e4;let Zn=-1;R.Logger.SetLoggerVerbosity(1);class Vn extends o.Destroyable{constructor(e,i){super();f(this,"_eventTarget",new EventTarget);f(this,"debug",!1);f(this,"uiInteractionCallbacks",new Map);f(this,"_pixelStream");f(this,"_esMsgWsWrapper");this._domOrDomId=e,this._options=i;const n=typeof this._domOrDomId=="string"?document.getElementById(this._domOrDomId):this._domOrDomId;if(!n)throw new Error(`ESUEViewer container${this._domOrDomId} error!`);console.log(`PSUEViewer init _options ${this._options}`);const{url:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const v=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):v.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new R.Config({initialSettings:{AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,[R.TextParameters.SignallingServerUrl]:i}});return n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),new R.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new qn(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.inner.readyState)===1}_handerPixelStreamEvent(){this.pixelStream.addEventListener("videoInitialized",()=>{console.log("%c[EarthSDK webrtc videoInitialized]","background: #a6ec99; color: black","videoInitialized"),this.dispatchEvent(new CustomEvent("videoinited",{detail:"videoinited"}))}),this.pixelStream.addEventListener("webRtcFailed",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcFailed]","background: red; color: black","webRtcFailed"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcFailed"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcDisconnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcDisconnected]","background: red; color: black","webRtcDisconnected"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcDisconnected"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcConnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webrtc webRtcConnected]","background: #a6ec99; color: black","webRtcConnected"),this.dispatchEvent(new CustomEvent("webRtcConnected",{detail:"webRtcConnected"})))}),this.pixelStream.addResponseEventListener("esueviewer",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);if(i.ers=i.ers&&i.ers.filter(n=>n.et!=="mouseMoveEvent"),!(i.ers&&i.ers.length>0||i.frs&&i.frs.length>0))return;console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=window.g_emitDescriptor_maxBytes,s=n.length,a=++Zn;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-0/1-`+n);return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,g)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-${g}/${v}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class Yn extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new Vn(this._container,{url:this._wsuri,esmsgWsUri:this._esmsgWsUri})),this.instanceInit()}get webSocketReady(){return this._instance.esWebSocketReady}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class Qn extends te{constructor(e,i,n,r){super();f(this,"_esueViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));f(this,"_esmsgwsopen",this.dv(o.react(!1)));f(this,"_videoinited",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new Yn(e,i,n));const a=this._esueViewerWrapper;{const h=()=>a.debug=s.debug??!1;h(),this.d(s.debugChanged.don(h))}let v=!1;{const h=()=>{if(v)return;const u=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&u){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),v=!0}};this.d(this.videoinitedChanged.don(()=>{h()})),this.d(this.webRtcConnectedChanged.don(()=>{h()})),this.d(this.esmsgwsopenChanged.don(()=>{h()}))}this.d(a.event.don((h,u)=>{if(h==="error")this._errorEvent.emit(u);else if(h==="ueevent"){const w=JSON.parse(u);if(w.t==="cr"){const m=w;if(m.frs&&this._ueFuncResultWithIdsEvent.emit(m.frs),m.ers)for(let C of m.ers)this._ueEvent.emit(C)}}else h==="webRtcConnected"?this.webRtcConnected=!0:h==="videoinited"?this.videoinited=!0:h==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const h=this.dv(o.createAnimateFrame());let u,w;h.start(()=>{if(u!==e.offsetWidth||w!==e.offsetHeight){if(u=e.offsetWidth,w=e.offsetHeight,u===void 0||w===void 0||!Number.isFinite(u)||!Number.isFinite(w)||u<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${w}`);return}a.resize(u,w),console.log(`resize: ${u} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(h=>{for(const u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w.resultCallback(u.r))}}));let l=0;const y=h=>{const u={n:l++,tt:Date.now(),t:"c",fs:h};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},g=()=>{if(!v||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=window.g_emitDescriptor_maxBytes,w=h.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.createInterval()).start(g,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get esueViewerWrapper(){return this._esueViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}get esmsgwsopen(){return this._esmsgwsopen.value}set esmsgwsopen(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function kn(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const On=c=>{const t={type:"input",inputdata:kn(c)};return JSON.stringify(t)};function jn(c){return typeof c=="string"?document.getElementById(c):c}window.g_emitDescriptor_maxBytes=3e4,console.log("全局可设置消息体最大字节, window.g_emitDescriptor_maxBytes 默认 30000 。");let er=-1;R.Logger.SetLoggerVerbosity(1);class tr extends o.Destroyable{constructor(e,i){super();f(this,"debug",!1);f(this,"_error",this.dv(new o.Event));f(this,"_connected",this.dv(new o.Event));f(this,"_ueevent",this.dv(new o.Event));f(this,"_pixelStream");f(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new R.Config({initialSettings:{HoveringMouse:!0,AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,ss:this._option.ws},useUrlParams:!0});n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new R.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(On(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const v=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,v.x,v.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),this.d(()=>{this.pixelStream.removeResponseEventListener("handle_responses")})}get error(){return this._error}get connected(){return this._connected}get ueevent(){return this._ueevent}get container(){return jn(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=window.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++er;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const v=Math.ceil(s/r)|0;[...new Array(v).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,g)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${g}/${v}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class ir extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new tr(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class nr extends te{constructor(e,i,n,r){super();f(this,"_videoInitialized",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));f(this,"_webSocketOpen",this.dv(o.react(!1)));f(this,"_ue5ViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new ir(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const h=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(h.don(()=>{if(d)return;const u=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&u){this._ue5ViewerWrapper.instance.emitUIInteraction(),this._readyEvent.emit(),d=!0,console.log("%c[EarthSDK videoInitialized && webRtcConnected && webSocketReady]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};this._ue5ViewerWrapper.emitUIInteractionForBigData(w)}else console.warn("webSocketReady",u),d=!1}))}this.d(a.event.don((d,h)=>{if(d==="errorEvent")this._errorEvent.emit(h);else if(d==="videoInitialized")this._videoInitialized.value=!0;else if(d==="webRtcConnected")this._webRtcConnected.value=!0;else if(d==="webSocketOpen")this._webSocketOpen.value=!0;else if(d==="ueevent"){const u=JSON.parse(h);if(u.t==="cr"){const w=u;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let h,u,w;d.start(()=>{if(h!==e.offsetWidth||u!==e.offsetHeight||w!==s.resolutionScale){if(h=e.offsetWidth,u=e.offsetHeight,h===void 0||u===void 0||!Number.isFinite(h)||!Number.isFinite(u)||h<0||u<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${u}`);return}w=s.resolutionScale,a.resize(h/w,u/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const h of d){const u=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);u&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),u.resultCallback(h.r))}}));let v=0;const l=d=>{const h={n:v++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(h),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=window.g_emitDescriptor_maxBytes,w=h.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.createInterval()).start(y,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get videoInitialized(){return this._videoInitialized.value}get webRtcConnected(){return this._webRtcConnected.value}get webSocketOpen(){return this._webSocketOpen.value}get ue5ViewerWrapper(){return this._ue5ViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}resize(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class rr extends o.Destroyable{constructor(e,i,n,r){super();f(this,"_onRuntimeInitialized",this.dv(new o.Event));f(this,"_vIframe",null);this._ueViewer=r;const s=this._ueViewer;{const a=document.createElement("iframe");this._vIframe=a,a.style.cssText="width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const v=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=v,a.onload=()=>{const l=a.contentWindow;if(!l){console.error("iframeWindow is null");return}console.log("iwindow.Module",l.Module),l.Module.onRuntimeInitialized=()=>{this._onRuntimeInitialized.emit(),s.setStatus("Created"),s.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const $n=typeof TextDecoder<"u"?new TextDecoder:void 0,or=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&$n)return $n.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var v=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|v:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|v<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class sr extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const v=pt(e);e.setGlobalProperty(v)};n();const r=dt(),s=[];r.forEach(v=>{const l=e[v+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var v;return((v=o.ESSceneObject.getSceneObjById(a))==null?void 0:v.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let ar=-1;class lr extends te{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Map);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new rr(e,i,n,s));let v=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var h;if(v=!0,(h=a==null?void 0:a.vIframe)!=null&&h.contentWindow){l=a.vIframe.contentWindow;const u=a.vIframe.contentWindow.document.getElementById("mainarea");u?this.dv(new sr(u,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=u=>{try{const w=or(l.HEAPU8,u),m=JSON.parse(w);if(s.debug&&(console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(m,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()),m.t==="cr"){const C=m;if(C.frs&&this._ueFuncResultWithIdsEvent.emit(C.frs),C.ers)for(let I of C.ers)this._ueEvent.emit(I)}m.callid&&this._waitingUeCalls.has(m.callid)&&(this._waitingUeCalls.delete(m.callid),console.log(`waitingUeCalls.delete:${m.callid} end`))}catch(w){console.error("UE_JSHTML5Communication.UESendMessageToJS error:",w)}}:console.error("UE_JSHTML5Communication UESendMessageToJS not found")})),this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(h=>{for(const u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w(u.r))}}));let y=0;const g=()=>{if(!v||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([F])=>F),u={n:y++,tt:Date.now(),t:"c",fs:h,callid:o.createGuid()};for(const[F,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(F.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(u.callid,u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(u),m=window.g_emitDescriptor_maxBytes??3e4,C=w.length,I=++ar;if(C<m){const F=`${I}-0/1-`+w;l.UE_JSHTML5Communication.JSSendMessageToUE(F);return}const E=Math.ceil(C/m)|0;[...new Array(E).keys()].map(F=>w.slice(F*m,(F+1)*m)).forEach((F,B)=>{const Wi=`${I}-${B}/${E}-`+F;l.UE_JSHTML5Communication.JSSendMessageToUE(Wi)})};this.dv(o.createInterval()).start(g,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let dr=-1;class cr extends te{constructor(e,i){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};window.ue.es.oncommand(JSON.stringify(s)),r=!0,window.calljs=(y,g)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${g}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(g);if(d.t==="cr"){const h=d;if(h.frs&&this._ueFuncResultWithIdsEvent.emit(h.frs),h.ers)for(let u of h.ers)this._ueEvent.emit(u)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const g of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(g.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(g.fid),d(g.r))}}));let a=0;const v=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h),g={n:a++,tt:Date.now(),t:"c",fs:y};for(const[h,u]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,u);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(g),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(g,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++dr;window.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(g)).then(()=>{this._waitingUeCalls.delete(g)})};this.dv(o.createInterval()).start(v,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class ur extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=pt(t);t.setGlobalProperty(a)};i();const n=dt(),r=[];n.forEach(a=>{const v=t[a+"Changed"];r.push(v)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class hr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=pt(e);e.setGlobalProperty(l)};r();const s=dt(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const v=this.dv(o.createNextAnimateFrameEvent(...a));this.d(v.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.overflow="hidden",n.style.top="0",n.style.left="0",n.style.zIndex="0",n.style.backgroundColor="rgba(255,0,0,0)",n.setAttribute("masker","大屏顶层div,用于模拟鼠标事件和控制UE鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{window.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},v=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",v),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",v)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",v=>{e.statusUpdateEvent.emit(v)})),a})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(v=>{var l;return((l=o.ESSceneObject.getSceneObjById(v))==null?void 0:l.parentID)??v}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class vr extends o.Destroyable{constructor(e,i,n){super();f(this,"_reconnectEvent",this.dv(new o.Event));const r=(g,d)=>g.hasOwnProperty(d);let s=0,a;this.d(()=>{a&&clearTimeout(a)});const l=new URLSearchParams(window.location.search).get("eswebview")==="true",y=()=>{if(window.ue.esinput){n.setStatus("Creating"),console.log("存在(window.ue && window.ue.es && window.ue.esinput 需要适配新版ESWebView 鼠标穿透), 开始创建UeFalseCloudViewer..."),n.setStatusLog("开始创建本地视口...");const g=this.dv(new cr(e,n));this.d(()=>n.viewer=void 0),n.viewer=g,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new hr(e,n,g))}else n.setStatus("Error"),n.setStatusLog("请升级 ESWebView !"),this.d(()=>n.viewer=void 0),n.viewer=void 0};if(window.ue&&window.ue.es)y();else if(l){const g=setInterval(()=>{window.ue&&window.ue.es&&(clearInterval(g),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let g;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&g&&e.removeChild(g)&&(g=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,g&&e.removeChild(g)&&(g=void 0),g=document.createElement("div"),g.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),g.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(g);let u,w,m;if(r(i.options,"ws")){const{ws:T,esmsg:F,uselnternalSignallingServer:B}=i.options;u=T,w=F,m=B??!1}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:T,offsetHeight:F}=g;let{uri:B,app:Wi,token:Gn}=i.options;B.endsWith("/")||(B+="/");const fr=Gn?`?essstoken=${Gn}`:"",Hn=`/${Wi}/${T??1920}/${F??1080}`+fr;console.log(`请求信令服务器: ${B}instance${Hn}`);const wr=await h.promise(fetch(`${B}instance${Hn}`,{method:"GET"})),Y=await h.promise(wr.json());if(Y&&Y.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${Y.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(Y,void 0," ")}`),await o.sleep(2e3);const{server:yr,esmsg:mr,instanceId:Cr,useInternalSignallingServer:Er}=Y;if(!Cr){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}u=yr,w=mr,m=Er??!1,n.esssResponse=Y}}const C=this.dv(m?new nr(g,u,w,n):new Qn(g,u,w,n));this.d(()=>n.viewer=void 0),this.d(C.errorEvent.don(T=>{const F=`[${T}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(F),this._reconnectEvent.emit(C)})),await h.promise(new Promise(T=>this.d(C.readyEvent.donce(T)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:I,offsetHeight:E}=g;C.resize(I*window.devicePixelRatio,E*window.devicePixelRatio),n.viewer=C,this.d(()=>n.viewer=void 0),this.dv(new ur(n,C))}));d.start(),this.d(this._reconnectEvent.don(h=>{a===void 0&&(h&&!h.isDestroyed()&&h.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=window.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(h=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",h),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const g=i,d=g.options.project,h=g.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const u=this.dv(new lr(e,d,h,n));n.viewer=u,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const _=class _ extends o.ESViewer{constructor(e){super(e);f(this,"_viewer",this.dv(o.react(void 0)));f(this,"_esssResponse");f(this,"_speechRecognition",this.dv(new o.Event));f(this,"_propChanged",this.dv(new o.Event));f(this,"_objectEvent",this.dv(new o.Event));f(this,"_widgetEvent",this.dv(new o.Event));f(this,"_customMessage",this.dv(new o.Event));f(this,"_statusUpdateEvent",this.dv(new o.Event));f(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new vr(this.subContainer,i,this)}))}get defaultProps(){return _.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}get speechRecognition(){return this._speechRecognition}get propChanged(){return this._propChanged}get objectEvent(){return this._objectEvent}get widgetEvent(){return this._widgetEvent}get customMessage(){return this._customMessage}get statusUpdateEvent(){return this._statusUpdateEvent}async uePositionToLonLatAlt(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await on(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await wt(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await sn(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await ln(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await dn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await cn(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await un(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await hn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await vn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await bi(this.viewer,e)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await xi(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await Ni(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await zi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Gi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await Qi(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await gn(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await pn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await fn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await wn(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await yn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await mn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Cn(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await En(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Sn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Fn(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await In(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await Tn(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await Rn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Dn(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Ln(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await Pn(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await Bn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Wn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&window.ue&&this.container){const[s,a]=e,{x:v,y:l}=this.container.getBoundingClientRect();r=[v+s,l+a]}return await ki(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&window.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await Oi(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await Q(this.viewer,void 0,e,i,n,r);if(s)return s.endType===0&&console.warn(`flyTo:flyTo is end! endType:${s.endType}`),s.endType===1&&console.warn(`flyTo:飞行中断! endType:${s.endType}`),s}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await H(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:v}=s,l={distance:i??v,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const v={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,v);return l&&!l.error&&(this._navigationMode.value=v.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},v=await A(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}getFPS(){return this._statusInfo.fps}async getVersion(){const e=window.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await an(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await ji(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await en(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await tn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await nn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await rn(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await Yi(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await Un(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await An(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await Mn(this.viewer,i,n)}};f(_,"type",_.register("ESUeViewer",_)),f(_,"defaults",{...Kn});let M=_;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...$i(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(M||(M={})),o.extendClassProps(M.prototype,M.createDefaultProps);class $ extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(h=>r[h]!==null);a.push(...this.constructor.forceUeUpdateProps);const v=t.constructor.defaults,l={val:{}},y=[];for(let h of a){const u=h+"Changed",w=t[u];y.push(w);const m=r[h];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const I=t[h]??v[h]??t.constructor[`default${h.charAt(0).toUpperCase()+h.slice(1)}`];let E=m?m(I,this,e,t):I;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${h} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[h]=E};C(),this.d(w.don(C))}const g=()=>{i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(g)),this.d(n.changed.don(g)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&ft(i,t.id)}),i.callUeFunc({f:"create",p:{type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}f($,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),f($,"forceUeUpdateProps",[]);class L extends ${constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{H(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;Q(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class S extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((v,l)=>{ee(i,t.id,v,l)})),this.d(t.smoothMoveWithRotationEvent.don((v,l,y)=>{k(i,t.id,v,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((v,l,y,g)=>{O(i,t.id,v,l,g,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((v,l,y,g,d)=>{j(i,t.id,v,l,y,g,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(v,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:v,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(v=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=v)})}));const s=async(v,l,y,g)=>{const{viewer:d}=v;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:g}});return h.error&&console.error("SmoothMoveRelatively:",h.error),h};this.d(t.smoothMoveRelativelyEvent.don((v,l)=>{s(e,t.id,v,l)}));const a=async(v,l,y,g,d)=>{const{viewer:h}=v;if(!h){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const u=await h.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:g,Time:d}});return u.error&&console.error("SmoothMoveRelativelyWithRotation:",u.error),u};this.d(t.smoothMoveRelativelyWithRotationEvent.don((v,l,y)=>{a(e,t.id,v,l,y)}))}}class D extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}f(D,"propValFuncs",{...L.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends S{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class mt extends S{constructor(t,e){super(t,e),e.viewer}}f(mt,"propValFuncs",{...S.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class ut extends mt{constructor(t,e){super(t,e),e.viewer}}const _n=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},ie=class ie extends o.EngineObject{constructor(e,i){super(e,i);f(this,"_styleColor",this.dv(o.react([])));f(this,"_styleVisable",this.dv(o.react([])));const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},v=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(v.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const g=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(g.don(d))}const y=async()=>{const{id:g}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(g);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:g}});if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset Destroy: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset Destroy: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(l.value===void 0){await h.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:u}=l.value;if(r!==u&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.bind3DTilesetByTag(e.id,u));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w.error}`);return}if(w.re.type!==0)if(w.re.type===1)console.warn(`UeES3DTileset Bind3DTilesetByTag: ${_n(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${_n(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:u}=l.value;if(u!==s&&await y(),s!==void 0||u===void 0)return;try{s=u;const w=await h.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await h.promise(a())})),d=async()=>{g.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{_i(n,e.id)})),this.d(e.flyToEvent.don(async(g,d)=>{if(!r&&!s)return;const h=await H(n,e.id,g);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),e.flyOverEvent.emit(d,u,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||W(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const g=await i.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;e.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(i.propChanged.don(g=>{!r&&!s||g.objId===e.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];e[d]=h})})),this.d(i.objectEvent.don(g=>{!r&&!s||g.id!==e.id||g.type!=="3DTilesetReady"||e.tilesetReady.emit(g.p)}));{const g=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},h=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},u=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m)=>{const C=[...this.styleColor,...m];this.styleColor=[...C],g(w,C)})),this.d(e.setFeatureVisableEvent.don((w,m)=>{const C=[...this.styleVisable,...m];this.styleVisable=[...C],d(w,C)})),this.d(e.resetFeatureStyleEvent.don(()=>{h(),this.styleColor=[],this.styleVisable=[]})),this.d(e.setFeatureStyleEvent.don(w=>{u(w)}))}{const g=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{g()}))}{const g=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&g()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};f(ie,"type",ie.register("ESUeViewer",o.ES3DTileset.type,ie));let ht=ie;const bn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},ne=class ne extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const g=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};g(),this.ad(t.urlChanged.don(g))}const v=async()=>{if(!n&&!r)return;let g=t.targetID??o.ESImageryLayer.defaults.targetID;if(g&&g!=""){const d=o.ESSceneObject.getSceneObject(g);g=d?(d.components.main??d).id:g}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:g,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(v));const y=async()=>{const{id:g}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(g);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:g,test:"UeESImageryLayer"}});if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer Destroy: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer Destroy promise: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(s.value===void 0){await h.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:u,componentTag:w}=s.value;if(n!==u&&await h.promise(y()),n!==void 0||u===void 0)return;try{n=u;const m=await h.promise(e.bindImageryByTag(t.id,u,w));if(!m)return;if(m.error!==""){console.warn(`ESImageryLayer BindImageryByTag: ${m.error}`);return}if(m.re.type!==0)if(m.re.type===1)console.warn(`ESImageryLayer BindImageryByTag: ${bn(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${bn(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(s.value.type==="CreatedUrl"){const{url:u}=s.value;if(u!==r&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await h.promise(v())})),d=async()=>{g.restart()};d(),this.d(s.changed.don(d))}{const g=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(g.don(d))}this.d(t.flyToEvent.don(async(g,d)=>{if(!n&&!r)return;const h=await H(i,t.id,g);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.flyInEvent.don(async(g,d)=>{var w,m;if(!n&&!r)return;const h=await Q(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,g??1);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const g=await e.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;t.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(g=>{!n&&!r||g.objId===t.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];t[d]=h})}))}};f(ne,"type",ne.register("ESUeViewer",o.ESImageryLayer.type,ne));let Ct=ne;const b=class b extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(b,"type",b.register("ESUeViewer",o.ESTerrainLayer.type,b)),f(b,"forceUeUpdateProps",[...L.forceUeUpdateProps,"url"]),f(b,"propValFuncs",{...L.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let Et=b;const re=class re extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(re,"type",re.register("ESUeViewer",o.ESAlarm.type,re));let St=re;const oe=class oe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(oe,"type",oe.register("ESUeViewer",o.ESApertureEffect.type,oe));let Ft=oe;const se=class se extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(se,"type",se.register("ESUeViewer",o.ESGeoPolygon.type,se));let P=se;const ae=class ae extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(ae,"type",ae.register("ESUeViewer",o.ESAreaMeasurement.type,ae));let It=ae;const le=class le extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(le,"type",le.register("ESUeViewer",o.ESBlastParticleSystem.type,le));let Tt=le;const J=class J extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(J,"type",J.register("ESUeViewer",o.ESBoxClipping.type,J)),f(J,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Rt=J;const de=class de extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:v,position:l,rotation:y}=t;Q(i,a,l,y,v??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{wt(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};f(de,"type",de.register("ESUeViewer",o.ESCameraView.type,de));let Dt=de;const ce=class ce extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ce,"type",ce.register("ESUeViewer",o.ESCameraVisibleRange.type,ce));let Lt=ce;const ue=class ue extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ue,"type",ue.register("ESUeViewer",o.ESCar.type,ue));let Pt=ue;const he=class he extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(he,"type",he.register("ESUeViewer",o.ESClassification.type,he));let Bt=he;const K=class K extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(K,"type",K.register("ESUeViewer",o.ESClippingPlane.type,K)),f(K,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Ut=K;const ve=class ve extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url??o.ESDataMesh.defaults.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(ve,"type",ve.register("ESUeViewer",o.ESDataMesh.type,ve));let At=ve;const ge=class ge extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ge,"type",ge.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,ge));let Mt=ge;const pe=class pe extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(pe,"type",pe.register("ESUeViewer",o.ESDirectionMeasurement.type,pe));let Wt=pe;const fe=class fe extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(fe,"type",fe.register("ESUeViewer",o.ESDistanceMeasurement.type,fe));let $t=fe;const we=class we extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(we,"type",we.register("ESUeViewer",o.ESLocalPolygon.type,we));let vt=we;const ye=class ye extends vt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ye,"type",ye.register("ESUeViewer",o.ESDynamicWater.type,ye));let _t=ye;const me=class me extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};f(me,"type",me.register("ESUeViewer",o.ESEntityCluster.type,me));let bt=me;const X=class X extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(X,"type",X.register("ESUeViewer",o.ESExcavate.type,X)),f(X,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let xt=X;const Ce=class Ce extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ce,"type",Ce.register("ESUeViewer",o.ESFireParticleSystem.type,Ce));let Nt=Ce;const Ee=class Ee extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const v=t.url;v.url=o.ESSceneObject.context.getStrFromEnv(v.url),n.value=v}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(Ee,"type",Ee.register("ESUeViewer",o.ESForestTileset.type,Ee));let zt=Ee;const Se=class Se extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new Nn(t,e):new xn(t,e)))}};f(Se,"type",Se.register("ESUeViewer",o.ESGeoDiv.type,Se));let Gt=Se;class xn extends o.Destroyable{constructor(e,i){super();f(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,e.components.disposableAdd(r,!0),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{W(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:l,rotation:y}=v;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((v,l)=>{ee(n,r.id,v,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((v,l,y)=>{k(n,r.id,v,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((v,l,y,g)=>{O(n,r.id,v,l,g,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((v,l,y,g,d)=>{j(n,r.id,v,l,y,g,d)})),this.dispose(e.flyToEvent.disposableOn((v,l)=>{r.flyTo(v)})),this.dispose(e.flyInEvent.don(v=>{r.flyIn(v)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const v=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?v.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[g,d]=y;g===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[g,d]}}):v.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const v=()=>class extends o.Destroyable{constructor(d,h,u){if(super(),this._subContainer=d,!u)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{const E=e.show;s.value&&E?(w.show=!0,w.winPos=[...s.value]):(w.show=!1,w.winPos=[0,0])};C();const I=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed));this.dispose(I.disposableOn(C))}{const C=()=>{const[I,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=I,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,u))}},l=()=>{try{e.instanceClass?a.instanceClass=v():a.instanceClass=void 0}catch(g){console.error(g)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class Nn extends o.Destroyable{constructor(e,i){super();f(this,"_imageLabel");f(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;e.components.disposableAdd(r,!0);{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.ESGeoDiv.defaults.opacity,y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",!document.body.contains(y)){document.body.appendChild(y);let d=y?y.querySelectorAll("*[class]"):[];for(let h=0;h<d.length;h++){const u=d[h];var g=u.getBoundingClientRect();this._hasClassDivAndPos[u.className]=[u.offsetLeft,u.offsetTop,u.offsetLeft+g.width,u.offsetTop+g.height]}}Jn(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:1}).then(d=>{document.body.contains(y)&&document.body.removeChild(y),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const v=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(v.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:v}=s;if(a==="leftClick"&&v){const l=(v==null?void 0:v.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let g=0;g<y.length;g++){const d=y[g];let h=this._hasClassDivAndPos[d];v&&v.mouseRelativePos&&v.mouseRelativePos[0]>=h[0]&&v.mouseRelativePos[0]<=h[2]&&v.mouseRelativePos[1]>=h[1]&&v.mouseRelativePos[1]<=h[3]&&l.push(d)}v.classNames=l}e.widgetEvent.emit({type:a,add:v})})),this.d(e.calcFlyToParamEvent.don(()=>{W(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:v}=s;e.flyInParam={position:a,rotation:v,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{ee(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,v)=>{k(n,r.id,s,a,v)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,v,l)=>{O(n,r.id,s,a,l,v)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,v,l,y)=>{j(n,r.id,s,a,v,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const Fe=class Fe extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.flyToFeatureIndexEvent.don((n,r)=>{i.callUeFunc({f:"flyToFeatureIndex",p:{id:t.id,index:n,duration:r}})})),this.d(t.flyToFeatureEvent.don((n,r,s)=>{i.callUeFunc({f:"flyToFeature",p:{id:t.id,key:n,value:r,duration:s}})}))}};f(Fe,"type",Fe.register("ESUeViewer",o.ESGeoJson.type,Fe));let Ht=Fe;const Ie=class Ie extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ie,"type",Ie.register("ESUeViewer",o.ESGeoLineString.type,Ie));let gt=Ie;const Te=class Te extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Te,"type",Te.register("ESUeViewer",o.ESGeoRectangle.type,Te));let Jt=Te;const Re=class Re extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Re,"type",Re.register("ESUeViewer",o.ESGeoWater.type,Re));let Kt=Re;const x=class x extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{qi(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{Zi(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{Vi(i,t.id,n,r)}))}};f(x,"forceUeUpdateProps",[...S.forceUeUpdateProps,"url"]),f(x,"propValFuncs",{...S.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),f(x,"type",x.register("ESUeViewer",o.ESGltfModel.type,x));let Xt=x;const De=class De extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(De,"type",De.register("ESUeViewer",o.ESHeightMeasurement.type,De));let qt=De;const Le=class Le extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,v,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const g=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:v,Time:l}});return g.error&&console.error("AIMoveTo:",g.error),g};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:v}=s;if(!v){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await v.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};f(Le,"type",Le.register("ESUeViewer",o.ESHuman.type,Le));let Zt=Le;const N=class N extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};f(N,"type",N.register("ESUeViewer",o.ESImageLabel.type,N)),f(N,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),f(N,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let Vt=N;const Pe=class Pe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Pe,"type",Pe.register("ESUeViewer",o.ESLevelRuntimeModel.type,Pe));let Yt=Pe;const Be=class Be extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Be,"type",Be.register("ESUeViewer",o.ESLocalCircle.type,Be));let Qt=Be;const Ue=class Ue extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ue,"type",Ue.register("ESUeViewer",o.ESLocalPolygonZ.type,Ue));let kt=Ue;const Ae=class Ae extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ae,"type",Ae.register("ESUeViewer",o.ESLocalRectangle.type,Ae));let Ot=Ae;const Me=class Me extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Me,"type",Me.register("ESUeViewer",o.ESLocalSkyBox.type,Me));let jt=Me;const We=class We extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(We,"type",We.register("ESUeViewer",o.ESLocationMeasurement.type,We));let ei=We;const $e=class $e extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f($e,"type",$e.register("ESUeViewer",o.ESPipeFence.type,$e));let ti=$e;const _e=class _e extends gt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(_e,"type",_e.register("ESUeViewer",o.ESPipeline.type,_e));let ii=_e;const be=class be extends ht{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Hi(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const v=typeof n=="number"?n.toString():n;Ji(i,t.id,v,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Ki(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Xi(i,t.id,s)}))}};f(be,"type",be.register("ESUeViewer",o.ESPipeserTileset.type,be));let ni=be;const xe=class xe extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(xe,"type",xe.register("ESUeViewer",o.ESPit.type,xe));let ri=xe;const Ne=class Ne extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};f(Ne,"type",Ne.register("ESUeViewer",o.ESPoi2D.type,Ne));let oi=Ne;const ze=class ze extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ze,"type",ze.register("ESUeViewer",o.ESPoi3D.type,ze));let si=ze;const z=class z extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(z,"type",z.register("ESUeViewer",o.ESPoiTileset.type,z)),f(z,"forceUeUpdateProps",[...L.forceUeUpdateProps,"url"]),f(z,"propValFuncs",{...L.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let ai=z;const Ge=class Ge extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ge,"type",Ge.register("ESUeViewer",o.ESPolygonFence.type,Ge));let li=Ge;const q=class q extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(q,"type",q.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,q)),f(q,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let di=q;const He=class He extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(He,"type",He.register("ESUeViewer",o.ESPolygonWithHole.type,He));let ci=He;const Je=class Je extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let v=[255,255,255,1];if(a.startsWith("#")){if(a.length===4){let l=parseInt(a[1]+a[1],16),y=parseInt(a[2]+a[2],16),g=parseInt(a[3]+a[3],16);v=[l,y,g,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),g=parseInt(a.substring(5,7),16);v=[l,y,g,1]}}else if(a.startsWith("rgba")){let l=a.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]),h=parseFloat(l[4]);v=[y,g,d,h]}}else if(a.startsWith("rgb")){let l=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]);v=[y,g,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[v[0]/255,v[1]/255,v[2]/255,v[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const v=[];a.forEach(l=>{a.filter(g=>g.dataset==l.dataset).length==1?v.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):v.push({condition:[{field:"layer",op:"==",value:l.layer},{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),t.setFeatureStyle(v)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};f(Je,"type",Je.register("ESUeViewer",o.ESRtsTileset.type,Je));let ui=Je;const Ke=class Ke extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};f(Ke,"type",Ke.register("ESUeViewer",o.ESSeparateFoliage.type,Ke));let hi=Ke;const Xe=class Xe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Xe,"type",Xe.register("ESUeViewer",o.ESSubmergingAnalysis.type,Xe));let vi=Xe;const qe=class qe extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};f(qe,"type",qe.register("ESUeViewer",o.ESSunshineAnalysis.type,qe));let gi=qe;const Ze=class Ze extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};f(Ze,"type",Ze.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,Ze));let pi=Ze;const Ve=class Ve extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ve,"type",Ve.register("ESUeViewer",o.ESTextLabel.type,Ve));let fi=Ve;const Z=class Z extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await yt(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};f(Z,"type",Z.register("ESUeViewer",o.ESUEWidget.type,Z)),f(Z,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let wi=Z;const zn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},gr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Ye=class Ye extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{ft(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const v=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,h=await e.unBindActorByID(d);h&&h.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${h.error}`),s=void 0;const u=await i.callUeFunc({f:"destroy",p:{id:d}});if(u&&u.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${u.error}`);return}a=void 0},g=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),h=async()=>{t.actorTag!==""?g.value={type:"ActorTag",actorTag:t.actorTag}:g.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};h(),this.d(d.don(h)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(await u.promise(y()),t.lastActorStatus="null",g.value.type==="ActorTag"){const{actorTag:w}=g.value;try{const m=await u.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${zn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${zn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(g.value.type==="ActorClass"){const{actorClass:w}=g.value;try{const m=await u.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${gr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await u.promise(n()),await u.promise(v())})),h=async()=>{d.restart()};h(),this.d(g.changed.don(h))}this.d(t.positionChanged.don(v)),this.d(t.callFunctionEvent.don(async(d,h)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const u=await yt(i,t.id,d,h);t.__callFunctionResultEvent.emit(u)})),this.d(t.smoothMoveEvent.don((d,h)=>{l()||ee(i,t.id,d,h)})),this.d(t.smoothMoveWithRotationEvent.don((d,h,u)=>{l()||k(i,t.id,d,h,u)})),this.d(t.smoothMoveOnGroundEvent.don((d,h,u,w)=>{l()||O(i,t.id,d,h,w,u)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,h,u,w,m)=>{l()||j(i,t.id,d,h,u,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const h=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(u=>{u!==null&&(t.position=[...h,u],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,h)=>{if(l())return;const u=await H(i,t.id,d);let w="over";u===void 0?w="error":u.endType===0?w="over":u.endType===1&&(w="cancelled"),t.flyOverEvent.emit(h,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:h,rotation:u}=d;t.flyInParam={position:h,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(h=>{const u=d.props[h]===null?void 0:d.props[h];t[h]=u})}))}};f(Ye,"type",Ye.register("ESUeViewer",o.ESUnrealActor.type,Ye));let yi=Ye;const Qe=class Qe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Qe,"type",Qe.register("ESUeViewer",o.ESVideoFusion.type,Qe));let mi=Qe;const ke=class ke extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ke,"type",ke.register("ESUeViewer",o.ESViewShed.type,ke));let Ci=ke;const Oe=class Oe extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(Oe,"type",Oe.register("ESUeViewer",o.ESVisibilityAnalysis.type,Oe));let Ei=Oe;const je=class je extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(je,"type",je.register("ESUeViewer",o.ESVolumeMeasurement.type,je));let Si=je;const V=class V extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(V,"type",V.register("ESUeViewer",o.ESWidget.type,V)),f(V,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Fi=V;const et=class et extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};f(et,"type",et.register("ESUeViewer",o.ESHumanPoi.type,et));let Ii=et;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const tt=class tt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const h=await e.getCurrentCameraInfo(),u=h==null?void 0:h.position,m=[...h==null?void 0:h.rotation];m[0]=360,e.flyIn(u,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.cssPositionChanged.disposableOn(d))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const y=document.createElement("div");l.appendChild(y),this.dispose(()=>l.removeChild(y)),y.style.width="100%",y.style.height="100%",y.style.position="relative";const g=document.createElement("img");y.appendChild(g),this.dispose(()=>y.removeChild(g)),g.style.width="100%",g.style.height="100%",g.style.border="none";{const d=()=>g.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];g.style.transform=`rotate(${m}deg)`};let h;const u=async()=>{d(),t.show?(l.style.display="block",h=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(h))};this.dispose(t.showChanged.disposableOn(u)),u(),this.dispose(()=>clearInterval(h))}g.style.transformOrigin="50% 50%"}}}};f(tt,"type",tt.register("ESUeViewer",o.ESNavigator.type,tt));let Ti=tt;const G=class G extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};f(G,"type",G.register("ESUeViewer",o.ESPath.type,G)),f(G,"forceUeUpdateProps",[...D.forceUeUpdateProps]),f(G,"propValFuncs",{...D.propValFuncs});let Ri=G;async function pr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const it=class it extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,v){if(super(),this._subContainer=s,!v||!(v instanceof M))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${o.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${o.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const y=document.createElement("span");l.appendChild(y),this.dispose(()=>l.removeChild(y));const g=document.createElement("span");y.appendChild(g),this.dispose(()=>y.removeChild(g));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let u=d.innerHTML;u.startsWith("鼠标位置")&&(u=u.slice(5)),pr(u)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const h=document.createElement("span");l.appendChild(h),this.dispose(()=>l.removeChild(h));{const u=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(u)),u()}{const u=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(u)),u()}{const u=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(u)),u()}v.getVersion().then(u=>{u&&(h.innerText=`Ue 版本 : ${u[0]} `)}).catch(u=>{console.log(u)});{const u=()=>{let C="",I="";C+=`帧率:${v.getFPS().toFixed(0)}FPS`,g.innerText=C;const E=e.getCurrentCameraInfo();C+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,g.innerText=C,e.pick().then(T=>{if(T){const{pickResult:F}=T;if(F&&F.position){const{position:B}=F;I+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else I+="暂时无法获取鼠标位置...";d.innerText=I}}).catch(T=>{console.log(T)})};let w;const m=async()=>{u(),t.show?(l.style.display="flex",w=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};f(it,"type",it.register("ESUeViewer",o.ESViewerStatusBar.type,it));let Di=it;const nt=class nt extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(nt,"type",nt.register("ESUeViewer",o.ESGaussianSplatting.type,nt));let Li=nt;const rt=class rt extends ${constructor(e,i){super(e,i);f(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};f(rt,"type",rt.register("ESUeViewer",o.ESRtsFeatureEditing.type,rt));let Pi=rt;const ot=class ot extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ot,"type",ot.register("ESUeViewer",o.ESMsTileset.type,ot));let Bi=ot;const st=class st extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};f(st,"type",st.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,st));let Ui=st;const at=class at extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(at,"type",at.register("ESUeViewer",o.ESStaticMesh.type,at));let Ai=at;const lt=class lt extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(lt,"type",lt.register("ESUeViewer",o.ESSkylineAnalysis.type,lt));let Mi=lt;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.5.0-beta.15",e="2025-10-17T09:37:17.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="1d92544757525a67472147b6dd3aca525c1d2508",a=((Date.now()-1760693837e3)/36e5).toFixed(1),v=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
|
|
2
2
|
%c${n?n+`
|
|
3
3
|
`:""}当前网站正在使用${c},此软件版权归${i}所有
|
|
4
|
-
`;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4
|
+
`;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","1d92544757525a67472147b6dd3aca525c1d2508")},get info(){return v},get date(){return"2025-10-17T09:37:17.000Z"},get author(){return"suplyang"},get version(){return"3.5.0-beta.15"},get name(){return"earthsdk3-ue"},get commitId(){return"1d92544757525a67472147b6dd3aca525c1d2508"},print(l=!1){!l&&window._xe2_no_copy_print||console.info(this.info,`
|
|
5
5
|
font-size: 18px;
|
|
6
6
|
font-weight: 1000;
|
|
7
7
|
line-height: 1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "earthsdk3-ue",
|
|
3
|
-
"version": "3.5.0-beta.
|
|
3
|
+
"version": "3.5.0-beta.15",
|
|
4
4
|
"description": "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/earthsdk3-ue.umd.cjs",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"vite": "^6.3.5"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"earthsdk3": "3.5.0-beta.
|
|
40
|
+
"earthsdk3": "3.5.0-beta.15"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"html2canvas": "^1.4.1",
|