about.ac6fe072.js 4.8 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["about"],{"0569":function(e,t,n){"use strict";var i=n("2f63"),o=n("4f04");function r(e){if(!Object(i["a"])(e))throw new o["a"]("obj is required.");let t="";for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=encodeURIComponent(n)+"=";if(Array.isArray(i))for(let e=0,n=i.length;e<n;++e)t+=o+encodeURIComponent(i[e])+"&";else t+=o+encodeURIComponent(i)+"&"}return t=t.slice(0,-1),t}t["a"]=r},"06c5":function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));n("fb6a"),n("d3b7"),n("b0c0"),n("a630"),n("3ca3"),n("ac1f"),n("00b4");var i=n("6b75");function o(e,t){if(e){if("string"===typeof e)return Object(i["a"])(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(i["a"])(e,t):void 0}}},"07f4":function(e,t,n){"use strict";var i=n("be7f"),o=4,r=0,a=1,s=2;function c(e){var t=e.length;while(--t>=0)e[t]=0}var l=0,u=1,h=2,d=3,f=258,p=29,m=256,_=m+1+p,g=30,b=19,y=2*_+1,v=15,O=16,w=7,A=256,T=16,C=17,E=18,x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],S=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],I=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],j=512,P=new Array(2*(_+2));c(P);var R=new Array(2*g);c(R);var M=new Array(j);c(M);var N=new Array(f-d+1);c(N);var L=new Array(p);c(L);var B,F,k,z=new Array(g);function U(e,t,n,i,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=o,this.has_stree=e&&e.length}function V(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function H(e){return e<256?M[e]:M[256+(e>>>7)]}function G(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function q(e,t,n){e.bi_valid>O-n?(e.bi_buf|=t<<e.bi_valid&65535,G(e,e.bi_buf),e.bi_buf=t>>O-e.bi_valid,e.bi_valid+=n-O):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function W(e,t,n){q(e,n[2*t],n[2*t+1])}function Y(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function X(e){16===e.bi_valid?(G(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function K(e,t){var n,i,o,r,a,s,c=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(r=0;r<=v;r++)e.bl_count[r]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<y;n++)i=e.heap[n],r=c[2*c[2*i+1]+1]+1,r>p&&(r=p,m++),c[2*i+1]=r,i>l||(e.bl_count[r]++,a=0,i>=f&&(a=d[i-f]),s=c[2*i],e.opt_len+=s*(r+a),h&&(e.static_len+=s*(u[2*i+1]+a)));if(0!==m){do{r=p-1;while(0===e.bl_count[r])r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(r=p;0!==r;r--){i=e.bl_count[r];while(0!==i)o=e.heap[--n],o>l||(c[2*o+1]!==r&&(e.opt_len+=(r-c[2*o+1])*c[2*o],c[2*o+1]=r),i--)}}}function J(e,t,n){var i,o,r=new Array(v+1),a=0;for(i=1;i<=v;i++)r[i]=a=a+n[i-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=Y(r[s]++,s))}}function Z(){var e,t,n,i,o,r=new Array(v+1);for(n=0,i=0;i<p-1;i++)for(L[i]=n,e=0;e<1<<x[i];e++)N[n++]=i;for(N[n-1]=i,o=0,i=0;i<16;i++)for(z[i]=o,e=0;e<1<<S[i];e++)M[o++]=i;for(o>>=7;i<g;i++)for(z[i]=o<<7,e=0;e<1<<S[i]-7;e++)M[256+o++]=i;for(t=0;t<=v;t++)r[t]=0;e=0;while(e<=143)P[2*e+1]=8,e++,r[8]++;while(e<=255)P[2*e+1]=9,e++,r[9]++;while(e<=279)P[2*e+1]=7,e++,r[7]++;while(e<=287)P[2*e+1]=8,e++,r[8]++;for(J(P,_+1,r),e=0;e<g;e++)R[2*e+1]=5,R[2*e]=Y(e,5);B=new U(P,x,m+1,_,v),F=new U(R,S,0,g,v),k=new U(new Array(0),I,0,b,w)}function $(e){var t;for(t=0;t<_;t++)e.dyn_ltree[2*t]=0;for(t=0;t<g;t++)e.dyn_dtree[2*t]=0;for(t=0;t<b;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*A]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Q(e){e.bi_valid>8?G(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ee(e,t,n,o){Q(e),o&&(G(e,n),G(e,~n)),i.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function te(e,t,n,i){var o=2*t,r=2*n;return e[o]<e[r]||e[o]===e[r]&&i[t]<=i[n]}function ne(e,t,n){var i=e.heap[n],o=n<<1;while(o<=e.heap_len){if(o<e.heap_len&&te(t,e.heap[o+1],e.heap[o],e.depth)&&o++,te(t,i,e.heap[o],e.depth))break;e.heap[n]=e.heap[o],n=o,o<<=1}e.heap[n]=i}function ie(e,t,n){var i,o,r,a,s=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],o=e.pending_buf[e.l_buf+s],s++,0===i?W(e,o,t):(r=N[o],W(e,r+m+1,t),a=x[r],0!==a&&(o-=L[r],q(e,o,a)),i--,r=H(i),W(e,r,n),a=S[r],0!==a&&(i-=z[r],q(e,i,a)))}while(s<e.last_lit);W(e,A,t)}function oe(e,t){var n,i,o,r=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,c=t.stat_desc.elems,l=-1;for(e.heap_len=0,e.heap_max=y,n=0;n<c;n++)0!==r[2*n]?(e.heap[++e.heap_len]=l=n,e.depth[n]=0):r[2*n+1]=0;while(e.heap_len<2)o=e.heap[++e.heap_len]=l<2?++l:0,r[2*o]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=a[2*o+1]);for(t.max_code=l,n=e.heap_len>>1;n>=1;n--)ne(e,r,n);o=c;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ne(e,r,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,r[2*o]=r[2*n]+r[2*i],e.depth[o]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,r[2*n+1]=r[2*i+1]=o,e.heap[1]=o++,ne(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],K(e,t),J(r,l,e.bl_count)}function re(e,t,n){var i,o,r=-1,a=t[1],s=0,c=7,l=4;for(0===a&&(c=138,l=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)o=a,a=t[2*(i+1)+1],++s<c&&o===a||(s<l?e.bl_tree[2*o]+=s:0!==o?(o!==r&&e.bl_tree[2*o]++,e.bl_tree[2*T]++):s<=10?e.bl_tree[2*C]++:e.bl_tree[2*E]++,s=0,r=o,0===a?(c=138,l=3):o===a?(c=6,l=3):(c=7,l=4))}function ae(e,t,n){var i,o,r=-1,a=t[1],s=0,c=7,l=4;for(0===a&&(c=138,l=3),i=0;i<=n;i++)if(o=a,a=t[2*(i+1)+1],!(++s<c&&o===a)){if(s<l)do{W(e,o,e.bl_tree)}while(0!==--s);else 0!==o?(o!==r&&(W(e,o,e.bl_tree),s--),W(e,T,e.bl_tree),q(e,s-3,2)):s<=10?(W(e,C,e.bl_tree),q(e,s-3,3)):(W(e,E,e.bl_tree),q(e,s-11,7));s=0,r=o,0===a?(c=138,l=3):o===a?(c=6,l=3):(c=7,l=4)}}function se(e){var t;for(re(e,e.dyn_ltree,e.l_desc.max_code),re(e,e.dyn_dtree,e.d_desc.max_code),oe(e,e.bl_desc),t=b-1;t>=3;t--)if(0!==e.bl_tree[2*D[t]+1])break;return e.opt_len+=3*(t+1)+5+5+4,t}function ce(e,t,n,i){var o;for(q(e,t-257,5),q(e,n-1,5),q(e,i-4,4),o=0;o<i;o++)q(e,e.bl_tree[2*D[o]+1],3);ae(e,e.dyn_ltree,t-1),ae(e,e.dyn_dtree,n-1)}function le(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return a;for(t=32;t<m;t++)if(0!==e.dyn_ltree[2*t])return a;return r}c(z);var ue=!1;function he(e){ue||(Z(),ue=!0),e.l_desc=new V(e.dyn_ltree,B),e.d_desc=new V(e.dyn_dtree,F),e.bl_desc=new V(e.bl_tree,k),e.bi_buf=0,e.bi_valid=0,$(e)}function de(e,t,n,i){q(e,(l<<1)+(i?1:0),3),ee(e,t,n,!0)}function fe(e){q(e,u<<1,3),W(e,A,P),X(e)}function pe(e,t,n,i){var r,a,c=0;e.level>0?(e.strm.data_type===s&&(e.strm.data_type=le(e)),oe(e,e.l_desc),oe(e,e.d_desc),c=se(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!==t?de(e,t,n,i):e.strategy===o||a===r?(q(e,(u<<1)+(i?1:0),3),ie(e,P,R)):(q(e,(h<<1)+(i?1:0),3),ce(e,e.l_desc.max_code+1,e.d_desc.max_code+1,c+1),ie(e,e.dyn_ltree,e.dyn_dtree)),$(e),i&&Q(e)}function me(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(N[n]+m+1)]++,e.dyn_dtree[2*H(t)]++),e.last_lit===e.lit_bufsize-1}t._tr_init=he,t._tr_stored_block=de,t._tr_flush_block=pe,t._tr_tally=me,t._tr_align=fe},"083c":function(e,t,n){"use strict";var i=n("2f63");let o;function r(e){Object(i["a"])(o)||(o=document.createElement("a")),o.href=window.location.href;const t=o.host,n=o.protocol;return o.href=e,o.href=o.href,n!==o.protocol||t!==o.host}t["a"]=r},"0960":function(e,t,n){e.exports=n("b19a")},"0a45":function(e,t,n){var i,o;n("cb29"),n("b64b"),n("ac1f"),n("5319"),n("d9e2"),function(r,a,s){e.exports?e.exports=s():(i=s,o="function"===typeof i?i.call(t,n,t,e):i,void 0===o||(e.exports=o))}(0,0,(function(){var e={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},t=function(){var t=function(e){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=e["xField"]||e.defaultXField,this._yField=e["yField"]||e.defaultYField,this._valueField=e["valueField"]||e.defaultValueField,e["radius"]&&(this._cfgRadius=e["radius"])},n=e.defaultRadius;return t.prototype={_organiseData:function(e,t){var i=e[this._xField],o=e[this._yField],r=this._radi,a=this._data,s=this._max,c=this._min,l=e[this._valueField]||1,u=e.radius||this._cfgRadius||n;a[i]||(a[i]=[],r[i]=[]),a[i][o]?a[i][o]+=l:(a[i][o]=l,r[i][o]=u);var h=a[i][o];return h>s?(t?this.setDataMax(h):this._max=h,!1):h<c?(t?this.setDataMin(h):this._min=h,!1):{x:i,y:o,value:l,radius:u,min:c,max:s}},_unOrganizeData:function(){var e=[],t=this._data,n=this._radi;for(var i in t)for(var o in t[i])e.push({x:i,y:o,radius:n[i][o],value:t[i][o]});return{min:this._min,max:this._max,data:e}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0){var e=arguments[0],t=e.length;while(t--)this.addData.call(this,e[t])}else{var n=this._organiseData(arguments[0],!0);n&&(0===this._data.length&&(this._min=this._max=n.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[n]}))}return this},setData:function(e){var t=e.data,n=t.length;this._data=[],this._radi=[];for(var i=0;i<n;i++)this._organiseData(t[i],!1);return this._max=e.max,this._min=e.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(e){return this._max=e,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(e){return this._min=e,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(e){this._coordinator=e},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},t}(),n=function(){var e=function(e){var t=e.gradient||e.defaultGradient,n=document.createElement("canvas"),i=n.getContext("2d");n.width=256,n.height=1;var o=i.createLinearGradient(0,0,256,1);for(var r in t)o.addColorStop(r,t[r]);return i.fillStyle=o,i.fillRect(0,0,256,1),i.getImageData(0,0,256,1).data},t=function(e,t){var n=document.createElement("canvas"),i=n.getContext("2d"),o=e,r=e;if(n.width=n.height=2*e,1==t)i.beginPath(),i.arc(o,r,e,0,2*Math.PI,!1),i.fillStyle="rgba(0,0,0,1)",i.fill();else{var a=i.createRadialGradient(o,r,e*t,o,r,e);a.addColorStop(0,"rgba(0,0,0,1)"),a.addColorStop(1,"rgba(0,0,0,0)"),i.fillStyle=a,i.fillRect(0,0,2*e,2*e)}return n},n=function(e){var t=[],n=e.min,i=e.max,o=e.radi,r=(e=e.data,Object.keys(e)),a=r.length;while(a--){var s=r[a],c=Object.keys(e[s]),l=c.length;while(l--){var u=c[l],h=e[s][u],d=o[s][u];t.push({x:s,y:u,value:h,radius:d})}}return{min:n,max:i,data:t}};function i(t){var n=t.container,i=this.shadowCanvas=document.createElement("canvas"),o=this.canvas=t.canvas||document.createElement("canvas"),r=(this._renderBoundaries=[1e4,1e4,0,0],getComputedStyle(t.container)||{});o.className="heatmap-canvas",this._width=o.width=i.width=t.width||+r.width.replace(/px/,""),this._height=o.height=i.height=t.height||+r.height.replace(/px/,""),this.shadowCtx=i.getContext("2d"),this.ctx=o.getContext("2d"),o.style.cssText=i.style.cssText="position:absolute;left:0;top:0;",n.style.position="relative",n.appendChild(o),this._palette=e(t),this._templates={},this._setStyles(t)}return i.prototype={renderPartial:function(e){e.data.length>0&&(this._drawAlpha(e),this._colorize())},renderAll:function(e){this._clear(),e.data.length>0&&(this._drawAlpha(n(e)),this._colorize())},_updateGradient:function(t){this._palette=e(t)},updateConfig:function(e){e["gradient"]&&this._updateGradient(e),this._setStyles(e)},setDimensions:function(e,t){this._width=e,this._height=t,this.canvas.width=this.shadowCanvas.width=e,this.canvas.height=this.shadowCanvas.height=t},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(e){this._blur=0==e.blur?0:e.blur||e.defaultBlur,e.backgroundColor&&(this.canvas.style.backgroundColor=e.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=e.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=e.height||this._height,this._opacity=255*(e.opacity||0),this._maxOpacity=255*(e.maxOpacity||e.defaultMaxOpacity),this._minOpacity=255*(e.minOpacity||e.defaultMinOpacity),this._useGradientOpacity=!!e.useGradientOpacity},_drawAlpha:function(e){var n=this._min=e.min,i=this._max=e.max,o=(e=e.data||[],e.length),r=1-this._blur;while(o--){var a,s=e[o],c=s.x,l=s.y,u=s.radius,h=Math.min(s.value,i),d=c-u,f=l-u,p=this.shadowCtx;this._templates[u]?a=this._templates[u]:this._templates[u]=a=t(u,r);var m=(h-n)/(i-n);p.globalAlpha=m<.01?.01:m,p.drawImage(a,d,f),d<this._renderBoundaries[0]&&(this._renderBoundaries[0]=d),f<this._renderBoundaries[1]&&(this._renderBoundaries[1]=f),d+2*u>this._renderBoundaries[2]&&(this._renderBoundaries[2]=d+2*u),f+2*u>this._renderBoundaries[3]&&(this._renderBoundaries[3]=f+2*u)}},_colorize:function(){var e=this._renderBoundaries[0],t=this._renderBoundaries[1],n=this._renderBoundaries[2]-e,i=this._renderBoundaries[3]-t,o=this._width,r=this._height,a=this._opacity,s=this._maxOpacity,c=this._minOpacity,l=this._useGradientOpacity;e<0&&(e=0),t<0&&(t=0),e+n>o&&(n=o-e),t+i>r&&(i=r-t);for(var u=this.shadowCtx.getImageData(e,t,n,i),h=u.data,d=h.length,f=this._palette,p=3;p<d;p+=4){var m,_=h[p],g=4*_;if(g)m=a>0?a:_<s?_<c?c:_:s,h[p-3]=f[g],h[p-2]=f[g+1],h[p-1]=f[g+2],h[p]=l?f[g+3]:m}u.data=h,this.ctx.putImageData(u,e,t),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(e){var t,n=this.shadowCtx,i=n.getImageData(e.x,e.y,1,1),o=i.data[3],r=this._max,a=this._min;return t=Math.abs(r-a)*(o/255)>>0,t},getDataURL:function(){return this.canvas.toDataURL()}},i}(),i=function(){var t=!1;return"canvas2d"===e["defaultRenderer"]&&(t=n),t}(),o={merge:function(){for(var e={},t=arguments.length,n=0;n<t;n++){var i=arguments[n];for(var o in i)e[o]=i[o]}return e}},r=function(){var n=function(){function e(){this.cStore={}}return e.prototype={on:function(e,t,n){var i=this.cStore;i[e]||(i[e]=[]),i[e].push((function(e){return t.call(n,e)}))},emit:function(e,t){var n=this.cStore;if(n[e])for(var i=n[e].length,o=0;o<i;o++){var r=n[e][o];r(t)}}},e}(),r=function(e){var t=e._renderer,n=e._coordinator,i=e._store;n.on("renderpartial",t.renderPartial,t),n.on("renderall",t.renderAll,t),n.on("extremachange",(function(t){e._config.onExtremaChange&&e._config.onExtremaChange({min:t.min,max:t.max,gradient:e._config["gradient"]||e._config["defaultGradient"]})})),i.setCoordinator(n)};function a(){var a=this._config=o.merge(e,arguments[0]||{});if(this._coordinator=new n,a["plugin"]){var s=a["plugin"];if(!e.plugins[s])throw new Error("Plugin '"+s+"' not found. Maybe it was not registered.");var c=e.plugins[s];this._renderer=new c.renderer(a),this._store=new c.store(a)}else this._renderer=new i(a),this._store=new t(a);r(this)}return a.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(e){return this._config=o.merge(this._config,e),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(e){return this._store.getValueAt?this._store.getValueAt(e):this._renderer.getValueAt?this._renderer.getValueAt(e):null}},a}(),a={create:function(e){return new r(e)},register:function(t,n){e.plugins[t]=n}};return a}))},"0b16":function(e,t,n){"use strict";var i=n("1985"),o=n("35e8");function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=O,t.resolve=A,t.resolveObject=T,t.format=w,t.Url=r;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["<",">",'"',"`"," ","\r","\n","\t"],u=["{","}","|","\\","^","`"].concat(l),h=["'"].concat(u),d=["%","/","?",";","#"].concat(h),f=["/","?","#"],p=255,m=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},b={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},v=n("b383");function O(e,t,n){if(e&&o.isObject(e)&&e instanceof r)return e;var i=new r;return i.parse(e,t,n),i}function w(e){return o.isString(e)&&(e=O(e)),e instanceof r?e.format():r.prototype.format.call(e)}function A(e,t){return O(e,!1,!0).resolve(t)}function T(e,t){return e?O(e,!1,!0).resolveObject(t):t}r.prototype.parse=function(e,t,n){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),s=-1!==r&&r<e.indexOf("#")?"?":"#",l=e.split(s),u=/\\/g;l[0]=l[0].replace(u,"/"),e=l.join(s);var O=e;if(O=O.trim(),!n&&1===e.split("#").length){var w=c.exec(O);if(w)return this.path=O,this.href=O,this.pathname=w[1],w[2]?(this.search=w[2],this.query=t?v.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var A=a.exec(O);if(A){A=A[0];var T=A.toLowerCase();this.protocol=T,O=O.substr(A.length)}if(n||A||O.match(/^\/\/[^@\/]+@[^@\/]+/)){var C="//"===O.substr(0,2);!C||A&&b[A]||(O=O.substr(2),this.slashes=!0)}if(!b[A]&&(C||A&&!y[A])){for(var E,x,S=-1,I=0;I<f.length;I++){var D=O.indexOf(f[I]);-1!==D&&(-1===S||D<S)&&(S=D)}x=-1===S?O.lastIndexOf("@"):O.lastIndexOf("@",S),-1!==x&&(E=O.slice(0,x),O=O.slice(x+1),this.auth=decodeURIComponent(E)),S=-1;for(I=0;I<d.length;I++){D=O.indexOf(d[I]);-1!==D&&(-1===S||D<S)&&(S=D)}-1===S&&(S=O.length),this.host=O.slice(0,S),O=O.slice(S),this.parseHost(),this.hostname=this.hostname||"";var j="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!j)for(var P=this.hostname.split(/\./),R=(I=0,P.length);I<R;I++){var M=P[I];if(M&&!M.match(m)){for(var N="",L=0,B=M.length;L<B;L++)M.charCodeAt(L)>127?N+="x":N+=M[L];if(!N.match(m)){var F=P.slice(0,I),k=P.slice(I+1),z=M.match(_);z&&(F.push(z[1]),k.unshift(z[2])),k.length&&(O="/"+k.join(".")+O),this.hostname=F.join(".");break}}}this.hostname.length>p?this.hostname="":this.hostname=this.hostname.toLowerCase(),j||(this.hostname=i.toASCII(this.hostname));var U=this.port?":"+this.port:"",V=this.hostname||"";this.host=V+U,this.href+=this.host,j&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==O[0]&&(O="/"+O))}if(!g[T])for(I=0,R=h.length;I<R;I++){var H=h[I];if(-1!==O.indexOf(H)){var G=encodeURIComponent(H);G===H&&(G=escape(H)),O=O.split(H).join(G)}}var q=O.indexOf("#");-1!==q&&(this.hash=O.substr(q),O=O.slice(0,q));var W=O.indexOf("?");if(-1!==W?(this.search=O.substr(W),this.query=O.substr(W+1),t&&(this.query=v.parse(this.query)),O=O.slice(0,W)):t&&(this.search="",this.query={}),O&&(this.pathname=O),y[T]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){U=this.pathname||"";var Y=this.search||"";this.path=U+Y}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",i=this.hash||"",r=!1,a="";this.host?r=e+this.host:this.hostname&&(r=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&o.isObject(this.query)&&Object.keys(this.query).length&&(a=v.stringify(this.query));var s=this.search||a&&"?"+a||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||y[t])&&!1!==r?(r="//"+(r||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):r||(r=""),i&&"#"!==i.charAt(0)&&(i="#"+i),s&&"?"!==s.charAt(0)&&(s="?"+s),n=n.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})),s=s.replace("#","%23"),t+r+n+s+i},r.prototype.resolve=function(e){return this.resolveObject(O(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(o.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,i=Object.keys(this),a=0;a<i.length;a++){var s=i[a];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var c=Object.keys(e),l=0;l<c.length;l++){var u=c[l];"protocol"!==u&&(n[u]=e[u])}return y[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!y[e.protocol]){for(var h=Object.keys(e),d=0;d<h.length;d++){var f=h[d];n[f]=e[f]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||b[e.protocol])n.pathname=e.pathname;else{var p=(e.pathname||"").split("/");while(p.length&&!(e.host=p.shift()));e.host||(e.host=""),e.hostname||(e.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var m=n.pathname||"",_=n.search||"";n.path=m+_}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var g=n.pathname&&"/"===n.pathname.charAt(0),v=e.host||e.pathname&&"/"===e.pathname.charAt(0),O=v||g||n.host&&e.pathname,w=O,A=n.pathname&&n.pathname.split("/")||[],T=(p=e.pathname&&e.pathname.split("/")||[],n.protocol&&!y[n.protocol]);if(T&&(n.hostname="",n.port=null,n.host&&(""===A[0]?A[0]=n.host:A.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===p[0]?p[0]=e.host:p.unshift(e.host)),e.host=null),O=O&&(""===p[0]||""===A[0])),v)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,A=p;else if(p.length)A||(A=[]),A.pop(),A=A.concat(p),n.search=e.search,n.query=e.query;else if(!o.isNullOrUndefined(e.search)){if(T){n.hostname=n.host=A.shift();var C=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");C&&(n.auth=C.shift(),n.host=n.hostname=C.shift())}return n.search=e.search,n.query=e.query,o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!A.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=A.slice(-1)[0],x=(n.host||e.host||A.length>1)&&("."===E||".."===E)||""===E,S=0,I=A.length;I>=0;I--)E=A[I],"."===E?A.splice(I,1):".."===E?(A.splice(I,1),S++):S&&(A.splice(I,1),S--);if(!O&&!w)for(;S--;S)A.unshift("..");!O||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),x&&"/"!==A.join("/").substr(-1)&&A.push("");var D=""===A[0]||A[0]&&"/"===A[0].charAt(0);if(T){n.hostname=n.host=D?"":A.length?A.shift():"";C=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");C&&(n.auth=C.shift(),n.host=n.hostname=C.shift())}return O=O||n.host&&A.length,O&&!D&&A.unshift(""),A.length?n.pathname=A.join("/"):(n.pathname=null,n.path=null),o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=s.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},"0e68":function(e,t,n){"use strict";var i=n("9c35");function o(e){const t=Object(i["a"])(),n=document.createElement("script");n.async=!0,n.src=e;const o=document.getElementsByTagName("head")[0];return n.onload=function(){n.onload=void 0,o.removeChild(n),t.resolve()},n.onerror=function(e){t.reject(e)},o.appendChild(n),t.promise}t["a"]=o},"166e":function(e,t,n){"use strict";var i=n("d4da");const o=/^data:/i;function r(e){return i["a"].typeOf.string("uri",e),o.test(e)}t["a"]=r},1985:function(e,t,n){(function(e,i){var o;/*! https://mths.be/punycode v1.4.1 by @mathias */(function(r){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof i&&i;a.global!==a&&a.window!==a&&a.self;var s,c=2147483647,l=36,u=1,h=26,d=38,f=700,p=72,m=128,_="-",g=/^xn--/,b=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,v={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},O=l-u,w=Math.floor,A=String.fromCharCode;function T(e){throw new RangeError(v[e])}function C(e,t){var n=e.length,i=[];while(n--)i[n]=t(e[n]);return i}function E(e,t){var n=e.split("@"),i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(y,".");var o=e.split("."),r=C(o,t).join(".");return i+r}function x(e){var t,n,i=[],o=0,r=e.length;while(o<r)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<r?(n=e.charCodeAt(o++),56320==(64512&n)?i.push(((1023&t)<<10)+(1023&n)+65536):(i.push(t),o--)):i.push(t);return i}function S(e){return C(e,(function(e){var t="";return e>65535&&(e-=65536,t+=A(e>>>10&1023|55296),e=56320|1023&e),t+=A(e),t})).join("")}function I(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:l}function D(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function j(e,t,n){var i=0;for(e=n?w(e/f):e>>1,e+=w(e/t);e>O*h>>1;i+=l)e=w(e/O);return w(i+(O+1)*e/(e+d))}function P(e){var t,n,i,o,r,a,s,d,f,g,b=[],y=e.length,v=0,O=m,A=p;for(n=e.lastIndexOf(_),n<0&&(n=0),i=0;i<n;++i)e.charCodeAt(i)>=128&&T("not-basic"),b.push(e.charCodeAt(i));for(o=n>0?n+1:0;o<y;){for(r=v,a=1,s=l;;s+=l){if(o>=y&&T("invalid-input"),d=I(e.charCodeAt(o++)),(d>=l||d>w((c-v)/a))&&T("overflow"),v+=d*a,f=s<=A?u:s>=A+h?h:s-A,d<f)break;g=l-f,a>w(c/g)&&T("overflow"),a*=g}t=b.length+1,A=j(v-r,t,0==r),w(v/t)>c-O&&T("overflow"),O+=w(v/t),v%=t,b.splice(v++,0,O)}return S(b)}function R(e){var t,n,i,o,r,a,s,d,f,g,b,y,v,O,C,E=[];for(e=x(e),y=e.length,t=m,n=0,r=p,a=0;a<y;++a)b=e[a],b<128&&E.push(A(b));i=o=E.length,o&&E.push(_);while(i<y){for(s=c,a=0;a<y;++a)b=e[a],b>=t&&b<s&&(s=b);for(v=i+1,s-t>w((c-n)/v)&&T("overflow"),n+=(s-t)*v,t=s,a=0;a<y;++a)if(b=e[a],b<t&&++n>c&&T("overflow"),b==t){for(d=n,f=l;;f+=l){if(g=f<=r?u:f>=r+h?h:f-r,d<g)break;C=d-g,O=l-g,E.push(A(D(g+C%O,0))),d=w(C/O)}E.push(A(D(d,0))),r=j(n,v,i==o),n=0,++i}++n,++t}return E.join("")}function M(e){return E(e,(function(e){return g.test(e)?P(e.slice(4).toLowerCase()):e}))}function N(e){return E(e,(function(e){return b.test(e)?"xn--"+R(e):e}))}s={version:"1.4.1",ucs2:{decode:x,encode:S},decode:P,encode:R,toASCII:N,toUnicode:M},o=function(){return s}.call(t,n,t,e),void 0===o||(e.exports=o)})()}).call(this,n("62e4")(e),n("c8ba"))},"1a99":function(e,t,n){"use strict";var i=n("881b"),o=n("2f63"),r=n("4f04");function a(e,t){if(!Object(o["a"])(e))throw new r["a"]("uri is required.");let n="";const a=e.lastIndexOf("/");return-1!==a&&(n=e.substring(0,a+1)),t?(e=new i["a"](e),0!==e.query().length&&(n+="?"+e.query()),0!==e.fragment().length&&(n+="#"+e.fragment()),n):n}t["a"]=a},"1f30":function(e,t,n){"use strict";var i=n("881b"),o=n("2f63"),r=n("4f04");function a(e){if(!Object(o["a"])(e))throw new r["a"]("uri is required.");const t=new i["a"](e);t.normalize();let n=t.path(),a=n.lastIndexOf("/");return-1!==a&&(n=n.substr(a+1)),a=n.lastIndexOf("."),n=-1===a?"":n.substr(a+1),n}t["a"]=a},"21d7":function(e,t,n){"use strict";var i=n("d4da"),o=n("2f63");function r(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}function a(e,t){return t-e}Object.defineProperties(r.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}}),r.prototype.addEventListener=function(e,t){i["a"].typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);const n=this;return function(){n.removeEventListener(e,t)}},r.prototype.removeEventListener=function(e,t){i["a"].typeOf.func("listener",e);const n=this._listeners,o=this._scopes;let r=-1;for(let i=0;i<n.length;i++)if(n[i]===e&&o[i]===t){r=i;break}return-1!==r&&(this._insideRaiseEvent?(this._toRemove.push(r),n[r]=void 0,o[r]=void 0):(n.splice(r,1),o.splice(r,1)),!0)},r.prototype.raiseEvent=function(){let e;this._insideRaiseEvent=!0;const t=this._listeners,n=this._scopes;let i=t.length;for(e=0;e<i;e++){const i=t[e];Object(o["a"])(i)&&t[e].apply(n[e],arguments)}const r=this._toRemove;if(i=r.length,i>0){for(r.sort(a),e=0;e<i;e++){const i=r[e];t.splice(i,1),n.splice(i,1)}r.length=0}this._insideRaiseEvent=!1},t["a"]=r},"24f8":function(e,t,n){var i=n("9490"),o=n("0b16"),r=e.exports;for(var a in i)i.hasOwnProperty(a)&&(r[a]=i[a]);function s(e){if("string"===typeof e&&(e=o.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}r.request=function(e,t){return e=s(e),i.request.call(this,e,t)},r.get=function(e,t){return e=s(e),i.get.call(this,e,t)}},2720:function(e,t,n){"use strict";var i=n("2f63");const o={};function r(e,t,n){Object(i["a"])(t)||(t=e.width),Object(i["a"])(n)||(n=e.height);let r=o[t];Object(i["a"])(r)||(r={},o[t]=r);let a=r[n];if(!Object(i["a"])(a)){const e=document.createElement("canvas");e.width=t,e.height=n,a=e.getContext("2d"),a.globalCompositeOperation="copy",r[n]=a}return a.drawImage(e,0,0,t,n),a.getImageData(0,0,t,n).data}t["a"]=r},"27bf":function(e,t,n){"use strict";e.exports=a;var i=n("b19a"),o=Object.create(n("3a7c"));function r(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}function a(e){if(!(this instanceof a))return new a(e);i.call(this,e),this._transformState={afterTransform:r.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"===typeof e.transform&&(this._transform=e.transform),"function"===typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"===typeof this._flush?this._flush((function(t,n){c(e,t,n)})):c(this,null,null)}function c(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}o.inherits=n("3fb5"),o.inherits(a,i),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,i.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,n){var i=this._transformState;if(i.writecb=n,i.writechunk=e,i.writeencoding=t,!i.transforming){var o=this._readableState;(i.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var n=this;i.prototype._destroy.call(this,e,(function(e){t(e),n.emit("close")}))}},"283e":function(e,t,n){"use strict";var i=n("2f63");function o(e){let t;this.name="RuntimeError",this.message=e;try{throw new Error}catch(n){t=n.stack}this.stack=t}Object(i["a"])(Object.create)&&(o.prototype=Object.create(Error.prototype),o.prototype.constructor=o),o.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return Object(i["a"])(this.stack)&&(e+="\n"+this.stack.toString()),e},t["a"]=o},2899:function(e,t,n){"use strict";n("f7c0")},"28a0":function(e,t){"function"===typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},"2b0e":function(e,t,n){"use strict";n("b0b2")},"2bb9":function(e,t,n){"use strict";var i=n("535a"),o=n("2f63");function r(e,t,n){n=Object(i["a"])(n,!1);const a={},s=Object(o["a"])(e),c=Object(o["a"])(t);let l,u,h;if(s)for(l in e)e.hasOwnProperty(l)&&(u=e[l],c&&n&&"object"===typeof u&&t.hasOwnProperty(l)?(h=t[l],a[l]="object"===typeof h?r(u,h,n):u):a[l]=u);if(c)for(l in t)t.hasOwnProperty(l)&&!a.hasOwnProperty(l)&&(h=t[l],a[l]=h);return a}t["a"]=r},"2c63a":function(e,t,n){e.exports=n("dc14")},"2ceb":function(e,t,n){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},"2f63":function(e,t,n){"use strict";function i(e){return void 0!==e&&null!==e}t["a"]=i},3:function(e,t){},"3022d":function(e,t,n){(function(e){var i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},i=0;i<t.length;i++)n[t[i]]=Object.getOwnPropertyDescriptor(e,t[i]);return n},o=/%[sdj%]/g;t.format=function(e){if(!w(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var i=arguments,r=i.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(t){return"[Circular]"}default:return e}})),c=i[n];n<r;c=i[++n])y(c)||!E(c)?a+=" "+c:a+=" "+s(c);return a},t.deprecate=function(n,i){if("undefined"!==typeof e&&!0===e.noDeprecation)return n;if("undefined"===typeof e)return function(){return t.deprecate(n,i).apply(this,arguments)};var o=!1;function r(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return n.apply(this,arguments)}return r};var r,a={};function s(e,n){var i={seen:[],stylize:l};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),b(n)?i.showHidden=n:n&&t._extend(i,n),T(i.showHidden)&&(i.showHidden=!1),T(i.depth)&&(i.depth=2),T(i.colors)&&(i.colors=!1),T(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=c),h(i,e,i.depth)}function c(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function l(e,t){return e}function u(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}function h(e,n,i){if(e.customInspect&&n&&I(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(i,e);return w(o)||(o=h(e,o,i)),o}var r=d(e,n);if(r)return r;var a=Object.keys(n),s=u(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),S(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(I(n)){var c=n.name?": "+n.name:"";return e.stylize("[Function"+c+"]","special")}if(C(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return e.stylize(Date.prototype.toString.call(n),"date");if(S(n))return f(n)}var l,b="",y=!1,v=["{","}"];if(g(n)&&(y=!0,v=["[","]"]),I(n)){var O=n.name?": "+n.name:"";b=" [Function"+O+"]"}return C(n)&&(b=" "+RegExp.prototype.toString.call(n)),x(n)&&(b=" "+Date.prototype.toUTCString.call(n)),S(n)&&(b=" "+f(n)),0!==a.length||y&&0!=n.length?i<0?C(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),l=y?p(e,n,i,s,a):a.map((function(t){return m(e,n,i,s,t,y)})),e.seen.pop(),_(l,b,v)):v[0]+b+v[1]}function d(e,t){if(T(t))return e.stylize("undefined","undefined");if(w(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return O(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,i,o){for(var r=[],a=0,s=t.length;a<s;++a)N(t,String(a))?r.push(m(e,t,n,i,String(a),!0)):r.push("");return o.forEach((function(o){o.match(/^\d+$/)||r.push(m(e,t,n,i,o,!0))})),r}function m(e,t,n,i,o,r){var a,s,c;if(c=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]},c.get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),N(i,o)||(a="["+o+"]"),s||(e.seen.indexOf(c.value)<0?(s=y(n)?h(e,c.value,null):h(e,c.value,n-1),s.indexOf("\n")>-1&&(s=r?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n"))):s=e.stylize("[Circular]","special")),T(a)){if(r&&o.match(/^\d+$/))return s;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function _(e,t,n){var i=e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return i>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function g(e){return Array.isArray(e)}function b(e){return"boolean"===typeof e}function y(e){return null===e}function v(e){return null==e}function O(e){return"number"===typeof e}function w(e){return"string"===typeof e}function A(e){return"symbol"===typeof e}function T(e){return void 0===e}function C(e){return E(e)&&"[object RegExp]"===j(e)}function E(e){return"object"===typeof e&&null!==e}function x(e){return E(e)&&"[object Date]"===j(e)}function S(e){return E(e)&&("[object Error]"===j(e)||e instanceof Error)}function I(e){return"function"===typeof e}function D(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e}function j(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(n){if(T(r)&&(r=Object({NODE_ENV:"production",VUE_APP_ADAPTERURL:"http://10.81.3.155:8011",VUE_APP_API:"http://10.81.3.155:8020",VUE_APP_Matrix:"http://10.81.3.155:8170",BASE_URL:""}).NODE_DEBUG||""),n=n.toUpperCase(),!a[n])if(new RegExp("\\b"+n+"\\b","i").test(r)){var i=e.pid;a[n]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",n,i,e)}}else a[n]=function(){};return a[n]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=g,t.isBoolean=b,t.isNull=y,t.isNullOrUndefined=v,t.isNumber=O,t.isString=w,t.isSymbol=A,t.isUndefined=T,t.isRegExp=C,t.isObject=E,t.isDate=x,t.isError=S,t.isFunction=I,t.isPrimitive=D,t.isBuffer=n("d60a");var R=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[P(e.getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":");return[e.getDate(),R[e.getMonth()],t].join(" ")}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=n("28a0"),t._extend=function(e,t){if(!t||!E(t))return e;var n=Object.keys(t),i=n.length;while(i--)e[n[i]]=t[n[i]];return e};var L="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function B(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}function F(t){if("function"!==typeof t)throw new TypeError('The "original" argument must be of type Function');function n(){for(var n=[],i=0;i<arguments.length;i++)n.push(arguments[i]);var o=n.pop();if("function"!==typeof o)throw new TypeError("The last argument must be of type Function");var r=this,a=function(){return o.apply(r,arguments)};t.apply(this,n).then((function(t){e.nextTick(a,null,t)}),(function(t){e.nextTick(B,t,a)}))}return Object.setPrototypeOf(n,Object.getPrototypeOf(t)),Object.defineProperties(n,i(t)),n}t.promisify=function(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');if(L&&e[L]){var t=e[L];if("function"!==typeof t)throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,L,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,i=new Promise((function(e,i){t=e,n=i})),o=[],r=0;r<arguments.length;r++)o.push(arguments[r]);o.push((function(e,i){e?n(e):t(i)}));try{e.apply(this,o)}catch(a){n(a)}return i}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),L&&Object.defineProperty(t,L,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,i(e))},t.promisify.custom=L,t.callbackify=F}).call(this,n("4362"))},"320c":function(e,t,n){"use strict";
  2. /*
  3. object-assign
  4. (c) Sindre Sorhus
  5. @license MIT
  6. */var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function s(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var i=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if("0123456789"!==i.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach((function(e){o[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(r){return!1}}e.exports=s()?Object.assign:function(e,t){for(var n,s,c=a(e),l=1;l<arguments.length;l++){for(var u in n=Object(arguments[l]),n)o.call(n,u)&&(c[u]=n[u]);if(i){s=i(n);for(var h=0;h<s.length;h++)r.call(n,s[h])&&(c[s[h]]=n[s[h]])}}return c}},3596:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return m}));const i=[171,75,84,88,32,50,48,187,13,10,26,10];var o,r,a,s,c,l,u,h;!function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"}(o||(o={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(r||(r={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(a||(a={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(s||(s={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(c||(c={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(l||(l={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(u||(u={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(h||(h={}));class d{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=o.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:r.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:a.UNSPECIFIED,colorPrimaries:s.SRGB,transferFunction:s.SRGB,flags:l.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}}class f{constructor(e,t,n,i){this._dataView=new DataView(e.buffer,e.byteOffset+t,n),this._littleEndian=i,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,e}_skip(e){return this._offset+=e,this}_scan(e,t=0){const n=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==t&&i<e;)i++,this._offset++;return i<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}}function p(t){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(t):e.from(t).toString("utf8")}function m(e){const t=new Uint8Array(e.buffer,e.byteOffset,i.length);if(t[0]!==i[0]||t[1]!==i[1]||t[2]!==i[2]||t[3]!==i[3]||t[4]!==i[4]||t[5]!==i[5]||t[6]!==i[6]||t[7]!==i[7]||t[8]!==i[8]||t[9]!==i[9]||t[10]!==i[10]||t[11]!==i[11])throw new Error("Missing KTX 2.0 identifier.");const n=new d,o=17*Uint32Array.BYTES_PER_ELEMENT,r=new f(e,i.length,o,!0);n.vkFormat=r._nextUint32(),n.typeSize=r._nextUint32(),n.pixelWidth=r._nextUint32(),n.pixelHeight=r._nextUint32(),n.pixelDepth=r._nextUint32(),n.layerCount=r._nextUint32(),n.faceCount=r._nextUint32();const a=r._nextUint32();n.supercompressionScheme=r._nextUint32();const s=r._nextUint32(),c=r._nextUint32(),l=r._nextUint32(),u=r._nextUint32(),h=r._nextUint64(),m=r._nextUint64(),_=new f(e,i.length+o,3*a*8,!0);for(let i=0;i<a;i++)n.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+_._nextUint64(),_._nextUint64()),uncompressedByteLength:_._nextUint64()});const g=new f(e,s,c,!0),b={vendorId:g._skip(4)._nextUint16(),descriptorType:g._nextUint16(),versionNumber:g._nextUint16(),descriptorBlockSize:g._nextUint16(),colorModel:g._nextUint8(),colorPrimaries:g._nextUint8(),transferFunction:g._nextUint8(),flags:g._nextUint8(),texelBlockDimension:{x:g._nextUint8()+1,y:g._nextUint8()+1,z:g._nextUint8()+1,w:g._nextUint8()+1},bytesPlane:[g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8()],samples:[]},y=(b.descriptorBlockSize/4-6)/4;for(let i=0;i<y;i++)b.samples[i]={bitOffset:g._nextUint16(),bitLength:g._nextUint8(),channelID:g._nextUint8(),samplePosition:[g._nextUint8(),g._nextUint8(),g._nextUint8(),g._nextUint8()],sampleLower:g._nextUint32(),sampleUpper:g._nextUint32()};n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(b);const v=new f(e,l,u,!0);for(;v._offset<u;){const e=v._nextUint32(),t=v._scan(e),i=p(t),o=v._scan(e-t.byteLength);n.keyValue[i]=i.match(/^ktx/i)?p(o):o,v._offset%4&&v._skip(4-v._offset%4)}if(m<=0)return n;const O=new f(e,h,m,!0),w=O._nextUint16(),A=O._nextUint16(),T=O._nextUint32(),C=O._nextUint32(),E=O._nextUint32(),x=O._nextUint32(),S=[];for(let i=0;i<a;i++)S.push({imageFlags:O._nextUint32(),rgbSliceByteOffset:O._nextUint32(),rgbSliceByteLength:O._nextUint32(),alphaSliceByteOffset:O._nextUint32(),alphaSliceByteLength:O._nextUint32()});const I=h+O._offset,D=I+T,j=D+C,P=j+E,R=new Uint8Array(e.buffer,e.byteOffset+I,T),M=new Uint8Array(e.buffer,e.byteOffset+D,C),N=new Uint8Array(e.buffer,e.byteOffset+j,E),L=new Uint8Array(e.buffer,e.byteOffset+P,x);return n.globalData={endpointCount:w,selectorCount:A,imageDescs:S,endpointsData:R,selectorsData:M,tablesData:N,extendedData:L},n}}).call(this,n("b639").Buffer)},"35e8":function(e,t,n){"use strict";e.exports={isString:function(e){return"string"===typeof e},isObject:function(e){return"object"===typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},"3a7c":function(e,t,n){function i(e){return Array.isArray?Array.isArray(e):"[object Array]"===g(e)}function o(e){return"boolean"===typeof e}function r(e){return null===e}function a(e){return null==e}function s(e){return"number"===typeof e}function c(e){return"string"===typeof e}function l(e){return"symbol"===typeof e}function u(e){return void 0===e}function h(e){return"[object RegExp]"===g(e)}function d(e){return"object"===typeof e&&null!==e}function f(e){return"[object Date]"===g(e)}function p(e){return"[object Error]"===g(e)||e instanceof Error}function m(e){return"function"===typeof e}function _(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e}function g(e){return Object.prototype.toString.call(e)}t.isArray=i,t.isBoolean=o,t.isNull=r,t.isNullOrUndefined=a,t.isNumber=s,t.isString=c,t.isSymbol=l,t.isUndefined=u,t.isRegExp=h,t.isObject=d,t.isDate=f,t.isError=p,t.isFunction=m,t.isPrimitive=_,t.isBuffer=n("b639").Buffer.isBuffer},"3c35":function(e,t){(function(t){e.exports=t}).call(this,{})},"3e44":function(e,t,n){"use strict";var i=n("881b"),o=n("2f63"),r=n("4f04");const a={};let s={};function c(e){const t=new i["a"](e);t.normalize();let n=t.authority();if(0!==n.length){if(t.authority(n),-1!==n.indexOf("@")){const e=n.split("@");n=e[1]}if(-1===n.indexOf(":")){let e=t.scheme();if(0===e.length&&(e=window.location.protocol,e=e.substring(0,e.length-1)),"http"===e)n+=":80";else{if("https"!==e)return;n+=":443"}}return n}}a.add=function(e,t){if(!Object(o["a"])(e))throw new r["a"]("host is required.");if(!Object(o["a"])(t)||t<=0)throw new r["a"]("port is required to be greater than 0.");const n=`${e.toLowerCase()}:${t}`;Object(o["a"])(s[n])||(s[n]=!0)},a.remove=function(e,t){if(!Object(o["a"])(e))throw new r["a"]("host is required.");if(!Object(o["a"])(t)||t<=0)throw new r["a"]("port is required to be greater than 0.");const n=`${e.toLowerCase()}:${t}`;Object(o["a"])(s[n])&&delete s[n]},a.contains=function(e){if(!Object(o["a"])(e))throw new r["a"]("url is required.");const t=c(e);return!(!Object(o["a"])(t)||!Object(o["a"])(s[t]))},a.clear=function(){s={}},t["a"]=a},"3fb5":function(e,t){"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},4:function(e,t){},"429a":function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id="429a"},"429b":function(e,t,n){e.exports=n("faa1").EventEmitter},4681:function(e,t,n){"use strict";var i=n("966d");function o(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,r=this._writableState&&this._writableState.destroyed;return o||r?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i.nextTick(a,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(i.nextTick(a,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})),this)}function r(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}e.exports={destroy:o,undestroy:r}},"470b":function(e,t,n){"use strict";(function(e){var i=n("b639").Buffer,o=n("d485").Transform,r=n("6b75e"),a=n("3022d"),s=n("f654").ok,c=n("b639").kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+c.toString(16)+" bytes";r.Z_MIN_WINDOWBITS=8,r.Z_MAX_WINDOWBITS=15,r.Z_DEFAULT_WINDOWBITS=15,r.Z_MIN_CHUNK=64,r.Z_MAX_CHUNK=1/0,r.Z_DEFAULT_CHUNK=16384,r.Z_MIN_MEMLEVEL=1,r.Z_MAX_MEMLEVEL=9,r.Z_DEFAULT_MEMLEVEL=8,r.Z_MIN_LEVEL=-1,r.Z_MAX_LEVEL=9,r.Z_DEFAULT_LEVEL=r.Z_DEFAULT_COMPRESSION;for(var u=Object.keys(r),h=0;h<u.length;h++){var d=u[h];d.match(/^Z/)&&Object.defineProperty(t,d,{enumerable:!0,value:r[d],writable:!1})}for(var f={Z_OK:r.Z_OK,Z_STREAM_END:r.Z_STREAM_END,Z_NEED_DICT:r.Z_NEED_DICT,Z_ERRNO:r.Z_ERRNO,Z_STREAM_ERROR:r.Z_STREAM_ERROR,Z_DATA_ERROR:r.Z_DATA_ERROR,Z_MEM_ERROR:r.Z_MEM_ERROR,Z_BUF_ERROR:r.Z_BUF_ERROR,Z_VERSION_ERROR:r.Z_VERSION_ERROR},p=Object.keys(f),m=0;m<p.length;m++){var _=p[m];f[f[_]]=_}function g(e,t,n){var o=[],r=0;function a(){var t;while(null!==(t=e.read()))o.push(t),r+=t.length;e.once("readable",a)}function s(t){e.removeListener("end",u),e.removeListener("readable",a),n(t)}function u(){var t,a=null;r>=c?a=new RangeError(l):t=i.concat(o,r),o=[],e.close(),n(a,t)}e.on("error",s),e.on("end",u),e.end(t),a()}function b(e,t){if("string"===typeof t&&(t=i.from(t)),!i.isBuffer(t))throw new TypeError("Not a string or buffer");var n=e._finishFlushFlag;return e._processChunk(t,n)}function y(e){if(!(this instanceof y))return new y(e);x.call(this,e,r.DEFLATE)}function v(e){if(!(this instanceof v))return new v(e);x.call(this,e,r.INFLATE)}function O(e){if(!(this instanceof O))return new O(e);x.call(this,e,r.GZIP)}function w(e){if(!(this instanceof w))return new w(e);x.call(this,e,r.GUNZIP)}function A(e){if(!(this instanceof A))return new A(e);x.call(this,e,r.DEFLATERAW)}function T(e){if(!(this instanceof T))return new T(e);x.call(this,e,r.INFLATERAW)}function C(e){if(!(this instanceof C))return new C(e);x.call(this,e,r.UNZIP)}function E(e){return e===r.Z_NO_FLUSH||e===r.Z_PARTIAL_FLUSH||e===r.Z_SYNC_FLUSH||e===r.Z_FULL_FLUSH||e===r.Z_FINISH||e===r.Z_BLOCK}function x(e,n){var a=this;if(this._opts=e=e||{},this._chunkSize=e.chunkSize||t.Z_DEFAULT_CHUNK,o.call(this,e),e.flush&&!E(e.flush))throw new Error("Invalid flush flag: "+e.flush);if(e.finishFlush&&!E(e.finishFlush))throw new Error("Invalid flush flag: "+e.finishFlush);if(this._flushFlag=e.flush||r.Z_NO_FLUSH,this._finishFlushFlag="undefined"!==typeof e.finishFlush?e.finishFlush:r.Z_FINISH,e.chunkSize&&(e.chunkSize<t.Z_MIN_CHUNK||e.chunkSize>t.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<t.Z_MIN_WINDOWBITS||e.windowBits>t.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<t.Z_MIN_LEVEL||e.level>t.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<t.Z_MIN_MEMLEVEL||e.memLevel>t.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=t.Z_FILTERED&&e.strategy!=t.Z_HUFFMAN_ONLY&&e.strategy!=t.Z_RLE&&e.strategy!=t.Z_FIXED&&e.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!i.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new r.Zlib(n);var s=this;this._hadError=!1,this._handle.onerror=function(e,n){S(s),s._hadError=!0;var i=new Error(e);i.errno=n,i.code=t.codes[n],s.emit("error",i)};var c=t.Z_DEFAULT_COMPRESSION;"number"===typeof e.level&&(c=e.level);var l=t.Z_DEFAULT_STRATEGY;"number"===typeof e.strategy&&(l=e.strategy),this._handle.init(e.windowBits||t.Z_DEFAULT_WINDOWBITS,c,e.memLevel||t.Z_DEFAULT_MEMLEVEL,l,e.dictionary),this._buffer=i.allocUnsafe(this._chunkSize),this._offset=0,this._level=c,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!a._handle},configurable:!0,enumerable:!0})}function S(t,n){n&&e.nextTick(n),t._handle&&(t._handle.close(),t._handle=null)}function I(e){e.emit("close")}Object.defineProperty(t,"codes",{enumerable:!0,value:Object.freeze(f),writable:!1}),t.Deflate=y,t.Inflate=v,t.Gzip=O,t.Gunzip=w,t.DeflateRaw=A,t.InflateRaw=T,t.Unzip=C,t.createDeflate=function(e){return new y(e)},t.createInflate=function(e){return new v(e)},t.createDeflateRaw=function(e){return new A(e)},t.createInflateRaw=function(e){return new T(e)},t.createGzip=function(e){return new O(e)},t.createGunzip=function(e){return new w(e)},t.createUnzip=function(e){return new C(e)},t.deflate=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new y(t),e,n)},t.deflateSync=function(e,t){return b(new y(t),e)},t.gzip=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new O(t),e,n)},t.gzipSync=function(e,t){return b(new O(t),e)},t.deflateRaw=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new A(t),e,n)},t.deflateRawSync=function(e,t){return b(new A(t),e)},t.unzip=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new C(t),e,n)},t.unzipSync=function(e,t){return b(new C(t),e)},t.inflate=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new v(t),e,n)},t.inflateSync=function(e,t){return b(new v(t),e)},t.gunzip=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new w(t),e,n)},t.gunzipSync=function(e,t){return b(new w(t),e)},t.inflateRaw=function(e,t,n){return"function"===typeof t&&(n=t,t={}),g(new T(t),e,n)},t.inflateRawSync=function(e,t){return b(new T(t),e)},a.inherits(x,o),x.prototype.params=function(n,i,o){if(n<t.Z_MIN_LEVEL||n>t.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+n);if(i!=t.Z_FILTERED&&i!=t.Z_HUFFMAN_ONLY&&i!=t.Z_RLE&&i!=t.Z_FIXED&&i!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+i);if(this._level!==n||this._strategy!==i){var a=this;this.flush(r.Z_SYNC_FLUSH,(function(){s(a._handle,"zlib binding closed"),a._handle.params(n,i),a._hadError||(a._level=n,a._strategy=i,o&&o())}))}else e.nextTick(o)},x.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},x.prototype._flush=function(e){this._transform(i.alloc(0),"",e)},x.prototype.flush=function(t,n){var o=this,a=this._writableState;("function"===typeof t||void 0===t&&!n)&&(n=t,t=r.Z_FULL_FLUSH),a.ended?n&&e.nextTick(n):a.ending?n&&this.once("end",n):a.needDrain?n&&this.once("drain",(function(){return o.flush(t,n)})):(this._flushFlag=t,this.write(i.alloc(0),"",n))},x.prototype.close=function(t){S(this,t),e.nextTick(I,this)},x.prototype._transform=function(e,t,n){var o,a=this._writableState,s=a.ending||a.ended,c=s&&(!e||a.length===e.length);return null===e||i.isBuffer(e)?this._handle?(c?o=this._finishFlushFlag:(o=this._flushFlag,e.length>=a.length&&(this._flushFlag=this._opts.flush||r.Z_NO_FLUSH)),void this._processChunk(e,o,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},x.prototype._processChunk=function(e,t,n){var o=e&&e.length,r=this._chunkSize-this._offset,a=0,u=this,h="function"===typeof n;if(!h){var d,f=[],p=0;this.on("error",(function(e){d=e})),s(this._handle,"zlib binding closed");do{var m=this._handle.writeSync(t,e,a,o,this._buffer,this._offset,r)}while(!this._hadError&&b(m[0],m[1]));if(this._hadError)throw d;if(p>=c)throw S(this),new RangeError(l);var _=i.concat(f,p);return S(this),_}s(this._handle,"zlib binding closed");var g=this._handle.write(t,e,a,o,this._buffer,this._offset,r);function b(c,l){if(this&&(this.buffer=null,this.callback=null),!u._hadError){var d=r-l;if(s(d>=0,"have should not go down"),d>0){var m=u._buffer.slice(u._offset,u._offset+d);u._offset+=d,h?u.push(m):(f.push(m),p+=m.length)}if((0===l||u._offset>=u._chunkSize)&&(r=u._chunkSize,u._offset=0,u._buffer=i.allocUnsafe(u._chunkSize)),0===l){if(a+=o-c,o=c,!h)return!0;var _=u._handle.write(t,e,a,o,u._buffer,u._offset,u._chunkSize);return _.callback=b,void(_.buffer=e)}if(!h)return!1;n()}}g.buffer=e,g.callback=b},a.inherits(y,x),a.inherits(v,x),a.inherits(O,x),a.inherits(w,x),a.inherits(A,x),a.inherits(T,x),a.inherits(C,x)}).call(this,n("4362"))},"4ca2":function(e,t,n){"use strict";var i=n("2f63"),o=n("fa2f");function r(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,"string"===typeof this.responseHeaders&&(this.responseHeaders=Object(o["a"])(this.responseHeaders))}r.prototype.toString=function(){let e="Request has failed.";return Object(i["a"])(this.statusCode)&&(e+=" Status Code: "+this.statusCode),e},t["a"]=r},"4dc6":function(e,t,n){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},"4df4":function(e,t,n){"use strict";var i=n("0366"),o=n("c65b"),r=n("7b0b"),a=n("9bdd"),s=n("e95a"),c=n("68ee"),l=n("07fa"),u=n("8418"),h=n("9a1f"),d=n("35a1"),f=Array;e.exports=function(e){var t=r(e),n=c(this),p=arguments.length,m=p>1?arguments[1]:void 0,_=void 0!==m;_&&(m=i(m,p>2?arguments[2]:void 0));var g,b,y,v,O,w,A=d(t),T=0;if(!A||this===f&&s(A))for(g=l(t),b=n?new this(g):f(g);g>T;T++)w=_?m(t[T],T):t[T],u(b,T,w);else for(v=h(t,A),O=v.next,b=n?new this:[];!(y=o(O,v)).done;T++)w=_?a(v,m,[y.value,T],!0):y.value,u(b,T,w);return b.length=T,b}},"4f04":function(e,t,n){"use strict";var i=n("2f63");function o(e){let t;this.name="DeveloperError",this.message=e;try{throw new Error}catch(n){t=n.stack}this.stack=t}Object(i["a"])(Object.create)&&(o.prototype=Object.create(Error.prototype),o.prototype.constructor=o),o.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return Object(i["a"])(this.stack)&&(e+="\n"+this.stack.toString()),e},o.throwInstantiationError=function(){throw new o("This function defines an interface and should not be called directly.")},t["a"]=o},"535a":function(e,t,n){"use strict";function i(e,t){return void 0!==e&&null!==e?e:t}i.EMPTY_OBJECT=Object.freeze({}),t["a"]=i},"53a8":function(e,t){e.exports=i;var n=Object.prototype.hasOwnProperty;function i(){for(var e={},t=0;t<arguments.length;t++){var i=arguments[t];for(var o in i)n.call(i,o)&&(e[o]=i[o])}return e}},5667:function(e){e.exports=JSON.parse('[{"header":{"discipline":0,"disciplineName":"Meteorological products","gribEdition":2,"gribLength":73286,"center":7,"centerName":"US National Weather Service - NCEP(WMC)","subcenter":2,"refTime":"2018-06-25T00:00:00.000Z","significanceOfRT":1,"significanceOfRTName":"Start of forecast","productStatus":0,"productStatusName":"Operational products","productType":3,"productTypeName":"Control Forecast products","productDefinitionTemplate":1,"productDefinitionTemplateName":"Individual ensemble forecast at a point in time","parameterCategory":2,"parameterCategoryName":"Momentum","parameterNumber":2,"parameterNumberName":"U-component_of_wind","parameterUnit":"m.s-1","genProcessType":4,"genProcessTypeName":"Ensemble Forecast","forecastTime":0,"surface1Type":103,"surface1TypeName":"Specified height level above ground","surface1Value":10,"surface2Type":255,"surface2TypeName":"Missing","surface2Value":0,"gridDefinitionTemplate":0,"gridDefinitionTemplateName":"Latitude_Longitude","numberPoints":65160,"shape":6,"shapeName":"Earth spherical with radius of 6,371,229.0 m","gridUnits":"degrees","resolution":48,"winds":"true","scanMode":0,"nx":360,"ny":181,"basicAngle":0,"subDivisions":0,"lo1":0,"la1":90,"lo2":359,"la2":-90,"dx":1,"dy":1},"data":[-5.76,-5.7,-5.63,-5.57,-5.51,-5.44,-5.37,-5.3,-5.23,-5.16,-5.08,-5,-4.93,-4.85,-4.77,-4.68,-4.6,-4.51,-4.43,-4.34,-4.25,-4.16,-4.07,-3.98,-3.88,-3.79,-3.69,-3.59,-3.49,-3.39,-3.29,-3.19,-3.09,-2.98,-2.88,-2.77,-2.67,-2.56,-2.45,-2.34,-2.23,-2.12,-2.01,-1.9,-1.79,-1.68,-1.56,-1.45,-1.34,-1.22,-1.11,-0.99,-0.88,-0.76,-0.64,-0.53,-0.41,-0.3,-0.18,-0.06,0.05,0.17,0.29,0.4,0.52,0.64,0.75,0.87,0.98,1.1,1.21,1.33,1.44,1.56,1.67,1.78,1.89,2,2.12,2.23,2.34,2.44,2.55,2.66,2.77,2.87,2.98,3.08,3.18,3.29,3.39,3.49,3.58,3.68,3.78,3.87,3.97,4.06,4.15,4.24,4.33,4.42,4.51,4.59,4.68,4.76,4.84,4.92,5,5.08,5.15,5.22,5.3,5.37,5.43,5.5,5.57,5.63,5.69,5.75,5.81,5.87,5.92,5.97,6.03,6.08,6.12,6.17,6.21,6.25,6.29,6.33,6.37,6.4,6.43,6.46,6.49,6.52,6.54,6.57,6.59,6.6,6.62,6.64,6.65,6.66,6.67,6.67,6.68,6.68,6.68,6.68,6.67,6.67,6.66,6.65,6.64,6.62,6.61,6.59,6.57,6.55,6.52,6.49,6.47,6.44,6.4,6.37,6.33,6.3,6.26,6.22,6.17,6.13,6.08,6.03,5.98,5.93,5.87,5.81,5.76,5.7,5.63,5.57,5.51,5.44,5.37,5.3,5.23,5.16,5.08,5,4.93,4.85,4.77,4.68,4.6,4.51,4.43,4.34,4.25,4.16,4.07,3.98,3.88,3.79,3.69,3.59,3.49,3.39,3.29,3.19,3.09,2.98,2.88,2.77,2.67,2.56,2.45,2.34,2.23,2.12,2.01,1.9,1.79,1.68,1.56,1.45,1.34,1.22,1.11,0.99,0.88,0.76,0.64,0.53,0.41,0.3,0.18,0.06,-0.05,-0.17,-0.29,-0.4,-0.52,-0.64,-0.75,-0.87,-0.98,-1.1,-1.21,-1.33,-1.44,-1.56,-1.67,-1.78,-1.89,-2,-2.12,-2.23,-2.34,-2.44,-2.55,-2.66,-2.77,-2.87,-2.98,-3.08,-3.18,-3.29,-3.39,-3.49,-3.58,-3.68,-3.78,-3.87,-3.97,-4.06,-4.15,-4.24,-4.33,-4.42,-4.51,-4.59,-4.68,-4.76,-4.84,-4.92,-5,-5.08,-5.15,-5.22,-5.3,-5.37,-5.43,-5.5,-5.57,-5.63,-5.69,-5.75,-5.81,-5.87,-5.92,-5.97,-6.03,-6.08,-6.12,-6.17,-6.21,-6.25,-6.29,-6.33,-6.37,-6.4,-6.43,-6.46,-6.49,-6.52,-6.54,-6.57,-6.59,-6.6,-6.62,-6.64,-6.65,-6.66,-6.67,-6.67,-6.68,-6.68,-6.68,-6.68,-6.67,-6.67,-6.66,-6.65,-6.64,-6.62,-6.61,-6.59,-6.57,-6.55,-6.52,-6.49,-6.47,-6.44,-6.4,-6.37,-6.33,-6.3,-6.26,-6.22,-6.17,-6.13,-6.08,-6.03,-5.98,-5.93,-5.87,-5.81,-5.83,-5.79,-5.75,-5.7,-5.65,-5.61,-5.56,-5.51,-5.46,-5.41,-5.35,-5.3,-5.24,-5.18,-5.12,-5.06,-5,-4.94,-4.87,-4.8,-4.73,-4.67,-4.6,-4.52,-4.45,-4.37,-4.29,-4.21,-4.14,-4.05,-3.97,-3.88,-3.79,-3.71,-3.62,-3.52,-3.44,-3.35,-3.25,-3.16,-3.06,-2.96,-2.86,-2.76,-2.66,-2.56,-2.46,-2.35,-2.24,-2.14,-2.04,-1.92,-1.81,-1.7,-1.59,-1.48,-1.37,-1.26,-1.14,-1.03,-0.91,-0.79,-0.68,-0.56,-0.44,-0.32,-0.2,-0.08,0.03,0.16,0.28,0.4,0.52,0.64,0.76,0.89,1.01,1.13,1.26,1.38,1.5,1.62,1.74,1.86,1.98,2.11,2.22,2.35,2.47,2.58,2.7,2.82,2.93,3.05,3.16,3.27,3.39,3.5,3.61,3.71,3.82,3.93,4.04,4.14,4.23,4.34,4.44,4.54,4.63,4.72,4.81,4.9,4.99,5.08,5.15,5.23,5.31,5.39,5.47,5.54,5.61,5.68,5.74,5.81,5.87,5.93,5.98,6.03,6.08,6.14,6.18,6.22,6.26,6.3,6.34,6.38,6.4,6.43,6.45,6.48,6.51,6.53,6.54,6.54,6.56,6.57,6.58,6.58,6.57,6.57,6.56,6.56,6.56,6.54,6.52,6.5,6.49,6.47,6.44,6.42,6.38,6.35,6.33,6.29,6.25,6.21,6.16,6.12,6.08,6.03,5.98,5.92,5.87,5.81,5.76,5.69,5.63,5.56,5.5,5.43,5.36,5.28,5.2,5.13,5.05,4.97,4.89,4.8,4.72,4.63,4.54,4.45,4.36,4.26,4.17,4.07,3.97,3.88,3.77,3.67,3.57,3.46,3.36,3.26,3.14,3.04,2.93,2.82,2.72,2.6,2.49,2.37,2.26,2.14,2.03,1.92,1.8,1.68,1.57,1.45,1.34,1.22,1.11,0.99,0.87,0.76,0.64,0.52,0.41,0.29,0.17,0.05,-0.06,-0.18,-0.3,-0.41,-0.53,-0.64,-0.76,-0.87,-0.98,-1.1,-1.22,-1.33,-1.44,-1.55,-1.66,-1.77,-1.89,-1.99,-2.1,-2.21,-2.32,-2.43,-2.53,-2.63,-2.73,-2.84,-2.94,-3.04,-3.14,-3.23,-3.33,-3.43,-3.53,-3.62,-3.71,-3.8,-3.89,-3.98,-4.07,-4.15,-4.24,-4.32,-4.4,-4.48,-4.56,-4.64,-4.71,-4.79,-4.86,-4.93,-5,-5.07,-5.14,-5.2,-5.27,-5.33,-5.39,-5.44,-5.5,-5.56,-5.62,-5.67,-5.72,-5.77,-5.81,-5.86,-5.91,-5.95,-5.99,-6.03,-6.07,-6.11,-6.14,-6.18,-6.21,-6.24,-6.27,-6.3,-6.33,-6.35,-6.37,-6.39,-6.42,-6.44,-6.45,-6.47,-6.48,-6.49,-6.51,-6.52,-6.53,-6.54,-6.54,-6.54,-6.55,-6.55,-6.55,-6.54,-6.54,-6.54,-6.53,-6.52,-6.51,-6.5,-6.49,-6.47,-6.46,-6.44,-6.42,-6.41,-6.39,-6.37,-6.34,-6.32,-6.29,-6.27,-6.24,-6.22,-6.19,-6.16,-6.13,-6.09,-6.06,-6.03,-5.99,-5.95,-5.91,-5.87,-5.59,-5.59,-5.59,-5.59,-5.59,-5.59,-5.57,-5.54,-5.51,-5.48,-5.45,-5.43,-5.38,-5.32,-5.27,-5.21,-5.16,-5.1,-5.06,-5.01,-4.97,-4.92,-4.88,-4.83,-4.78,-4.73,-4.69,-4.64,-4.59,-4.53,-4.47,-4.41,-4.36,-4.3,-4.23,-4.16,-4.09,-4.02,-3.95,-3.88,-3.8,-3.72,-3.64,-3.57,-3.49,-3.41,-3.31,-3.22,-3.12,-3.02,-2.92,-2.83,-2.73,-2.63,-2.54,-2.44,-2.34,-2.23,-2.12,-2.01,-1.9,-1.8,-1.68,-1.57,-1.45,-1.34,-1.22,-1.1,-0.98,-0.85,-0.73,-0.6,-0.48,-0.35,-0.22,-0.08,0.05,0.18,0.32,0.45,0.59,0.73,0.87,1,1.14,1.28,1.42,1.56,1.7,1.83,1.97,2.11,2.25,2.38,2.52,2.65,2.79,2.92,3.05,3.18,3.31,3.45,3.57,3.69,3.82,3.93,4.06,4.18,4.29,4.4,4.51,4.62,4.73,4.83,4.93,5.02,5.12,5.22,5.31,5.4,5.47,5.55,5.63,5.71,5.78,5.84,5.9,5.96,6.02,6.08,6.12,6.16,6.2,6.24,6.28,6.32,6.34,6.36,6.38,6.4,6.42,6.44,6.44,6.44,6.44,6.44,6.44,6.43,6.42,6.4,6.39,6.38,6.35,6.33,6.29,6.26,6.23,6.2,6.16,6.12,6.07,6.02,5.98,5.94,5.88,5.82,5.76,5.7,5.65,5.59,5.52,5.45,5.38,5.31,5.24,5.17,5.09,5.01,4.94,4.86,4.78,4.69,4.61,4.52,4.43,4.35,4.25,4.16,4.06,3.97,3.87,3.78,3.68,3.58,3.48,3.38,3.28,3.17,3.07,2.97,2.87,2.77,2.67,2.57,2.47,2.37,2.26,2.16,2.06,1.96,1.86,1.77,1.67,1.57,1.47,1.37,1.27,1.17,1.07,0.97,0.87,0.77,0.66,0.56,0.45,0.35,0.24,0.13,0.02,-0.09,-0.2,-0.31,-0.42,-0.54,-0.65,-0.77,-0.89,-1,-1.12,-1.24,-1.36,-1.48,-1.6,-1.71,-1.84,-1.95,-2.07,-2.19,-2.31,-2.45,-2.58,-2.71,-2.84,-2.98,-3.07,-3.16,-3.25,-3.33,-3.42,-3.52,-3.62,-3.74,-3.85,-3.96,-4.07,-4.18,-4.3,-4.41,-4.53,-4.64,-4.76,-4.8,-4.85,-4.89,-4.93,-4.97,-5.02,-5.09,-5.15,-5.22,-5.29,-5.36,-5.41,-5.47,-5.52,-5.58,-5.63,-5.69,-5.73,-5.78,-5.82,-5.87,-5.91,-5.96,-6.02,-6.08,-6.14,-6.2,-6.25,-6.26,-6.25,-6.24,-6.24,-6.23,-6.23,-6.24,-6.24,-6.25,-6.26,-6.26,-6.26,-6.26,-6.25,-6.24,-6.23,-6.23,-6.22,-6.2,-6.19,-6.17,-6.16,-6.14,-6.12,-6.1,-6.07,-6.05,-6.03,-6.01,-5.99,-5.97,-5.95,-5.93,-5.92,-5.9,-5.88,-5.87,-5.85,-5.84,-5.82,-5.81,-5.8,-5.79,-5.77,-5.76,-5.75,-5.74,-5.73,-5.72,-5.71,-5.7,-5.69,-5.68,-5.67,-5.66,-5.65,-5.65,-5.63,-5.62,-5.61,-5.6,-5.12,-5.13,-5.15,-5.16,-5.18,-5.19,-5.21,-5.23,-5.25,-5.27,-5.29,-5.3,-5.32,-5.34,-5.33,-5.33,-5.33,-5.33,-5.31,-5.27,-5.25,-5.21,-5.18,-5.13,-5.09,-5.05,-5,-4.96,-4.91,-4.86,-4.82,-4.75,-4.7,-4.64,-4.58,-4.55,-4.51,-4.47,-4.43,-4.39,-4.34,-4.29,-4.24,-4.18,-4.12,-4.05,-3.98,-3.91,-3.84,-3.76,-3.69,-3.61,-3.54,-3.46,-3.38,-3.3,-3.21,-3.13,-3.04,-2.95,-2.86,-2.77,-2.67,-2.57,-2.47,-2.37,-2.26,-2.15,-2.05,-1.93,-1.81,-1.69,-1.57,-1.45,-1.31,-1.18,-1.05,-0.93,-0.79,-0.65,-0.51,-0.37,-0.24,-0.11,0.02,0.15,0.28,0.43,0.58,0.72,0.87,1.01,1.16,1.3,1.45,1.61,1.78,1.95,2.12,2.26,2.37,2.49,2.6,2.72,2.85,2.98,3.11,3.25,3.37,3.49,3.61,3.74,3.85,3.96,4.07,4.19,4.29,4.39,4.5,4.59,4.7,4.78,4.87,4.96,5.05,5.12,5.2,5.27,5.34,5.42,5.47,5.53,5.59,5.65,5.74,5.82,5.91,5.98,5.99,5.98,5.96,5.95,5.95,5.96,5.97,5.97,5.98,5.97,5.96,5.95,5.94,5.91,5.88,5.86,5.82,5.79,5.75,5.71,5.67,5.62,5.57,5.53,5.48,5.43,5.37,5.3,5.24,5.18,5.1,5.03,4.96,4.88,4.81,4.73,4.65,4.57,4.49,4.41,4.34,4.26,4.17,4.1,4.01,3.93,3.85,3.76,3.67,3.58,3.48,3.39,3.28,3.17,3.06,2.96,2.83,2.72,2.59,2.48,2.36,2.24,2.12,2.01,1.89,1.78,1.66,1.54,1.42,1.31,1.2,1.08,0.97,0.86,0.76,0.65,0.54,0.44,0.34,0.25,0.16,0.06,-0.02,-0.1,-0.19,-0.27,-0.36,-0.44,-0.53,-0.62,-0.72,-0.83,-0.94,-1.04,-1.17,-1.31,-1.44,-1.58,-1.72,-1.85,-1.97,-2.09,-2.22,-2.31,-2.4,-2.49,-2.58,-2.69,-2.79,-2.89,-3,-3.11,-3.24,-3.38,-3.51,-3.63,-3.73,-3.83,-3.93,-4.02,-4.09,-4.16,-4.23,-4.29,-4.38,-4.47,-4.57,-4.67,-4.77,-4.91,-5.05,-5.19,-5.32,-5.42,-5.53,-5.62,-5.72,-5.8,-5.86,-5.93,-5.99,-6.05,-6.08,-6.12,-6.16,-6.19,-6.21,-6.22,-6.23,-6.25,-6.24,-6.23,-6.22,-6.21,-6.19,-6.16,-6.13,-6.1,-6.06,-6.02,-5.98,-5.93,-5.87,-5.79,-5.72,-5.64,-5.57,-5.53,-5.5,-5.48,-5.46,-5.45,-5.47,-5.49,-5.51,-5.51,-5.46,-5.41,-5.35,-5.31,-5.28,-5.25,-5.23,-5.21,-5.19,-5.17,-5.15,-5.13,-5.12,-5.1,-5.09,-5.07,-5.05,-5.04,-5.03,-5.02,-5.01,-5,-4.99,-4.98,-4.97,-4.96,-4.96,-4.95,-4.95,-4.96,-4.98,-5.01,-5.04,-5.06,-5.07,-5.08,-5.08,-5.08,-5.08,-5.08,-5.08,-5.08,-5.08,-5.09,-5.1,-5.11,-4.54,-4.56,-4.57,-4.58,-4.6,-4.62,-4.64,-4.64,-4.63,-4.61,-4.61,-4.66,-4.71,-4.75,-4.84,-4.92,-5.02,-5.05,-5.05,-5.06,-5.05,-5.06,-5.06,-5.06,-5.08,-5.1,-5.12,-5.07,-5.02,-4.96,-4.93,-4.91,-4.9,-4.88,-4.85,-4.83,-4.82,-4.79,-4.77,-4.74,-4.7,-4.67,-4.64,-4.6,-4.56,-4.52,-4.48,-4.45,-4.43,-4.4,-4.33,-4.26,-4.19,-4.12,-4.06,-4.01,-3.96,-3.89,-3.83,-3.77,-3.7,-3.64,-3.57,-3.49,-3.42,-3.35,-3.26,-3.17,-3.09,-3,-2.91,-2.82,-2.73,-2.63,-2.53,-2.43,-2.32,-2.22,-2.11,-2,-1.88,-1.77,-1.65,-1.52,-1.39,-1.27,-1.13,-0.99,-0.85,-0.71,-0.55,-0.4,-0.24,-0.08,0.07,0.23,0.42,0.61,0.8,0.96,1.11,1.27,1.43,1.57,1.72,1.86,1.99,2.12,2.26,2.39,2.52,2.65,2.76,2.86,2.96,3.07,3.2,3.33,3.46,3.58,3.7,3.82,3.93,4.04,4.14,4.23,4.31,4.4,4.48,4.55,4.63,4.69,4.75,4.81,4.87,4.93,4.97,5.02,5.06,5.1,5.14,5.17,5.19,5.21,5.23,5.27,5.32,5.36,5.34,5.29,5.24,5.21,5.19,5.17,5.14,5.11,5.06,5.03,4.98,4.94,4.89,4.84,4.79,4.73,4.68,4.62,4.56,4.5,4.44,4.38,4.32,4.26,4.2,4.14,4.08,4.03,3.96,3.91,3.86,3.81,3.76,3.71,3.66,3.61,3.56,3.49,3.43,3.34,3.24,3.13,3.01,2.85,2.69,2.53,2.33,2.14,1.94,1.76,1.59,1.41,1.25,1.13,1.02,0.91,0.85,0.79,0.74,0.7,0.67,0.64,0.61,0.59,0.55,0.53,0.5,0.47,0.43,0.39,0.34,0.3,0.26,0.23,0.19,0.15,0.11,0.07,0.02,-0.05,-0.13,-0.2,-0.3,-0.41,-0.52,-0.63,-0.73,-0.84,-0.96,-1.1,-1.23,-1.36,-1.49,-1.62,-1.75,-1.87,-1.99,-2.1,-2.21,-2.3,-2.4,-2.5,-2.59,-2.67,-2.76,-2.86,-2.94,-3.04,-3.14,-3.24,-3.34,-3.45,-3.55,-3.66,-3.77,-3.86,-3.95,-4.04,-4.21,-4.37,-4.54,-4.65,-4.72,-4.8,-4.87,-4.94,-4.99,-5.05,-5.09,-5.14,-5.18,-5.21,-5.24,-5.29,-5.32,-5.35,-5.38,-5.4,-5.37,-5.33,-5.29,-5.33,-5.36,-5.39,-5.43,-5.45,-5.48,-5.5,-5.51,-5.52,-5.53,-5.53,-5.52,-5.51,-5.49,-5.46,-5.44,-5.4,-5.36,-5.31,-5.29,-5.3,-5.31,-5.31,-5.22,-5.13,-5.04,-5.01,-4.99,-4.97,-4.91,-4.82,-4.73,-4.62,-4.5,-4.37,-4.26,-4.11,-3.97,-3.82,-3.73,-3.66,-3.58,-3.54,-3.52,-3.5,-3.5,-3.57,-3.63,-3.7,-3.78,-3.85,-3.92,-3.99,-4.05,-4.11,-4.15,-4.2,-4.23,-4.27,-4.31,-4.35,-4.39,-4.43,-4.46,-4.5,-4.5,-4.49,-4.48,-4.48,-4.5,-4.52,-4.38,-4.35,-4.31,-4.28,-4.27,-4.27,-4.28,-4.34,-4.4,-4.46,-4.53,-4.6,-4.67,-4.73,-4.79,-4.83,-4.85,-4.88,-4.89,-4.9,-4.9,-4.9,-4.9,-4.89,-4.9,-4.9,-4.91,-4.92,-4.93,-4.94,-4.95,-4.96,-4.97,-4.97,-4.99,-4.99,-4.99,-4.98,-4.97,-4.95,-4.94,-4.91,-4.87,-4.84,-4.8,-4.78,-4.76,-4.72,-4.69,-4.66,-4.63,-4.6,-4.57,-4.54,-4.5,-4.46,-4.42,-4.37,-4.33,-4.28,-4.23,-4.18,-4.13,-4.08,-4.03,-3.97,-3.92,-3.87,-3.81,-3.75,-3.69,-3.63,-3.56,-3.49,-3.43,-3.35,-3.27,-3.19,-3.09,-3.01,-2.92,-2.82,-2.72,-2.62,-2.52,-2.42,-2.31,-2.2,-2.09,-1.96,-1.83,-1.69,-1.54,-1.37,-1.2,-1.03,-0.84,-0.66,-0.49,-0.31,-0.14,0.02,0.18,0.34,0.49,0.64,0.79,0.94,1.09,1.23,1.38,1.53,1.69,1.85,2,2.16,2.31,2.47,2.62,2.76,2.91,3.04,3.16,3.28,3.39,3.49,3.58,3.67,3.75,3.83,3.89,3.97,4.02,4.07,4.12,4.15,4.2,4.23,4.26,4.28,4.31,4.33,4.35,4.37,4.39,4.41,4.42,4.43,4.44,4.45,4.45,4.44,4.43,4.41,4.39,4.36,4.33,4.31,4.28,4.25,4.23,4.21,4.21,4.2,4.15,4.11,4.07,4.05,4.03,4.01,3.99,3.98,3.97,3.96,3.95,3.94,3.93,3.92,3.91,3.89,3.86,3.84,3.82,3.79,3.76,3.73,3.7,3.68,3.65,3.62,3.59,3.57,3.54,3.51,3.47,3.44,3.39,3.36,3.32,3.28,3.24,3.21,3.17,3.14,3.11,3.08,3.04,3,2.96,2.92,2.86,2.8,2.74,2.67,2.6,2.52,2.44,2.36,2.31,2.27,2.23,2.25,2.29,2.32,2.36,2.39,2.41,2.39,2.36,2.29,2.17,2.04,1.88,1.7,1.51,1.3,1.08,0.86,0.63,0.41,0.18,-0.06,-0.28,-0.51,-0.72,-0.93,-1.14,-1.33,-1.52,-1.69,-1.86,-2.01,-2.15,-2.29,-2.42,-2.53,-2.64,-2.75,-2.83,-2.91,-2.98,-3.03,-3.08,-3.11,-3.14,-3.15,-3.17,-3.18,-3.19,-3.2,-3.21,-3.22,-3.22,-3.23,-3.23,-3.24,-3.24,-3.25,-3.26,-3.27,-3.29,-3.33,-3.37,-3.41,-3.48,-3.56,-3.64,-3.73,-3.83,-3.92,-4.01,-4.09,-4.16,-4.21,-4.26,-4.27,-4.27,-4.25,-4.2,-4.13,-4.05,-3.94,-3.82,-3.7,-3.55,-3.4,-3.25,-3.09,-2.93,-2.76,-2.58,-2.4,-2.22,-2.05,-1.89,-1.76,-1.65,-1.56,-1.57,-1.58,-1.65,-1.77,-1.9,-2.06,-2.22,-2.38,-2.51,-2.6,-2.67,-2.71,-2.72,-2.7,-2.68,-2.66,-2.64,-2.62,-2.63,-2.64,-2.7,-2.78,-2.85,-2.97,-3.08,-3.2,-3.32,-3.43,-3.53,-3.61,-3.69,-3.76,-3.82,-3.88,-3.95,-4.03,-4.12,-4.2,-4.27,-4.34,-4.36,-4.37,-3.94,-4,-4.04,-4.1,-4.16,-4.22,-4.31,-4.41,-4.53,-4.66,-4.78,-4.88,-4.99,-5.08,-5.15,-5.19,-5.23,-5.24,-5.23,-5.23,-5.24,-5.24,-5.23,-5.22,-5.21,-5.2,-5.18,-5.16,-5.15,-5.15,-5.14,-5.15,-5.16,-5.17,-5.18,-5.19,-5.18,-5.18,-5.16,-5.13,-5.1,-5.07,-5.03,-4.99,-4.97,-4.93,-4.91,-4.89,-4.87,-4.86,-4.86,-4.85,-4.85,-4.84,-4.84,-4.83,-4.8,-4.77,-4.74,-4.7,-4.65,-4.58,-4.51,-4.45,-4.37,-4.29,-4.24,-4.18,-4.12,-4.03,-3.95,-3.9,-3.85,-3.8,-3.75,-3.7,-3.65,-3.61,-3.54,-3.47,-3.4,-3.34,-3.27,-3.2,-3.13,-3.06,-2.98,-2.9,-2.83,-2.74,-2.64,-2.54,-2.42,-2.29,-2.15,-2,-1.83,-1.63,-1.44,-1.24,-1.04,-0.86,-0.69,-0.54,-0.4,-0.28,-0.15,-0.04,0.09,0.21,0.35,0.48,0.62,0.76,0.91,1.05,1.2,1.34,1.47,1.61,1.75,1.88,2.01,2.11,2.2,2.29,2.37,2.44,2.51,2.57,2.64,2.69,2.75,2.79,2.83,2.87,2.91,2.94,2.97,3.01,3.04,3.08,3.11,3.14,3.16,3.19,3.21,3.23,3.26,3.27,3.29,3.32,3.33,3.34,3.36,3.36,3.36,3.36,3.36,3.35,3.35,3.34,3.34,3.34,3.33,3.32,3.31,3.3,3.28,3.27,3.25,3.24,3.22,3.21,3.2,3.19,3.17,3.16,3.14,3.12,3.09,3.08,3.06,3.04,3.03,3.01,2.99,2.97,2.96,2.94,2.93,2.91,2.9,2.88,2.87,2.86,2.86,2.86,2.86,2.87,2.88,2.89,2.91,2.93,2.95,2.98,3.01,3.04,3.08,3.12,3.17,3.22,3.27,3.33,3.38,3.43,3.47,3.5,3.54,3.58,3.62,3.66,3.71,3.76,3.82,3.87,3.94,4.01,4.08,4.17,4.26,4.33,4.4,4.46,4.49,4.49,4.45,4.38,4.27,4.13,3.98,3.78,3.53,3.27,2.98,2.68,2.37,2.06,1.76,1.48,1.19,0.99,0.79,0.6,0.42,0.25,0.08,-0.08,-0.25,-0.43,-0.61,-0.76,-0.92,-1.05,-1.16,-1.26,-1.33,-1.38,-1.42,-1.43,-1.42,-1.39,-1.35,-1.3,-1.24,-1.16,-1.06,-0.95,-0.81,-0.64,-0.46,-0.26,-0.04,0.17,0.39,0.6,0.76,0.92,1.05,1.16,1.26,1.31,1.36,1.37,1.36,1.33,1.24,1.15,1.02,0.89,0.75,0.62,0.5,0.41,0.34,0.3,0.27,0.26,0.25,0.25,0.25,0.26,0.28,0.32,0.41,0.5,0.66,0.84,1.02,1.2,1.39,1.52,1.64,1.71,1.71,1.72,1.58,1.45,1.24,1,0.72,0.4,0.08,-0.23,-0.53,-0.82,-1.03,-1.22,-1.38,-1.53,-1.66,-1.81,-1.95,-2.1,-2.24,-2.38,-2.51,-2.63,-2.74,-2.84,-2.95,-3.09,-3.2,-3.31,-3.43,-3.56,-3.65,-3.73,-3.8,-3.87,-3.3,-3.44,-3.6,-3.76,-3.91,-4.08,-4.24,-4.42,-4.61,-4.8,-4.99,-5.17,-5.34,-5.49,-5.61,-5.69,-5.73,-5.78,-5.82,-5.84,-5.84,-5.87,-5.89,-5.9,-5.89,-5.83,-5.74,-5.68,-5.6,-5.49,-5.39,-5.34,-5.31,-5.28,-5.25,-5.23,-5.2,-5.15,-5.08,-5.02,-4.97,-4.92,-4.9,-4.87,-4.8,-4.74,-4.69,-4.65,-4.61,-4.56,-4.6,-4.65,-4.7,-4.75,-4.87,-5.01,-5.09,-5.16,-5.16,-5.13,-5.08,-5,-4.88,-4.73,-4.59,-4.47,-4.35,-4.24,-4.13,-4.04,-3.95,-3.86,-3.78,-3.71,-3.66,-3.61,-3.59,-3.56,-3.52,-3.49,-3.47,-3.45,-3.44,-3.42,-3.4,-3.35,-3.31,-3.26,-3.22,-3.14,-3.05,-2.94,-2.83,-2.7,-2.56,-2.4,-2.25,-2.07,-1.88,-1.69,-1.49,-1.28,-1.07,-0.83,-0.59,-0.35,-0.12,0.08,0.25,0.4,0.51,0.59,0.65,0.69,0.71,0.75,0.79,0.84,0.9,0.98,1.06,1.14,1.22,1.28,1.32,1.34,1.34,1.33,1.31,1.29,1.29,1.28,1.29,1.3,1.31,1.33,1.36,1.38,1.41,1.44,1.46,1.5,1.53,1.57,1.6,1.64,1.67,1.71,1.74,1.77,1.8,1.84,1.86,1.87,1.88,1.88,1.88,1.89,1.89,1.88,1.88,1.87,1.86,1.86,1.85,1.83,1.82,1.81,1.8,1.78,1.76,1.75,1.73,1.7,1.66,1.63,1.59,1.55,1.51,1.46,1.41,1.35,1.3,1.24,1.18,1.12,1.07,1.01,0.96,0.91,0.87,0.83,0.8,0.78,0.76,0.75,0.75,0.76,0.77,0.79,0.82,0.84,0.87,0.89,0.92,0.95,0.98,1.02,1.06,1.11,1.16,1.22,1.29,1.37,1.45,1.55,1.65,1.76,1.88,1.99,2.12,2.24,2.36,2.48,2.6,2.73,2.84,2.96,3.08,3.19,3.31,3.43,3.57,3.72,3.89,4.06,4.26,4.47,4.69,4.92,5.15,5.32,5.47,5.58,5.66,5.68,5.66,5.59,5.46,5.31,5.15,4.96,4.75,4.52,4.29,4.04,3.8,3.54,3.29,3.05,2.81,2.59,2.37,2.16,1.94,1.73,1.52,1.33,1.14,1.04,0.94,0.99,1.04,1.12,1.22,1.28,1.33,1.31,1.26,1.16,1.03,0.91,0.79,0.64,0.46,0.29,0.11,-0.06,-0.24,-0.41,-0.58,-0.72,-0.81,-0.93,-1.1,-1.23,-1.31,-1.37,-1.43,-1.43,-1.38,-1.34,-1.3,-1.27,-1.29,-1.3,-1.29,-1.25,-1.12,-0.97,-0.73,-0.49,-0.27,-0.06,0.07,0.21,0.26,0.31,0.32,0.32,0.35,0.38,0.48,0.61,0.78,0.95,1.1,1.24,1.38,1.53,1.65,1.78,1.77,1.63,1.37,0.99,0.58,0.18,-0.16,-0.44,-0.66,-0.83,-0.96,-1.07,-1.17,-1.27,-1.38,-1.51,-1.64,-1.8,-1.96,-2.12,-2.28,-2.41,-2.54,-2.65,-2.75,-2.86,-2.98,-3.14,-2.55,-2.82,-3.08,-3.32,-3.56,-3.78,-4.01,-4.26,-4.5,-4.73,-4.95,-5.16,-5.36,-5.56,-5.96,-6.39,-6.54,-6.68,-6.77,-6.83,-6.84,-6.83,-6.82,-6.82,-6.81,-6.76,-6.68,-6.6,-6.51,-6.43,-6.35,-6.37,-6.41,-6.44,-6.46,-6.39,-6.27,-6.08,-5.86,-5.64,-5.44,-5.26,-5.18,-5.15,-5.21,-5.28,-5.27,-5.24,-5.08,-4.89,-4.59,-4.35,-4.17,-4.17,-4.38,-4.75,-5.23,-5.62,-5.98,-6.03,-6.03,-5.65,-5.28,-5.11,-4.95,-4.82,-4.69,-4.59,-4.48,-4.34,-4.19,-4.03,-3.86,-3.68,-3.5,-3.33,-3.18,-3.03,-2.89,-2.75,-2.61,-2.47,-2.35,-2.24,-2.15,-2.09,-2.06,-2.07,-2.09,-2.16,-2.22,-2.35,-2.49,-2.64,-2.77,-2.8,-2.77,-2.61,-2.42,-2.19,-1.99,-1.82,-1.66,-1.5,-1.31,-1.1,-0.85,-0.6,-0.32,-0.04,0.25,0.53,0.77,0.95,1.08,1.13,1.14,1.08,1.01,0.92,0.82,0.73,0.64,0.59,0.53,0.5,0.48,0.47,0.47,0.49,0.52,0.55,0.59,0.63,0.65,0.67,0.67,0.68,0.68,0.69,0.7,0.7,0.71,0.71,0.73,0.75,0.78,0.81,0.84,0.88,0.91,0.95,0.99,1.03,1.08,1.12,1.17,1.21,1.23,1.25,1.27,1.28,1.27,1.25,1.25,1.25,1.24,1.21,1.17,1.12,1.06,1,0.93,0.86,0.79,0.71,0.64,0.57,0.49,0.4,0.29,0.24,0.18,0.1,0.02,-0.06,-0.13,-0.2,-0.26,-0.3,-0.33,-0.35,-0.36,-0.37,-0.36,-0.36,-0.35,-0.35,-0.34,-0.34,-0.34,-0.35,-0.35,-0.34,-0.33,-0.3,-0.27,-0.22,-0.17,-0.11,-0.05,0,0.06,0.11,0.17,0.22,0.29,0.35,0.43,0.51,0.61,0.71,0.82,0.93,1.06,1.19,1.33,1.47,1.61,1.74,1.88,2.02,2.15,2.29,2.42,2.55,2.68,2.8,2.93,3.05,3.17,3.3,3.41,3.54,3.67,3.8,3.92,4.03,4.13,4.2,4.25,4.28,4.28,4.27,4.22,4.16,4.07,3.96,3.83,3.7,3.54,3.38,3.19,3,2.81,2.58,2.35,2.05,1.74,1.5,1.28,1.17,1.07,1.08,1.07,1.02,0.95,0.82,0.65,0.47,0.42,0.44,0.55,0.7,0.66,0.59,0.28,-0.03,-0.37,-0.68,-0.92,-1.07,-1.07,-0.88,-0.49,0.03,0.65,1,1.26,1.28,1.26,1.12,0.99,0.79,0.57,0.28,0.01,-0.25,-0.39,-0.42,-0.27,-0.02,0.16,0.33,0.26,0.17,0.22,0.37,1.07,1.79,2.56,3.03,3.03,2.71,2.1,1.59,1.15,1,0.97,1.04,1.14,1.19,1.23,1.17,1.13,1.1,1.13,1.24,1.27,1.26,1.07,0.75,0.44,0.13,-0.01,-0.11,-0.08,-0.05,-0.07,-0.14,-0.32,-0.51,-0.74,-0.95,-1.14,-1.34,-1.53,-1.76,-2.01,-2.28,-0.2,-0.65,-1.14,-1.71,-2.35,-3.01,-3.74,-4.33,-4.76,-5.03,-5.26,-5.44,-5.65,-5.89,-6.05,-6.16,-6.17,-6.09,-5.96,-5.99,-6.16,-6.53,-6.82,-7.01,-6.82,-6.48,-5.98,-5.59,-5.28,-5.23,-5.31,-5.45,-5.61,-5.76,-5.86,-5.89,-5.89,-5.83,-5.76,-5.67,-5.55,-5.42,-5.28,-5.14,-4.99,-4.9,-4.86,-4.95,-5.04,-5.14,-4.9,-4.62,-4.28,-3.93,-3.58,-3.45,-3.32,-3.14,-3.11,-3.1,-2.91,-3.04,-3.54,-3.79,-4,-4.31,-4.62,-4.93,-4.69,-4.41,-4.28,-4.12,-3.93,-3.74,-3.53,-3.34,-3.15,-2.95,-2.76,-2.57,-2.38,-2.21,-2.04,-1.9,-1.78,-1.68,-1.57,-1.41,-1.13,-0.69,-0.15,0.3,0.52,0.32,-0.29,-1.06,-1.87,-2.49,-2.86,-2.87,-2.78,-2.64,-2.51,-2.39,-2.3,-2.19,-2.06,-1.91,-1.74,-1.56,-1.38,-1.2,-1.02,-0.85,-0.7,-0.55,-0.43,-0.35,-0.29,-0.27,-0.26,-0.27,-0.28,-0.3,-0.31,-0.31,-0.31,-0.27,-0.22,-0.15,-0.06,0.02,0.1,0.17,0.21,0.23,0.22,0.2,0.17,0.14,0.1,0.07,0.05,0.04,0.04,0.04,0.04,0.03,0.02,0,-0.03,-0.05,-0.07,-0.08,-0.08,-0.05,0,0.05,0.11,0.16,0.18,0.19,0.18,0.18,0.2,0.24,0.28,0.32,0.33,0.33,0.29,0.24,0.18,0.11,0.04,-0.04,-0.12,-0.2,-0.27,-0.34,-0.41,-0.47,-0.53,-0.58,-0.64,-0.71,-0.73,-0.75,-0.77,-0.77,-0.77,-0.78,-0.78,-0.79,-0.81,-0.82,-0.84,-0.86,-0.87,-0.88,-0.87,-0.86,-0.83,-0.8,-0.77,-0.73,-0.69,-0.63,-0.56,-0.47,-0.36,-0.24,-0.13,-0.02,0.07,0.13,0.18,0.23,0.27,0.31,0.36,0.41,0.47,0.53,0.59,0.66,0.74,0.84,0.94,1.07,1.21,1.34,1.48,1.6,1.72,1.82,1.93,2.04,2.14,2.24,2.33,2.41,2.48,2.53,2.58,2.62,2.65,2.68,2.71,2.74,2.77,2.78,2.8,2.8,2.8,2.8,2.79,2.76,2.73,2.65,2.53,2.32,2.09,1.84,1.74,1.74,1.85,1.96,2.08,2.12,2.12,2,1.85,1.64,1.29,0.89,0.53,0.26,0.11,-0.01,-0.12,-0.23,-0.21,-0.08,0.24,0.55,0.79,0.82,0.73,0.56,0.46,0.45,0.63,0.86,1.06,1.1,0.93,0.56,0.21,0.12,0.39,0.95,1.59,2.1,2.27,2.18,1.98,1.79,1.6,1.41,1.14,0.84,0.47,0.08,-0.35,-0.77,-1.08,-0.93,-0.26,0.82,2.33,3.61,4.21,4.03,3.42,2.58,2.01,1.89,2.21,2.68,3.06,3.16,2.93,2.25,1.47,0.72,0.15,-0.26,-0.27,-0.12,0.31,0.68,1,1.06,1.08,1.12,1.26,1.45,1.69,1.81,1.79,1.71,1.61,1.47,1.3,1.1,0.88,0.65,0.4,0.11,2.68,2.76,2.72,2.5,2.01,1.3,0.41,-0.29,-0.6,-0.5,0.32,1.14,1.85,1.7,0.97,-0.24,-1.51,-2.3,-2.53,-1.86,-1.27,-0.88,-1.17,-1.74,-2.52,-2.85,-2.98,-3,-3.46,-3.87,-4.2,-4.46,-4.71,-4.96,-5.2,-5.39,-5.52,-5.56,-5.6,-5.67,-5.84,-6.05,-6.29,-6.43,-6.53,-6.58,-6.11,-5.71,-5.4,-5.14,-4.93,-4.75,-4.68,-4.63,-4.58,-4.46,-4.12,-3.59,-3.46,-3.3,-3.09,-3.04,-3.08,-3.21,-3.44,-3.66,-3.86,-3.98,-4.06,-4.09,-4.05,-3.96,-3.83,-3.65,-3.47,-3.28,-3.14,-3.03,-2.95,-2.89,-2.85,-2.81,-2.8,-2.79,-2.76,-2.69,-2.59,-2.45,-2.26,-2.1,-1.95,-1.91,-1.86,-1.8,-1.68,-1.6,-1.56,-1.83,-2.26,-2.82,-3.32,-3.76,-4.12,-4.18,-4,-3.62,-3.22,-2.92,-2.72,-2.62,-2.51,-2.41,-2.29,-2.18,-2.09,-2.02,-1.94,-1.87,-1.79,-1.72,-1.64,-1.56,-1.5,-1.44,-1.39,-1.36,-1.34,-1.31,-1.28,-1.23,-1.16,-1.06,-0.96,-0.85,-0.77,-0.69,-0.65,-0.63,-0.63,-0.64,-0.67,-0.71,-0.75,-0.8,-0.84,-0.87,-0.91,-0.95,-1,-1.04,-1.08,-1.11,-1.14,-1.16,-1.19,-1.21,-1.22,-1.23,-1.25,-1.26,-1.27,-1.29,-1.3,-1.31,-1.3,-1.27,-1.22,-1.15,-1.07,-0.97,-0.86,-0.75,-0.68,-0.62,-0.57,-0.55,-0.53,-0.52,-0.51,-0.5,-0.49,-0.47,-0.44,-0.41,-0.38,-0.36,-0.32,-0.29,-0.27,-0.26,-0.25,-0.23,-0.19,-0.16,-0.11,-0.06,0,0.08,0.16,0.25,0.34,0.44,0.57,0.7,0.85,1,1.14,1.28,1.43,1.58,1.74,1.93,2.08,2.22,2.36,2.48,2.61,2.72,2.81,2.89,2.94,3,3.06,3.14,3.23,3.32,3.35,3.32,3.25,3.13,2.98,2.82,2.67,2.54,2.44,2.38,2.34,2.31,2.31,2.32,2.36,2.44,2.52,2.63,2.74,2.83,2.91,2.95,2.97,2.96,2.9,2.82,2.72,2.58,2.45,2.31,2.19,2.07,1.96,1.84,1.73,1.63,1.37,1.16,1,0.84,0.62,0.31,-0.21,-0.61,-0.89,-0.32,0.44,1.34,1.64,1.62,1.31,0.63,0.17,-0.03,0.04,0.08,0.08,0.03,-0.03,-0.06,0,0.15,0.4,0.59,0.63,0.5,0.11,-0.27,-0.59,-0.55,-0.41,-0.2,-0.21,-0.42,-0.8,-1.07,-1.07,-0.81,-0.45,-0.23,-0.17,-0.24,-0.22,-0.11,0.14,0.33,0.46,0.43,0.38,0.35,0.55,0.82,1.16,1.44,1.63,1.74,1.88,2.07,2.3,2.51,2.61,2.62,2.67,2.81,3.03,3.34,3.55,3.64,3.42,3.09,2.68,2.4,2.1,1.77,1.33,1.05,0.97,1.13,1.38,1.65,1.74,1.8,1.84,1.89,1.98,2.09,2.3,2.5,2.71,2.79,2.8,2.74,2.67,2.64,4.28,4.61,5,5.45,6.02,6.42,6.63,6.49,5.75,4.56,3,1.65,0.91,0.62,0.66,0.71,0.66,0.47,0.09,-0.43,-1,-1.69,-2.49,-3.29,-3.83,-3.92,-3.74,-3.44,-3.37,-3.47,-3.67,-3.86,-3.95,-4.01,-4.04,-4.09,-4.16,-4.24,-4.29,-4.28,-4.21,-4.11,-4.03,-4,-4.01,-4.01,-3.98,-3.9,-3.78,-3.59,-3.37,-3.31,-3.19,-3.13,-3.01,-2.76,-2.39,-1.85,-1.25,-0.65,-0.18,-0.03,-0.13,-0.52,-1.11,-1.74,-2.37,-2.95,-3.31,-3.47,-3.51,-3.42,-3.28,-3.14,-2.99,-2.88,-2.81,-2.79,-2.79,-2.81,-2.88,-2.98,-3.11,-3.26,-3.4,-3.54,-3.69,-3.85,-3.98,-4.08,-4.14,-3.97,-3.7,-3.42,-3.31,-2.95,-2.65,-2.57,-2.17,-1.73,-1.36,-1.46,-1.77,-2.17,-2.67,-2.84,-2.89,-2.93,-3.1,-3.21,-3.27,-3.25,-3.19,-3.11,-3.04,-2.96,-2.88,-2.77,-2.67,-2.59,-2.53,-2.49,-2.46,-2.42,-2.39,-2.35,-2.31,-2.27,-2.22,-2.18,-2.13,-2.09,-2.04,-1.99,-1.92,-1.82,-1.72,-1.62,-1.57,-1.53,-1.51,-1.51,-1.53,-1.57,-1.62,-1.66,-1.69,-1.68,-1.67,-1.64,-1.63,-1.61,-1.61,-1.6,-1.6,-1.6,-1.62,-1.65,-1.69,-1.74,-1.79,-1.85,-1.92,-1.98,-2.01,-2.03,-2.04,-2.05,-2.05,-2.03,-2.02,-1.95,-1.9,-1.86,-1.79,-1.73,-1.68,-1.63,-1.58,-1.54,-1.5,-1.47,-1.44,-1.42,-1.37,-1.33,-1.31,-1.3,-1.32,-1.33,-1.36,-1.38,-1.41,-1.42,-1.46,-1.49,-1.52,-1.54,-1.51,-1.47,-1.4,-1.31,-1.19,-1.01,-0.78,-0.51,-0.24,0.04,0.31,0.56,0.8,1.05,1.3,1.53,1.75,1.94,2.15,2.38,2.6,2.82,3.03,3.21,3.35,3.48,3.61,3.74,3.88,4.01,4.13,4.23,4.34,4.44,4.54,4.64,4.71,4.74,4.73,4.66,4.55,4.39,4.21,4.03,3.87,3.74,3.65,3.56,3.5,3.47,3.48,3.5,3.49,3.46,3.4,3.33,3.25,3.16,3.07,2.88,2.84,2.74,2.42,2.38,2.51,2.78,2.99,2.97,2.75,2.27,1.84,1.34,0.76,0.62,0.74,1.04,1.27,1.28,1.18,0.93,0.39,-0.28,-1,-1.4,-1.38,-1.06,-0.63,-0.12,0.37,0.86,1.09,0.98,0.64,0.06,-0.31,-0.55,-0.65,-0.69,-0.82,-1.03,-1.35,-1.6,-1.79,-1.76,-1.7,-1.59,-1.44,-1.24,-1.06,-0.93,-0.83,-0.74,-0.67,-0.62,-0.59,-0.56,-0.49,-0.31,0.02,0.38,0.68,0.85,0.92,1.04,1.25,1.61,2.04,2.43,2.73,2.93,3.1,3.27,3.47,3.66,3.83,4.04,4.44,4.93,5.27,4.67,3.34,1.82,0.57,0.36,0.45,0.65,0.65,0.59,0.57,0.73,0.98,1.25,1.5,1.7,1.91,2.13,2.34,2.54,2.75,3.01,3.39,3.82,4.09,4.39,4.82,5.37,5.97,6.52,6.85,6.87,6.56,5.88,4.81,4,3.4,2.9,2.43,2.2,1.97,1.6,0.94,0,-0.71,-0.95,-0.7,-0.25,-0.01,0.01,-0.15,-0.41,-0.73,-1.07,-1.4,-1.71,-2.01,-2.31,-2.6,-2.89,-3.13,-3.3,-3.44,-3.5,-3.48,-3.32,-3.07,-2.82,-2.61,-2.46,-2.31,-2.13,-1.91,-1.69,-1.5,-1.33,-1.17,-1.01,-0.87,-0.8,-0.76,-0.72,-0.6,-0.22,0.4,1.03,1.51,1.69,1.6,1.39,0.95,0.17,-1.13,-2.32,-3.03,-3.16,-2.74,-2.42,-2.2,-2.08,-2.04,-2.1,-2.2,-2.33,-2.5,-2.71,-2.93,-3.11,-3.29,-3.52,-3.92,-4.47,-5.23,-6.04,-6.63,-6.3,-5.93,-5.78,-5.96,-6.22,-6.51,-6.88,-7.35,-7.93,-8.63,-8.69,-8.3,-7.61,-6.49,-5.6,-5.05,-4.88,-5.16,-5.16,-4.96,-4.6,-4.2,-4.04,-3.99,-3.96,-3.95,-3.94,-3.9,-3.84,-3.79,-3.75,-3.75,-3.73,-3.72,-3.69,-3.67,-3.66,-3.63,-3.59,-3.52,-3.44,-3.38,-3.35,-3.34,-3.35,-3.23,-3.16,-3.02,-2.78,-2.68,-2.6,-2.56,-2.54,-2.52,-2.48,-2.39,-2.3,-2.21,-2.15,-2.12,-2.1,-2.07,-2.04,-2.04,-2.06,-2.1,-2.15,-2.22,-2.31,-2.41,-2.53,-2.65,-2.74,-2.82,-2.86,-2.88,-2.88,-2.89,-2.92,-2.94,-2.96,-2.97,-2.94,-2.91,-2.88,-2.75,-2.57,-2.4,-2.3,-2.35,-2.41,-2.49,-2.52,-2.49,-2.44,-2.42,-2.43,-2.44,-2.46,-2.46,-2.46,-2.45,-2.44,-2.4,-2.3,-2.2,-2.11,-2.04,-1.99,-1.92,-1.84,-1.77,-1.69,-1.57,-1.4,-1.16,-0.88,-0.57,-0.26,0.07,0.4,0.74,1.06,1.37,1.65,1.9,2.11,2.29,2.49,2.72,2.92,3.13,3.32,3.49,3.65,3.83,3.98,4.11,4.22,4.3,4.37,4.42,4.45,4.48,4.5,4.63,4.8,4.97,5.11,5.18,5.25,5.34,5.4,5.29,5.12,4.92,4.72,4.63,4.67,4.36,3.85,3.58,3.5,3.56,3.68,3.82,3.87,3.78,3.45,2.95,2.41,2.16,2.22,2.44,2.7,2.88,2.73,2.3,1.67,0.98,0.92,1.08,1.28,1.34,1.18,1.13,1.24,1.25,0.71,-0.27,-0.99,-1.56,-1.98,-2.11,-1.65,-0.87,-0.1,0.15,-0.26,-0.87,-1.36,-1.6,-1.37,-1.15,-0.95,-0.74,-0.41,-0.15,-0.29,-0.74,-1.38,-1.96,-2.08,-1.84,-1.42,-1.04,-0.99,-1.1,-1.23,-1.31,-1.31,-1.23,-1.02,-0.69,-0.26,0.15,0.53,0.88,1.21,1.47,1.61,1.72,1.85,2.07,2.37,2.66,2.87,3,3.1,3.32,3.6,3.93,4.25,4.29,3.79,2.72,1.2,-0.23,-0.99,-1.19,-0.96,-0.52,-0.16,0.12,0.34,0.51,0.64,0.71,0.72,0.73,0.78,0.96,1.2,1.49,1.78,2.13,2.6,3.07,3.56,3.36,3.67,3.82,4.01,4.41,4.93,5.33,5.72,6.23,6.38,6.03,5.44,4.84,4.26,3.94,3.58,2.48,1.99,1.92,1.96,2.31,2.25,1.44,0.42,-0.22,-0.39,-0.36,-0.52,-0.95,-1.3,-1.38,-1.28,-1.23,-1.37,-1.73,-2.2,-2.58,-2.83,-2.99,-3.07,-3.06,-2.88,-2.56,-2.17,-1.86,-1.69,-1.59,-1.5,-1.38,-1.24,-1.09,-0.9,-0.66,-0.38,-0.05,0.29,0.67,1,1.14,1.02,0.73,0.44,0.36,0.47,0.66,1.01,1.52,1.76,1.32,0.35,-0.78,-1.12,-0.99,-0.83,-0.86,-1.05,-1.32,-1.57,-1.81,-2.09,-2.39,-2.69,-2.93,-3.15,-3.52,-4.14,-4.9,-5.19,-4.98,-4.85,-4.83,-4.99,-5.16,-5.26,-5.26,-5.27,-5.34,-5.38,-5.3,-5.51,-6.17,-7.74,-9.42,-9.46,-9.04,-8.26,-7.82,-7.35,-7.13,-7.11,-6.73,-6.33,-4.95,-4.24,-4.13,-4.32,-4.56,-4.8,-5,-5.17,-5.32,-5.47,-5.61,-5.74,-6.03,-6.3,-6.37,-6.41,-6.52,-6.61,-6.63,-6.76,-6.78,-6.9,-6.93,-6.95,-6.89,-6.64,-6.36,-6.33,-5.96,-5.31,-4.7,-4.3,-4.06,-3.83,-3.51,-3.11,-2.92,-2.84,-2.79,-2.72,-2.63,-2.57,-2.56,-2.56,-2.57,-2.6,-2.64,-2.74,-2.88,-3.04,-3.18,-3.27,-3.27,-3.17,-3.19,-3.21,-3.23,-3.31,-3.29,-3.17,-3.14,-3.12,-3.11,-3.07,-2.98,-2.88,-2.73,-2.52,-2.28,-2.13,-2.02,-1.95,-1.92,-1.94,-1.99,-2.04,-2.06,-2.06,-2.04,-2.05,-2.08,-2.12,-2.19,-2.24,-2.27,-2.26,-2.21,-2.09,-1.9,-1.71,-1.51,-1.3,-1.08,-0.87,-0.66,-0.47,-0.3,-0.13,0.06,0.25,0.47,0.7,0.94,1.2,1.45,1.68,1.93,2.17,2.43,2.69,2.95,3.16,3.35,3.52,3.68,3.83,3.96,4.06,4.15,4.25,4.38,4.51,4.6,4.64,4.62,4.6,4.65,4.77,5.03,5.44,5.68,5.71,5.33,5.01,4.9,4.94,5.05,5.13,5.15,5.06,4.92,4.78,4.67,4.56,4.31,4.12,4.11,4.24,4.35,4.33,4.2,4.02,3.58,3.33,2.93,2.6,2.41,2.15,1.65,1.2,0.88,0.36,-0.32,-0.91,-1.14,-1.19,-1.32,-1.61,-1.56,-0.92,-0.06,0.28,-0.52,-2.17,-3.18,-3.21,-2.43,-1.4,-0.75,-0.66,-0.85,-1.04,-1.34,-1.82,-2.4,-2.77,-2.81,-3.02,-3.34,-4,-4.7,-5.09,-5.02,-4.6,-4.32,-4.06,-3.86,-3.74,-3.68,-3.64,-3.46,-3.24,-2.9,-2.53,-2.15,-1.78,-1.36,-0.9,-0.39,0.16,0.71,1.25,1.75,2.14,2.43,2.76,3.14,3.46,3.6,3.68,4.24,5.68,7.17,6.77,4.82,2.16,-0.15,-0.81,-0.49,-0.1,0.08,0.14,0.14,0.1,0.04,-0.01,-0.04,-0.05,-0.03,0.05,0.18,0.42,0.76,1.2,1.7,2.23,2.75,3.17,2.41,2.83,3.19,3.45,3.63,3.82,4.07,4.38,4.82,5.36,5.9,6.42,6.97,7.32,7.24,6.94,6.85,6.84,6.8,6.63,6.47,6.65,7.12,7.46,7.19,6.11,4.39,2.63,1.41,0.78,0.41,0.12,-0.17,-0.44,-0.64,-0.78,-0.99,-1.26,-1.43,-1.41,-1.24,-1.02,-0.78,-0.55,-0.3,0.05,0.42,0.73,0.98,1.14,1.14,0.93,0.55,0.36,0.79,1.45,1.7,1.14,0.18,-0.61,-0.91,-0.66,0.06,0.79,1.13,1.14,1.12,1.22,1.33,1.2,0.8,0.37,0.09,-0.18,-0.51,-0.87,-1.22,-1.51,-1.78,-2.03,-2.23,-2.41,-2.52,-2.89,-3.58,-4.51,-5.27,-5.41,-5.05,-4.88,-4.78,-4.49,-4.04,-3.57,-3.24,-2.89,-2.36,-1.68,-0.89,0.09,1.2,1.46,0.83,0.03,-0.2,0.2,0.52,-0.07,-1.32,-2.06,-2.48,-2.67,-2.85,-2.9,-3.05,-3.82,-4.98,-5.99,-6.86,-7.62,-8.98,-9.83,-10.18,-10.4,-10.48,-10.38,-10.27,-9.78,-9.6,-9.57,-9.66,-9.83,-10.27,-10.85,-10.66,-10.26,-9.82,-9.63,-9.12,-8.09,-6.68,-6.26,-7.16,-6.57,-6.81,-6.99,-5.96,-4.95,-4.22,-3.87,-3.82,-3.87,-3.92,-3.94,-3.87,-3.77,-3.7,-3.7,-3.71,-3.68,-3.6,-3.48,-3.27,-3.22,-3.29,-3.22,-3.14,-3.03,-2.97,-3.06,-3.15,-3.19,-3.21,-3.25,-3.26,-3.26,-3.23,-3.2,-3.17,-3.16,-3.13,-3.05,-2.95,-2.84,-2.73,-2.59,-2.42,-2.3,-2.22,-2.21,-2.21,-2.18,-2.13,-2.03,-1.87,-1.67,-1.42,-1.17,-0.96,-0.8,-0.65,-0.56,-0.5,-0.46,-0.44,-0.42,-0.4,-0.35,-0.27,-0.14,0.03,0.18,0.4,0.66,0.95,1.32,1.66,1.97,2.21,2.41,2.56,2.72,2.94,3.2,3.48,3.7,3.86,3.96,4.02,4.04,4.04,4.06,4.1,4.2,4.33,4.46,4.65,5.28,5.63,5.61,5.26,4.67,4.39,4.62,5.33,5.86,5.98,5.64,5.03,4.62,4.78,5.23,5.39,4.82,4.59,4.52,4.7,4.72,4.43,4.31,4.57,4.76,4.64,4,4.27,4.66,4.79,4.71,4.44,4.09,3.6,3.36,3.18,2.72,2.13,1.79,1.84,2.04,2.08,1.97,1.38,0.67,-0.07,-0.59,-0.81,-1.02,-1.58,-2.43,-3.21,-3.67,-3.89,-3.93,-3.39,-2.62,-1.85,-0.98,-0.3,0.2,0.66,0.93,0.73,-0.03,-1.15,-2.25,-3,-3.45,-3.77,-3.83,-3.66,-3.63,-3.94,-4.42,-4.68,-4.52,-4.09,-3.61,-3.06,-2.3,-1.41,-0.66,-0.23,-0.09,-0.06,0.04,0.2,0.33,0.45,0.67,1.14,1.79,2.31,2.39,1.94,1.39,1.15,1.33,1.52,1.45,1.02,0.3,-0.45,-0.86,-0.67,-0.06,0.5,0.8,0.82,0.64,0.37,0.1,-0.12,-0.22,-0.22,-0.14,0.03,0.29,0.62,1.06,1.57,1.99,3.6,3.67,3.75,3.88,4.09,4.37,4.64,4.84,5.02,5.29,5.69,6.21,6.82,7.4,8.02,8.59,8.47,8.48,8.28,8.05,7.89,7.78,7.84,8.38,9.5,10.77,11.57,11.84,11.44,10.58,9.73,8.84,7.81,6.93,6.29,5.81,5.15,4.39,3.63,3.08,2.85,2.74,2.71,2.73,2.77,2.67,2.41,2.28,2.37,2.55,2.6,2.4,2.1,1.86,1.51,0.68,-0.62,-1.62,-1.72,-1.04,-0.12,0.27,0.48,0.66,0.75,0.77,0.73,0.63,0.44,0.19,-0.09,-0.38,-0.69,-1.06,-1.43,-1.75,-1.95,-2.03,-2.04,-1.94,-1.94,-2.16,-2.5,-2.74,-2.7,-2.29,-1.81,-1.68,-2.34,-3.24,-3.46,-3.42,-3.37,-3.32,-3.06,-2.54,-2.04,-1.85,-1.95,-2.08,-2.06,-2.03,-2.08,-2.25,-2.2,-1.95,-1.93,-2.32,-3.04,-3.82,-4.52,-5.12,-4.94,-4,-3.31,-3.78,-5.31,-7.2,-8.83,-9.36,-9.63,-9.47,-9.46,-9.85,-10.34,-10.93,-11.3,-11.34,-10.77,-9.86,-9.32,-9.19,-8.3,-7.09,-6.3,-5.76,-6.12,-7.38,-8.89,-9.03,-7.69,-6.15,-5.68,-6.38,-6.27,-5.03,-5.02,-6.2,-6.61,-6.68,-6,-4.51,-4.04,-3.92,-3.88,-3.82,-3.73,-3.69,-3.65,-3.61,-3.52,-3.38,-3.4,-3.47,-3.43,-3.3,-3.23,-3.2,-3.2,-3.24,-3.27,-3.29,-3.3,-3.33,-3.37,-3.42,-3.46,-3.49,-3.51,-3.52,-3.51,-3.52,-3.45,-3.39,-3.33,-3.26,-3.14,-2.97,-2.74,-2.44,-2.06,-1.59,-1.06,-0.54,-0.11,0.26,0.61,0.97,1.3,1.57,1.74,1.87,1.91,1.92,1.91,1.9,1.83,1.68,1.5,1.36,1.28,1.19,1.17,1.16,1.22,1.36,1.55,1.79,2.06,2.31,2.51,2.6,2.6,2.6,2.66,2.83,3.11,3.42,3.72,3.97,4.12,4.21,4.24,4.3,4.38,4.44,4.53,4.71,4.88,5.04,5.2,5.4,5.62,5.83,5.98,5.64,5.23,4.85,4.26,3.64,3.37,3.56,4.01,4.51,4.72,4.54,4.75,4.52,4.66,4.99,5.5,5.6,5,4.27,4.11,4.2,3.7,3.28,3.86,4.66,5.09,4.6,3.68,2.92,2.56,2.5,2,0.81,-0.77,-1.71,-1.55,-0.91,-0.28,0.22,0.71,1.3,1.91,2.16,2.21,2.13,2.03,1.96,1.86,1.74,1.59,1.4,1.23,1.14,1.18,1.34,1.61,1.69,1.31,0.64,-0.07,-0.92,-2.14,-3.31,-3.88,-3.85,-3.81,-4.04,-4.3,-4.42,-4.39,-4.23,-3.76,-3.07,-2.33,-1.67,-1.1,-0.61,-0.18,0.12,0.29,0.36,0.33,0.2,0.02,-0.11,-0.08,0.19,0.3,-0.13,-0.89,-1.26,-0.94,-0.4,-0.11,-0.21,-0.51,-0.71,-0.61,-0.24,0.21,0.69,1.16,1.59,1.84,2.02,2.2,2.33,2.57,2.81,3.08,3.43,3.66,3.67,3.61,3.57,4.23,4.46,4.68,4.84,4.93,4.93,4.93,5.04,5.24,5.53,5.99,6.52,7.02,7.4,7.74,8.04,8.2,8.06,7.86,7.95,8.61,9.52,10.28,10.8,11.15,11.54,11.95,12.35,12.76,13.02,13.16,13,12.48,11.7,11.06,10.86,10.58,9.6,8.43,7.46,6.77,6.19,5.7,5.44,5.54,5.74,5.49,5.06,4.49,3.86,3.34,3.04,3.08,2.84,1.48,-0.7,-2,-1.83,-0.76,0.1,0.57,0.87,1.07,1.14,1.02,0.71,0.31,-0.06,-0.44,-0.82,-1.15,-1.32,-1.52,-1.85,-2.26,-2.71,-2.98,-3.11,-3.02,-2.84,-2.53,-2.15,-1.55,-0.8,-0.01,0.9,1.78,2.07,1.31,-0.03,-1.11,-1.6,-2.1,-2.91,-3.8,-4.18,-3.92,-4.22,-4.3,-4.65,-4.77,-4.69,-5.04,-5.4,-5.65,-5.91,-6.26,-6.66,-6.78,-6.2,-5.88,-5.27,-4.74,-3.96,-3.22,-2.86,-3.33,-3.92,-4.4,-4.73,-4.9,-5.09,-5.41,-5.96,-6.73,-7.84,-9.15,-9.99,-9.62,-8.59,-8.3,-8.23,-8.16,-8.14,-8.24,-8.39,-8.44,-8.24,-7.87,-7.51,-7.31,-7.2,-7.02,-5.86,-5.1,-4.72,-4.52,-4.35,-4.19,-3.96,-3.62,-3.23,-2.91,-2.69,-2.53,-2.37,-2.22,-2.07,-1.93,-1.81,-1.83,-1.93,-2.06,-2.18,-2.34,-2.52,-2.64,-2.66,-2.61,-2.53,-2.52,-2.57,-2.69,-2.83,-3,-3.14,-3.25,-3.33,-3.4,-3.47,-3.53,-3.56,-3.6,-3.62,-3.6,-3.49,-3.27,-2.9,-2.37,-1.74,-1.07,-0.42,0.17,0.68,1.13,1.56,1.96,2.27,2.47,2.61,2.71,2.78,2.83,2.82,2.78,2.71,2.68,2.64,2.55,2.42,2.24,2.02,1.87,1.87,1.84,1.84,1.89,1.96,2.08,2.23,2.42,2.59,2.73,2.81,2.82,2.89,3.04,3.24,3.45,3.64,3.78,3.88,3.9,3.84,3.68,3.45,3.61,4.1,4.56,4.53,3.96,3.75,4.33,4.85,4.79,4.89,5.33,5.55,5.34,4.94,4.62,4.38,4.2,4.17,4.35,4.58,4.7,4.76,4.75,4.7,5,5.32,5.62,5.42,5.36,5.87,6.19,6.33,6.26,6.1,5.7,5.8,6.33,6.87,7.16,7.01,6.68,6.46,6.75,7.74,7.9,6.91,5.17,3.95,3.31,2.53,1.83,1.36,1.27,1.47,1.73,2.04,2.48,2.8,2.88,2.7,2.34,2.01,1.81,1.75,1.77,1.97,2.06,1.58,0.58,-0.74,-2.09,-3.09,-3.35,-3.12,-3.13,-3.78,-4.63,-5.03,-4.82,-4.28,-3.74,-3.36,-3.07,-2.77,-2.38,-1.8,-1.04,-0.23,0.47,1.04,1.53,2.09,2.64,2.94,2.77,2.51,2.41,1.98,1.17,0.32,0.08,0.24,0.41,0.45,0.44,0.51,0.64,0.54,0.29,0.24,0.55,0.94,1.18,1.32,1.47,1.85,2.43,2.97,3.36,3.66,3.75,3.79,3.88,4.03,2.31,2.86,3.35,3.79,4.22,4.59,4.84,5.03,5.21,5.35,5.55,5.8,6.24,6.77,7.27,7.61,7.64,7.52,7.46,7.65,8.08,8.66,9.22,9.78,10.31,10.73,11.1,11.46,11.69,11.83,12.05,12.21,12.35,12.5,12.21,11.6,11.05,10.72,10.38,9.97,9.6,9.15,8.59,7.91,7.17,6.6,6.27,5.94,5.45,4.81,4.06,3.13,2.05,1.2,0.95,0.94,0.78,0.73,1.04,1.39,1.58,1.67,1.67,1.51,1.09,0.46,-0.14,-0.53,-0.72,-0.74,-0.77,-0.81,-0.77,-0.79,-0.95,-1.35,-1.8,-2.2,-2.24,-1.83,-1.35,-1.39,-1.55,-1.22,-0.98,-1.06,-1.14,-1,-0.87,-1.03,-1.4,-1.9,-2.58,-3.32,-3.85,-4.21,-4.6,-4.97,-5.32,-5.68,-6.01,-6.29,-6.52,-6.75,-6.82,-6.68,-6.31,-5.69,-5.04,-5,-4.88,-4.75,-4.46,-4.13,-4.03,-4.2,-4.52,-4.7,-4.56,-4.09,-4.04,-3.71,-4.57,-4.74,-5.62,-5.85,-6.12,-6.58,-7.13,-7.24,-7.03,-7.11,-7.42,-7.81,-8.21,-8.55,-8.77,-8.91,-8.95,-8.89,-8.72,-8.39,-7.85,-7.12,-6.36,-5.69,-5.06,-4.36,-3.72,-3.25,-2.95,-2.67,-2.41,-2.2,-2.03,-1.89,-1.78,-1.71,-1.69,-1.77,-1.94,-2.11,-2.25,-2.29,-2.32,-2.38,-2.4,-2.41,-2.38,-2.39,-2.45,-2.52,-2.6,-2.64,-2.68,-2.71,-2.74,-2.79,-2.85,-2.93,-3.05,-3.25,-3.51,-3.64,-3.54,-3.12,-2.57,-1.96,-1.31,-0.67,-0.09,0.39,0.79,1.14,1.52,1.9,2.26,2.57,2.83,3.02,3.16,3.25,3.28,3.28,3.27,3.21,3.09,2.96,2.93,2.96,2.81,2.41,2.02,1.77,1.64,1.55,1.51,1.55,1.64,1.78,1.93,2.11,2.28,2.47,2.63,2.77,2.9,3,3.06,3.07,3.06,3.02,2.91,2.85,2.9,2.9,2.5,2.04,2.16,2.72,2.79,2.34,2.02,2.17,2.43,2.65,2.86,3.19,3.69,4.06,4.33,4.1,3.77,3.76,3.69,3.3,2.64,2.47,2.79,2.95,3.45,3.75,3.61,3.05,3.05,3.67,4.16,4.13,3.76,2.84,2.2,2.62,3.52,3.61,2.97,2.76,3.13,3.33,2.39,0.61,-0.52,0.03,1.17,1.48,0.69,0.13,0.29,0.49,0.24,-0.18,-0.41,-0.31,0.05,0.61,1.32,1.87,2.1,2.1,2.01,1.95,1.96,2.07,2.08,1.94,1.51,1.17,0.61,-0.39,-1.45,-1.99,-2.26,-2.84,-3.66,-4.25,-4.41,-4.2,-3.99,-3.87,-3.59,-3.06,-2.56,-2.11,-1.47,-0.68,-0.07,0.32,0.57,0.81,1.08,1.39,1.69,1.81,1.52,0.97,0.27,-0.22,-0.63,-1.03,-1.14,-0.93,-0.7,-0.84,-1.27,-1.67,-1.8,-1.62,-1.45,-1.51,-1.38,-1.4,-1.49,-1.52,-1.4,-1.15,-0.82,-0.43,0.03,0.55,1.1,1.7,-0.23,0.33,0.75,1.13,1.54,1.95,2.32,2.68,3.14,3.65,4.02,4.22,4.45,4.85,5.46,6.05,6.54,6.7,6.61,6.55,6.58,6.85,7.24,7.54,7.88,8.34,8.78,9.24,9.73,10.08,10.41,10.74,10.91,11.01,11.11,11.09,10.9,10.7,10.8,10.84,10.43,9.65,9.02,8.12,6.96,6.22,5.86,5.59,5.28,5,4.59,3.22,1.11,0.58,2.09,3.16,2.68,1.66,1.26,1.39,1.66,1.87,1.75,1.27,0.6,0.02,-0.34,-0.4,-0.2,-0.15,-0.13,-0.17,-0.27,-0.1,0.09,-0.06,-0.44,-1.43,-3.38,-4.89,-5.29,-4.88,-5.31,-5.15,-4.5,-3.91,-3.56,-3.39,-3.48,-3.48,-3.65,-3.89,-4.02,-4.15,-4.36,-4.7,-5.16,-5.49,-5.57,-5.59,-5.65,-5.52,-4.63,-4.38,-4.09,-4.24,-4.59,-4.58,-3.87,-3.16,-2.41,-2.14,-2.25,-2.14,-1.96,-1.88,-1.85,-1.68,-1.37,-1.08,-1.04,-1.3,-1.97,-2.89,-3.31,-2.84,-2,-1.54,-2.08,-3.05,-3,-3.43,-3.78,-3.76,-3.83,-4.24,-4.98,-5.4,-5.32,-5.57,-7.39,-8.38,-9.17,-9.24,-8.67,-7.95,-7.43,-6.28,-5.04,-4.01,-3.39,-3.02,-2.77,-2.59,-2.38,-2.18,-2.04,-1.89,-1.77,-1.76,-1.8,-1.81,-1.84,-1.9,-1.96,-1.97,-1.96,-1.97,-2,-2.03,-2.07,-2.07,-1.96,-1.79,-1.72,-1.76,-1.84,-1.98,-2.1,-2.12,-2.07,-2.19,-2.41,-2.53,-2.6,-2.72,-2.58,-2.14,-1.64,-1.18,-0.66,-0.01,0.57,0.94,1.04,1.17,1.52,1.9,2.28,2.62,2.93,3.15,3.33,3.42,3.54,3.51,3.33,3.13,2.95,2.76,2.47,1.98,1.47,1.09,0.82,0.62,0.43,0.29,0.25,0.3,0.35,0.46,0.65,0.89,1.15,1.37,1.52,1.65,1.68,1.62,1.57,1.59,1.46,1.23,1.33,1.52,1.11,0.54,0.64,0.92,0.98,0.7,0.39,0.59,0.89,0.94,0.95,1.07,1.27,1.7,2.41,2.19,1.86,1.88,1.57,1.16,1.19,1.53,1.65,1.49,1.32,1.37,1.37,1.1,1.32,2.18,2.71,2.89,3.28,3.37,3.24,3.26,3.25,2.96,2.7,2.74,2.81,2.48,2.22,2,1.96,1.99,2.42,3.04,2.97,2.38,1.74,0.79,-0.46,-1.2,-0.99,-0.6,-0.57,-0.37,0.23,0.99,1.58,1.84,1.96,2.03,2.09,2.02,1.96,1.39,0.31,-0.36,-0.15,0.15,0.11,-0.2,-0.77,-1.65,-2.47,-3.02,-3.58,-4.12,-4.53,-4.83,-5.02,-5.18,-5.15,-4.74,-3.9,-2.79,-1.59,-0.52,0.21,0.42,0.69,1.56,1.79,0.86,-0.03,-0.43,-0.73,-0.77,-0.57,-0.71,-1.25,-1.77,-1.99,-2.26,-2.52,-2.98,-3.39,-3.48,-3.25,-2.84,-2.55,-2.52,-2.49,-2.11,-1.55,-1.24,-1.27,-1.45,-1.53,-1.42,-1.15,-0.76,-1.98,-1.83,-1.65,-1.45,-1.23,-0.96,-0.74,-0.6,-0.4,-0.09,0.25,0.65,1.22,1.84,2.44,3.13,3.96,4.79,5.39,5.74,5.95,6.15,6.22,6.29,7.08,7.82,7.26,7.37,7.89,8.08,7.59,7.43,7.61,7.88,7.98,7.93,7.81,7.76,7.58,7.4,7.24,7.07,6.72,6.36,6.35,6.47,6.38,5.88,5.17,4.68,4.65,4.79,4.27,2.89,1.87,2.05,2.34,2.11,1.47,0.97,0.76,0.79,0.58,0.07,-0.34,-0.41,-0.04,0.57,0.86,0.4,-0.2,-0.25,0.28,0.97,0.95,0.5,0.43,0.06,-1.29,-2.95,-3.9,-3.83,-3.74,-3.76,-4.08,-4.12,-3.91,-3.67,-3.38,-2.86,-2.71,-2.83,-3.22,-3.61,-3.8,-3.98,-4.13,-4.27,-4.39,-4.6,-4.63,-3.66,-2.65,-2.01,-1.93,-2,-1.98,-1.89,-1.65,-1.39,-0.65,0.28,0.63,0.28,-0.11,-0.08,0.16,0.33,0.41,0.5,0.75,0.88,0.62,-0.01,-0.66,-1.37,-1.79,-1.93,-2.04,-1.61,-0.07,1.16,0.12,-1.48,-1.74,-0.69,0.34,0.94,1.21,0.99,0.31,-0.18,-0.78,-2.11,-3.99,-5.75,-6.8,-7.05,-6.43,-5.68,-4.58,-3.29,-2.54,-2.28,-2.28,-2.37,-2.45,-2.18,-1.77,-1.42,-1.1,-0.85,-0.91,-1.12,-1.28,-1.36,-1.38,-1.37,-1.35,-1.38,-1.5,-1.66,-1.66,-1.53,-1.46,-1.37,-1.06,-0.56,-0.17,0.09,0.48,0.66,0.37,0,-0.22,-0.44,-1,-1.52,-1.64,-1.19,-0.56,0.31,1.21,1.36,1.38,1.53,1.76,2.08,2.49,2.92,3.14,3.02,2.79,3.29,3.36,2.2,0.88,0.73,0.86,0.94,0.71,0.09,-0.4,-0.73,-1.16,-1.6,-1.82,-1.9,-1.94,-1.96,-1.93,-1.97,-2.07,-2.08,-1.99,-1.85,-1.64,-1.56,-1.14,-0.9,-0.7,-0.36,-0.04,0.38,1.13,2.08,2.22,0.74,-1.15,-1.85,-0.73,0.59,0.08,-0.93,-1.03,-0.89,-0.7,-0.54,-0.53,-0.58,-0.58,-0.39,0.16,0.7,0.73,0.38,0.36,0.89,1.23,1.41,1.49,1.12,0.24,-0.79,-1.45,-0.93,-0.09,0.5,1.23,2.01,2.28,2.25,1.96,1.53,1.27,1.2,1.07,0.87,0.42,-0.15,-0.36,0.26,1.23,1.89,2.87,3.92,4.47,4.16,3.24,1.42,-1.03,-2.58,-2.33,-1,0.03,0.6,1.2,1.76,2.1,2.36,2.73,2.71,2.72,3.08,3.23,2.47,2.18,1.98,0.89,0.26,0.49,0.34,-0.24,-0.78,-1.25,-1.58,-2.21,-2.85,-3.08,-3.22,-3.43,-3.35,-3.04,-3.16,-3.59,-3.21,-1.84,-0.56,0.51,1.45,1.35,0.68,0.68,0.84,0.04,-1.1,-1.09,-0.64,-0.93,-1.33,-1.46,-1.78,-2.59,-3.31,-3.15,-2.34,-1.58,-1.09,-0.81,-0.75,-0.75,-0.57,-0.18,0.17,0.25,-0.01,-0.5,-1.09,-1.62,-1.94,-2.37,-2.81,-2.85,-2.88,-3.01,-3.11,-3.04,-2.92,-2.71,-2.38,-1.92,-1.46,-0.93,-0.39,0.1,0.63,1.23,1.53,1.45,1.26,0.87,0.41,0.38,0.37,0.06,-0.18,-0.06,0.26,0.65,1.27,1.79,1.79,1.99,2.46,2.88,3.33,3.65,3.61,3.35,3.19,3.31,3.76,4.4,5.02,5.35,5.25,4.49,3.68,3.59,4.01,4.06,3.79,3.68,3.53,2.88,1.9,1.16,0.87,0.66,0.11,-0.83,-1.6,-1.77,-1.38,-0.69,0.11,1,1.65,1.56,0.72,0.36,0.69,0.97,1.37,1.7,1.52,1.07,0.48,-0.28,-0.74,-0.21,1.09,2.27,2.71,2.57,2.26,2.11,2.11,1.9,1.58,1.6,2.62,3.19,2.66,1.25,0.53,0.56,0.68,0.91,1.44,1.91,1.65,0.61,-0.23,-0.62,-0.39,0.59,1.57,2.05,1.8,0.38,-0.86,-0.49,0.59,1.24,1.33,1.28,1.11,0.77,0.44,0.59,1.32,2.13,2.54,2.43,1.87,1.88,2.44,3.56,3.76,2.64,1.21,1.14,1.86,1.78,1.6,2.43,3.1,3.14,2.58,1.9,1.65,1.91,1.63,0.89,0.09,-0.41,-0.35,-0.13,-0.34,-0.69,-0.69,-0.33,0.12,0.43,0.35,0.07,-0.03,-0.42,-1.28,-1.67,-1.11,-0.9,-1.09,-0.9,-0.56,-0.23,0.16,0.02,-0.3,0.2,0.22,-0.81,-1.13,-0.52,-0.17,-0.29,0.11,1.32,2.45,2.51,2.15,2.09,1.95,1.59,1.04,0.38,-0.15,-0.14,0.23,0.72,1.2,1.58,2.31,3.29,3.78,3.74,4.39,5.06,4.19,2.43,0.89,0.33,0.54,0.27,-1.02,-1.82,-0.88,0.1,-0.31,-1.23,-2,-2.31,-2.3,-2.61,-3.24,-3.68,-3.81,-3.69,-3.66,-3.65,-3.53,-3.22,-3.15,-3.51,-4.23,-3.92,-3.59,-3.2,-2.92,-2.01,-1.37,-1.93,-2.05,-0.47,1.09,1.41,1.12,1.2,1.81,2.48,3.16,2.91,0.54,-1.8,-2.16,-0.92,0.34,-0.19,-1.88,-2.74,-2.38,-1.61,-1.63,-2.44,-2.95,-2.37,-1.44,-0.97,-0.65,-0.18,0.01,0.41,1.85,3.38,2.63,-2.15,-5.5,-3.83,-0.59,1.03,1.5,1.82,1.83,1.64,1.8,2.12,2.3,2.09,1.53,0.56,-0.62,-1.38,-1.07,-0.08,1.77,3.9,4.16,2.93,2.95,3.84,2.8,-0.47,-2.42,-1.22,0.37,1.12,1.71,2.27,2.49,2.65,3.03,3.35,3.22,2.28,1.16,0.8,0.41,-0.26,-1,-1.51,-1.25,-0.8,-0.7,-0.68,-0.44,-0.48,-1.27,-2.37,-3.04,-3.11,-2.88,-2.47,-1.69,-0.84,-1.44,-3.17,-3.16,-1.03,0.89,1.03,0.46,0.42,0.53,-0.15,-0.78,-0.58,-0.93,-1.76,-2.09,-2.06,-1.83,-1.59,-1.54,-1.14,-0.32,0.38,0.72,0.91,1.16,1.5,1.89,2.27,2.52,2.48,2.27,2.1,1.63,0.46,-1.11,2.81,1.8,0.76,-0.14,-0.82,-1.35,-1.72,-1.88,-1.84,-1.69,-1.5,-1.19,-0.9,-1.26,-2.22,-2.55,-1.87,-1.54,-1.1,-0.66,0.3,1.26,1.61,1.63,1.81,1.48,0.7,-0.12,-0.68,-0.82,-0.84,-0.86,-0.71,-0.56,-0.33,-0.32,-0.85,-1.23,-0.91,0.07,0.99,1.37,1.28,1.11,1.16,1.39,1.43,1.4,1.85,2.59,3.05,3.18,2.8,1.53,0.16,-0.63,-0.81,-0.56,-0.18,0.2,0.43,0.18,-0.21,-0.03,0.52,1.14,2.07,3.26,3.55,2.76,1.71,1.23,1.33,1.92,2.66,2.91,2.94,2.99,2.79,2.44,2.08,1.89,1.93,2.11,2.43,2.63,2.3,1.81,1.13,0.43,0.58,1.4,1.7,1.45,1.44,2.02,2.18,1.76,1.49,0.92,0.16,-0.06,0.29,1.14,2.17,2.54,1.85,1.3,1.57,1.64,0.7,-0.17,-0.04,0.61,1.3,1.9,2.45,2.66,2.62,2.73,3.04,3.12,2.88,1.99,1.39,1.31,1.04,1.45,2.62,2.85,1.75,1.56,2.73,2.79,1.56,0.79,0.69,0.49,0.33,0.41,0.1,-0.24,-0.03,0.38,0.42,0.31,0.35,0.2,-0.21,-0.58,-0.73,-0.21,0.91,1.46,1.31,1.26,1.39,0.95,0.17,-0.34,-0.05,0.52,0.47,0.2,0.16,0.08,-0.69,-0.98,-1.14,-1.69,-0.36,1.99,2.48,2.83,3.03,3.26,3.27,2.56,0.69,0.15,0.49,0.39,0.88,1.4,0.82,-0.08,0.12,1,1.44,1.15,1,1.2,1.55,2.6,3.98,4.5,4.1,3.61,2.55,0.84,-0.75,-1.74,-2.08,-2.07,-2.35,-3.06,-3.32,-2.42,-1.2,-1.18,-1.88,-1.91,-1.07,-0.1,0.52,0.38,-0.12,-0.58,-1,-1.83,-2.56,-3.14,-3.39,-2.2,-1.51,-2.03,-2.54,-2.59,-2.18,-2.04,-1.64,-1.38,-1.87,-2.57,-2.2,-1.06,-0.09,0.04,-0.79,-0.94,0.96,3.97,6.28,7.2,5.59,2.01,-1.09,-3,-3.38,-3.6,-4.07,-4.52,-4.33,-4.13,-4.6,-4.71,-5.05,-4.79,-3.56,-2.79,-2.39,-1.78,-1.4,-1.05,0.1,2.35,4.25,3.94,2.14,-0.83,-2.29,-0.85,1.12,1.91,2.13,3.12,4.22,4.35,3.37,1.84,0.11,-0.62,-0.41,0.17,0.57,0.93,2.07,3.74,5,5.09,4.85,4.7,4.31,2.08,0.35,0.55,1.18,1.59,2.07,2.53,2.81,2.89,3.09,3.85,4.75,5.57,5.13,3.64,2.79,2.34,1.33,-0.18,-0.97,-1.05,-0.74,-0.3,0.08,0.34,0.26,-0.48,-2.1,-3.18,-3.03,-2.83,-1.9,0.21,0.97,-0.45,-1.65,-1.17,-1.23,-1.6,-1.23,-1.12,-1.77,-2.57,-2.95,-2.72,-2.54,-2.45,-2.4,-2.29,-2.07,-1.85,-1.87,-2.14,-2.25,-1.94,-1.51,-1.22,-0.82,-0.03,0.94,1.8,2.37,2.77,3.13,3.53,3.79,3.56,5.13,5.57,5.79,5.67,5.39,5.19,4.96,4.62,4.36,4.22,3.94,3.67,3.02,0.43,-2.72,-3.47,-1.83,-1.17,-0.67,-0.11,0.05,-0.32,-0.97,-1.26,-1.07,-0.77,-0.3,0.09,0.33,0.43,0.12,-0.33,-0.21,0.19,0.4,0.32,0.01,-0.17,-0.02,0.33,0.44,0.01,-0.7,-0.91,-0.28,0.81,1.3,1.5,2.26,2.94,2.66,2.06,1.89,1.52,0.83,-0.26,-1.44,-1.77,-1.45,-0.99,-0.44,-0.47,-1.08,-1.52,-0.95,-0.11,0.72,1.4,1.49,1.69,1.91,1.37,0.67,0.57,1.1,1.25,0.9,0.92,1.47,1.54,1.17,0.91,0.66,0.3,0.42,0.97,0.9,0.47,0.45,0.33,-0.06,0.24,0.87,1.31,1.57,1.53,1.51,1.45,1.28,1.12,0.43,0.1,0.9,1.68,2.48,3.3,3.27,2.62,2.17,1.83,1.21,0.45,0.2,0.38,0.76,1.27,1.63,1.91,2.58,3.02,3.14,3.06,2.8,2.28,1.47,1.09,1.31,1.59,2.05,1.78,0.45,-0.23,0.64,1.27,0.49,-0.91,-1.13,-0.77,-0.74,-0.96,-0.39,-0.09,-0.55,-0.8,-0.91,-0.94,-0.46,0.22,0.14,-0.11,0.29,0.92,1.43,1.34,0.52,-0.1,0.03,-0.03,-0.01,0.38,1.32,2.44,2.89,2.61,2.63,3.8,3.28,2.33,0.6,-0.24,0.61,1.57,1.39,0.74,1.37,2.51,2.57,2.35,2.35,2.19,2.01,2.94,4.39,4.23,1.79,0.28,0.36,1.16,0.74,0.19,0.62,1.08,1.46,1.39,1.86,3.03,3.81,3.54,2.61,1.86,1.05,0.04,-0.43,-0.42,-0.64,-1.19,-1.68,-1.73,-1.35,-1.01,-0.74,-0.37,-0.3,-0.45,-0.62,-1.27,-2.12,-2.94,-3.01,-2.55,-2.47,-2.32,-1.86,-1.77,-1.47,-0.95,-1.11,-1.43,-1.54,-1.47,-1.14,-0.98,-1.62,-2.35,-1.99,-1.38,-0.48,0.38,-0.01,-1.41,-2.02,-1.18,0,1.27,2.15,2.28,2.01,1.53,0.7,-0.52,-1.63,-2.19,-4.19,-5.83,-5.98,-5.89,-5.84,-5.43,-5.01,-4.92,-4.44,-3.08,-2.39,-3.1,-3.77,-2.47,-0.09,2.25,3.97,5.17,5.47,4.62,2.22,1.27,3.13,5.65,5.34,5.16,4.06,1.64,0.63,0.48,1.05,2.24,2.99,2.7,2.31,1.7,2.78,3.58,4.19,4.15,3.69,3.34,1.24,-0.95,-0.82,0.82,2,2.51,2.86,3.02,3.11,3.39,3.7,3.31,3.03,3.24,3.28,1.99,0.77,0.98,0.61,-0.82,-1.45,-0.87,0.09,0.87,0.81,0.7,0.13,-1.94,-2.97,-3.3,-3.2,-2.41,-1.29,-0.87,-2.1,-3.98,-4.64,-5.31,-5.65,-5.2,-4.33,-3.31,-2.72,-2.97,-3.53,-4.2,-4.76,-5.84,-6.93,-7.68,-8.55,-9.47,-9.38,-8.49,-7.62,-7.01,-6.08,-4.57,-2.94,-1.45,-0.01,1.3,2.32,3.15,3.92,4.59,4.71,5.32,6,6.71,7.22,7.38,7.21,7,6.77,6.48,6.33,6.21,5.74,3.92,1.4,-0.15,-0.1,0.23,0.24,-0.37,-0.79,-0.16,0.49,0.61,0.65,0.81,0.78,0.49,-0.24,-0.66,-0.55,-0.48,-0.62,-0.82,-0.43,0.18,0.86,1.17,1.04,0.86,0.95,1.02,1.03,1.34,1.84,1.87,2.06,1.99,0.89,0.18,0.1,0.72,1.25,1.41,0.98,0.11,-0.78,-1.6,-1.96,-1.22,-0.29,-0.19,-0.6,-0.71,-0.27,0.39,0.58,-0.16,-0.52,-0.05,0.06,-0.76,-1.6,-1.64,-1.04,-0.73,-0.6,-0.49,-0.29,-0.23,-0.53,-1.18,-1.83,-1.94,-1.51,-1.07,-0.97,-1.02,-1.14,-1.13,-0.94,-0.41,0.05,0.57,0.91,0.73,0.69,1.16,1.78,2.45,2.04,1.97,2.89,3.05,2.64,2.66,2.57,2.17,2.08,1.96,1.67,1.72,1.69,1.65,1.87,1.84,1.92,2.16,2.1,1.82,1.87,2.29,2.01,0.76,0.7,1.54,2,2.04,1.77,0.89,-0.01,-0.23,-0.43,-0.57,-0.26,0.04,0.63,1.42,1.94,1.03,-1.27,-1.56,-0.28,0.85,0.29,-1.49,-2.94,-3.86,-3.36,-1.92,-0.96,-0.91,-1.01,-1.2,-1.5,-1.39,-0.82,-0.57,-0.28,0.24,0.53,0.32,0.8,2.06,3.27,3.73,3.49,2.4,-0.01,-0.89,0.12,1.64,2.04,1.08,0.34,0.46,0.48,1.04,2.2,3.41,4.22,4.14,4.28,4.23,4.16,4.3,4.17,4.54,2.32,-1.01,-1.47,0.44,1.63,2.01,1.31,0.41,1.45,4.06,5.02,4.5,3.15,1.68,1.43,2.08,2.61,1.95,1.35,1.03,0.78,0.29,-0.13,0.31,0.64,-0.05,-0.71,-0.8,-0.44,-0.13,-0.45,-1.31,-1.99,-2.83,-2.86,-2.89,-2.16,-1.26,0.18,-0.64,-2.31,-2.19,-1.28,-1.17,-1.26,-0.82,-0.49,-0.53,-0.57,0.04,0.81,-0.49,-2.55,-2.21,-1.56,-1.01,-0.14,0.63,0.84,0.65,0.3,-0.55,-1.77,-2.52,-3.52,-6.02,-6.74,-6.85,-7.13,-7.37,-7.3,-7.51,-7.22,-5.97,-4.6,-3.33,-1.78,-0.01,1.73,3.35,4.87,6.16,7.22,7.89,7.23,6.04,6.63,7.68,8.97,9.37,6.79,3.06,2.96,3.26,3.15,3.16,3.48,4.11,4.83,5.21,5.89,6.55,7.04,6.92,5.09,2.77,2.57,1.76,-0.56,-0.94,0.41,1.63,2.65,3.07,3.17,3.37,3.32,2.91,2.25,0.77,-0.56,-0.9,-1.65,-1.62,-0.7,-0.31,-0.5,-0.98,-0.87,0.02,0.59,0.6,0.06,-1.75,-3.59,-4.75,-4.72,-3.93,-1.99,-1.89,-4.2,-5.35,-5.02,-4.27,-3.77,-3.67,-3.9,-4.51,-5.6,-5.75,-5.84,-5.71,-6.51,-8.44,-10.69,-11.86,-11.27,-10.46,-10.27,-9.71,-8.45,-6.89,-5.41,-4.17,-3.1,-2.08,-0.97,0.24,1.42,2.5,3.42,4.13,5,5.22,5.57,6.26,7.07,7.74,8.05,7.96,7.91,7.74,7.48,7.28,4.94,1.86,1,1.75,1.79,1.56,1.81,1.84,1.18,0.25,-0.39,-0.26,-0.19,-0.19,-0.2,-0.71,-1.21,-1.09,-0.43,-0.33,-0.89,-1.06,-0.99,-1.66,-2.08,-1.56,-0.97,-0.57,-0.08,0.22,-0.08,-0.72,-1.15,-1.01,-1.02,-0.86,-0.6,-0.29,-0.01,0.56,1.42,2.31,2.66,2.11,1.61,0.6,-0.57,-0.58,-0.19,-0.45,-0.51,-0.02,0.19,0.08,-0.34,-0.92,-0.97,-0.91,-0.88,-0.92,-1.48,-2.12,-2.12,-1.92,-1.92,-2.12,-2.31,-2.34,-2.01,-1.7,-1.57,-1.65,-1.88,-2.24,-2.21,-1.87,-1.46,-1.22,-1.2,-0.97,-0.62,-0.69,-0.82,-0.4,0.05,0.17,0.4,0.66,1.04,1.42,2.38,3.08,2.66,2.25,2.34,2,1.75,1.5,1.03,1.05,1.33,1.44,1.26,0.68,0.46,0.76,1,1.34,1.41,1.62,1.97,1.83,0.56,0.35,1.5,1.93,0.64,-1.23,-1.61,-1.3,-0.95,-0.43,0.25,0.88,0.89,1.25,1.8,2.07,1.85,-0.14,-1.41,-0.85,0.54,1.33,1.14,-0.49,-2.52,-2.54,-2.1,-1.79,-1.82,-2.12,-2.4,-2.14,-1.19,-0.67,-0.26,0.33,0.44,0.32,0.21,0.38,0.65,0.11,-0.79,-0.98,-1.19,-1.92,-2.34,-1.22,-0.97,-1.19,-1.63,-1.64,-1.4,-1.54,-1.88,-2.33,-1.8,-0.25,1.1,2.12,3.42,4.04,3,0.7,0.56,1.8,1.12,1.79,3.11,2.64,1.2,-0.09,-1.96,-2.59,-0.8,1.82,3.26,2.98,2.71,3.18,3.5,3.87,2.97,2.57,2.52,2.35,1.72,0.87,0.94,1.54,1.75,1.6,1.95,2.43,2.43,1.86,0.39,-1.46,-2.8,-4.18,-3.92,-3.47,-3.38,-3.02,-2.89,-2.33,-1.74,-1.66,-1.32,0.27,2.1,3.79,2.34,0.43,-0.21,1.97,2.55,0.96,-0.31,-0.86,-0.5,0.49,1.12,0.71,-0.16,-0.72,-0.73,-0.41,-0.01,-0.46,-1.69,-2.36,-2.87,-3.92,-4.67,-4.67,-4.12,-3.56,-3.5,-3.67,-3.29,-1.95,0.13,2.15,3.44,4.35,6.07,7.67,9.89,10.23,7.87,8.37,9.86,8.55,4.85,2.91,3.02,3.23,3.5,4.01,4.29,4.31,4.88,5.82,6.38,6.23,6.17,7.38,9.25,9.14,8.07,5.38,2.46,-0.16,-1.08,0.46,2.45,3.64,4.27,4.6,4.62,4.89,4.24,0.69,-1.37,-1.11,-1.11,-0.94,-0.15,0.44,0.52,0.08,0.39,0.5,-0.12,0.28,0.58,0.62,1.31,0.71,-3.13,-8.34,-7.72,-4.39,-3.29,-2.85,-2.21,-1.78,-1.21,-1.05,-2.23,-3.11,-2.32,-1.27,-1.78,-3.23,-4.28,-2.92,-1.84,-2.58,-3,-3.36,-5.17,-4.6,-2.27,-0.84,-0.48,-0.67,-0.75,-0.39,0.42,1.44,2.55,3.55,4.22,4.68,6.71,7.41,7.75,7.83,7.91,8.38,9.06,9.26,9.08,8.89,9.36,8.57,4.19,3.13,4.05,3.93,2.32,2.47,2.8,2.35,2.34,1.99,1.1,0.01,-0.74,-0.93,-1.01,-1.45,-1.55,-1.62,-1.9,-2.15,-2.18,-2.09,-2.12,-4.74,-5.51,-3.95,-3.38,-3.13,-1.95,-1.22,-1.11,-0.86,-0.81,-1.14,-1.15,-1.13,-1.23,-1.16,-0.42,0.39,0.83,1.18,1.45,1.63,1.48,0.82,-0.28,-0.78,0.22,0.73,-0.21,-0.9,-0.59,-0.28,-0.31,-0.47,-0.82,-0.86,-0.76,-1.34,-2.05,-2.44,-3.19,-4.08,-4.17,-3.67,-4.06,-3.76,-2.69,-1.85,-1.76,-2.21,-2.31,-2.3,-2.17,-1.48,-0.89,-0.83,-0.65,-0.83,-1.22,-1.22,-1.02,-0.94,-1.09,-0.88,0.12,0.92,1.2,1.25,1.15,1.38,1.56,1.38,1.34,1.29,1.18,1.1,0.56,0.09,0.33,0.38,0.01,0.03,0.78,0.92,0.59,0.8,1.05,1.06,1.73,2.36,0.98,-0.11,0.93,1.62,1.59,0.01,0.05,1.44,1.54,1.09,0.32,-0.44,0.57,1.57,1.38,1.18,1.64,1.71,1.02,1.06,1.25,1.06,0.25,0.47,0.39,-0.8,-1.12,-0.72,-0.77,-1.3,-1.77,-1.48,-0.81,-0.81,-0.77,0.33,1.24,1.67,1.28,0.36,0.51,0.48,-0.69,-1.4,-1.8,-2.24,-1,-1.91,-4.09,-4.38,-3.98,-3.8,-3.45,-2.8,-2.38,-2.21,-1.22,-0.81,-1,-1.58,-1.42,0.3,1.42,0.28,-0.89,-0.1,0.2,-0.26,-0.01,1.76,2.14,1.69,1.29,0.52,0.17,0.72,0.81,0.55,1.06,2.08,2.48,2.36,2.05,2,1.8,2.14,2.43,2.27,2.67,3.23,3.3,2.3,0.89,0.68,0.8,0.56,-0.74,-2.34,-3.02,-3.08,-2.55,-1.1,-0.96,-2.1,-2.52,-2.04,-1.56,-1.08,-0.26,0.84,1,1.31,1.98,1.14,-0.15,-0.39,-0.08,0.43,0.76,1.11,1.04,1.06,2.2,4.25,6.38,7.45,8.63,9.07,8.77,8.03,6.9,5.8,4.31,2.62,0.69,-2.24,-5.32,-8.01,-9.16,-8.34,-6.21,-3.67,-0.88,0.81,1.27,1.73,3.45,5.45,6.7,5.49,6.1,9,11.38,9.68,4.89,1.13,0.4,1.34,3.39,5.71,5.5,4.25,4.24,4.64,4.6,5.08,6.21,7.05,7.5,7.61,6.88,7.31,8.28,6.39,2.62,1.5,2.86,4.21,5.39,5.8,5.75,6.27,7.64,7.32,4.1,1.54,-0.33,-1.54,-0.81,-0.19,-0.44,-1.56,-1.22,0.25,0.48,-0.18,-1.15,-0.3,1.91,1.06,-3.23,-5.02,-4.02,-2.51,-0.39,1.16,1.86,2.53,3.04,3.41,3.56,3.64,4.28,4.51,3.01,1.92,-0.85,-2.76,-1.36,-1.24,-2.83,-2.34,-0.99,-0.02,0.4,1.21,2.41,3.26,3.44,3.3,3.28,3.51,3.88,4.36,5.04,5.85,6.48,6.8,7.12,7.39,7.82,8.5,9.01,9.62,10.42,10.85,9.4,6.67,4.73,5.12,6.12,3.65,1.96,2.15,2.32,2.21,1.81,1.61,0.2,-0.79,-0.97,-1.14,-1.19,-1.38,-1.64,-1.96,-2.3,-2.31,-2.3,-2.18,-2.14,-2,-2.57,-4.37,-3.73,-1.78,-0.47,-0.25,-0.81,-0.75,-0.17,0.22,0.48,0.24,-0.1,-0.36,-0.42,-0.21,0.17,0.75,0.77,0.81,0.99,0.7,0.27,0.15,0.05,-0.29,-0.49,-0.6,-0.13,0.12,-0.04,0.03,-0.17,-0.26,-0.23,-0.91,-1.87,-2.85,-3.27,-3.23,-3.29,-2.66,-2.01,-2.22,-2.5,-2.42,-2.13,-1.7,-1.39,-1.63,-1.88,-1.52,-0.7,-0.09,0.2,-0.65,-0.94,-0.79,-0.96,-1.18,-1.13,-1,-0.54,-0.03,0.12,0.25,0.3,0.18,0.18,0.48,0.79,0.62,0.26,0.31,0.4,-0.26,-0.25,0.25,0.39,0.36,0.41,0.29,0.1,0.43,0.28,-0.7,-0.83,-0.61,-0.82,-0.83,-0.4,-0.13,-0.22,-0.63,-0.77,-0.44,0.36,1.42,1.65,1.13,1.07,1.62,1.82,0.87,-0.6,-0.41,0.22,1,1.33,1.52,2.05,1.54,0.06,-0.09,-0.32,-0.4,0.25,-0.01,-0.32,0.07,0.23,0.46,0.65,0.06,-0.57,0.36,1.29,0.57,-0.99,-2.08,-2.43,-2.46,-3.7,-3.13,-1.12,-0.57,-1.83,-2.34,-2.59,-3.28,-4.23,-4.94,-5.76,-5.33,-3.69,-3.17,-2.85,-2.67,-2.91,-3.42,-3.08,-1.56,-1.05,-2.42,-3.42,-2.89,-2.26,-1.69,-0.33,1.08,2.38,3.03,3.03,2.97,2.89,1.74,0.31,0.61,1.37,1.43,1.43,1.16,1.22,1.16,0.45,0.28,0.49,0.98,2.05,2.87,2.77,0.86,-0.96,-0.66,0.09,-0.86,-2.3,-2.22,-2.48,-2.33,-1.78,-1.88,-2.42,-2.88,-2.75,-2.62,-3.24,-2.33,-0.66,0.09,0.81,0.88,1.38,2.38,3,2.79,2.58,2.94,3.82,4.63,5.29,5.82,6.34,6.94,7.7,7.65,7.99,8.78,8.65,7.41,7.32,7.52,6.37,4.83,4.85,4.08,0.46,-2.91,-4.64,-5.7,-4.92,-2.24,-0.67,-0.41,0.59,2.67,2.99,3.74,5.65,7.14,7.46,7.36,8.86,8.59,5.64,3.72,3.57,5.16,6.84,8.01,6.66,5.13,5.38,5.69,5.95,6.25,5.39,4.76,5.01,3.78,3.38,4.94,5.02,4.11,4.17,4.62,5.25,5.44,5.61,6.2,7.11,6.76,4.73,3.26,2.27,1.33,2.27,2,1.51,0.9,-1.09,-0.72,0.2,0.47,0.05,-0.07,1.88,4.53,6.39,7.62,8.06,7.71,7.24,6.92,6.67,6.66,6.75,6.56,6.81,7.68,8.45,9.32,10.36,8.28,2.94,-1.44,-1.06,1.21,3,3.84,3.08,1.96,1.68,2.54,3.8,4.91,5.45,5.72,5.91,5.36,5.19,5.71,6.19,6.34,7.87,7.41,7.1,7.13,7.17,7.76,8.98,8.12,4.6,2.88,1.18,0.23,1.36,1.75,1.3,1.3,1.64,1.83,1.98,2.89,1.24,-0.61,-0.65,-0.25,-0.76,-0.96,-1.34,-2.23,-2.49,-2.18,-2.45,-2.33,-2.1,-1.59,-0.74,-0.4,-1.93,-2.85,-2.17,-1.22,-1.1,-0.2,-0.12,-0.59,0.01,0.36,-0.17,-0.44,-0.34,-0.06,0.11,-0.08,-0.02,0.54,1.03,1.09,0.98,0.3,-0.37,-0.11,0.39,0.2,0,-0.25,-0.37,-0.31,0.09,0.41,0.37,0.53,0.68,0.07,-0.9,-1.94,-2.46,-2.96,-2.96,-2.72,-2.31,-1.6,-1.1,-1.21,-1.26,-1.08,-0.58,-0.26,-0.61,-1.09,-1.3,-0.56,0,-0.43,-0.59,-0.6,-0.66,-1.04,-0.98,-0.67,-0.21,-0.17,-0.44,-0.52,-0.54,-0.26,0.13,0.43,0.4,0.41,0.7,0.43,0.06,0.42,0.47,0.2,0.29,0.82,1.43,1.62,1.68,2.08,2.02,1.04,0.05,-0.89,-1.16,-0.86,-0.61,-0.76,-1.08,-1.18,-0.71,-0.49,-0.8,-0.9,0.48,2.05,2.15,1.73,1.7,0.88,-1.57,-1.43,-0.87,-0.73,0.22,0.38,0.76,1.56,1.47,0.95,0.78,0.42,0.27,0.19,0.16,0.11,-0.22,-0.25,0.63,0.76,-1.33,-0.68,0.95,-0.09,-1.65,-2.66,-3.77,-3.8,-4.33,-4.34,-3.14,-3.13,-3.03,-2.83,-2.11,-1.57,-1.45,-1.12,-2.37,-3.31,-3.83,-3.84,-3.92,-3.88,-4.27,-4.55,-4.16,-3.75,-3.28,-2.33,-2.01,-1.94,-1.54,-1.58,-1.55,-1.05,-1.55,-0.96,0.35,0.32,0.18,0.13,0.14,0.03,-0.25,-0.98,-2.19,-3.09,-1.45,-0.42,-0.23,0.4,-0.17,-0.71,-0.52,-1.55,-2.71,-1.53,0.69,2.03,2.37,1.13,-0.94,-1.7,-1.07,-0.51,0.32,1.15,0.77,0.53,1.4,1.58,-0.15,-2.53,-2.55,-0.71,1.26,1.33,0.33,0.95,2.64,3.73,4.08,3.85,3.63,4.39,4.96,5.42,6.22,6.49,6.73,7.18,7.69,8.34,8.91,8.23,7.44,7.99,7.76,7.54,7.93,7.09,5.88,5.15,2.58,-2.28,-3.77,-2.51,-1.46,-0.07,0.94,1.34,1.95,2.75,3.88,4.2,4.49,5.92,6.41,5.05,4.38,5.08,5.72,5.85,5.76,5.84,6.32,6.9,6.56,5.97,5.96,5.02,4.42,5.3,5.53,4.9,2.78,2.44,3.17,3.97,4.45,4.45,4.36,4.52,5.11,5.92,6.71,6.9,7.19,6.65,3.11,0.96,0.91,0.34,0.44,1.66,0.88,-0.01,-0.83,-1.11,-0.81,-1.12,-0.76,0.56,2.63,4.63,5.9,6.55,6.87,7.35,7.83,8.09,8.37,8.79,9.05,9.56,10.67,11.53,12.33,13.85,15.01,13.45,10.54,8.64,7.65,7.11,6.31,4.93,3.68,3.41,3.74,4.43,5.32,5.87,5.87,5.99,6.68,7.46,7.96,8.07,7.92,7.74,7.2,6.43,4.86,2.16,1.09,1.49,3.39,3.84,2.34,1.25,0.71,0.16,-0.23,0.39,1.02,1.45,1.96,1.22,-0.22,-1.37,-0.73,-0.45,-0.57,-1.29,-2.08,-2.14,-2.21,-2.77,-2.12,-1.37,-0.67,-0.23,0.7,2.39,0.13,-1.48,-1,-1.1,-1.13,-0.25,0.09,-0.79,-1.06,-1.27,-1.47,-1.01,-0.61,-0.39,-0.18,-0.1,-0.06,0.18,0.58,0.79,1.01,0.76,0.13,0.56,0.81,0.39,0.47,0.61,0.22,0.16,0.65,0.58,0.68,1.05,1.42,1.62,1.07,-0.21,-1.86,-2.27,-1.94,-1.67,-1.79,-1.57,-1.14,-0.4,0.01,-0.53,-0.75,-0.55,-0.43,-0.55,-0.91,-1.16,-0.79,-0.64,-0.96,-1.33,-1.13,-0.97,-0.47,0.01,0.34,0.2,-0.22,-0.32,-0.29,-0.25,-0.48,-0.5,-0.41,-0.49,-0.47,-0.74,-0.69,-0.42,-0.4,-0.47,-0.16,0.22,0.75,1.17,1.43,1.68,1.88,1.9,1.72,1.5,1.06,0.8,1.07,0.91,0.02,-0.53,-0.11,0.31,0.73,0.56,0.16,0.27,0.78,1.3,1.39,0.95,-0.56,-1.04,-0.78,-0.75,-0.82,-0.65,-0.54,-0.21,0.49,0.01,-0.32,0.61,0.91,0.41,-0.72,-0.73,0.87,0.7,-0.03,0.3,1.48,2.14,0.75,-1.26,-0.06,-0.69,-1.45,-0.07,0.78,0.97,0.35,-1.25,-1.56,-1.3,-0.66,-1.32,-3.57,-3.94,-3.97,-3.41,-2.81,-4.16,-4.85,-4.04,-3.79,-4.23,-4.3,-3.86,-3.69,-3.96,-3.75,-2.83,-2.02,-1.13,0.03,0.23,0.61,0.9,-0.09,-1.01,-0.4,-1.45,-1.5,-1.38,-1.38,-0.95,-1.46,-1.31,-0.96,-0.33,1.56,2.02,0.13,-1.73,-0.8,0.31,-0.24,-1.23,-0.63,0.59,1.16,1.39,1.31,0.74,0.87,1.23,1.36,0.99,0.55,0.32,-0.3,0,1.08,0.77,-3.44,-4.58,-2.37,-0.45,0.05,0.58,1.14,1.34,1.67,3.06,4.09,4.25,5.21,6.62,6.86,6.08,5.88,5.91,6.91,7.27,7.33,7.89,8.11,7.26,5.86,6.07,5.47,6.66,5.93,5.36,5.11,0.7,-1.69,-1,-1.27,-0.92,-0.14,-0.2,0.11,1.09,2.06,2.42,3.06,4.48,5.29,5.24,6.36,4.28,3.69,4.67,4.2,3.63,5.02,6.28,4.11,4.54,7.26,9.4,9.46,6.26,2.79,3.59,4.89,5.17,5.02,4.68,4.54,4.43,4.35,4.31,4.55,5.2,5.92,6.58,6.87,6.8,5.07,2.95,4.85,4.54,0.46,-1.47,-0.12,0.61,0.59,-0.77,-1.84,-2.22,-2,-1.43,-0.7,0.01,0.7,1.49,2.41,3.46,4.77,6.07,7.07,8.13,9.14,9.72,10.27,11.38,12.9,14.2,14.93,15.23,14.45,13.02,11.59,10.31,9.2,7.64,6.08,5.38,4.95,4.57,4.25,4.6,6.02,7.06,8.07,8.41,8.17,7.9,7.34,7.95,7.11,5.69,4.37,1.7,1.16,2.31,3.9,3.61,2.31,1.33,-0.77,-1.16,-0.66,-0.21,0.66,1.38,2.08,1.39,0.23,-0.16,-0.12,-0.42,-0.71,-1.15,-1.92,-2.2,-1.94,-1.07,-0.42,0.19,1.03,1.15,1.82,2.64,2.37,0.58,0.49,0.22,-0.5,-0.17,-0.47,-1.3,-1.21,-1.31,-1.34,-1.44,-1.24,-0.73,-0.17,0.17,0.49,0.62,0.83,1.03,1.36,1.14,0.2,1.17,1.52,0.52,0.6,1.15,0.67,0.34,0.82,1.07,1.3,1.5,1.89,2.31,2.75,3.12,2.37,0.72,-0.13,-0.29,-0.8,-1.13,-1.1,-1,-0.37,-0.02,-0.51,-0.72,-0.46,-0.57,-0.49,-1.03,-1.86,-1.34,-1.37,-1.59,-1.2,-1.16,-1.25,-0.61,0.51,1.03,1.12,0.83,0.2,-0.35,-0.64,-0.47,-0.41,-0.6,-0.53,-0.41,-0.33,-0.81,-1.11,-1.21,-1.28,-1.51,-1.32,-0.86,-0.39,-0.05,0.11,0.06,-0.17,-0.1,-0.28,-0.67,-0.83,-1.25,-1.68,-1.71,-1.53,-1.45,-0.19,1,0.15,-0.27,1,1.36,1.1,-0.01,-1.6,-1.15,-1.28,-0.9,-0.94,-1.27,-1.44,-2.06,-1.97,-1.22,-0.69,-0.58,-0.3,-0.23,-0.39,-0.86,-1.07,-0.17,2.04,2.66,2.91,2.51,5.13,5.98,2.65,1.44,0.67,0.17,-0.41,0.74,1.11,-0.56,-2.11,-2.45,-1.87,-0.66,1.79,3.39,2.05,-0.21,-1.59,-2.62,-4.04,-4.09,-2.95,-2.2,-2.84,-3.86,-3.76,-3.93,-4.21,-3.82,-3.69,-3.26,0.28,1.89,1,0.73,-0.93,-2.19,-2.12,-2.68,-0.65,1.26,0.69,1.88,2.2,-0.41,-0.2,1.89,2.66,1.2,-0.26,0.92,2.02,1.75,1.98,1.52,2.18,1.52,-1.27,-1.29,-0.52,0.39,0.95,0.39,0.53,0.47,0.89,1.27,0.58,0.6,1.24,2.04,1.25,-2.97,-2.71,-3.04,-2.5,-0.99,-0.12,0.32,0.84,1.31,1.11,2.58,3.62,3.02,3.78,4.62,5.39,6.24,7.28,7.5,6.55,4.85,4.98,6.6,6.57,7.2,7.67,7.53,6.87,6.41,5.61,1.42,-1.91,-0.73,-1.15,-1.54,-1.85,-1.33,-0.74,-0.06,0.88,1.71,2.5,3.03,3.54,3.85,4.1,4.25,4.46,4.46,3.5,2.72,2.18,2.46,1.84,1.11,3.31,5,6.02,6.58,6.59,6.46,6.7,6.54,6.28,5.39,4.95,4.85,4.4,3.82,3.57,3.87,4.45,5.09,5.53,5.62,5.22,3.77,1.1,0.4,1.22,3.01,2.53,1.12,3.28,5.69,8.24,9.82,10.96,11.37,11.81,12.19,11.83,11.01,10.01,8.69,7.66,7.29,7.76,8.7,9.94,11.54,13.14,14.18,14.84,15.29,15.63,15.45,14.73,13.6,12.54,11.64,10.48,8.88,7.52,6.85,6.08,5.34,5.15,5.39,5.68,6.01,6.47,7.19,7.4,7.37,6,6.49,6.1,5.57,4.94,2.39,0.56,2.96,4.32,3.13,1.95,1.09,0.03,-0.61,-0.72,0.37,1,1.25,1.91,2.09,1.76,1.8,1.41,1.47,0.58,-2.5,-4.34,-4.59,-3.98,-2.52,-1.39,-0.81,-0.76,-0.4,0.37,1.85,2.63,2.11,1.24,1.07,0.24,-0.12,-0.39,-1.09,-1.01,-0.95,-0.86,-0.85,-0.91,-0.79,-0.59,-0.06,0.76,1.4,1.37,1.18,1.49,0.66,0.25,1.91,2.2,1.44,1.12,1.14,0.88,0.95,1.31,1.23,1.02,1.22,1.51,2.07,2.23,2.4,2.41,1.87,1.08,0.72,-0.12,-0.89,-1.03,-0.9,-0.52,-0.21,-0.44,-0.79,-0.46,-0.33,-0.11,0.34,-1.3,-2.1,-1.4,-1.24,-0.73,-0.66,-0.95,-1,-0.84,-0.76,-0.65,-0.5,-0.22,0.03,-0.25,-0.62,-0.42,-0.23,-0.55,-1.31,-1.7,-2.35,-2.79,-3.04,-2.86,-2.9,-2.33,-1.15,-1.14,-1.38,-1.09,-0.95,-1.45,-1.45,-1.1,-1.16,-1.6,-1.49,-0.8,-0.58,0.01,-0.07,-1.12,-1.29,-1.09,-0.62,0.6,1.64,2.17,2.13,0.32,-1.66,-1.65,0.09,-0.2,-0.86,-0.78,-1.06,-1.44,-1.39,-0.77,-0.74,-0.45,0.14,-0.12,-0.26,1.05,2,2.82,3.33,3.97,3.88,1.49,0.94,0.27,-1.14,-3.28,-3.98,-3.36,-1.89,-3.16,-3.98,-1.9,0.56,1.9,1.74,0.71,-0.24,-1.11,-2.12,-3.18,-3.56,-3.64,-4.17,-4.4,-3.86,-3.54,-3.58,-3.48,-3.61,-3.85,-3.82,-2.74,-2.31,-2.24,0.52,2.31,2.39,3.19,2.28,1.32,0.03,0.46,2.83,3.57,2.93,2.7,0.43,1.8,1.98,1.77,2,2.96,3.33,3.72,3.74,2.95,2.12,1.95,1.91,1.77,1.81,2.16,1.28,0.76,1.96,1.77,0.92,0.46,1.97,2.64,1.1,0.61,0.99,0.97,-1.41,-2.49,-2.4,-2.7,-2.35,-2.08,-1.49,-1.18,-1.16,-0.82,1.09,2.13,2.61,3.22,4.32,4.8,4.65,4.91,6.07,4.5,4.04,5.71,6.44,5.25,5.33,5.51,5.48,4.52,4.97,5.67,3.22,-3.36,-2.9,-1.92,-1.92,-1.81,-1.54,-1.18,-0.73,0.24,1.12,1.95,2.45,2.93,3.32,3.51,3.49,3.71,4.67,4.74,4.35,2.92,1.88,3.29,3.07,-1.75,-1.54,2.16,3.55,3.79,5.17,5.62,5.21,5.57,5.85,5.93,5.75,5.06,4.18,3.23,3.04,3.82,4.73,5.27,5.08,4.2,2.86,1.46,1.28,1.15,3,5.37,6.95,8.56,10.59,11.02,11.02,11.22,10.85,11.6,12.62,12.85,12.73,12.43,12.04,11.5,10.88,10.41,10.1,9.9,10.07,10.87,12.05,13.12,13.79,13.94,13.49,12.8,12.29,11.96,11.44,10.54,9.27,8.28,7.6,6.62,5.74,5.37,5.64,6.11,6.3,6.14,6.46,6.56,6.06,4.74,6.07,6.07,5.51,4.8,3.48,1.72,1.92,2.2,1.81,2.1,1.83,1.81,2.49,1.14,1.51,1.91,1.76,2.35,2.77,2.29,2.2,2.15,2.56,0.85,-0.16,-1.2,-1.84,-1.86,-1.57,-0.95,0.01,-0.19,-0.54,0,1.21,2.53,3.8,3.56,1.78,1.26,0.24,-0.84,-0.9,-0.72,-0.86,-0.52,-0.05,0.25,0.4,1.01,1.29,1.15,1.37,1.51,1.57,1.79,0.96,0.61,2.08,2.31,2,1.89,1.43,1.08,1.29,1.76,1.98,1.48,1.24,1.65,1.99,1.77,1.73,1.65,1.31,0.96,0.45,-0.07,-0.41,-0.56,-0.75,-0.77,-0.57,-0.41,-0.6,-0.63,-0.44,0.04,0.26,-0.99,-1.69,-1.74,-1.7,-1.39,-1,-1.08,-1.26,-1.33,-1.27,-1.01,-0.57,-0.56,-0.57,-0.69,-0.79,-0.93,-0.9,-1.64,-3.02,-3.53,-3.6,-3.57,-3.96,-4.79,-5.42,-4.64,-2.58,-1.78,-1.6,-1.37,-1.41,-0.86,-0.84,-0.84,-0.26,-0.44,-0.16,0.47,-0.48,-1.72,-1.95,-1.38,-0.4,-0.06,-0.3,0.48,1.78,2.18,3.1,3.01,0.06,-0.68,0.17,1.88,3.16,4.5,5.49,5.61,5.01,4.08,2.46,1.2,0.84,1.71,2.87,4.28,4.41,3.89,3.63,2.24,1.83,0.14,-1,-0.24,-0.88,-1.17,-0.92,-1.39,-1.76,-0.96,-0.12,-0.17,-0.9,-1.61,-2,-2.82,-3.46,-4.14,-4.71,-5.1,-5.23,-5.24,-5.63,-6.27,-6.65,-6.07,-5.55,-4.97,-4.44,-4.12,-3.8,-3.79,-3.51,-3.18,-2.53,-1.34,-0.08,2.47,2.16,2.3,2.53,3.27,4.18,4.41,3.74,3.03,4.01,4.28,4.24,5.27,5.09,4.12,3.7,4.02,4.6,4.8,3.44,2.21,2.48,3.21,3.36,1.68,0.27,-0.77,-0.35,1.51,2.39,2.39,2.38,2.82,2.22,0.71,-0.49,-0.33,-1.22,-1.84,-0.22,-0.03,-0.3,0.25,0.33,-0.41,-0.4,1.16,1.75,0.61,1.9,2.9,2.25,3.06,4.25,3.45,3.69,3.87,4.61,4.58,4.1,5.58,5.87,5.48,4,5.56,4.9,4.33,3.96,1.37,-3.11,-3.37,-2.73,-2.68,-2.17,-1.91,-1.63,-0.7,-0.04,0.69,1.35,2.17,2.97,3.37,3.42,3.62,3.95,4.32,4.75,5.17,4.43,3.92,4.41,3.77,0.33,-1.13,1.38,1.77,1.98,3.08,1.78,2.19,3.59,5.32,6.43,6.84,6.84,6.35,5.32,4.6,5.13,5.99,6.36,6.53,6.28,5.79,5.28,5.22,6.04,7.29,7.86,8.41,9.22,9.2,9.25,9.29,9.31,9.98,10.85,11.19,11.02,11.07,11.21,11.03,10.83,10.55,10.34,10.11,10.13,10.33,10.75,11.48,11.76,11.44,10.98,10.82,11.19,11.16,10.64,9.89,8.82,8.17,7.75,6.69,5.71,5.28,5.15,5.07,5.14,3.65,1.91,1.85,3.11,0.9,3.18,4.7,4.94,4.93,5.54,6.72,5.78,3.54,1.88,1.51,2.07,1.05,1.22,1.67,1.68,2.05,4.23,5.32,4.55,3.47,3.5,5.19,7.58,6.2,2.14,1.59,1.51,1.26,1.14,-0.53,-0.7,0.3,0.45,0.31,0.61,1.44,2.46,3.41,3.38,2.69,0.13,-1.3,-1.13,-1.07,-1.05,-0.96,-0.47,0.08,0.41,1.21,1.52,0.98,1.27,1.9,1.65,1.57,1.38,1.28,1.66,1.89,2.17,2.14,1.72,1.72,1.72,1.96,1.94,1.91,1.78,1.46,1.21,1.06,0.76,0.32,0.11,0.03,-0.08,-0.29,-0.47,-0.53,-0.59,-0.73,-0.93,-0.82,-0.63,-0.44,-0.2,0.17,0.26,-0.07,-1.1,-1.7,-2.13,-2.09,-1.57,-1.23,-0.72,-0.85,-0.95,-0.91,-0.91,-0.85,-0.87,-1.31,-1.5,-1.56,-2.16,-3.06,-3.81,-3.91,-3.62,-4.28,-4.88,-4.79,-4.34,-4.11,-3.86,-1.67,-1.2,-1.14,-0.35,0.02,-0.1,0.58,2,1.95,1.31,0.8,0.4,0.58,1.29,0.64,0.33,1.06,1.24,1.21,1.11,1.58,1.74,0.69,2.41,4.79,4.96,5.25,5.97,6.34,6.36,6,5.51,5.12,4.81,4.88,4.64,3.98,2.83,2.78,4.59,4.03,2.42,2.05,1.48,0.51,0.45,1.61,2.58,2.46,2.23,2.32,2.38,2,1.16,-0.49,-2.3,-3.27,-3.69,-4.43,-4.87,-5.43,-6.01,-6.33,-6.58,-6.92,-6.88,-6.84,-7.01,-6.8,-6.39,-5.61,-5.29,-5.12,-5.08,-4.76,-4.06,-4.2,-4.12,-3.43,-2.95,-1.82,0.08,1.56,2.26,3.34,3.82,3.09,3.32,4.61,3.23,0.62,2.51,3.51,3.65,3.93,4.05,3.91,3.64,4.26,4.86,3.6,2.12,1.09,0.02,0.44,0.74,-0.99,-1.6,-0.26,1.28,1.91,2.55,3.09,1.87,0.58,-0.41,-0.29,0.47,-0.02,-0.42,-0.09,0.55,0.91,1.09,1.41,1.37,2.11,2.81,3.18,3.2,2.46,1.53,3.01,2.43,1.55,2.61,4.16,4.76,2.55,2.64,4.01,4.68,3.37,4.19,3.64,3.28,3.14,2.91,3.62,2.04,-4.11,-4.37,-3.64,-3.14,-2.91,-2.59,-1.96,-1.37,-0.95,-0.49,0.4,1.38,2.29,2.74,3.88,3.96,3.66,3.71,4.45,4.14,3.53,3.67,3.22,2.2,0.61,1.02,1.94,2.45,3.36,1.02,-0.17,3.42,5.12,5.88,6.87,8.03,8.28,8.27,7.81,7.3,7.49,8.27,9.35,10.25,10.97,10.85,10.32,9.51,9.15,9.11,8.83,8.81,8.88,8.73,8.15,7.76,7.84,7.94,8.26,8.67,9.24,9.6,9.76,9.98,9.86,9.83,9.91,9.94,10.06,10.4,10.65,10.78,10.79,10.9,10.88,10.99,10.29,9.5,8.76,8.37,7.9,7.3,6.17,5.18,4.11,2.76,2.46,2.13,2.35,1.67,-0.12,-0.31,-0.96,0.07,1.73,3.94,4.81,5.68,7.13,9.09,7.85,4.19,1.51,2.42,1.59,0.55,0.68,1.04,2.32,3.61,1.77,1.72,2.46,2.07,2.12,3.24,3.92,3.22,2.86,2.49,1.79,1.47,0.9,-0.41,0.32,1.19,1.42,1.22,1.68,2.24,2.87,2.45,2.3,0.92,-1.16,-1.51,-1.47,-1.12,-1.02,-0.95,-0.42,0.81,1.21,0.87,0.91,1.2,1.4,1.04,1.01,1.56,1.44,1.48,1.91,2.11,1.98,1.66,1.89,1.96,1.69,1.79,1.73,1.32,0.92,0.55,0.3,-0.11,-0.45,-0.84,-0.55,-0.67,-0.76,-0.9,-1.36,-1.27,-1.35,-1.36,-1.17,-1.28,-0.94,-0.39,-0.13,-0.19,-0.22,-1.11,-1.47,-0.97,-1.63,-1.71,-1.68,-1.32,-1.1,-1.11,-1,-0.72,-0.47,-0.52,-0.39,-1.01,-1.37,-1.98,-2.08,-3.41,-4.44,-3.15,-2.05,-2.65,-2.41,-1.62,-1.7,-3.03,-2.94,-2.38,-2.6,-1.41,-0.79,-0.05,-0.1,0.11,0.22,0.21,0.43,1.32,1.23,1.03,1.47,1.26,1.17,0.6,1.09,1.48,0.17,1.83,4.77,5.33,4.77,5.02,5.29,5.82,6.17,6.22,5.6,4.95,4.31,3.76,3.32,2.27,0.99,1.35,3.25,2.35,1.82,1.4,2.34,2.96,2.39,1.66,2.45,3.82,3.55,3.51,3.35,2.39,0.92,-0.75,-2.46,-3.51,-4.26,-4.64,-5.09,-5.53,-6.07,-6.28,-6.38,-6.94,-7.44,-7.62,-7.55,-7.19,-6.6,-5.74,-5.82,-5.99,-4.93,-4.99,-5.36,-4.72,-4.26,-4.47,-3.82,-3.16,-3.25,-3.02,-2.37,-1.46,-0.35,1.71,4.85,5.83,4.95,6.02,5.64,4.6,4.39,4.57,4.44,4.52,4.39,3.67,3.22,3.21,3.09,2.16,1.01,0.09,-0.66,-0.63,0.87,-0.77,-0.3,0.22,0.57,1.66,1.88,1.23,0.31,0.13,0.61,-0.71,0.86,0.79,1.48,3.72,2.17,1.98,1.87,2.1,3.08,3.02,3.4,3.29,3.18,3.73,2.64,0.52,2.1,3.2,2.52,3.32,2.37,2.33,3.59,3.05,3.42,3.04,2.49,1.96,1.69,1.74,2.03,2.56,1.85,-1.81,-4.64,-5.23,-3.79,-3.15,-2.82,-2.47,-2.11,-1.85,-1.22,-0.45,0.71,1.72,2.38,2.24,3.29,3.48,3.66,3.85,3.17,2.58,2.32,2.11,1.79,1.79,2.04,2.3,3.13,2.85,-0.18,-0.38,3.1,5.11,5.9,7.25,8.05,8.27,8.68,9.1,9.44,9.79,10.53,10.8,11.11,11,10.8,10.36,9.33,9.06,8.17,7.9,7.73,7.27,6.98,6.73,6.33,6.19,6.4,6.97,7.3,7.56,7.81,8.23,8.5,8.53,8.93,9.15,9.41,9.49,9.74,9.83,9.73,9.75,9.73,9.26,8.46,8.29,7.97,7.71,7.1,6.38,5.44,4.08,3.22,1.85,0.03,1.44,2.35,1.36,-0.82,-2.17,-1,0.27,0.63,2.4,3.99,5.42,6.69,7.25,5.84,2.98,2.8,3.35,2.1,1.98,2.6,3.8,2.02,0.85,0.93,1.17,1.36,1.39,1.2,1.52,1.84,1.2,0.73,0.71,0.72,0.58,0.63,0.38,0.59,1.09,1.75,1.86,2.28,2.87,2.94,2.46,1.46,0.29,-0.92,-1.16,-1.03,-0.92,-0.93,-0.88,-0.71,-0.27,0.57,0.61,0.61,0.67,0.38,0.45,0.24,0.42,0.98,0.92,1.8,2.16,1.84,1.71,1.59,1.52,1.5,1.63,1.25,0.91,0.49,0.06,-0.04,-0.04,-0.04,-0.96,-1.38,-1.07,-0.83,-1.42,-1.87,-1.69,-1.81,-1.66,-1.68,-1.81,-1.85,-1.77,-0.85,0.26,0.81,0.48,-0.52,-0.65,-1.4,-1.51,-0.99,-0.78,-0.32,-0.19,-0.2,-0.23,-0.07,-0.51,-0.28,-1.05,-1.18,-1.37,-0.89,-2.85,-2.78,-1.96,-1.18,-2.23,-2.86,-1.97,-1.05,-3.38,-3.68,-4.14,-3.09,-1.92,-1.42,-1.03,-1.04,-1.01,-0.72,-0.07,0.36,1.33,1.65,0.85,1.49,1.52,1.26,1.12,1.1,1.82,3.36,4.2,3.87,3.99,4.45,4.59,4.68,5.01,5.26,5.48,5.31,4.84,4.3,3.49,2.45,1.9,1.67,1.94,2.06,1.8,0.9,-0.33,0.5,1.16,0.24,2.99,5.13,5.58,4.12,2.67,1.33,-0.01,-1.3,-2.58,-3.53,-4.28,-5.04,-5.39,-5.66,-5.96,-5.97,-6.52,-7.63,-8.34,-9.26,-9.84,-9.86,-9.87,-9.73,-9.16,-8.45,-7.73,-6.8,-5.89,-5.39,-5.07,-3.75,-3.18,-3.86,-1.23,-2.35,-2.25,-0.66,1.27,2.88,4.06,4.16,5.49,6.9,8,8.32,8.08,7.81,7.12,6.05,4.59,3.53,2.79,2.15,2.08,1.93,1.4,0.5,-1.03,-1.72,-2.01,-2.97,-1.91,2.12,0.71,-0.16,0.91,1.51,1.47,0.84,-0.57,0.33,0.04,-0.88,0.48,0.97,3.31,1.44,-2.44,-3.07,-1.32,0.21,1.44,2.33,2.67,3.1,2.9,2.15,0.42,1.75,1.47,0.19,1.66,2.4,2.33,2.49,2.53,2.61,2.32,1.74,1.28,0.87,0.65,0.99,1.19,0.33,1.47,-1.13,-4.53,-3.5,-2.58,-1.99,-2.81,-3.66,-3.44,-2.41,-1.64,-0.19,0.19,0.37,1.28,2.71,2.73,2.26,3.05,3.24,2.7,2.66,1.51,1.42,1.51,1.93,2.48,2.61,2.41,2.85,0.35,-0.41,1.89,3.69,5,7.01,7.92,8.2,8.42,8.55,8.61,9.02,9.13,8.72,7.93,7.67,7.58,7.05,6.78,6.22,5.24,4.43,3.85,3.74,3.78,3.61,3.56,3.71,3.91,4.13,4.57,5.29,5.66,6.24,7.01,7.41,7.8,8.16,8.52,8.2,7.64,7.76,7.92,7.79,7.84,7.34,7.25,7.01,6.49,5.84,5.17,4.31,3.5,2.71,1.05,-0.23,1.15,3.44,6.05,4.83,0.26,2.2,2.4,1.94,1.96,3.15,4.65,5.66,5.6,4.92,2.8,3.89,4.08,3.39,5.04,5.98,6.49,7.58,4.31,2.02,2.11,0.24,0.08,1.4,2.15,1.76,0.53,-0.07,-0.3,-0.21,0.19,0.26,0.47,1.03,1.35,1.56,1.71,1.8,2.44,3.17,3.36,2.53,1.32,0.18,-0.99,-1,-1.1,-1.14,-1.33,-1.06,-0.58,-0.12,0.07,0.07,0.26,0.09,0.28,-0.4,-0.71,0.33,1.17,2.17,2.19,1.97,2.02,1.96,1.08,1.7,1.69,1.51,1.31,0.89,0.69,0.57,0.7,0.59,-0.44,-2.17,-2.61,-2,-1.54,-1.63,-1.93,-2.4,-3.24,-2.89,-2.14,-1.69,-1.67,-1.57,-0.81,0.2,-0.31,-0.57,-0.53,-0.52,-0.47,-1.04,-0.98,0.4,0.77,1.05,0.69,0.49,0.6,0.19,-0.14,0.11,-0.82,0.1,-0.51,-0.54,-1.6,-0.85,-1.3,-2.61,-3.94,-3.99,-4.93,-5.74,-4.24,-3.54,-3.77,-2.65,-1.82,-1.88,-2.42,-3.11,-2.63,-2.36,-1.51,-0.14,1.35,1.13,0.81,0.44,1.29,1.27,1.03,2.16,3.51,2.36,2.04,3.07,3.35,3.37,4.07,4.44,4.7,4.64,4.46,4.3,3.99,3.53,3.43,2.94,2.08,1.75,1.52,-0.46,-0.79,0.21,0.06,-0.38,1.91,2.94,2.32,1.11,-0.53,-0.69,-1.32,-1.86,-3.14,-4.17,-5.16,-5.75,-6.18,-6.52,-6.39,-6.18,-6.72,-7.57,-8.46,-9.43,-10.32,-10.78,-11.18,-11.47,-11.24,-10.14,-9.48,-9.53,-8.47,-7.26,-6.96,-5.52,-2.93,-3.03,-3.04,-1.74,-1.03,-0.87,0.5,1.79,2.93,4.06,4.76,5.48,6.04,6.67,7.12,6.89,5.92,5.65,4.85,3.97,3.68,3.06,2.65,1.9,0.36,-0.75,-1.49,-2.41,-3.18,-3.68,-3.61,0.13,0.28,-3.47,-0.02,1.59,1.44,1.86,1.66,0.02,-0.54,-0.83,0.43,1.24,0.57,1.01,-1.62,-3.45,-3.22,-2.65,-1.72,0.19,1.04,1.94,1.37,1.44,1.3,2.09,1.71,0.72,2,1.06,0.74,0.98,1.14,1.21,1.04,2,0.85,-0.54,-0.26,0.22,0,0.19,0.41,0.59,-0.34,-0.59,-0.31,-0.26,0,-1.38,-4.4,-2.46,-1.71,-1.14,0.6,1.2,1.96,2.22,1.4,0.68,0.71,1.67,1.83,1.82,1.67,1.7,1.18,1.45,1.99,2.22,2.88,2.96,2.52,2.2,1.1,1.29,2.37,2.96,4.02,5.15,6.04,5.99,5.75,5.84,5.49,5.45,5.44,5.25,4.99,4.58,3.47,1.82,0.27,-0.61,-0.71,-0.74,-1.05,-0.89,-0.3,0.37,1.22,1.63,2.06,2.85,3.54,4.36,5.21,5.81,6.06,5.7,5.4,5.66,5.72,5.69,5.82,5.76,5.73,5.95,5.61,5.1,4.73,4.3,3.83,3.53,2.38,0.54,-0.09,-0.12,0.32,0.98,1.58,3.47,3.84,1.21,1.84,1.45,1.26,2.24,3.16,3.78,3.74,3.38,2.54,3.04,3.74,3.99,2.68,4.53,3.83,2.92,2.32,2.53,2.53,2.63,1.92,2.21,2.7,2.28,1.61,0.7,0.37,0.73,0.34,0.33,0.7,1.3,1.46,1.44,1.72,1.67,2.19,2.88,3.22,3.04,2.83,1.09,0.53,-0.34,-0.99,-1.36,-1.53,-1.15,-1.38,-1.25,-1.02,-0.87,-0.58,-0.4,0.12,-0.23,-0.97,0.33,2.13,2.58,2.67,2.73,2.34,2.01,1.31,1.63,1.65,1.77,2.08,2.04,1.96,1.43,0.89,0.22,-0.14,-0.81,-0.85,0.16,-0.97,-2.25,-2.22,-1.97,-2.5,-2.62,-2.31,-1.53,-0.65,-1.47,-1.56,-0.2,-0.38,-1.26,-1.15,-0.83,-0.61,-0.73,-1.18,-0.31,0.93,1.45,1.92,1.87,1.46,0.88,1.44,1.37,1.32,1.81,0.4,0.22,0.25,0.23,-1.61,-3.56,-2.98,-2.79,-4.51,-5.18,-5.13,-4.94,-5.15,-4.54,-3.17,-3.66,-3.86,-2.93,-1.9,-2,-1.26,-0.93,-0.78,-0.73,0.73,1.54,0.23,0.21,1.01,1.01,1.14,0.82,-0.44,1.88,1.58,2.62,3.86,3.88,4.08,4.13,3.96,3.62,3.43,3.56,3.53,3.37,2.72,2.19,1.19,-0.29,-1.22,-1.36,2.51,3.15,2.49,1.3,0.46,0.15,-0.85,-1.18,-1.82,-2.79,-3.82,-4.5,-5.27,-6.04,-6.14,-6.6,-6.68,-6.24,-6.06,-6.28,-6.88,-7.65,-8.56,-9.54,-10.42,-11.09,-11.47,-11.6,-10.83,-10.41,-10.86,-8.83,-6.58,-6.77,-6.77,-4.89,-3.33,-2.14,-1.06,-0.08,0.83,1.56,2.3,3.32,4.18,4.65,5.31,5.59,5.74,6.65,6.1,5.44,5.6,4.94,4.77,4.19,3.72,3.02,1.58,0.84,-0.83,-2.08,-2.63,-3.53,-3.97,-3.38,1.34,-2.32,-1.68,0.3,1.16,2.6,2.55,0.76,-0.27,-0.71,2.66,2.8,1.7,1.11,1.38,-1.94,-2.71,-3.09,-2.27,-0.94,0.04,0.48,-0.34,-0.16,1.75,1.68,1.11,0.82,0.54,0.02,-0.49,-0.94,-0.85,-0.07,-0.88,1.68,0.87,-1.19,-1.4,-0.89,-0.66,-1.24,-0.73,1.11,-0.09,-0.54,1.28,2.13,2.25,2.6,-1.45,-3.2,-1.75,-0.28,1.59,1.38,1.51,1.57,1.15,0.7,0.49,0.42,0.25,0.71,1.22,1.15,0.98,0.91,1.04,1.31,2.28,1.94,1.42,0.76,1.34,-0.79,-0.65,1.25,0.96,0.85,1.72,2.08,2.12,2.18,1.99,1.98,2.24,1.75,0.03,-1.67,-1.66,0.35,3.1,5.23,5.99,5.88,5.48,4.92,4.41,4,3.39,2.61,2.16,2.28,2.74,3.4,3.83,3.62,3.01,3.12,3.28,2.87,3.1,3.56,3.84,4.26,4.51,4.06,3.61,3.38,3.26,3.15,2.54,1.2,0.88,0.69,0.34,0.93,0.14,0.33,0.02,1.29,0.86,-0.03,1.08,0.84,0.3,1.45,2.19,2.01,2.2,2.69,2.77,2.38,2.16,1.97,1.28,1.1,1.24,1.38,1.08,1.48,1.71,1.19,1.36,1.61,2.02,2.31,2.05,1.24,0.91,0.89,0.48,0.43,0.63,0.9,1.31,1.25,1.65,1.91,1.97,2.32,3.07,2.76,3.1,2.6,1.92,1.1,0.15,-1.47,-2.29,-1.93,-2.21,-2.08,-1.79,-1.71,-1.47,-1.4,-1.26,-0.76,-0.79,0.71,1.78,2.5,3.16,3.27,2.94,2.04,1.42,1.59,1.33,1.78,2.33,2.36,3.09,3.02,2.7,1.91,1.34,0.78,0.43,0.6,-0.6,-1.51,-1.1,-1.09,-1.16,-1.47,-1.89,-1.37,-1,-1.46,-1.96,-0.98,-0.31,-0.15,-0.06,0.14,-0.21,-0.79,-1.38,-1.5,-0.84,-0.19,0.79,1.84,2.81,2.27,1.72,1.03,2.56,2.7,1.93,1.84,1.47,1.43,2.03,0.81,-0.66,-1.03,-1.9,-3.78,-4.93,-4.71,-5.46,-4.81,-3.45,-4.45,-3.49,-2.62,-2.36,-2.05,-1.66,-0.9,0.4,1.17,0.97,1.16,-0.35,-0.57,1.17,0.91,0.69,1.55,0.16,0.85,0.34,1.74,2.84,3.19,3.43,3.45,3.56,3.64,3.54,3.49,3.5,3.5,3.13,2.4,1.5,-0.41,-1.22,-0.24,-1.02,-1.27,-1.12,-1,-0.75,-0.5,-0.79,-1.45,-2.13,-2.78,-3.26,-3.62,-3.44,-4.4,-5.47,-5.78,-5.71,-4.96,-4.26,-3.94,-4.12,-4.63,-5.51,-6.54,-7.45,-8.38,-9.81,-11.07,-12.26,-12.19,-11.98,-12.34,-12.19,-11.76,-10.35,-8.44,-6.54,-4.62,-2.71,-1.02,0.35,1.49,2.38,3.13,3.69,4.1,4.53,4.81,4.69,5.55,6.3,6.1,6.16,6.03,5.69,5.33,4.91,4.57,3.86,2.63,1.17,-0.66,-1.12,-2.06,-2.03,-2.15,-1.64,-0.57,-1.94,0.14,0.21,1.32,2.32,3.04,0.19,0.01,3.68,1.97,0.24,-0.34,0.58,1.6,-1.64,-3.95,-3.25,-2.19,-1.11,-0.11,0.45,0.92,0.98,0.97,0.88,0.26,-0.57,-1.4,0,-0.75,-1.66,0.79,-2.94,-0.96,0.56,-2.14,-1.43,-1.56,-1.07,-1.57,-1.9,-1.47,0.45,0.19,0.67,1.23,1.24,2.03,-0.34,-3.77,-1.89,-0.5,2.41,2.54,1.11,0.83,0.3,0.2,0.12,-0.24,-0.39,-0.81,0.08,0.46,-0.75,-0.2,-0.28,-0.05,1.22,1.52,-0.33,-0.93,0.66,-2.19,-2.28,-0.44,0.54,-0.46,-0.61,-0.69,-0.91,-1.14,-1.57,-2.31,-2.76,-1.67,0.85,3.21,5.01,6.01,6.12,6.3,6.58,6.55,6.11,5.72,5.5,5.06,4.24,3.11,2.26,1.98,2.27,2.21,1.53,1.72,1.9,1.15,0.53,0.74,0.88,1.27,2.46,2.83,2.32,1.93,1.72,1.53,1.43,1.45,1.63,1.14,1.34,2.17,1.77,2.51,0.67,-0.67,0.36,0.9,0.7,-0.41,0.73,0.05,-0.95,-0.21,0.98,1.89,2.09,2.16,1.86,1.77,2.56,2.63,1.63,1.1,1.64,2.04,1.91,1.43,0.64,0.96,1.35,1.06,1.37,1.64,1.84,1.53,1.12,0.92,0.67,0.56,0.83,0.99,1.12,1.27,1.56,1.23,1.6,2.09,2.81,2.74,3.23,3.84,3.14,2.13,1.62,-0.1,-1.69,-2.77,-3.06,-2.84,-2.42,-2.19,-1.93,-1.69,-1.25,-2.11,-2.57,-1.13,0.05,0.95,1.96,2.05,2.17,1.92,0.99,1.13,1.18,1.67,1.65,1.46,1.47,1.79,1.97,2.75,2.66,2.96,2.09,1.3,-0.03,0.42,0.5,0.38,0.56,0.53,0.33,-0.09,-0.63,-1,-1.18,-0.77,-0.82,-0.21,0.22,-0.17,-0.71,-0.29,0.24,0.49,-0.4,-0.51,0.05,0.35,1.44,2.56,2.67,6.53,3.47,3.54,3.92,3.44,2.89,3.23,2.79,2.41,1.62,1.3,1.98,1.2,-0.73,-2.22,-3.87,-4.14,-3.93,-2.37,-2.66,-2.67,-2.27,-1.5,-0.75,0.07,0.32,-0.14,0.67,1.32,-0.39,-0.8,0.64,1.04,-0.07,0.43,-0.46,-1.59,-1.67,-0.67,-0.54,-0.22,0.01,0.7,1.49,2.19,2.43,2.08,1.75,1.45,1.13,2.36,1.07,-0.65,-1.33,-1.47,-2.13,-2.44,-2.02,-1.61,-1.05,-0.99,-1.02,-1.06,-1.15,-1.22,-1.14,-0.92,-1.72,-1.14,-0.12,0.06,-0.03,-0.25,-0.53,-0.23,0.63,1.56,1,-0.21,-1.87,-2.79,-4.25,-5.37,-7.41,-8.94,-10.48,-10.64,-11.18,-11.75,-10.71,-9.74,-8.44,-6.3,-4.42,-2.59,-0.74,1.05,2.39,3.09,3.74,4.31,4.57,4.79,4.72,5.07,5.94,6.2,6.34,6.6,6.62,6.65,6.67,6.4,5.88,4.76,2.74,-0.26,-1.41,-1.94,-1.52,-1.21,-0.62,0.09,-0.26,0.9,1.59,0.7,1.42,1.62,1.22,1.84,6.46,2.74,-1.38,-1.25,-0.31,0.02,2.39,1.05,-4.3,-3.02,-1.36,-0.72,0.62,1.63,1.4,0.14,1.11,1.28,-0.89,-1.74,-2.23,-1.85,-2.17,-0.85,0.22,-1.5,0.19,-2.04,-2.38,-2.06,-1.62,-0.91,-1.11,-1.43,-1.87,-1.35,-0.83,-0.59,0.34,0.01,-0.62,-3.23,-2.16,0.74,2.73,2.88,1.36,0.96,0.38,0.1,0.09,-0.76,-0.69,-0.73,-0.53,-0.49,-1.63,-0.94,-1,-0.59,-0.5,0.64,0.56,0.15,0.34,-1.61,-2.97,-1.71,-2.03,-2.61,-2.29,-2.68,-3.26,-3.92,-3.65,-1.66,0.58,2.02,2.89,3.93,4.28,5.07,5.32,5.55,5.5,5.3,5.16,5.41,5.29,4.69,4.28,3.21,2.13,1.79,1.34,0.82,0.83,0.51,-0.49,-1.3,-1.16,-1.23,-1,0.26,0.39,-0.19,-0.56,-0.85,-1.25,-1.57,-1.61,-1.47,-1.32,-1.4,0.38,1.51,1.85,1.08,-0.16,-0.8,-0.36,0.37,0.25,-0.7,-1.19,-1.27,-0.08,0.27,0.27,0.6,1.22,1.12,0.83,1.49,2.28,2.51,2.32,1.57,1.18,1.82,2.4,1.94,2.05,2.07,1.79,1.68,1.88,1.68,1.57,1.41,1.01,0.9,0.91,0.78,0.67,0.8,0.86,1.07,1.21,0.79,1.02,1.4,2.3,2.49,2.41,2.64,2.79,2.06,1.73,1.76,-0.79,-2.47,-3.12,-3.19,-2.86,-3.19,-3.06,-2.37,-1.77,-2.23,-3.57,-2.79,-1.7,-1.18,0.08,0.36,0.48,0.97,0.74,0.63,1.16,1.3,0.93,0.81,0.6,0.64,0.87,2,3.78,3.17,1.24,0.04,0.38,0.74,0.06,-0.07,-1.29,-0.11,0.64,-0.24,-0.7,-0.97,-1.71,-0.74,0.29,-0.46,-0.63,0.05,-0.14,0.31,0.24,1.13,0.54,-0.12,0.13,-0.09,0.52,1.68,2.54,3.26,3.89,5,3.85,3,3.79,3.77,3.52,2.87,2.1,1.44,1.29,1.48,1.71,0.45,-1.12,-3.45,-4.15,-2.96,-0.97,-0.87,-2.35,-2.41,-2.1,-1.05,-0.72,-0.33,0.77,0.91,-0.01,-0.37,-0.18,0.45,-0.38,-0.79,-1.44,0.25,-1.79,-1.98,-0.68,-1.24,-1.78,-1.87,-1.33,-0.25,0.52,0.31,-0.19,-0.76,-1.15,-0.66,-0.87,-1.24,-1.91,-2.77,-3.46,-3.39,-2.87,-2.01,-1.43,-0.98,-0.57,-0.25,-0.07,0.3,0.39,1.05,2.37,3.46,3.88,4.08,4.31,4.56,4.95,5.45,5.84,6.35,6.97,7.46,7.49,6.88,6.02,4.61,2.59,-0.17,-2.72,-4.94,-6.96,-7.71,-7.92,-7.89,-7.99,-6.41,-4.72,-3.07,-1.36,0.13,1.56,2.84,3.44,4.17,4.77,5,5.06,5.28,5.95,6.48,6.75,7.11,7.6,7.83,8.17,8.51,8.18,7.13,5.92,3.11,1.86,0.06,-0.21,0.17,0.56,1.5,1.95,1.53,2.49,2.41,0.88,0.25,0.88,-0.01,1.58,0.87,-0.55,-1.95,-1.39,0.01,1.18,1.36,-1.37,-3.27,-0.99,-0.4,0.24,0.53,0.01,-0.35,-0.47,-0.46,-0.89,-1.89,-2.33,-2.97,-2.99,-2.94,-2.06,-2.09,-0.89,-1.7,-3.07,-2.82,-2.47,-2.32,-1.46,-0.83,-0.96,-1.76,-1.74,-1.22,-0.97,-1.13,-1.38,-1.96,-1.58,0.3,1.92,3.2,2.32,1.12,0.76,0.52,1.39,0.7,-0.39,-0.81,-0.78,0.55,-1.27,-1.25,-1.52,-1.53,-1.31,-0.41,-0.13,-2.2,-4.81,-8.49,-5.37,-1.74,-3.1,-2.8,-4,-4.11,-3.69,-3.06,-1.84,-1.32,-1.18,-0.02,1.5,3.04,3.51,4.46,5.4,5.05,4.33,4.41,4.4,4.6,4.74,4.29,3.86,2.78,1.57,0.75,0.06,-0.37,-1.26,-1.97,-2.64,-2.85,-2.88,-2.63,-1.8,-2.26,-2.83,-3.19,-3.55,-4.03,-4.23,-4.11,-4.07,-4.15,-4.1,-3.66,-3.12,-2.66,-2.1,-1.96,-1.9,-0.2,0.51,0.29,0.23,-4.51,-4,-1.76,-0.84,-0.68,-0.34,0.02,-0.15,0.78,0.1,1.35,0.91,1,1.47,1.92,2.64,1.82,0.85,0.91,2.14,2.69,2.49,2.03,2.5,1.92,1.64,1.7,1.49,1.19,0.9,1.09,1.22,0.75,0.04,0.08,0.34,-0.15,-0.21,0.36,0.99,1.47,1.27,1.15,1.37,1.39,1.6,1.68,-0.85,-2.91,-3.11,-3.07,-3.07,-2.96,-2.97,-2.84,-1.98,-1.9,-3.52,-4.05,-2.32,-1.6,-1.22,-0.68,-0.58,-0.34,-0.07,-0.14,-0.29,0.95,1.3,0.98,1.05,1.19,1.19,1.41,2.11,2.91,1.87,-1.66,-0.03,2.19,0.64,-0.71,-1.42,-0.55,-1.23,-0.81,-0.83,-1.25,-1.29,-1.39,0.12,0.91,0.53,0.37,-0.46,-0.42,0.35,1.69,1.66,0.55,-0.02,0.25,0.76,1.79,3,3.37,3.15,2.88,2.39,2.47,2.19,2.61,4.3,5.92,5.44,4.47,4.52,3.16,2.51,2.13,1.25,-0.36,-2.92,-3.13,-2.04,-0.88,-0.61,-2.76,-3.57,-1.83,-0.71,-0.39,0.17,1.09,0.11,0.02,-0.61,0.66,-0.25,-1.21,-0.45,0.97,-1.88,-1.16,-2.82,-3.3,-3.53,-3.57,-3.56,-3.42,-3.81,-3.63,-3.09,-2.55,-2.57,-4.37,-4.12,-4.13,-4.41,-4.26,-4.04,-3.5,-3.04,-2.22,-1.33,-0.46,0.36,1.08,1.81,2.46,2.89,3.53,3.68,3.71,4.22,4.47,4.55,4.33,4.22,4.45,4.7,5.02,5.39,5.67,6.17,7.11,7.91,7.94,7.85,7.62,6.29,3.49,0.59,-1.75,-3.78,-5.7,-6.61,-5.78,-4.19,-3.05,-1.86,-0.59,0.76,1.86,2.8,3.32,4.08,4.92,5.14,5.47,6.07,6.86,7.5,7.89,8.4,8.77,9.17,10.09,10.67,9.84,9.45,8.94,7.9,6.61,4.53,3.44,3.18,3.38,3.34,3.2,3.54,2.72,0.82,0.76,1.4,-0.32,0.48,1.02,2.36,-1.33,-0.08,-0.18,0.85,0.63,2.26,-1.55,-0.66,0.33,0.48,0.26,-0.79,-1.08,-1.36,-1.88,-2.24,-3.2,-3.81,-4.3,-5.02,-4.84,-2.83,-3.79,-3.91,-2.79,-2.57,-3.18,-3.09,-3.1,-2.68,-2.11,1.08,1.34,-1.03,-1.12,-1.37,-0.83,-1.17,-1.06,-1.21,-0.13,1.19,2.4,1.92,1.2,0.99,0,1.48,1.89,0.4,-1.49,-1.25,-0.15,-0.29,0.25,1.46,2.63,2.19,0.12,-6.32,-7.49,-7.79,-6.12,-2.6,-1.49,-2.03,-2.33,-1.87,-2.29,-2.87,-3.15,-4.86,-5.19,-3.88,-2.52,0.1,2.45,3.05,3.79,3.88,2.74,2.42,3.39,3.29,3.29,3.49,3.49,2.78,1.18,0.09,-0.93,-1.85,-2.65,-3.19,-3.87,-4.12,-4.01,-3.4,-3.44,-3.84,-4.5,-4.73,-5.34,-5.76,-5.83,-5.82,-5.7,-5.61,-5.59,-5.67,-5.48,-4.97,-4.42,-3.93,-2.91,-1.71,-2.12,-3.4,-4.11,-4.27,-1.83,-1.53,-1.59,-0.93,-0.81,-1.77,-1.74,-1.46,-0.39,-1.05,-0.22,1.09,0.78,-0.31,0.66,1.64,2.78,2.29,0.06,-0.08,0.16,0.32,-0.49,0.35,1.21,0.63,0.48,-0.05,-0.16,0.26,0.96,1.19,1.12,0.07,-0.72,-0.55,-0.81,-0.46,-0.39,-0.05,0.39,0.18,0.19,0.28,0.9,0.86,1.1,0.8,-2.02,-3.16,-3.52,-3.35,-3.13,-2.77,-2.98,-2.69,-2.35,-3.02,-3.71,-2.4,-1.87,-2.27,-2.48,-2.22,-1.48,-0.95,-0.68,-0.4,-0.02,0.45,0.78,0.94,1.55,1.2,1.11,1.58,2.12,0.24,-0.7,4.58,3.62,3.06,2.78,-0.45,-1.78,-1.81,-1.21,-1.67,-1.82,-1.85,-1.69,-1.57,-0.32,-0.39,-2.08,-1.67,-0.43,0.83,1.1,2.51,1.96,1.19,0.84,0.75,1.63,2.17,1.52,1.72,2.2,3.42,4.48,3.97,4.62,6.97,5.79,5.21,4.85,4.27,3.57,3.87,2.84,2.54,0.41,-1.48,-2.89,-3,-2.35,-0.54,-1,-1.96,-2.65,-2.15,-1.06,0.09,0.31,-0.45,-0.13,1.03,0.64,-0.75,-1.4,-0.79,0.58,-2.66,-4.91,-4.48,-5.28,-5.83,-5.86,-5.55,-5.8,-5.93,-6.41,-6.34,-6.17,-6.34,-5.67,-5.83,-5.55,-5.49,-4.98,-4.73,-4,-3.12,-2.18,-1.27,-0.38,0.69,1.65,2.5,3.32,3.99,4.17,4.43,4.55,4.87,5.33,6.24,7.08,7.43,7.41,7.12,6.76,6.39,6.17,5.75,5.86,6.51,7.6,8.54,8.6,8.64,7.62,5.01,2.39,-0.01,-2.67,-4.41,-4.5,-3.71,-3.08,-2.5,-1,0.42,1.29,2.36,2.93,3.4,4.21,5,5.48,6.01,6.86,7.84,8.31,8.85,9.59,9.89,10.67,11.78,12.38,11.95,11.92,12.1,11.17,9.23,7.53,6.39,5.84,5.4,4.95,4.67,5.03,3.95,4.09,1.53,2.69,3.55,1.56,0.87,-1.83,-0.11,-0.33,0.6,1.12,1.83,1.11,-0.02,0.42,0.84,1.24,0.48,-0.99,-1.97,-2.97,-2.84,-3.89,-5.07,-5.34,-4.76,-4.45,-5.15,-4.8,-4.73,-4.69,-5.01,-3.82,-3.32,-2.98,-2.57,-2.13,-1.08,0.4,-0.52,-0.99,-1.16,-0.77,-0.55,-0.26,-0.35,-0.31,0.31,0.99,1.02,1.3,1.1,-0.02,1.67,2.19,1.69,-0.84,-1.15,-1.78,-1.28,-1.46,-0.09,1.56,-1.76,-4.1,-5.92,-4.16,-1.77,-3.21,-2.38,-0.87,1.75,1.28,-0.46,-1.21,-1.88,-4.41,-6.42,-8.24,-9.34,-6.7,-3.88,-2.06,-1.04,0.36,1.64,0.94,0.84,2.05,2.23,2.52,2.34,2.06,0.74,-0.75,-2.11,-3.33,-3.9,-4.31,-4.83,-5.18,-4.64,-3.97,-3.76,-4.39,-5.01,-5.67,-6.36,-6.46,-6.78,-7.15,-7.19,-7.38,-7.33,-7.1,-6.97,-6.66,-6.4,-6,-5.64,-5.02,-4.7,-4.67,-5.5,-5.42,-2.41,-2.26,-1.93,-1.05,-1.12,-1.32,-1.52,-1.74,-1.81,-1.28,-0.41,0.14,1.18,2.25,1.42,-0.17,-0.55,1.08,2.09,1.71,1.55,0.78,0.02,-0.42,-2.32,-1.32,1.54,1.29,-0.88,-2.02,-1.34,-0.46,-0.1,-0.14,-0.33,-0.84,-1.05,-0.84,-0.6,-0.64,-0.72,-0.29,0.11,-0.05,-0.47,-0.5,0.13,0.8,0.35,-0.21,-3.16,-4.13,-3.9,-3.37,-3.26,-2.92,-2.81,-2.35,-2.24,-2.46,-1.6,-0.86,-0.83,-1.13,-1.48,-1.03,-0.24,0.17,1.14,1.16,-0.06,0.27,0.51,0.46,0.45,0.02,1.32,3.16,2.33,1.69,3.08,5.99,3.75,9.15,7.43,3.82,1.25,0,-1.48,-2.08,-1.75,-1.82,-0.78,1.24,2.94,-0.27,-1.98,-1.57,-0.15,1.22,1.82,2.67,2.5,1.19,0.18,0.47,0.87,1.1,2.6,3.87,4.55,5.09,5.75,6.37,6.54,6.29,5.77,4.86,3.36,3.32,3.07,2.76,2.86,-0.4,-1.73,-3.35,-4.31,-3.55,-3.57,-3.32,-2.95,-3.26,-2.86,-2.37,-1.86,-1.61,-0.91,0.98,1.18,0.9,-1.13,-3.87,-1.96,-2.03,-4.29,-5.11,-5.72,-6.59,-7.36,-8.1,-7.84,-7.48,-8.03,-8.91,-8.4,-8.07,-7.95,-7.67,-7.52,-6.9,-6.27,-5.41,-4.53,-3.67,-2.5,-1.37,-0.33,1,2.3,3.6,4.73,5.59,6.46,7.1,7.5,7.48,7.24,7.1,7.31,7.78,8.14,8.26,8.13,7.73,7.25,6.74,6.74,7.05,6.86,6.87,7.35,8.15,8.5,8.28,6.59,4.35,2.18,-0.6,-2.95,-3.35,-2.83,-2.34,-1.88,-1.44,0,1.33,2.07,2.94,3.28,3.71,4.73,5.68,6.03,6.63,7.5,8.23,8.9,9.94,10.46,11.21,12.02,12.93,13.14,12.77,11.89,11.59,10.78,10.13,8.74,8.02,7.45,6.31,5.44,5.58,4.44,4.79,5.1,2.5,2.19,2.23,-0.87,-2.27,-1.07,-0.54,0.08,0.17,-0.37,0.86,0.5,0.24,1.38,2.07,1.66,1.9,0.64,-1.95,-3.05,-3.58,-4.44,-5.44,-5.52,-5.39,-4.89,-5.13,-5.53,-4.87,-4.7,-3.82,-4.07,-4.19,-3.9,-3.14,-2.34,-1.61,0.1,1.09,-1.19,-1.43,-0.75,-0.23,-0.14,-0.19,0.52,0.41,0.9,1.12,0.94,1.39,-0.24,0.69,2,0.29,0,-0.67,-0.56,-0.36,-2.95,-4.63,-5.24,-4.5,-2.15,-0.74,0.71,1.39,-1.37,-1.38,-0.79,-0.34,0.81,1.26,0.91,1.77,3.68,1.27,-3.38,-7.63,-6.36,-4.27,-2.06,-0.58,-0.3,-0.14,-0.21,0.32,0.63,0.9,0.51,-0.18,-1.75,-3.15,-3.88,-4.74,-5.46,-5.79,-5.89,-5.42,-3.89,-3.87,-4.17,-4.97,-5.84,-7.02,-7.11,-7.25,-7.68,-8.25,-8.22,-8.57,-8.66,-8.66,-8.38,-7.92,-7.58,-7.39,-7.2,-6.93,-5.5,-2.52,-2.46,-2.52,-3.05,-3.1,-2.97,-2.59,-1.54,-1.02,-0.12,-2.91,-1.99,-0.79,-0.36,0.39,0.47,-0.06,-0.39,-0.41,-0.84,-0.39,0.46,1.74,2.62,2.11,1.36,-0.45,0.27,-0.99,-1.1,1.94,1.48,-0.79,-1.12,-1.34,-1.15,-0.52,-0.54,-1.05,-1.14,-1,-0.46,-1.92,-1.56,-0.97,-0.08,-0.02,0.24,-0.74,0.33,-0.35,-0.92,0.51,1.5,0.85,-1.14,-3.58,-4.47,-2.77,-2.19,-2.21,-2.69,-2.83,-2.12,-1.77,-0.72,-0.06,-0.74,0.02,1.17,0.7,1.01,0.53,0.14,-0.27,0.67,-0.08,-1.05,-2.14,-0.21,2.19,0.02,-1.88,0.89,3.34,2.33,2.97,1.07,0.9,-0.12,-0.03,0.12,-1.46,-2.93,-2.66,-1.91,-0.87,0.88,3.73,0.59,-0.26,-1.26,0.21,0.95,1.37,1.88,2.04,1.7,1.94,1.7,1.8,2.46,2.94,3.45,3.15,3.36,3.5,3.6,3.79,3.75,3.65,4.17,2.92,2.18,2.55,1.09,0.75,-1.06,-2.71,-4.11,-4.46,-4.25,-3.18,-3.29,-4.68,-4.48,-3.18,-1.84,-0.99,-0.4,0.71,0.45,-0.93,-1.64,-1.89,-0.74,-0.2,-0.19,-0.95,-3.95,-5.42,-7.14,-8,-8.01,-9.46,-9.82,-9.5,-8.98,-8.73,-8.96,-9.03,-8.85,-8.18,-7.31,-5.91,-4.81,-3.63,-2.33,-0.93,0.7,2.19,3.67,4.87,5.62,6.07,6.58,7.28,7.99,8.31,8.31,8.18,8.04,8.16,8.14,8.31,8.25,8.02,7.58,7.03,6.66,7,7.65,7.05,6.94,7.67,8.1,7.67,6.81,5.09,3.34,0.77,-2.08,-2.97,-2.86,-2.08,-1.31,-0.87,-0.52,1.07,2.37,2.74,3.37,3.9,4.33,5.13,5.84,6.12,6.77,7.56,8.3,9.39,10.26,10.95,11.67,12.44,13.29,13.59,13.21,12.81,11.98,11.14,9.91,9.1,8.03,6.69,6.24,5.87,5.05,4.46,5.7,5.72,2.85,1.19,-2.86,-1.89,-2.13,-3.8,-1.07,-0.34,-0.68,0.55,0.82,0.35,1.81,2,3.37,3.03,2.7,2.42,-0.31,-3.31,-4.28,-4.6,-4.51,-5.54,-6.03,-5.99,-5.83,-5.54,-5.08,-4.96,-5.58,-6.76,-7.06,-7.03,-4.09,-1.92,-0.36,0.88,2.04,-1.22,-1.11,-0.52,-0.54,-0.46,0.7,0.18,0.81,0.95,0.99,2.32,1.12,0.1,0.1,0.31,0.35,-1.13,-2.36,-2.24,-2.55,-3.52,-2.04,-0.96,-0.58,2.08,3.71,1.46,-2.02,-1.84,-1.95,-1.78,-1.45,0.84,5.55,8.66,9.05,6.95,2.99,-2.12,-5.46,-4.47,-2.96,-0.9,-1.09,-0.8,-0.69,-0.42,-0.45,-1.07,-1.69,-2.69,-3.85,-4.56,-5.17,-6.07,-6.66,-6.55,-5.86,-3.89,-3.85,-3.8,-4.6,-5.35,-6.5,-7.08,-7.24,-7.55,-7.91,-8.43,-8.86,-9.08,-9.41,-9.59,-9.45,-9.05,-8.46,-7.6,-6.97,-6.87,-7.12,-6.94,-5.93,-4.48,-3.46,-3.63,-3.03,-3.09,-1.5,-0.71,1.18,-1.56,0.29,1.63,-0.34,-0.18,0.16,-0.19,-1.46,-1.87,-0.88,-0.59,-1.06,-0.11,0.49,1.16,0.44,-1.35,0.13,0.93,-0.46,-0.01,1.56,0.58,0.05,1.01,-1.42,-2.76,-1.23,-0.34,-1.6,-3.3,-2.86,-0.42,0.74,0.25,-0.1,0.3,0.12,-0.84,0.42,-0.17,0.7,0.67,0.2,-0.59,-1.17,-0.68,-0.76,-3,-3.06,-1.24,-1.87,-2.94,-4.16,-4.49,-1.39,0.39,-0.88,-2.01,-0.92,-0.82,0.73,0.91,1.31,1.95,2.03,2.01,3.69,3.17,3.31,3.49,4.81,1.99,1.73,0.56,2.35,-0.84,3.48,7.32,8.02,-2.63,-4.17,-2.61,-3.55,-1.84,-2.37,-2.21,-3,-0.98,0.57,-0.89,1.63,1.4,-0.74,-0.7,0.91,3.38,2.68,2.03,2.63,3.9,3.62,3.14,3.65,2.1,0.6,-0.45,0.61,2.68,4.14,4.15,3.62,2.9,2.49,2.83,1.83,1.03,0.38,-2.14,-3.18,-2.88,-3.74,-2.8,-2.56,-4.5,-5.06,-2.14,-1.94,-1.74,-0.13,0.41,-0.61,0.82,2.61,1.66,1.56,2.17,1.55,4.04,3.87,2.04,-0.41,-1.27,-1.15,-3.06,-4.6,-4.43,-3.25,-1.16,0.51,1.96,2.39,1.23,-1.32,-3.93,-4.79,-3.92,-2.7,-1.95,-0.92,0.36,1.67,2.87,3.86,4.55,5.27,5.68,6.02,6.49,7.02,7.38,7.91,8.25,8.42,8.43,8,7.65,7.6,7.41,6.82,6.69,7.21,7.15,6.85,7.58,8.27,7.67,6.97,5.1,2.66,0.71,-1.07,-1.94,-2.07,-1.75,-1.67,-0.81,-0.18,0.55,1.76,2.49,2.73,3.66,4.25,4.46,5.05,5.97,6.35,6.98,7.73,8.58,9.55,10.31,11.1,11.97,12.75,13.27,13.34,12.93,12.2,11.29,10.28,9.32,7.96,6.79,6.47,5.93,5.04,4.48,5.09,4.74,2.4,-0.04,-2.6,-3.33,-1.26,-0.37,-2.12,0.67,0,0.41,0.38,-0.51,1.5,2.54,0.5,0.95,3.05,3.78,2.49,-1.03,-3.34,-3.54,-3.15,-2.77,-3.06,-4,-5.06,-6.57,-4.95,-4.84,-4.89,-4.12,-3.18,-3.49,-3.88,-2.68,-0.43,0.2,0.37,2.03,3.12,0.53,-0.16,0.06,0.61,0.43,0.18,0.05,0.5,0.41,0.22,-2.08,-1.33,-0.88,-1.08,-1.96,-3.66,-3.5,-1.81,0.01,-0.12,-0.96,1.03,0.02,0.78,-0.03,1,2.52,3.89,5.08,5.7,7.13,8.48,9.19,8.72,7.81,5.3,0.72,-2.67,-2.67,-2.27,-1.39,-1.52,-0.72,-0.85,-1.18,-1.87,-2.9,-3.38,-3.98,-4.78,-5.42,-6.15,-6.71,-6.47,-5.65,-3.6,-3.83,-3.68,-3.53,-4.45,-5.36,-6.35,-6.21,-6.37,-6.52,-7.05,-7.41,-7.83,-8.52,-9.1,-9.46,-9.67,-9.4,-8.94,-8.6,-8.53,-8.23,-7.65,-7.2,-7.26,-6.64,-4.7,-2.73,-3.01,-2.57,-2.09,0.85,1.36,0.09,1.84,0.52,-0.7,-1.62,-1.94,-2.37,-3.96,-3.57,-2.45,-0.31,-0.63,0.1,0.54,0.96,0.3,-0.43,0.28,-0.68,-0.16,-0.21,0.52,0.93,2.23,2.83,0.48,-1.88,-2.41,-0.18,2.78,2.39,0.43,-0.1,0.05,-0.85,-0.77,-0.73,-0.26,0.07,0.39,1.11,0.57,-0.69,-1.28,-1.29,-1.54,-1.31,-0.54,0.55,-0.44,-0.79,0.38,0.97,-1.31,0.23,1.32,0.74,2.45,0.65,-1.26,-1.58,-0.65,1.34,1.64,3.07,3.9,2.64,2.36,4.35,4.73,3.24,2.33,0.29,0.43,1.39,2.45,3.06,4.18,4.9,5.35,5.33,1.15,1.31,-0.62,-3.45,-2.35,-2.19,-2.34,-4.37,-2.49,-2.42,-2.75,0.37,0.83,1.13,1.68,3.69,4.63,4.42,4.59,4.59,2.96,1.97,2.97,3.56,4.94,5.14,2.76,2.71,3.74,3.39,3.38,2.39,2.49,2.02,1.23,1.96,1.89,0.39,0.38,-0.48,-2,-1.59,-2.03,-1.45,-3.03,-2.87,-1.47,0.12,0.56,-0.33,0.83,4.15,4.51,3.43,2.52,2.73,3.99,6.13,7.78,8.26,7.39,5.34,3.87,4.61,4.14,3.61,2.78,3.21,4.16,5.11,5.14,4.97,5.15,4.78,4,2.91,2.38,1.8,1.33,1.2,1.11,1.07,1.5,2.4,3.44,4.41,5.18,5.76,6.32,6.87,7.19,7.68,8.1,8.31,8.06,7.78,7.75,7.5,6.83,6.8,7,7.02,6.91,7.55,8.07,7.34,7.24,4.94,1.81,-0.16,-1.07,-1.37,-1.5,-1.39,-1.13,-0.45,0.41,0.76,1.16,1.67,2.31,2.87,3.39,3.8,4.59,5.51,6.06,6.56,7,7.67,8.62,9.62,10.39,11.08,11.68,12.13,12.28,12.1,11.6,10.65,9.56,8.65,7.51,6.6,6.26,6.18,5.25,4.78,4.78,4.8,1.5,0.72,-2.82,-0.74,0.63,-1.95,0.13,1.87,0.78,0.01,-0.33,1.16,1.35,0.7,0.67,1.82,2.34,2.95,2.45,3.1,1.65,0.82,1.84,2.26,1.51,-0.49,-3.28,-4.47,-3.63,-2.28,-2.12,-1.65,-2.54,-3.27,-2.9,-3.25,-1.95,-1.61,-1.56,-0.79,0.55,-0.39,0.39,0.85,-0.61,-0.41,0.19,0.85,-0.5,-1.75,-0.1,0.29,0.66,-0.24,-1.6,-0.77,1.05,2.54,2.72,1.82,-0.2,0.04,2.02,0.75,3.98,6.35,6.79,6.51,6.46,6.55,6.51,6.61,6.82,7.1,7.67,8.27,7.54,3.81,-1.53,-1.99,-1.81,-1.3,-1.31,-0.92,-1.06,-1.99,-2.91,-3.63,-3.98,-4.5,-5.05,-5.55,-5.78,-5.3,-5.35,-3.41,-3.42,-3.93,-3.77,-3.55,-4.12,-4.7,-4.7,-4.74,-4.96,-4.79,-4.88,-4.47,-4.03,-4.41,-5.73,-7.52,-8.43,-9.1,-9.09,-9.32,-9.81,-9.77,-9.37,-9.37,-9.44,-8.6,-4.8,-1.63,-0.59,-1.67,-1.2,0.98,-0.07,-0.16,0.22,1.5,0.66,-0.76,-0.52,-0.75,-1.95,-3.1,-5.91,-2.32,-1.48,-0.96,-0.39,0.71,0.99,0.63,1.89,1.39,0.67,0.38,0.21,1.24,2.12,-1.93,-2.65,-2.29,-3.3,-2.67,-2.58,-1.73,-0.16,-1.48,-3.48,-1.59,-0.35,-1.49,1.23,3.8,3.38,1.41,0.18,-1.11,-1.79,-1.83,-3.32,-2.8,-1.86,-2.48,0.36,1.41,1.2,2.27,3.56,2.17,-0.2,-0.22,1.97,3.01,3,2.89,1.37,1.49,3.97,5.15,4.82,4.4,3.51,-0.07,3.85,2.87,-1.48,-0.04,3.14,1.32,-1.28,0.89,0.99,3.16,1.72,3.79,5.28,0.96,1.89,-0.69,-0.18,-1.51,-0.54,0.83,-3.18,-5.65,-5.44,-5.21,-4.86,-4.66,-2.33,-1.36,0.05,2.04,1.16,0.14,0.07,0.16,0.36,0.78,1.61,-0.13,0.23,0.43,1.38,1.76,2.13,1.26,0.71,1.77,3.43,4.01,3.35,2.31,3.34,2.83,-0.26,-1.24,-0.18,-1.2,-2.19,-1.64,-1.09,0.77,-0.06,-0.58,0.47,0.39,1.9,3.06,4.09,2.77,1.91,1.69,4.56,5.28,5.01,6.49,5.98,5.67,6.01,5.49,4.69,4.18,4.66,5.48,5.31,5.05,5.26,4.92,4.07,4.41,4.69,3.52,1.09,-0.78,-2.43,-3.47,-4.2,-3.99,-2.55,-0.26,2.03,3.66,4.73,5.3,5.66,6.05,6.54,6.7,6.78,6.61,6.98,7.17,6.5,6.18,6.71,6.85,6.84,7.35,7.53,7.31,7.57,5.3,2.34,0.25,-1.2,-1.65,-1.66,-1.46,-1.26,-0.47,0.48,0.82,0.78,1.08,1.94,2.28,2.42,2.61,3.54,4.59,5.13,5.72,6.32,6.96,7.57,8.54,9.44,10.06,10.45,10.79,10.87,10.69,10.17,9.29,8.42,7.85,7.1,6.52,6.26,6.23,5.16,4.82,4.5,3.05,2.76,2.9,-2.08,-1.25,-1.24,-1.84,-0.73,1.61,2.37,0.18,-0.83,-0.02,2.18,1.87,-2.33,-0.52,1.24,1.39,2.23,2.05,2.21,4.09,3.93,3.63,2.55,-0.73,-2.45,-4.19,-2.68,-1.84,-0.94,-1.98,-1.86,-3.85,-4.15,-2.89,-1.91,-0.04,-1.02,-3.47,-1.42,-0.18,-0.1,1.91,2.14,1.8,1.5,0.2,0.08,0.26,-0.1,0.52,0.42,1.08,2.46,3.49,3.79,2.02,3.07,4.92,4.69,4.88,5.26,6.16,6.72,6.97,7.33,7.61,7.62,7.45,7.04,6.77,6.55,6.86,7.37,7.67,7.24,5.84,2.64,0.69,0.21,-0.1,-0.83,-1.04,-1.45,-2.44,-3.24,-3.65,-3.88,-4.48,-4.78,-5.25,-4.85,-4.41,-3.16,-2.92,-3.64,-3.69,-3.31,-3.24,-3.17,-3.01,-2.71,-2.68,-3.04,-2.78,-1.78,-0.77,0.02,0.89,1.6,0.71,-2.12,-5.07,-7.06,-8.03,-9.92,-11.33,-11.17,-10.23,-9.51,-8.19,-2.9,-0.29,1.15,2.43,0.92,-1.72,2.6,1.17,0.09,-1.41,-0.58,-0.46,-1.46,-1.15,-0.87,1.49,-2.06,-4.52,-4.83,-2.07,-1.54,-0.69,0.24,-0.6,-0.35,-0.05,0,-0.08,0.71,-0.06,-2.32,-3.45,-3.14,-2.67,-2.04,-3.44,-2.85,-1.25,0.08,1.65,1.51,-2.81,-3.38,-1.88,-1.66,0.02,0.56,0.81,1.89,2.03,1.32,1.9,-0.41,-2.44,-2.55,-3.11,-2.5,-0.45,1.58,3.26,3.03,1.6,-1.11,-0.68,0.21,1.3,2.15,2.31,2.16,1.51,-0.08,0.76,2.05,1.42,2.83,-0.47,-2.84,0.42,0.56,0.13,1.33,-0.54,0.49,0.59,1.28,2.41,1.87,0.04,1.79,-0.65,1.44,0.42,0.2,0.24,-0.97,-3.34,-1.46,-2.52,-3.03,-3.34,-0.54,-1.5,-3.45,-3.4,-1.82,-3.47,-2.92,-3.55,-3.17,-2.2,-1.51,-0.38,1.56,1.98,-0.52,0.28,2.63,4.55,3.74,2.35,1.61,4.45,5.14,3.12,1.57,3.42,3.66,0.77,0.63,1.6,-1.56,-1.75,-2.08,-2.05,-1.71,-2.2,-2.59,-2.03,-1.93,-1.45,0.29,2.88,3.84,3.22,2.49,0.3,0.33,1.32,2.65,3.58,4.14,5.09,5.18,4.56,4.34,3.66,3.29,3.65,4.18,4.13,3.9,2.77,1.52,1.24,0.91,-0.33,-1.77,-3.28,-5.54,-5.6,-3.47,-2.52,-4.09,-4.21,-1.25,1.7,3.77,4.76,5.14,5.25,5.52,5.59,5.48,5.33,5.77,6.7,6.44,6.08,5.76,6.05,6.6,6.95,6.97,7.32,7.78,5.79,3.97,1.16,-0.5,-0.94,-1.01,-1.32,-2.1,-1.4,-0.46,-0.06,0.55,1.04,1.47,1.67,1.91,2.03,2.19,3.35,4.16,4.88,5.29,5.72,6.35,7.13,7.81,8.38,8.71,8.87,8.95,8.93,8.65,8.1,7.53,7.16,6.77,6.65,6.78,6.06,4.69,4.62,3.44,3.04,3.14,4.38,1.09,-0.76,-0.7,-0.64,-0.24,-2.35,-2.17,-0.56,-0.96,-0.46,1.93,2.21,-0.93,0.68,2.16,2.25,1.95,3.37,3.92,3.27,2.98,1.77,0.98,0.77,-0.99,-2.68,-3.19,-2.97,-1.12,-1.98,-1.95,-3.34,-4.14,-2.37,-0.85,-0.72,-1.99,-2.18,-1.18,1.16,0.73,-1.07,0.14,1.02,1.3,1.32,0.55,-1.5,-1.7,-1.21,-1.34,-0.5,1.32,2.49,2.89,3.67,5.83,7.35,7.22,6.48,7.04,7.23,6.79,7.05,7.36,7.44,7.42,7.17,6.61,6.53,6.78,7.03,6.64,6.12,7.17,6.62,5.03,2.91,0.61,-0.22,-0.27,-0.95,-1.47,-2.41,-2.98,-3.38,-3.39,-3.77,-4.28,-4.56,-4.73,-4.32,-3.04,-3.28,-3.29,-3.13,-2.7,-2.12,-2.07,-1.9,-1.16,-1.01,-0.72,-0.06,-0.02,0.07,0.94,1.72,2.3,2.63,2.33,2.14,0.79,0.89,-0.74,-0.96,-2.1,-1.68,-0.7,-0.73,-2.2,-5.05,-1.8,0.09,1.59,2.44,1.14,-0.04,-1.5,-1.68,-0.28,0.65,-3.13,-2.23,-1.81,-0.08,2.77,0.98,-3.03,-5.95,-4.72,-2.99,-1.04,-0.97,-0.7,-0.35,-0.34,-0.44,-1.26,-2.62,-4.98,-4.73,-5.29,-5.51,-3.31,-0.91,0.81,2.55,1.95,-0.27,-0.17,1.33,0.96,-0.63,-1.42,-1.39,-1.36,-0.78,0.38,2.08,3.76,3.86,3.34,2.43,-1.18,-2.71,-1.14,-0.28,0.6,1.1,0.2,-0.6,-0.21,0.42,1.03,1.11,-0.4,0.19,-0.51,-0.46,-0.32,-0.69,2.24,0.32,-1.34,0.67,1.87,1.24,1.46,0.96,2.46,-0.47,1.09,1.39,1.17,-0.11,-0.34,0.08,-0.11,0.37,1.34,-0.65,0.89,1.82,-2.62,-3.45,-4.02,-2.6,-2.73,-4.33,-4.21,-5.11,-5.54,-5.69,-4.36,-5.62,-7.34,-6.82,-5.56,-3.51,-2.87,-0.73,0.37,0.94,1.4,1.97,2.74,3.61,-1.04,0.64,-0.79,-1.18,-1.22,1.54,2.95,1.21,-1.54,-0.55,0.4,3.05,1.39,-2.58,-4.61,-6.97,-8.35,-7.21,-5.39,-4.07,-2.37,-1.15,-0.21,2.32,5.05,8.8,5.4,-0.98,-1.71,-0.85,-0.83,0.07,2.6,3.87,3.65,3.03,1.98,1.28,1.21,1.62,1.82,1.81,1.98,1.24,-0.4,-0.94,-1.01,-1.92,-2.32,-0.93,3.54,5.81,4.16,2.94,1.99,-0.54,-1.21,0.34,3.15,4.88,5.57,5.7,5.63,5.08,4.98,4.9,4.99,5.44,5.11,5.63,5.28,5.22,6.17,6.61,6.83,7.72,7.76,6.19,4.24,1.53,0.58,-0.21,-0.75,-1.19,-2.05,-1.58,-0.99,-0.63,-0.04,0.91,1.61,1.97,1.35,0.94,1.3,2.12,2.57,3.16,4.13,4.66,5.07,5.63,6.08,6.24,6.77,7,7.17,7.34,7.04,6.71,6.32,5.89,5.85,6.03,6.8,5.47,4.38,4.23,5.05,3.65,2.48,1.98,1.97,2.86,0.71,0.91,-0.25,1.08,-0.21,-0.68,-0.82,0.04,3,2.61,2.1,2.84,2.97,3.48,0.67,3.7,2.56,1.83,1.04,0.73,0.13,0.05,-1.77,-2.98,-4.71,-3.19,-0.4,-1.6,-2.63,-3.62,-3.32,-2.05,-1.18,-0.83,-1.47,-0.17,-1.92,-1.01,-3.06,-0.97,0.4,0.66,0.89,1.53,1.28,-0.06,0.52,0.57,1.36,2.92,3.11,3.3,3.55,3.96,4.95,6.11,7.02,6.33,7.98,8.68,8.2,8.13,8,7.49,7.54,7.38,6.91,7.08,7.02,6.83,6.27,6.22,7.18,5,3.69,3.84,2.41,1.23,-0.03,-0.84,-1.34,-2.07,-2.68,-3.13,-3.04,-3.53,-3.44,-3.78,-4,-3.67,-4.13,-3.77,-3.01,-2.62,-1.92,-1.24,-0.86,-0.57,-0.73,-0.58,-0.72,-0.84,-0.22,0.36,0.95,1.51,2.15,2.34,1.65,1.55,0.51,0.35,-2.27,-2.61,-6.35,-4.34,-2.11,1.96,-1.03,-0.14,-1.63,0.74,1.93,1.81,1.62,2.18,1.32,-0.65,-0.98,-0.19,-0.58,-2.42,-4.16,-3.2,-1.15,2.69,3.07,1.19,-1.12,-2.44,-1.46,-1.01,-0.65,-1.07,-1.56,-1.43,-1.21,-4.42,-4.81,-3.3,-2.2,-0.86,-1.15,-1.39,-0.88,-0.38,1.57,3.32,2.31,2.69,0.15,-1.16,-2.09,-2.2,1.84,0.97,-1.03,-0.1,1.79,3.63,1.68,1.51,-1.82,-5.94,-5.13,-3.45,-2.31,-0.92,-0.42,-0.07,0.82,0.41,1.31,1.36,-1.22,-1.69,-0.51,-1.2,-1.38,-0.32,-0.15,-2.48,-3.64,0.49,3.07,0.59,2.19,2.11,1.25,-1.19,-1.78,0.5,2.1,2.96,2.02,2.63,1.97,-3.76,-2.34,-0.81,-0.91,-1.99,-0.67,-0.84,-8.72,-9.52,-6.95,-6.57,-6.84,-5.8,-6.97,-7.06,-5.78,-4.24,-2.82,-2.41,-1.91,-2,-1.27,0.08,0.6,-0.15,0.12,-0.35,-1.22,-0.73,-0.71,-0.89,0.43,0.12,0.83,2.62,0.74,-1.03,0.08,-0.2,1.73,0.54,-0.55,-1.75,-3.35,-2.8,-1.9,-4.67,-5.17,-4.34,-3.14,-1.09,0.47,3.38,5.08,4.24,8.17,8.26,5.5,5.08,6.14,6.66,4.41,2.45,0.33,-0.15,-0.78,-1.47,-1.18,-0.58,0.2,1.07,1.88,2.08,0.38,-1.43,-1.55,0.89,5.02,7.1,8.04,7.78,6.03,4.84,2.85,0.93,1.06,0.74,1.85,3.65,5.26,5.56,5.26,4.96,4.88,4.98,4.58,4.92,4.82,4.25,4.14,4.31,4.72,5.63,6.29,7.92,8.13,4.58,2.51,1.46,0.51,-0.29,-1.4,-1.41,-2.13,-2.02,-1.82,-1.12,-0.58,-0.15,0.24,0.42,0.63,0.3,-0.2,0.66,1.03,1.22,1.94,2.82,3.6,4.22,4.75,4.65,5.2,5.37,5.51,5.58,5.41,5.24,4.65,4.23,4.2,4.67,5.43,4.72,3.96,3.91,3.35,3.36,2.54,0.86,1.37,1.57,0.67,1.08,1.15,0.42,0.78,-1.24,-1.51,0.84,2.45,2.62,3.37,1.47,2.84,4.18,1.3,2.09,2.56,4.08,3.5,-1.41,0.91,-0.69,-2.36,-3.39,-5.58,-4.4,-1.81,-0.96,-2.56,-3.59,-3.69,-4.11,-0.46,1.3,0.5,-0.67,-0.95,0.27,1.53,1.82,2.41,2.35,2.87,2.69,2.07,2.86,1.52,1.92,2.4,2.77,2.77,2.94,3.29,4.08,4.28,7.01,9.07,9.59,11.61,11.96,11.36,9.45,8.02,7.97,8.18,8.35,8.37,8.36,8.37,7.63,6.52,5.63,5.5,3.45,3.76,3.92,3.4,1.64,0.43,-0.68,-1.13,-1.85,-2.34,-3.05,-2.93,-3.15,-2.86,-3.15,-3.26,-2.89,-4.4,-4,-3.1,-2.3,-1.66,-0.42,0.75,1.47,1.18,0.81,-0.25,-2.55,-1.73,-0.89,0.26,0.72,1.37,2.12,1.61,0.96,1.63,0.85,1.75,-0.72,-2.55,-2.59,-2.92,-2.21,2.72,0.61,-0.85,-0.85,-0.07,-0.28,0.5,0.71,0.19,-1.29,0.18,0.17,-1.93,-3.22,-4,-4.79,-4.53,-1.34,2.78,1.76,2.21,-1.06,-1.8,-0.42,-1.49,-3.32,-5.63,-5.73,-2.32,-0.83,-1.25,-0.42,1.01,-1.25,-3.23,-2.16,-2.78,-1.06,-0.91,-1.32,-2.54,-1.53,-3,-1.32,-2.81,-0.53,-1.79,-1.65,1.27,-0.41,-1.23,-1.33,0.19,0.11,0.78,-2.8,-3.17,-3.42,-2.95,-2.4,-1.75,0.21,0.28,0.09,-0.15,-0.51,-1.95,-1.77,-3.02,0.25,2.06,-0.93,0.56,2.01,2.1,2.07,5.14,2.68,0.56,4.67,1.76,1.5,3.68,2.06,2.69,2.01,3.29,4.51,7.66,4.04,3.69,3.81,3.11,3.44,2.73,2.38,-0.71,-4.7,-7.93,-7.05,-4.22,-2.89,-0.95,0.07,-0.18,2.4,0.87,-2.09,-1.5,-0.75,-0.27,-0.67,0.33,4.53,3.74,0.99,0.59,-0.51,-1.3,-1.59,-0.93,0.79,1.07,-0.1,-1.45,-2,-1.59,-0.22,1.31,-1.43,-2.86,-3,-4,-3.78,-3.07,-2.85,-3.95,-4.17,-3.59,-1.63,0.46,3.42,4.43,1.6,4.81,7.79,8.77,7.69,7.2,6.84,4.28,1.52,-2.49,-5.15,-5.23,-3.7,-3.17,-2.51,-1.3,0.47,2.33,2.6,1.76,2.54,5.53,7.85,8.92,10,10.2,9.78,8.01,6.47,5.29,2.25,1.93,2.22,2.48,2.75,3.64,4.62,4.98,5.16,5.08,5,4.71,4.26,3.84,3.7,3.86,4.41,4.56,5.22,7.46,9.23,9.25,6.98,1.77,0.24,1.12,-0.49,-1.58,-2.25,-3.17,-2.8,-1.77,-2.24,-1.68,-1.39,-1.1,-0.93,-0.78,-1.21,-1.28,-0.87,-0.19,0.05,0.42,1.06,1.8,2.37,3.09,3.31,3.69,3.87,3.99,4.14,3.99,3.59,3.1,2.96,3.27,3.45,3.59,3.26,2.91,3.1,3.37,3.42,1.85,-2.03,2.01,-0.31,0.67,1.05,1.62,1.2,1.44,-1.85,1.74,1.88,4.88,1.11,3.63,1.47,2.52,3.67,-1.87,0.78,1.57,1.84,2.2,1.59,2.11,-1.94,-2.28,-3.03,-2.6,-3.25,-2.71,-1.78,-1.53,-2.22,-2.5,-2.18,-1.69,-0.87,0.39,0.29,0.73,0.24,1.09,1.4,2.5,1.87,2.08,2.86,4.26,3.61,3.96,3.75,3.68,3.98,4.25,4.53,4.6,5.27,7.42,9.52,10.83,11.27,11.8,10.96,10.49,10.48,9.15,8.37,9.05,8.9,8.73,8.3,8.23,8.23,7.97,6.31,4.33,3.54,3.42,3.21,2.98,1.54,0.43,-0.1,-0.98,-1.43,-1.88,-3.05,-2.42,-2.14,-1.99,-2.68,-2.24,-2.35,-4.42,-3.56,-3.12,-1.92,-1.28,-0.16,0.94,2.27,3.51,3.15,2.6,0.36,-1.34,-0.99,-0.43,0.43,0.63,1.43,1.76,1.11,0.9,1.21,1.75,0.93,0.32,-2.42,-5.06,-1.91,-0.04,-0.45,-2.99,-3.19,-2.87,-2.58,-1.53,-0.83,-0.64,-1.16,-0.9,-1.79,-3.06,-2.71,-2.05,-3.4,-2.82,-3.09,-1.14,-1.06,1.61,1.05,-1.87,-1.25,-1.56,-3.54,-4.55,-2.27,-2.72,0.05,-0.31,-0.72,0.43,-0.29,-3.09,-1.83,-0.62,-2.02,0.65,0.43,-1.24,-2.46,-3.44,-2.1,-3.57,-2.9,-0.95,-3.66,0.72,-0.35,-1.18,-0.2,0.52,0.82,0.43,-1.79,-0.8,-1.61,-3.88,-3.68,-3,-1.63,-2.38,-1.89,-1.17,-0.75,-0.76,-1.78,-1.91,-0.45,-1.81,-1.93,-0.57,1.54,3.01,2.89,2.65,4.33,5.53,4.32,6,5.24,3.57,-0.94,0.37,2.19,3.06,3.3,5.25,5.37,3.16,0.6,1.11,0.99,0.54,-0.77,-0.11,0.88,-1.17,-3.28,-1.24,-0.77,-0.63,0.16,0.21,1.42,0.66,0.23,0.07,-0.65,-0.94,-2.42,0.78,2.74,0.89,-0.34,-1.14,0.7,1.05,0.76,0.44,0.07,-0.7,0.17,0.5,0.14,-0.51,-0.68,1.51,0.81,1.41,2.24,-1.33,-3.98,-4.63,-4.21,-3.99,-4.25,-4.21,-2.52,-0.62,2.67,4.59,2.71,0.66,3.7,5.54,6.61,7.8,6.86,5.19,4.54,4.32,3.91,-1.52,-5.4,-4.22,-3.25,-1.28,0.76,3.07,6.04,8.56,10.97,12.6,12.18,11.79,11.49,11.14,10.39,8.14,7.23,6.24,3.77,3.1,2.72,2.96,3.12,2.91,4.27,4.79,4.73,4.73,4.66,4.47,3.98,3.56,3.59,3.37,3.98,6.01,8.03,9,9.27,8.68,7.08,4.75,1.81,0.86,-0.78,-2.02,-2.97,-3.75,-3.59,-2.08,-2.79,-3.5,-3.06,-2.72,-2.63,-2.54,-2.27,-1.84,-1.89,-1.62,-0.98,-0.51,-0.18,0.25,0.69,1.24,1.57,2.08,2.44,2.6,2.68,2.48,2.09,2.05,2.37,2.89,2.76,2.74,2.37,2.32,2.62,1.74,1.41,3.67,0.56,-0.31,1.76,-1.17,2.57,2.01,-0.18,1.91,-1.34,0.83,2.31,3.62,3.79,2.96,3.14,4.63,4.8,-2.24,-0.18,4.24,3.46,-1.85,-0.79,-0.6,-2,-3.35,-3.57,-2.17,-1.36,-1.54,-2.06,-0.68,-0.02,-0.64,-1.4,-0.49,-0.85,0.81,0,0.91,1.4,1.27,1.99,3.14,1.52,3.02,2.47,4.18,3.93,4.41,5.24,5.09,5.41,5.86,6.05,6.54,7.68,8.45,9.04,9.54,10.29,10.11,9.97,10.73,10.58,10.08,9.88,9.99,10.19,10.52,9.35,8.58,8.16,8.2,7.02,4.74,4.14,3.04,1.94,1.08,0.51,0.35,0.1,-0.81,-1.34,-1.78,-2.99,-2.15,-1.47,-1.33,-1.19,-0.21,-0.33,-3.87,-4.55,-3.84,-2.24,-0.99,0.01,-0.57,1.28,2.78,3.65,3.65,3.28,0.95,0.35,0.59,0.65,0.75,1.03,1.8,1.87,1.66,2.51,2.97,4.75,3.8,2.71,-1.35,-2.69,-0.89,-5.35,-7.66,-7.76,-6.49,-5.15,-3.05,-0.92,0.41,-0.3,-2.53,-2.39,-3.33,-3.78,-1.18,1.17,0.08,-1.54,-0.06,-0.35,-0.55,1.21,-0.68,-2.07,-1.09,-0.05,0.77,-0.15,-0.69,-0.6,1.21,1.42,0.17,0.14,-1.55,-2.13,0.58,1.03,0.33,0.39,-0.07,-0.07,-0.64,-0.79,-0.98,-1.75,-0.23,-3.66,-1.96,-2.9,-0.5,1.16,2.07,2,4.52,4.61,1.88,2.1,-1.76,-1.47,-2.37,-2.7,-2.16,-2.43,-1.22,-0.48,0.32,-0.42,-0.75,-1.7,-2.42,-1.68,-0.33,1.1,2.47,2.25,3.05,-0.71,2.6,3.22,3.73,2.25,-0.1,-1.95,-3.03,-1.94,0.92,0.38,0.21,-0.85,0.14,-0.7,2.31,2.8,4.08,1.87,1.67,0.73,-0.3,-1.63,-1.77,-0.24,-0.81,-0.34,1.49,-0.61,-2,-0.8,1.27,2.59,3.87,2.82,2.06,1.12,2.2,0.7,0.3,-0.62,-0.09,-0.43,-0.82,-0.07,-1.26,-1.01,-0.18,-0.4,-1.58,-0.54,0.11,1.17,0.63,1.1,-0.95,-2.67,-3.9,-4.71,-4.85,-4.91,-3.64,-2.7,-0.91,3.78,3.62,5.5,5.39,7.24,8.47,7.7,6.88,6.22,5.86,6.74,9.22,9.99,8.29,5.55,-0.1,-5.12,-3.6,1.08,3.82,6.77,9.8,12.03,13.33,13.05,12.81,12.72,12.33,10.04,7.83,6.88,5.18,3.5,3.1,2.73,2.83,2.52,2.02,2.93,3.38,3.4,3.56,3.49,3.42,3.44,3.48,3.11,4.38,6.7,8.74,9.08,8.38,7.69,5.67,4.44,3.62,2.12,0.91,-0.73,-2.39,-3.61,-4.25,-4.33,-4.1,-3.9,-4.46,-4.77,-4.72,-4.62,-4.08,-3.94,-3.59,-3.27,-3.05,-2.57,-2.01,-1.62,-1.16,-0.75,-0.32,-0.04,0.51,0.73,0.83,0.75,0.58,0.81,1.43,2.08,2.38,2.39,2.41,1.95,2.17,1.96,1.58,-1.04,-0.23,5.67,4.09,1.76,0.59,-2.21,2.15,-0.54,1.8,-0.63,0.91,4.45,-2.06,3.06,5.07,3.87,6.92,5.83,-3.17,-1.95,-0.49,0.29,-2.96,-1.21,-4.61,-3.3,-3.03,-3.36,-3.76,-3.19,-2.59,-1.69,-0.73,-1.7,-0.71,-1.87,-0.8,-0.59,-0.55,0.91,1.71,1.6,2.2,2.94,2.65,1.66,2.18,1.32,2.46,4.44,4.99,4.21,5.01,5.97,6.6,7.23,8.14,8.65,8.63,8.81,9.26,9.41,9.17,9.4,9.6,9.27,8.85,8.58,8.45,8.85,9.36,9.17,8.66,8.1,7.56,6.26,3.4,3.11,1.24,0.55,-0.88,-1.22,-1.24,-1.23,-1.38,-2.11,-2.32,-2.92,-2.3,-1.43,-1.02,0.17,0.51,1.2,-0.49,-2.29,-4.89,-4.04,-1.03,1.44,2.17,-0.31,1.36,2.31,3.77,4.11,3,1.48,1.61,1.82,1.38,1.21,1.74,2.79,4.06,3.2,0.59,0.67,2.51,3.58,1.11,-1.39,-0.56,-6.02,-9.85,-9.74,-8.12,-5.76,-3.85,-2.44,0.64,1.23,1.17,0.1,0.2,1.82,1.44,-1.39,-0.42,-2.5,-1.32,-0.29,0.09,0.41,0.46,-1.44,-1.56,-2.28,1.23,4.32,3.16,0.87,-1.01,-0.26,-0.03,-0.24,0.87,0.45,-0.36,0.89,4.26,5.08,5.65,5.51,4.96,4.4,0.52,-1.42,-0.74,-1.67,-2.53,-2.44,-2.38,-0.59,1.98,4.69,4.51,2.71,0.88,0.54,-2.59,-2.3,-1.74,-0.47,-0.86,-2.77,-2.21,0.77,1.83,4.11,5.96,3.86,0.66,-2.4,-1.16,1.5,1.2,0.59,1.31,-0.74,-1.41,-0.79,-0.45,-0.65,2.73,-0.15,0.34,0.26,0.76,-0.02,-0.65,-3.37,-1.71,-0.19,-3.09,-0.78,4.25,6.52,7.97,8.47,6.1,0.71,-2.77,-1.36,-2.06,-0.78,-0.62,-1.3,-3.63,-1.74,-1.84,0.24,0.56,1.63,0.1,0.72,1.25,2.57,0.69,-0.92,0.4,0.18,-1.42,-1.48,-0.33,0.92,-0.04,-0.74,-1.29,-1.29,-0.94,0.04,0.93,-0.1,-0.01,-0.15,1.06,1.84,0.85,1.92,1.7,0.1,3.5,5.4,5.76,3.01,5.97,7.1,6.27,5.49,5.53,6.72,7.53,8.99,10.29,10.12,9.71,8.88,8.2,8.08,4.4,1.61,3.47,6.72,8.99,10,11.62,12.41,12.29,11.78,11.35,9.03,6.81,5.89,4.73,3.21,2.48,2.28,2.03,1.73,0.88,1.03,1.27,1.3,1.95,2.82,2.87,1.85,3.15,5.52,6.64,7.1,7.45,7.43,6.28,5.33,4,3.05,2.57,1.06,-0.17,-1.5,-3.28,-4.35,-5,-5.2,-4.9,-5.65,-5.89,-5.7,-5.92,-6.16,-6.13,-5.97,-5.54,-5.46,-5.04,-4.47,-3.95,-3.43,-2.89,-2.5,-2.11,-1.78,-1.58,-1.63,-1.66,-1.38,-0.88,0.02,0.67,1.25,1.59,2.14,1.93,1.6,1.65,1.27,0.62,1.2,0.26,2.35,5.34,3.51,2.55,-0.62,1.19,1.32,-0.69,2.73,6.01,9.52,7.09,4.26,6.64,8.64,7.57,8.02,3.14,-3.09,-3.91,-5.23,-2.3,-4,-6.55,-6,-1.06,2.47,0.56,0.02,-0.48,-0.96,-0.62,-0.14,-1.84,-1.88,-0.88,-0.16,1.53,1.26,1.17,1.46,2.23,1.83,0.94,1.48,1.73,3.9,2.62,4.63,5.96,4.25,4.92,6.14,6.89,7.5,7.84,7.6,7.58,7.91,7.99,8.01,7.97,7.84,7.76,7.48,7.28,7.15,7.22,7.75,8.27,8.2,7.81,7.34,6.78,5.75,3.37,1.86,0,-1.18,-2.19,-2.48,-2.61,-2.4,-2.41,-3.11,-3.1,-3.36,-2.81,-2.18,-0.91,0.75,2.59,3.32,2.49,1.76,0.14,-1.43,-0.49,0.87,2.95,3.95,2.38,3.2,4.05,3.79,3.57,2.67,2.22,2.77,2.42,2.02,2.09,2.86,3.4,3.39,0.65,1.13,0,0.68,-0.13,-2.5,-2.83,-1.79,-2.27,-1.29,-0.54,-0.65,-1.22,-0.58,-0.22,-0.4,0.56,0.02,0.62,1.22,0.01,-1.11,-0.99,-0.2,-1.41,-1.57,-0.5,0.42,1.05,-2.64,-5.29,-2.24,1.91,4.9,6.68,5.76,4.12,2.94,2.83,3.49,5.35,7.27,5.4,3.25,7.29,9.66,9.58,9.56,7.4,6.55,5.94,2.56,-0.48,-0.29,-1.15,-2.1,-2.41,2.54,0.1,-0.13,-0.37,0.51,-2.99,-1.62,-5.19,-4.3,-6.02,-1.83,-0.61,-2.44,-3.19,-1.85,0.34,1.4,-0.11,1.93,-1.34,-1.58,1.56,-0.02,0.75,-0.4,0.16,1.68,1.37,-2.4,-1.49,-0.94,-0.02,1.18,0.27,0.93,-0.77,-2.24,-2.58,-3.39,-3.58,-2.95,-2.27,-1.75,-1.35,-0.92,2,1.21,0.33,1.39,0.14,-1.55,-2.14,-1.76,-0.52,-0.64,-1.5,-3.41,-3.93,-2.13,-0.98,-1.2,-1.6,-1.54,-0.63,1.47,1.2,-1.09,-2.41,-1.19,0.15,-1.26,-1.1,-0.92,-1.15,-1.18,-1.56,-2.57,-1.39,-0.76,1.47,2.97,4.37,4.27,2.89,0.38,-0.5,0.94,0.47,0.83,0.32,-0.13,-1.24,1.35,3.79,6,7.27,5.86,6.1,7.52,9.4,10.26,10.25,10.43,9.6,8.06,6.98,6.25,7.28,7.61,5.88,5.48,7.01,8.78,9.73,10.21,10.26,9.84,8.79,6.86,5.98,5.74,5.05,3.93,3.04,2.23,1.28,-0.03,-0.93,-1,-0.76,-0.88,-0.45,0.33,2.22,4.78,6.02,6.38,5.57,5.08,5.37,5.41,4.73,3.97,3.34,2.93,2.2,0.37,-1.14,-2.57,-4.55,-5.11,-5.62,-5.44,-5.37,-6.29,-6.54,-6.68,-6.97,-7.34,-7.54,-7.6,-7.37,-6.94,-6.52,-6.15,-5.57,-5.07,-4.74,-4.37,-4.05,-3.75,-3.58,-3.35,-2.86,-2.18,-1.52,-0.72,-0.26,0.27,0.68,1.61,1.28,0.87,0.29,-0.09,0.15,1.08,0.97,-0.94,3.67,6.46,3.6,0.55,-1.56,2.08,-1.84,3.3,5.73,5.68,6.12,6.31,6.51,7.78,7.82,5.88,5.17,-3.89,-4.89,-6.42,-3.54,-2.96,-2.46,-1.94,-3.63,-0.64,1.36,0.65,0.14,0.68,2.39,2.2,1.63,-0.37,-0.35,0.55,1.46,0.99,1.6,1.71,1.35,1.02,1.25,0.68,2.99,4.7,5.62,7.22,6.51,5.44,5.31,5.55,5.94,6.68,6.85,6.69,6.74,6.89,6.86,6.88,6.74,6.57,6.39,6.22,6.26,6.18,6.29,6.42,6.94,7.21,6.96,6.47,6.1,5.1,2.86,0.88,-1.93,-2.86,-3.92,-3.76,-3.37,-3.32,-3.03,-3.12,-3.2,-3.74,-4.01,-3.42,-1.97,-0.74,0.29,1.62,3.34,2.76,3.05,0.23,0.93,0.73,2.27,3.65,4.57,4.05,4.13,4.42,4.5,3.68,3.08,2.82,2.83,3.03,2.56,3.03,4.16,5.75,4.28,3.32,5.73,3.57,2.27,-2.88,-1.39,1.28,-2.16,-3.01,-2.99,-0.06,-0.02,-2.69,-1.78,-2.08,-2.11,-0.88,-0.22,-1.69,-1.76,-1.42,-1.14,-0.77,-0.26,-1.47,-1.43,-0.15,0.42,-0.51,-1.16,-1.96,-0.46,1.67,5.75,7.49,7.1,6.66,6.01,3.78,2.07,0.54,2.76,2.81,4.41,4.2,5.51,7.05,5.11,5.54,5.85,4.55,2.7,-0.17,0.11,-0.01,-2.5,-1.73,-2.84,-4.66,-3.41,-4.79,-5.64,-4.72,-6.53,-4.23,-1.89,-3.08,-2.12,-4.1,0.03,-0.52,-0.57,-1.71,-0.84,0.94,2.8,0.49,0.32,-1.21,-2.36,-0.84,0,0.85,0.19,1.27,0.68,-1.65,-2.26,-3.78,-2.26,-0.96,-1.58,-2.76,-3.02,-4.71,-5.65,-5.89,-5.13,-3.24,-2.02,-1.81,-2.27,-1.15,-2.27,-3.19,-1.49,-0.7,-1.53,-1.22,-0.69,1.75,0.32,-2.36,-2.09,-2.53,-2.69,-4.3,-2.98,-1.82,-0.85,1.64,2.95,-0.43,-1.77,-1.9,-1.8,-2.4,-2.46,-2.16,-2.03,-1.73,-1.26,-0.76,-1.27,-1.08,1.48,3.82,4.11,2.16,0.05,-0.35,0.14,0.71,1,1.81,0.49,3.13,6.08,5.49,5,5.55,7.11,7.59,8.33,8.56,9.27,9.92,9.96,9.63,8.74,7.79,7.23,6.56,5.93,6.31,7.29,7.38,7.01,7.22,7.38,8.08,8.33,7.73,6.75,5.78,5.5,5.02,3.96,2.41,0.7,-0.65,-1.01,-0.57,-0.24,-0.84,-1.12,0.38,2.53,3.58,4.47,4.95,4.84,4.18,3.44,3.08,3.19,3.23,2.88,2.81,2.65,2.28,1.5,-0.11,-2.44,-4.12,-5.35,-5.62,-5.84,-6,-6.04,-6.27,-7.06,-7.13,-7.63,-8.19,-8.68,-8.81,-8.74,-8.44,-8.06,-7.71,-7.18,-6.74,-6.28,-6.02,-5.24,-4.21,-3.75,-3.71,-3.68,-3.14,-2.31,-1.53,-0.67,-0.06,0.12,0.74,0.4,-0.13,-0.54,-0.6,-0.38,0.28,0.17,-1.67,1.44,3.4,1.66,5.09,1.43,-0.19,0.17,2.69,4.76,4.09,5.95,5.89,7.31,8.12,7.39,7.35,9.49,-2.55,-5.6,-9.46,-8.24,-8.67,-7.1,-6.25,-3.82,0,1.41,1.15,0.38,0.2,-0.39,0.39,0.84,1.55,0.7,0.58,0.9,0.64,1.47,2.13,2.42,1.29,1.17,1.02,0.68,5.66,6.9,6.71,6.19,5.58,4.99,4.91,5.36,5.62,5.8,5.75,5.86,5.89,5.82,5.46,5.52,5.51,5.38,5.25,5.15,5.39,5.45,5.47,5.52,5.83,5.65,5.59,5.38,4.71,3.26,2.39,0.65,-2.17,-5.69,-5.12,-3.58,-2.82,-2.48,-1.64,-2.14,-3.74,-4.02,-2.73,-0.66,1.02,2.4,3.27,4.04,3.39,4.17,1.98,1.88,2.47,1.48,2.16,3.83,4.58,4.71,4.62,4.28,3.4,3.26,3.02,2.55,3.08,2.71,2.6,3.15,3.1,2.54,1.48,0.6,1.55,1.77,3.46,2.26,-0.21,-1.63,-2.04,-2.09,-3.06,-0.63,1.83,-3.39,-9.97,-6.03,-4.02,-3.5,-4.76,-3.68,-2.12,-0.84,-0.14,-0.06,-0.72,-1.54,-0.98,0.36,1.65,3.28,3.22,1.77,1.13,1.91,5.04,5.78,6.2,6.14,6.02,6.87,6.37,2.75,1.07,0.36,2.08,4.87,2.7,2.65,3.31,4.05,3.91,3.46,-0.17,0.55,-0.43,0.01,-1.13,-3.04,-3.15,-4.17,-5.68,-2.49,-3.41,-2.96,-4.11,-4.49,-3.64,-5.41,-2.37,-2.35,-0.75,-0.12,-0.5,-1.55,2.01,1.15,2.9,3.18,0.48,-4.11,-2.56,-1.28,-0.21,1.9,2.31,2.29,1.38,-0.5,-2.74,-3.03,0.16,2.53,1.03,-0.01,-1.07,-2.18,-3.34,-2.9,-2.76,-2.56,-1.41,-1.09,0.52,0.36,-1.89,-3.09,-1.91,-1.09,-1.43,-0.9,0.32,-0.81,-2.76,-1.45,-0.62,-0.1,0.05,0.28,-0.08,1.09,1.43,2.13,1.98,0.26,-1.61,-1.34,-1.69,-2.97,-3.47,-3.13,-2.44,-1.35,-0.09,0.03,1.42,1.53,1.8,-0.33,-0.62,-0.34,0.02,0.44,-0.26,0.23,5.11,7.96,8.73,6.82,5.44,5.04,5.95,7.04,7.21,7.8,8.44,8.68,8.61,8.51,8.41,8.08,7.52,7.17,6.94,6.15,5.37,5.92,6.64,6.42,5.98,5.88,6.43,6.08,5.5,5.38,4.73,4.36,3.22,0.44,-0.55,-0.68,-0.63,-0.08,0.19,0.42,0.54,1.07,1.46,3,4.37,3.98,3.76,3.75,3.58,2.27,1.5,1.87,1.99,1.68,1.36,1.14,0.73,0.26,-0.59,-2.87,-3.45,-2.06,-1.79,-3.29,-5.36,-6.13,-6.48,-7.48,-7.03,-7.49,-8.02,-8.6,-8.96,-8.99,-8.53,-8.16,-7.77,-7.12,-6.66,-6.4,-5.8,-5.67,-5.05,-4.65,-4.08,-3.19,-2.08,-1.53,-1.21,-1.1,-0.83,-0.34,-0.15,-0.26,-0.29,-0.35,-0.56,-0.12,0.12,0.08,-1.77,-1.5,-0.36,2.04,2.14,3.86,2.15,1,1.71,2.21,3.92,5.11,6.06,4.67,5.67,6.2,6.49,7.83,-3.26,-1.69,-3.46,-7.51,-5.5,-5.64,-5.54,-5.68,-3.42,-0.32,0.58,0.73,0.57,0.04,0.14,0.29,0.08,1.17,1.16,0.39,0.84,1.59,2.58,2.4,2.84,1.59,2.22,3.74,4.29,4.84,4.79,4.45,4.36,4.24,4.15,4.65,4.67,4.62,4.83,5.11,5.01,4.51,4.15,4.4,4.41,4.07,3.92,4.41,4.65,5.06,5.01,4.54,4.62,4.51,4.51,4.22,3.84,3.39,3.49,3.93,4.27,4.38,-1.11,-2.95,-1.51,-0.56,0.18,1.21,1.26,2.18,1.89,0.86,2.09,2.3,2.66,3.58,3.73,3.57,2.49,2.46,2.57,1.28,2.05,2.79,3.68,4.34,3.51,3.16,3.3,3.31,3.07,2.49,2.41,1.8,1.43,1.62,1.49,0.95,0.52,0.58,1.65,0.62,1.95,-0.14,0.63,3.36,3.27,1,-0.71,-2.99,-3.11,-1.03,-1.9,-2.83,-4.99,-1.17,-5.81,-5.69,-3.88,-2.79,-1.19,-0.87,-1.11,-1.87,-1.66,-0.38,2.34,3.77,3.85,3.21,1.78,1.38,2.16,3.7,4.74,4.98,5.19,5.12,4.02,1.61,2.78,5.71,3.2,1.03,1.14,0.92,1.92,2.79,2.78,3.95,4.99,-0.44,-0.38,-1.2,-1.37,-1.23,-2.21,0.18,-1.32,-2.32,-5.62,-4.36,-5.92,-6.17,-2.27,2.73,0.47,-0.69,-1.63,0.9,-2.44,-0.76,-1.7,-1.05,2.53,-1.28,-0.23,-1.13,-1.96,-2.88,-2.56,0.1,2.26,1.5,2.24,1.31,0.99,1.46,1.1,2.6,4.15,3.31,1.97,-0.25,-1.7,-1.94,0.35,-0.05,-0.8,-0.85,-0.43,1.1,-0.2,-1.92,-1.41,-1.39,-0.87,-0.49,-0.53,-0.81,-2.05,-2.84,-2.31,-1.16,-0.79,-0.71,-0.64,1.88,1.18,1.89,1.49,0.71,0.37,-0.68,-1.17,-3,-4.44,-4.7,-3.81,-2.54,-1.02,0.27,-0.27,-0.78,0.21,-0.47,-0.04,-1.19,-0.5,1.53,3.34,3.92,4.27,5.64,6.82,6.21,5.6,5.5,5.45,6.01,6.95,7.18,7.47,7.54,7.21,6.75,6.34,6.02,5.96,5.88,5.96,5.91,5.49,5.01,4.92,4.78,4.82,4.97,4.67,4.36,4.12,3.83,2.72,2.01,0.36,-0.99,-1.22,-1.37,-0.74,-0.99,-1.24,0.18,2.09,3.41,3.87,3.9,3.38,3.25,3.01,3.33,3.53,1.12,0.5,0.75,0.59,0.23,-0.23,-1.02,-1.57,-1.58,-1.44,-0.5,-0.36,-1.7,-2.57,-3.29,-4.85,-5.78,-7.17,-7.67,-7.42,-7.75,-8.03,-8.21,-8.5,-8.67,-8.29,-8.29,-8.44,-7.94,-7.04,-6.41,-5.63,-5.15,-4.38,-3.95,-3.54,-3.04,-2.39,-2.04,-2.56,-2.38,-1.46,-0.93,-0.57,-0.13,0.02,0.05,0.08,0.64,1.14,0.83,-1.33,-1.44,-0.93,0.75,0.93,2.86,-0.34,0.13,0.61,3.63,3.93,5.19,7.17,10.05,8.85,3.1,0.12,1.38,0.56,3.49,3.74,-2.34,-2.95,-3.28,-3.51,-4,-3.75,-1.9,-0.66,-0.63,0.42,1.21,-0.59,0.4,-0.26,0.3,1.01,1.61,0.93,2.47,1.53,1.61,1.15,3.7,2.43,1.91,2.6,2.77,3.02,3.51,3.63,3.51,3.76,3.52,3.26,3.73,3.69,3.2,2.9,2.68,2.81,3.28,3.68,4.05,3.89,3.57,3.79,3.94,4.11,3.96,3.77,3.63,3.41,3.01,3,3.15,3.79,4.51,5.08,4.94,5.39,1.16,-0.61,0.72,1.61,3.52,5.02,5.1,4.64,3.69,2.81,2.16,2.38,3.4,4.11,3.22,3.21,3.5,3.67,3.19,1.94,2.94,3.79,3.99,3.76,2.71,1.58,1.8,2.01,1.4,0.97,0.32,-0.03,-0.29,-0.22,-0.39,0.87,1.9,-1.22,-0.79,-1.3,0.03,-1.29,-0.92,-0.46,3.09,2.14,-3.54,-4.23,-4.25,-4.09,-3.92,-5.82,-1.62,-2.38,-2.73,-4.21,-3.8,-4.26,-3.19,-2.42,-2.32,-1.42,-0.74,-1.36,-0.99,0.97,1.72,1.96,2.09,2.08,1.86,2.28,3.12,3.41,3.02,1.73,1.03,1.85,2.93,2.1,1.3,1.23,0.01,0.38,0.76,2.49,3.05,5.23,7.24,4.82,0.16,-1.17,-1.17,-1.01,-5.51,0.02,-0.37,-3.23,-2.28,-3.37,-10.92,-2.83,5.73,4.8,2.55,-0.21,-2.34,-1.68,-6.11,-2.21,-0.76,-0.43,-2.61,-2.08,-0.89,-0.54,-1.89,-1.65,-1.28,0.84,1.02,1.3,1.15,1.02,1.28,1.57,1.87,2.13,3.5,5.12,1.22,-1.27,-0.97,-2.66,-1.8,-1.5,0.39,1.35,-0.71,0.15,-0.43,-1.57,-0.88,-0.81,-0.98,-0.59,-2.3,-3.15,-2.3,-1.06,0.48,0.86,0.74,1.09,0.64,2.14,2.03,-0.79,-0.15,1.11,-0.42,-1.09,-1.48,-3.82,-5.23,-5.41,-4.31,-3.08,-2.71,-3.28,-3.84,-1.94,-0.59,-0.13,0.66,1.63,2.16,2.75,3.54,4.26,4.66,5.41,5.47,5.54,5.59,5.76,5.79,6.09,6.33,5.97,5.39,4.85,4.46,4.13,3.93,3.99,4.13,4.22,4.41,4.52,4.56,4.4,4.35,4.14,3.74,3.18,2.62,2.38,1.42,-0.12,-0.85,-0.3,1.23,1.19,0.01,0.58,1.63,2.78,2.06,1.75,2.36,2.68,2.45,2.32,2.16,1.94,1.9,2.49,-0.13,-0.39,-0.61,-0.76,-0.93,-1.33,-1.31,-0.75,-1.74,-2.36,-1.96,-1.67,-2.41,-3.44,-4.15,-5.22,-6.41,-6.76,-6.38,-7,-8.08,-8.23,-7.41,-7.1,-6.37,-5.66,-5.22,-5.18,-5.64,-6.44,-6.54,-5.69,-4.98,-4.41,-4.14,-4.12,-4.13,-4.13,-4.3,-3.39,-2.39,-2.01,-1.31,-0.49,-0.12,0.19,0.46,1.03,1.75,2.08,2.17,1.53,0.4,0.28,0.3,0.15,1.49,1.53,-4.76,-1.48,1.68,4.97,5.32,7.44,8.45,9.21,9.9,8.85,7.85,7.23,6.15,1.75,-1.66,-2.87,-1.58,-1.85,-2.24,-1.7,-1.07,-0.66,-0.25,0.86,1.16,0.04,0.18,0.55,0.68,-0.2,1.01,2.38,2.37,0.56,-0.68,1.17,0.93,0.77,0.41,0.62,1.59,2.26,3.07,3.4,3.21,2.81,2.29,2.1,2.21,2.05,1.39,1.24,1.16,1.85,2.37,2.44,2.41,2.22,2.13,2.19,2.62,2.88,2.88,2.6,2.37,2.58,2.28,2.39,2.66,3.27,4.18,4.83,5.04,4.45,4.88,2.44,0.9,1.86,3,4.38,5.1,5.1,4.56,3.04,2.23,2.46,2.71,3.02,1.99,2.26,2.68,3.19,4.04,4.39,2.96,2.76,2.66,2.69,2.74,3.51,2.17,0.58,0.12,-0.25,-0.7,-1.86,-1.07,-0.23,1.27,-0.52,-0.77,-0.39,-1.2,-2.42,-1.26,-2.91,-3.01,-2.35,-0.15,2.46,-0.41,-4.08,-3.89,-4.06,-3.18,-2.53,-0.5,0.69,-2.24,-1.21,-3.19,-3.87,-3.64,-3.22,-2.03,-0.44,-1.15,-4.02,-3.28,-2.97,-2.97,-1.49,-0.17,0.82,0.75,0.14,0.51,0.92,0.34,0.03,1.44,2.02,2.65,3.32,0.93,1.9,1.96,-0.33,-1.01,1.19,3.43,3.56,4.62,6.08,2.94,-0.08,-0.5,0.01,2.06,-2.19,1.08,-1.68,-1.07,1.96,-6.85,-4.28,3.39,3.76,2.22,-0.07,2.06,0.96,0.03,2.14,-0.25,-1.11,-5,-4.91,-2.52,-1.65,-1.33,-0.72,-1.82,-0.82,-0.51,0.03,-0.26,0.36,0.76,2.24,2.05,1.71,2.5,2.23,1.53,1.14,-1.07,-0.78,-0.69,0.63,0.08,0.36,1.36,0.52,0.06,-0.5,-0.82,-0.59,-0.87,-0.86,-2.87,-2.96,-2.83,-2.92,-2.64,-0.09,1.84,1.41,1.51,1.3,-1.37,0.28,1.48,0.58,-0.44,-0.61,-0.36,-2.29,-2.24,-2.75,-3.72,-4.22,-3.42,-2.76,-3.41,-2.5,-0.41,1.7,3.81,4.07,3.46,2.67,2.59,2.78,3.13,4.1,4.52,4.65,4.63,4.64,4.83,4.85,4.46,4.06,3.64,3.34,3.11,2.95,2.96,2.94,2.8,2.7,2.67,2.86,2.79,2.66,2.49,2.23,1.59,0.87,0.71,0.37,-0.99,-2.36,-0.51,0.97,-0.14,0.23,0.31,1.21,1.82,1.78,0.8,0.8,0.99,1.09,1.18,1.13,0.92,0.37,-0.07,0.33,-1.66,-1.6,-2.06,-2.17,-2.15,-2.03,-1.87,-2.46,-2.71,-2.88,-2.89,-3.18,-3.41,-3.36,-4.53,-5.24,-6.15,-6.78,-7.2,-6.91,-6.34,-6.37,-6.53,-6.66,-6.5,-6.69,-6.59,-6.46,-6.87,-7.13,-6.95,-6.4,-5.58,-4.89,-4.87,-4.94,-5.08,-4.78,-3.99,-3.07,-2.33,-1.86,-1.18,-0.55,-0.11,0.36,1.07,1.71,2.18,2.48,2.78,2.79,2.14,1.28,1.49,0.42,1.45,3.46,-2.84,-2.72,1.9,5.93,5.79,7.6,7.8,7.95,7.77,7.5,7.46,6.55,0.48,-4.91,-1.58,-2.95,-2.37,-2.6,-2.09,-0.32,-0.96,0.19,0.84,0.66,0.68,0.92,0.41,0.61,1.31,0.57,1.05,0.36,1.27,-0.57,-1.81,-1.17,-0.67,-1.01,-0.69,-0.09,0.66,1.7,2.18,2.2,2.16,1.67,0.92,0.73,0.82,0.3,0.31,0.09,0.05,0.08,0.4,0.84,0.26,0.13,-0.03,0.13,0.51,1.02,1.16,1,0.8,1.18,1.67,1.84,1.88,2.44,2.98,3.47,3.57,3.63,3.49,4.18,3.38,1.89,2.46,3.81,4.9,5.02,4.36,3.88,3.86,3.28,2.16,1.45,1.16,1.67,1.94,2.14,1.9,1.72,1.2,0.86,0.66,0.18,0.72,0.93,0.66,0.4,-0.24,-0.54,-0.54,-0.28,-1.18,0.64,0.3,0.11,1.7,1.13,2.53,-0.78,-0.94,-2.11,-4.67,-3.71,-2.29,-0.82,0.61,0.95,-1.92,-2.2,-1.09,0.52,2.75,0.26,-2.58,-3.19,-3.12,-3.61,-3.32,-3.14,-0.81,0.38,1.55,-2.11,-5.22,-4.54,-4.94,-3.43,-2.06,-2.36,-2.18,-2.13,-1.23,-0.33,0.01,0.03,-0.27,0.9,-0.12,2.07,0.7,-1.27,-0.33,1.07,-0.64,-0.53,1.99,3.19,4.05,4.95,3.43,-1.02,-0.24,0.08,0.44,2.22,0.56,1.66,-2.05,0.45,-5.67,-5.68,3.7,4.74,2.83,3.26,2.94,0.81,0.68,0.99,0.49,2.47,1.68,2.24,1.87,0.08,-1.28,0.58,1.1,-0.55,-1.04,-0.13,-0.56,-0.12,1.14,0.26,1.46,0.65,1.48,-0.34,-0.2,0.82,0.06,-1.16,-0.41,-1.13,-0.64,0.99,0.96,1.34,0.79,1.11,-0.67,-0.87,0.38,1.27,-1.7,-2.9,-2.36,-2.14,-1.26,0.36,2.44,1.2,2.26,0.48,-1.55,-0.65,-0.4,0.15,0.74,0.89,0.76,0.15,1.16,1.45,1.63,2.76,2.58,1.27,2.31,1.39,2.76,4.47,4.46,4.49,3.86,3.66,3.77,3.55,3.41,3.19,3.23,3.04,3.18,3.58,3.52,3.25,3,2.67,2.45,2.26,1.96,1.67,1.52,1.49,1.27,0.76,0.47,0.51,0.26,-0.12,-0.39,-0.51,-0.61,-0.79,-0.41,-0.65,-1.43,-0.15,0.94,-0.02,0.57,0.45,0.54,0.92,0.43,-0.01,-0.57,-0.47,-0.34,-0.02,0.02,-0.36,-0.6,-1.04,-1.42,-1.57,-2.71,-2.82,-3.2,-3.29,-3.29,-2.81,-2.77,-3.37,-3.63,-3.83,-4.12,-4.46,-4.82,-5.19,-5.59,-6.15,-6.58,-6.79,-6.73,-7.13,-7.52,-7.9,-7.85,-7.5,-6.96,-6.47,-6.85,-7.27,-7.25,-7.34,-7.47,-7.29,-6.71,-6.13,-5.67,-5.45,-4.99,-4.62,-3.61,-2.94,-2.04,-1.79,-1.36,-0.64,-0.08,0.56,1.07,1.65,1.91,2.35,2.71,2.73,2.26,1.9,1.6,1.27,2.12,3.41,6.12,-1.66,-1.52,3.39,3.69,5.27,5.53,6.83,5.84,4.58,3.6,2.67,-6.21,-7.94,-5.24,-4.77,-3.52,-3.49,-2.62,-1.3,-1.34,-0.25,0.53,0.02,0.92,1.72,1.38,2.5,2.91,3.94,1.02,2.41,0.02,-1.23,-1.96,-2.44,-2.41,-2.04,-1.28,-0.71,-0.08,0.02,0.36,0.47,0.18,0.34,-0.24,-0.62,-0.87,-1.69,-1.69,-1.87,-1.89,-1.64,-1.4,-1.69,-1.62,-2.11,-2.24,-1.86,-2.05,-1.64,-1.24,-1.34,-1.32,-0.59,0.43,1.45,1.96,2.14,2.3,2.38,2.45,2.49,2.46,3.02,3.72,3.86,4.45,4.79,4.78,4.62,4.48,4.19,4.07,2.89,1.39,0.84,0.37,0.52,0.47,0.24,-0.06,-0.34,-0.67,-1.18,-0.74,0.64,-0.78,-0.72,-0.62,-0.77,-0.87,-0.73,0.14,1.41,1.6,1.46,1.46,2.49,2.83,3.25,2.98,2.14,1.35,1.09,-4.01,-4.31,-3.75,-3.18,-2.27,-1.13,-0.24,-0.01,1.55,0,-0.53,-1.76,-2.89,-3.7,-3.89,-3.84,-2.84,-3.38,-2,-0.42,1.4,2.39,-2.06,-5.14,-5.02,-6.23,-3.77,-3.95,-3.22,-2.61,-1.25,0.05,1.46,-0.23,0.29,-1.05,-4.08,-0.57,-0.99,-2.23,-1.45,0.11,-0.07,-0.05,0.43,1.96,3.29,5.4,5.01,1.8,1.09,-0.15,0.62,0.76,1.39,1.1,0.89,1.01,3.22,-6.76,0.35,4.81,4.24,0.79,0.86,-0.09,2.21,-2.66,-1.42,2.85,4.01,5.51,6.26,4.04,1.3,2.72,2.87,2.29,-0.02,-0.13,-0.07,-1.1,-0.96,-0.58,-0.45,1.25,0.89,-0.31,-1.65,1.17,-0.69,-1.7,-0.56,0.19,-0.73,-0.49,0.79,1.37,0.38,1.21,-0.12,0.02,-0.5,0.65,0.57,-1.92,-2.26,-1.7,-1.48,-0.11,1.5,0.57,0.57,-0.41,-0.01,0.8,-0.39,-0.08,0.61,0.73,0.36,1.84,2.85,2.05,1.76,2.29,3.61,2.92,3.93,4.45,3.8,3.11,2.91,4.13,4.57,2.83,1.97,1.08,0.54,0.79,1.27,1.72,1.96,1.56,0.96,0.92,0.75,0.79,0.55,0.11,-0.07,-0.35,-0.26,-0.64,-1.22,-1.62,-1.74,-2.09,-2.48,-2.63,-2.54,-2.4,-2.1,-1.56,-1.13,-1.19,-0.92,0.65,0.48,0.15,0.39,0.18,0.07,-0.3,-0.56,-0.98,-0.92,-1.4,-1.22,-1.23,-1.65,-1.91,-1.89,-2.1,-2.4,-2.82,-3.43,-3.52,-3.61,-3.88,-3.75,-3.75,-3.94,-4.3,-4.88,-5.06,-5.43,-5.75,-6.02,-6.24,-6.66,-6.94,-7.27,-7.61,-7.98,-8.45,-8.75,-8.68,-8.53,-8.24,-7.73,-7.34,-6.78,-6.71,-6.53,-6.88,-7.69,-7.89,-7.41,-6.86,-6.11,-5.59,-4.92,-4.57,-4.05,-3.27,-2.06,-1.54,-1.23,-0.8,-0.3,0.29,0.78,1.38,1.63,1.76,1.92,2.05,1.44,1.52,1.31,1.31,1.66,2.97,4.39,4.09,-3.76,0.93,4.09,3.33,3.28,4.84,2,0.67,-0.17,-2.56,-5.93,-5.6,-6.81,-6.41,-5.77,-4.54,-3.88,-3.39,-3.16,-2.42,-1.34,-0.95,-0.52,-0.02,0.37,0.16,0.92,0.92,1.72,2.57,-0.44,-0.6,-1.28,-4.28,-3.8,-3.02,-2.11,-1.28,-1.29,-0.92,-0.81,-0.87,-1.51,-0.94,-1.76,-1.73,-2.44,-3.21,-2.97,-3.08,-2.82,-2.99,-2.99,-3.08,-3.3,-3.5,-3.59,-3.54,-4.06,-3.79,-3.71,-3.57,-3.33,-2.76,-1.82,-0.75,0.25,1.03,1.73,2.26,1.98,2.26,2.11,2.33,2.46,2.8,3.47,4.14,4.61,4.2,3.75,3.34,2.79,1.21,0.23,0.08,-0.35,-0.6,-1.13,-1.38,-1.62,-1.91,-2.14,-1.57,-0.47,-1.93,-2.66,-2.03,-1.94,-1.89,-1.74,-1.52,-1.15,1.71,3.88,5.14,3.99,4.37,3.23,3.41,2.79,2.27,2.71,1.07,-3.49,-5.71,-5.56,-4.65,-3.57,-2.82,-2.83,-2.85,-2.69,-2.26,-2.11,-2.82,-4.4,-3.7,-3.29,-5.15,-4.2,-2.95,-2.33,-2.74,-0.65,-0.4,-2.39,-2.7,-1.89,-2.18,-2.32,-4.5,-3.11,-2.5,-1.46,1.49,3.29,3.55,2.72,-2.33,-1.95,-2.88,-4.85,-4.04,-2.3,-2.04,-1.68,-0.14,-0.22,1.18,2.56,4.82,4.77,4.31,3.69,1.37,1.44,1.33,1.61,1.61,1.66,3.57,1.72,-2.83,-2.7,2.05,5.79,3.69,0.33,-0.02,1.91,-2.49,-0.96,2.28,2.3,4.36,5.93,4.73,1.24,2.88,3.26,3.04,1.18,-0.23,-0.58,-0.56,-0.37,0.13,-0.99,0.01,-0.58,-0.48,-0.23,0.01,0.71,0.95,-0.07,-0.29,-0.35,-0.61,0.17,0.63,0.87,1.21,-0.11,-0.39,-0.6,-0.39,-1.46,-2.32,-0.98,-1.2,-0.31,-0.34,-0.62,0.46,-0.17,-1.36,-0.01,-0.55,-0.05,-0.23,0.54,0.26,0.84,2.89,2.4,2.61,2.9,3.23,3.79,4.06,3.55,3.54,2.06,1.29,1.3,1.76,1.97,0.53,-1.02,-1.9,-1.94,-1.42,-1.18,-0.66,-0.18,-0.4,-0.69,-0.99,-1.1,-1.01,-1.4,-1.71,-2.02,-2.17,-2.58,-3.08,-3.35,-3.76,-4.15,-4.15,-3.94,-3.7,-3.61,-3.38,-3.19,-2.87,-2.19,-1.74,-0.6,-0.65,-0.48,0.05,-0.51,-1.04,-1.46,-1.38,-1.2,-1.52,-2.03,-2.23,-2.31,-2.41,-2.59,-3.1,-3.65,-3.77,-3.57,-4.03,-4.23,-4.08,-4.13,-4.6,-4.73,-4.93,-5.56,-6,-6.17,-6.2,-6.31,-6.61,-7.2,-7.11,-7.3,-7.64,-7.98,-8.1,-8.39,-8.96,-8.82,-8.68,-8.55,-8.52,-8.39,-8.05,-7.37,-7.24,-7.18,-7.34,-7.52,-7.41,-6.88,-6.47,-5.91,-5.73,-5.36,-4.87,-4.45,-3.62,-2.64,-2.16,-1.57,-0.95,-0.84,-0.4,0.14,0.75,1.01,1.05,1.1,1.02,0.64,0.6,0.47,0.17,0.68,1.93,3.14,5.34,3.02,-4.13,0.71,4.43,4.22,2.9,2.28,-2.43,-2.05,-3.55,-7.29,-8.51,-8.31,-6.74,-6.75,-5.52,-5.82,-5.55,-4.23,-3.91,-3.3,-2.76,-2.18,-1.42,-1.14,-1.64,-1.12,-0.58,-0.03,-1.35,-5.15,-0.57,-0.88,-4.3,-4.47,-4,-3.46,-2.63,-1.84,-1.35,-1.3,-2.58,-2.56,-2.49,-2.65,-3.65,-3.62,-3.59,-3.68,-3.34,-3.4,-3.51,-3.92,-4.41,-4.4,-4.32,-4.6,-4.76,-4.58,-5.27,-4.82,-4.86,-4.48,-4.01,-3.68,-3.11,-2.48,-1.79,-0.99,0.29,1.15,1.93,1.88,2.1,2.65,2.91,3.4,3.55,3.41,2.85,2.39,1.71,1.33,0.17,-0.77,-0.48,-0.77,-1.39,-2.04,-2.37,-2.47,-2.23,-1.38,-0.4,-0.69,-1.52,-1.71,-2.96,-2.11,-3.44,-3.2,-1.88,0.55,4.56,6.8,5.98,5.08,5.16,4.02,4.45,2.64,2.33,3.14,1.66,-2.28,-5.41,-6.76,-6.22,-5.54,-3.58,-2.71,-2.18,-2.68,-3.44,-2.98,-2.89,-4.02,-3.39,-3.39,-3.6,-5.15,-3.74,-3.98,-4.11,-3.76,-3.83,-3.83,-4.46,-2.65,-3.27,-2.93,-3.05,-4.19,-1.95,-0.88,0.86,1.43,7.24,8.73,4.63,-1.08,-0.57,-3.64,-3.38,-3.79,-2.69,-2.24,-1.06,-0.51,0.9,2.66,4.46,4.37,3.76,4.84,5.78,4.2,2.29,2.79,0.78,1.11,4.1,1.06,2.17,1.26,1.29,1,0.28,0.58,1.6,3,-2.44,0.55,2.4,2.2,4.24,5.4,3.47,2.62,2.95,2.86,3.13,2.13,2.09,2.56,-1.39,-2.41,-3.06,-2.74,-2.39,-1.73,-1.79,-0.89,-0.29,-0.59,-1.72,-0.58,0.08,0.17,-0.11,-0.04,-0.03,1.35,1.45,0.22,-0.59,-0.9,-0.9,-1.38,-1.47,-0.72,-1.14,-0.61,-0.64,-0.9,-0.86,-0.21,-1.34,-0.4,-0.26,-0.19,0.21,0.38,0.64,3.89,3.15,3.05,3.36,3.01,3.59,3.76,2.54,2.29,2.1,1.13,0.48,-0.02,-0.61,-1.32,-2.51,-3.34,-2.63,-2.32,-1.5,-1.03,-1.52,-1.53,-1.99,-2.55,-2.77,-2.95,-3.16,-3.39,-3.81,-3.84,-4,-4.47,-4.83,-5.07,-5.42,-5.43,-5.12,-4.58,-4.16,-4.1,-4.01,-3.92,-3.69,-3.18,-2.94,-2.09,-0.51,-0.66,-1.08,-1.04,-2.19,-2.76,-2.72,-2.92,-3.28,-3.29,-3.21,-3.46,-3.74,-3.94,-4.36,-4.38,-4.66,-4.52,-5.06,-5.07,-5.04,-5.12,-5.5,-5.69,-6.45,-7.03,-7.33,-7.46,-7.64,-7.72,-7.39,-7.53,-7.63,-7.93,-8.19,-8.64,-8.64,-8.68,-8.83,-8.6,-8.41,-8.41,-8.44,-8.66,-8.37,-7.83,-7.01,-7.3,-7.56,-7.31,-7.42,-7.11,-6.64,-6,-5.63,-5.36,-4.94,-4.52,-3.95,-3.36,-2.67,-2.68,-2.06,-1.47,-0.9,-0.51,-0.09,0.05,0.25,0.26,0.02,-0.37,-0.62,-0.89,-0.36,0.75,1.83,4.46,5.48,4.7,-4.17,-2.5,2.41,4.77,2.23,4.07,-3.38,-3.79,-4.37,-7.8,-7.02,-6.64,-7.87,-7.03,-6.54,-6.16,-5.92,-5.55,-5.82,-5.04,-4.49,-3.91,-3.07,-2.53,-2.22,-1.42,-1.5,-2.1,-3.72,-6.08,-2.34,0.14,-2.9,-4.46,-4.63,-4.83,-3.05,-2.41,-2.48,-3.71,-3.69,-3.35,-3.84,-3.19,-4.03,-4.01,-3.88,-4.13,-3.72,-4.29,-4.39,-5.04,-5.45,-4.92,-5.64,-6.03,-6.51,-5.97,-5.67,-5.38,-5.13,-5.16,-5.25,-4.92,-4.64,-4.31,-3.59,-2.85,-2.12,-1.37,-0.16,0.77,1.37,1.77,1.55,1.86,2.13,2.19,1.71,1.24,0.87,0.98,-0.03,-0.76,-1.06,-1.24,-1.63,-2.41,-2.5,-2.21,-1.69,-0.86,-0.91,-1.27,-0.24,-0.75,-2.54,-3.56,-3.74,-2.73,-1.25,2.17,3.35,4.73,5.72,4.55,4.48,3.22,3.34,2.46,2.37,2.96,2.6,-0.07,-4.27,-8.48,-7.77,-5.33,-5.57,-4.36,-3.38,-3.74,-4.69,-4.19,-3.18,-2.63,-1.73,-2.25,-1.37,-6.53,-5.7,-5.4,-6.02,-6.15,-6,-5.14,-5.46,-3.5,-4.31,-2.98,-3.44,-3.96,-2.09,-1.1,1.03,3.91,1.32,6.54,7.11,1.77,1,-1.89,-5.59,-3.42,-3.05,-2.7,-2.61,-0.68,1.15,2.96,4.14,4.89,3.89,4.56,5.19,5.61,7.66,7.76,3.32,-1.96,0.54,-2.73,-0.04,0.12,-0.81,-1.15,-0.57,0.43,0.41,2.57,3.5,3.47,3.86,3.67,4.03,4.68,6.47,5.13,2.93,4.77,4.97,6.76,5.94,4.15,3.69,4.56,4.19,-1.45,-4.17,-4.65,-4.07,-2.01,-1.08,0.2,-0.05,-0.41,-0.09,-0.03,-0.25,-0.53,-0.45,1.44,2.01,0.52,-0.19,-1.19,-1.56,-1.78,-1.82,-2.11,-1,-0.89,-1.35,-0.01,-1.07,-1.23,-0.55,-0.39,-0.75,-0.59,0.15,0.67,3.58,4.42,2.58,2.59,2.58,2.38,2.59,2.12,1.2,1.33,0.4,-0.62,-1.41,-2.26,-2.86,-3.68,-2.88,-0.98,-1.06,-1.72,-1.63,-1.83,-2.31,-2.39,-3.49,-3.97,-4.13,-4.56,-4.95,-5.15,-5.43,-5.4,-5.38,-5.81,-6.4,-6.35,-6.1,-5.76,-5.6,-5.24,-4.9,-5.1,-5,-4.67,-4.11,-3.17,-2.02,-2.11,-2.41,-2.29,-2.14,-3.1,-3.36,-3.76,-3.65,-3.77,-4.17,-4.54,-4.71,-4.69,-5.34,-5.37,-6.22,-6.07,-5.94,-6.14,-6.16,-6.16,-5.96,-6.44,-6.45,-6.75,-7.13,-7.47,-7.91,-8.14,-7.72,-7.91,-8.14,-8.2,-8.09,-8.34,-8.52,-8.22,-8.58,-8.53,-8.52,-8.37,-8.3,-8.16,-8.26,-8.11,-8.13,-7.9,-7.26,-7.06,-7.05,-7.18,-7.27,-6.98,-6.74,-6.36,-5.77,-5.41,-4.89,-4.45,-4,-3.56,-3.17,-2.72,-2.3,-1.92,-1.76,-1.56,-1.25,-0.83,-0.65,-0.76,-1.1,-1.38,-1.36,-1.18,-0.69,-0.66,0.21,2.17,4.05,5.5,4.93,-3.47,0.33,4.73,4.35,1.24,-0.21,-5.24,-4.34,-7.37,-8.68,-7.78,-6.48,-7.97,-5.31,-4.85,-5.48,-6.08,-5.98,-5.85,-5.53,-5.46,-4.57,-3.76,-2.98,-2.33,-2.48,-2.74,-2.72,-3.89,-1.05,2.9,-2.6,-4.75,-5.32,-4.27,-3.32,-3.61,-4.74,-4.83,-4.65,-4.44,-4.34,-4.1,-4.1,-4.18,-3.8,-4.15,-4.5,-4.72,-5.52,-5.52,-5.72,-5.94,-6.04,-6.27,-5.99,-6.71,-6.73,-6.39,-5.88,-5.45,-5.38,-5.21,-5.08,-5.09,-4.89,-4.43,-3.74,-3.13,-2.46,-1.75,-1.05,-0.64,-0.5,-0.2,0.19,0.44,0.42,-0.43,-0.24,0.16,-0.05,-0.98,-1.17,-1.35,-1.39,-1.73,-1.52,-1.47,-1.5,-1.81,-2.31,-2.17,-2.06,-2.08,-3.26,-3.98,-2.38,-2.75,-1.87,1.58,3.72,4.06,3.54,2.96,3.51,4.01,3.32,3.15,1.98,1.91,1.38,0.87,0.78,-5.87,-9.64,-6.46,-6.02,-6.41,-4.84,-5.95,-3.25,-5.7,-3.17,-2.06,-2.17,-1.45,0.63,-1.22,-4.27,-5.89,-4.72,-4.41,-4.45,-4.59,-4.89,-4.05,-4,-2.83,-2.62,-2.93,-2.02,-2.13,1.12,3.27,2.44,3.77,5.54,3.84,0.04,0.46,-3.53,-5.17,-4.17,-4.13,-2.41,-1.21,-0.07,1.8,3.05,3.13,4.01,3.46,4.52,4.76,5.51,2.72,3.05,3.27,5.34,2,1.34,1.23,-0.74,-0.31,1.08,3.22,5.52,5.85,6.05,5.09,5.58,5.17,5.2,4.23,3.69,4.82,4.79,4.17,4.86,6.39,4.92,3.37,3.65,5.05,5.06,3.45,0.23,-0.64,-2,-1.59,-2.82,-2.9,-1.5,-0.47,0.57,0.26,-0.19,0.08,1.55,1.04,1.55,1.36,-0.67,-0.92,-1.98,-2.47,-1.27,-1.94,-2.08,-1.44,-2.15,-1.48,-1.77,-1.65,-0.78,-1.22,-1.4,-1.09,0.1,2.13,3,2.98,-0.02,1.57,1.44,1.46,0.79,0.63,-0.15,-0.97,-1.94,-2.81,-3.56,-4.65,-4.15,-2.98,-2.8,-3.07,-3.08,-3.14,-3.06,-2.45,-2.74,-3.42,-4.78,-4.87,-5.35,-5.84,-6.2,-6.61,-7.03,-7.11,-7.05,-6.93,-7.17,-7.23,-6.74,-6.67,-6.67,-6.24,-5.94,-5.03,-3.57,-3.08,-3.3,-3.57,-3.73,-3.76,-3.68,-3.48,-3.61,-4.08,-4.3,-4.39,-4.67,-4.78,-5.37,-5.81,-5.93,-5.94,-6.18,-6.51,-6.7,-6.62,-6.65,-7.02,-6.95,-6.83,-6.81,-6.63,-7.09,-7.53,-7.89,-7.83,-8.06,-8.39,-8.47,-8.54,-8.8,-8.65,-8.35,-8.17,-8.13,-8.4,-8.49,-8.42,-8.4,-8.29,-8.51,-8.44,-8.54,-8.31,-8.09,-7.74,-7.5,-7.29,-6.79,-6.89,-7.22,-7.11,-7.33,-6.7,-6.39,-5.95,-5.51,-4.93,-4.56,-4.11,-3.69,-3.33,-3.12,-2.93,-2.84,-2.46,-2.14,-1.57,-1.56,-1.6,-1.66,-1.74,-1.53,-1.3,-1.83,-1.48,-0.76,0.03,1.77,3.64,5.58,3.85,-2.23,2.08,4.42,3.6,1.68,-1.96,-5.17,-3.05,-4.36,-3.63,-4.21,-6.02,-5.49,-6,-5.97,-6.64,-6.43,-6.27,-6.18,-6.19,-5.76,-5.1,-4.22,-2.93,-3.18,-3.82,-3.75,-2.23,-0.42,-0.56,-4.94,-4.89,-5.45,-4.03,-4.84,-5.64,-5.69,-5.78,-5.47,-5.25,-5.17,-4.64,-4.19,-4.15,-4.54,-4.98,-5.35,-5.72,-6.14,-6.17,-6.49,-6.61,-6.77,-7.58,-7.59,-7.66,-7.58,-7.33,-6.94,-6.69,-6.49,-6.41,-6.08,-5.63,-5.37,-5.17,-4.75,-4.32,-3.82,-3.45,-2.99,-2.68,-2.22,-1.81,-1.35,-1.32,-1.1,-1.98,-1.86,-1.52,-1.62,-1.63,-1.57,-1.71,-1.61,-1.22,-1.12,-1.44,-2.59,-2.92,-2.83,-2.68,-2.82,-3.26,-3.49,-3.44,-2.41,-0.93,-1.56,-0.64,1.18,2.45,2.9,2.62,2.97,2.8,2.85,2.9,2.11,1.52,1.67,-0.31,2.85,2.97,-0.94,-3.21,-5.05,-4.51,-6.59,-4.11,-5.44,-3.49,-4.81,-3.27,-3.76,-2.59,-0.03,2.19,4.28,2.05,0.83,0.91,0.46,-4.27,-4.82,-5.4,-4.31,-3.23,-2.28,-3.09,-1.97,-1.88,0.84,1.93,3.51,-0.29,5.45,6.37,5.15,-0.16,1.09,-1.85,-4.74,-4.87,-2.81,-0.95,-1.12,0.48,0.87,1.16,1.35,1.76,2.32,2.9,3.56,1.4,0.89,1.39,2.76,2.15,2.46,3.62,4.55,5.11,5.73,6.22,6.76,6.66,6.53,7.62,7.61,7.24,5.05,5.55,3.29,4.68,4.4,3.9,3.73,4.23,3.01,3.32,2.77,3,2.65,2.44,3.15,0.19,-1.13,-1.15,-0.22,-1.61,-0.39,-0.09,0.5,-0.61,0.93,0.44,1.01,1.08,1.42,1.14,-0.05,-0.22,-0.92,-1.6,-1.82,-2.08,-2.67,-2.32,-2.64,-2.31,-2.16,-2.45,-2.15,-1.44,-1.75,-1.24,0.03,0.8,1.51,0.88,1.37,0.13,0.32,-0.24,-1,-1.51,-2.36,-2.99,-3.62,-4.59,-5.41,-5.06,-4.78,-4.48,-3.99,-4.02,-3.29,-4.41,-4.07,-3.23,-3.15,-3.87,-5.57,-5.84,-6.41,-6.87,-7.48,-8.19,-8.65,-8.78,-8.73,-8.62,-8.29,-7.92,-7.43,-6.32,-5.92,-5.31,-4.82,-4.56,-4.62,-4.66,-4.52,-4.64,-4.36,-3.92,-3.68,-4.05,-4.4,-3.59,-5.03,-5.27,-5.67,-6.07,-6.2,-6.44,-6.64,-6.65,-6.89,-7.54,-7.6,-7.4,-7.41,-7.55,-7.46,-7.11,-7.07,-7.29,-7.56,-7.71,-7.94,-8.29,-8.7,-8.82,-9.17,-8.96,-9.18,-9.31,-9.04,-8.52,-8.34,-8.52,-8.16,-7.89,-7.74,-7.94,-7.86,-8.07,-8.21,-8.66,-7.98,-8.02,-7.52,-7.34,-7.06,-6.83,-6.89,-6.82,-7.18,-6.75,-6.67,-6.23,-6.03,-5.54,-5.29,-4.72,-4.32,-4.09,-3.94,-3.66,-3.25,-2.78,-2.51,-2.21,-2.28,-2.11,-2.01,-1.75,-1.64,-1.56,-1.64,-1.34,-1.32,-0.49,0.71,1.77,3.43,5.95,0.08,0.02,3.18,4.05,2.92,-0.43,-1.24,-0.97,0.17,-4.31,-4.3,-5.63,-5.09,-5.9,-6.07,-6.63,-7.34,-7.05,-7.14,-7.4,-7.02,-6.23,-5.58,-4.72,-4.14,-4.55,-4.2,-4.41,-3.81,-5.04,-6.38,-6.39,-6.25,-5.92,-6.23,-6.84,-6.62,-6.17,-6.26,-6.19,-5.64,-5.26,-5.09,-4.98,-5.68,-5.77,-5.74,-6.23,-6.59,-6.66,-6.62,-6.91,-7.24,-7.45,-7.68,-7.6,-7.72,-7.91,-7.6,-7.45,-7.45,-7.53,-7.36,-7.02,-6.47,-6.03,-5.77,-5.44,-5.12,-4.85,-4.42,-4.11,-3.56,-3.08,-2.7,-2.49,-2.38,-2.96,-2.9,-2.66,-2.27,-2.09,-2.26,-2.41,-2.16,-2.15,-2.58,-2.91,-3.34,-3.41,-3.07,-2.87,-2.83,-3.45,-3.98,-1.86,-2.39,-0.47,-0.62,-1.44,0.27,1.48,1.84,1.29,2.18,2.29,2.6,2.38,1.34,0.59,1.55,1.8,2.4,2.49,-1.21,-1.88,0.71,1.08,-2.86,-4.04,-3.6,-4.08,-3.48,-3.31,-5.19,-3.33,1.09,2.6,2.2,2.02,3.8,1.29,-2.03,-4.67,-6.43,-3.92,-4.9,-3.08,-2.71,-3.11,-2,-1.62,0.28,0.97,2.5,0.21,2.89,5.47,6.51,2.6,0.77,-2.12,-2.57,-4.55,-1.91,-0.86,-0.92,0.04,-0.67,-0.24,-1.51,-0.12,0.31,1.03,2.29,1.89,3.78,1.1,-0.47,-0.22,1.67,7.43,7.56,7.49,7.51,8.05,8.21,7.84,7.81,7.26,7.36,7,6.43,4.64,3.63,3.82,4.93,3.58,2.71,3.97,3.48,3.36,2.72,2.19,1.79,2.97,2.54,-0.18,-0.79,-0.19,0.33,-0.57,-1.64,-0.25,0.18,-1.5,-0.86,0.24,0.87,0.31,1.25,0.82,0.69,-0.73,0.08,-1.06,-1.49,-2.41,-3.8,-2.75,-2.56,-2.63,-2.54,-4.09,-2.99,-2.23,-2.19,-1.87,-1.54,-0.19,0.34,-0.34,0.86,-1.09,-1.2,-2.39,-3.02,-3.31,-3.95,-4.47,-4.96,-5.39,-5.04,-5.31,-4.7,-4.57,-4.15,-4.49,-4.18,-4.28,-4.76,-4.36,-4.34,-5.13,-6.38,-6.54,-7.5,-7.96,-8.74,-9.48,-10.06,-10.02,-9.73,-9.7,-9.46,-9.23,-8.56,-7.78,-7.13,-6.75,-6.63,-6.3,-6.03,-5.68,-5.24,-4.67,-4.91,-5.26,-5.28,-4.82,-4.76,-5.23,-5.9,-6.05,-6.16,-6.55,-6.5,-6.98,-7.2,-7.21,-7.26,-7.52,-7.8,-7.95,-8.25,-7.87,-8.04,-7.86,-7.56,-7.59,-7.9,-8.14,-8.36,-9.04,-9.45,-9.23,-9.18,-9.07,-9.19,-9.52,-9.53,-8.63,-8.11,-8.29,-8.34,-7.6,-6.93,-6.96,-6.65,-7.3,-7.2,-8.2,-8.44,-8.19,-7.56,-7.31,-7.22,-7.02,-6.85,-6.71,-6.55,-6.27,-6.3,-6.24,-6.03,-5.73,-5.53,-5.17,-4.69,-4.51,-4.44,-4.03,-3.53,-2.91,-2.64,-2.39,-2.49,-2.49,-2.34,-2.04,-1.9,-1.75,-1.47,-1.86,-2.56,-2.13,-0.97,0.17,1.84,3.73,4.25,3.46,3.87,4.45,3.78,2.71,1.66,0.44,-1.23,-5.84,-6.38,-3.63,-3.81,-4.68,-4.81,-6.26,-7.31,-7.5,-8.11,-9.19,-8.39,-7.2,-6.52,-5.63,-4.85,-5.49,-4.47,-2.2,-2.9,-2.94,-6.29,-6.61,-6.48,-7.12,-7.19,-7.38,-6.63,-7.09,-7.12,-6.7,-6.99,-6.54,-5.99,-5.91,-5.55,-6.01,-6.7,-6.6,-7.02,-7,-7.01,-7.09,-7.22,-7.33,-7.75,-7.94,-7.93,-8,-8.27,-8.31,-8.28,-8.17,-8.06,-7.93,-7.44,-6.93,-6.62,-6.5,-6.22,-5.84,-5.4,-5.11,-4.8,-4.51,-4.13,-3.76,-3.35,-3.71,-3.54,-3.34,-3.07,-2.97,-3.12,-3.48,-3.74,-3.77,-3.69,-3.7,-3.73,-3.64,-3.12,-2.74,-2.98,-3.7,-3.23,-1.17,-1.61,-0.94,-0.58,-1.16,-0.15,0.73,1.85,1.26,1.36,1.76,1.04,0.47,-1.19,-0.01,1.82,2.26,0.61,0.22,-4.19,7.35,0.69,0.63,-0.25,-1.72,-1.33,-0.79,-0.05,-0.12,0.99,-1.77,0.99,0.06,-1.51,1.37,3.5,1,-0.45,-4.38,-5.2,-4.6,-4.5,-3.79,-3.44,-3.11,-1.34,-1.03,-0.29,0.49,1.49,0.32,-0.07,6.37,7.09,4.58,-1.1,1.61,0.33,-2.1,-3.73,-1.2,-1.95,-0.84,-1.58,-0.96,-1.53,-1.53,-0.83,0.7,1.4,2.12,4.2,1.97,-2.13,1.41,8.49,10.29,9.54,9.23,9.25,9.62,9.6,9.15,8.77,7.61,6.43,6.87,6.05,4.05,2.95,3.14,2.89,1.66,2.19,3.12,2.04,2.87,3.57,4.17,3.01,1.3,2.42,1.86,3.02,2.31,4.59,3.78,-1.19,-0.37,0.06,0.55,-0.93,-0.04,-0.05,0.68,0.9,0.86,1.12,-0.54,0.2,-0.67,-1.25,-1.53,-0.96,-2.11,-3.67,-3.1,-1.52,-1.69,-2.32,-1.88,-2.42,-1.94,-1.87,-1.29,-1.74,-1.56,-1.14,-2.03,-2.54,-3.71,-4.44,-4.36,-5.16,-5.62,-5.77,-5.74,-5.76,-5.15,-4.98,-3.85,-4.07,-4.54,-4.78,-5.08,-5.34,-5.27,-5.01,-5.97,-6.72,-7.42,-7.87,-9.32,-9.76,-9.96,-10.51,-10.33,-10.25,-10.04,-9.53,-8.65,-8.56,-8.08,-7.53,-7.09,-6.56,-6.15,-6.07,-5.79,-5.27,-5.17,-5.98,-5.18,-5.68,-5.43,-5.62,-6.26,-6.26,-6.21,-6,-6.75,-6.89,-7.12,-7.4,-7.45,-7.58,-7.86,-8.28,-8.3,-8.31,-8.24,-8.05,-7.8,-8.1,-8.21,-8.36,-8.54,-8.6,-9.07,-9.84,-9.89,-9.72,-9.31,-9.29,-8.33,-5.72,-8.21,-8.22,-8.57,-8.75,-8.34,-7.74,-7.4,-7.08,-7,-7.19,-7.2,-7.15,-7.8,-7.23,-7.43,-7.12,-6.92,-6.66,-6.69,-6.35,-5.93,-5.59,-5.56,-5.5,-5.52,-5.43,-5.14,-4.67,-4.39,-4.13,-3.6,-2.91,-2.49,-2.52,-2.6,-2.64,-2.81,-2.61,-2.01,-1.32,-1.64,-1.91,-3.16,-3.95,-4.03,-2.92,-1.37,0.14,2.05,3.36,3.84,3.53,3.99,4.76,3.79,3.24,1,0.81,-5.47,-6.8,-4.97,-5,-4.94,-4.27,-5.48,-6.85,-7.46,-7.66,-9.87,-10.18,-10.06,-9.23,-5.9,-4.79,-2.3,-2.35,-3.56,-1.87,-1.93,-0.59,0.27,-3.08,-7.21,-8,-7.96,-7.96,-8.14,-8.34,-7.99,-7.87,-7.64,-7.15,-6.63,-6.51,-6.41,-6.9,-7.14,-7.11,-7.07,-7.17,-7.24,-7.45,-7.72,-8,-8.08,-8.18,-8.28,-8.48,-8.66,-8.66,-8.58,-8.44,-8.16,-7.81,-7.53,-7.18,-7.01,-6.86,-6.71,-6.49,-6.25,-6.06,-5.93,-5.62,-5.25,-4.71,-4.65,-4.57,-4.69,-4.88,-5.45,-5.05,-4.88,-4.67,-4.62,-4.11,-3.95,-3.64,-3.27,-2.57,-2.44,-2.87,-2.9,-2.81,-2.33,-1.69,-1.85,-2.44,-1.11,-1.1,0.22,0.84,1.6,1.03,0.87,-1,-1.23,-1.21,-0.95,-0.46,0.42,0.41,0.82,-4.96,3.85,2.69,2.75,2.45,2.22,0.01,0.09,-2.14,-0.66,0.94,-2.41,-2.28,-0.65,0.12,3.28,2.31,-0.46,-1.76,-4.72,-5.26,-5.18,-4.87,-3.85,-3.61,-2.15,-0.72,-0.76,0.08,-0.39,0.91,-0.07,1.07,-0.85,3.49,5.87,0.06,-1.31,-0.15,-1.19,-2.58,-2.77,-2.16,-1.42,-1.07,-1.13,-0.91,-1.46,-1.1,0.1,1.18,1.46,2.25,4.86,3.4,5.79,8.79,10.59,10.6,10.44,10.67,10.94,10.82,10.07,9.41,8.95,7.91,6.81,7.7,3.24,4,4.56,4.71,3.96,3.77,4.03,2.55,5.11,4.46,3.68,2.13,1.85,1.39,4.61,5.39,3.74,6.48,5.33,4.42,-1.37,1.64,-0.76,-1.52,1.85,-0.44,-0.05,0.15,1.39,0.87,0.25,0.68,0.98,-0.85,-1.45,1.61,-0.44,-0.99,2.38,2.59,1.22,0.29,-1.11,-1.78,-1.91,-2.02,-1.86,-2.47,-2.91,-2.67,-2.67,-3.37,-4.35,-4.7,-4.96,-6.12,-6.43,-6.34,-6.68,-6.26,-5.28,-5.06,-4.54,-4.24,-4.97,-4.81,-4.39,-4.83,-5.92,-5.63,-6.1,-6.61,-8.24,-8.41,-9.46,-10.14,-9.65,-9.89,-9.83,-9.38,-8.87,-8.56,-8.52,-8.14,-7.54,-6.57,-6.18,-6.05,-6.2,-5.87,-5.95,-6.13,-6.3,-6.07,-5.49,-5.44,-6.01,-6.03,-5.81,-5.67,-6.22,-6.25,-6.68,-6.77,-7.17,-7.47,-7.3,-7.5,-7.48,-7.97,-7.98,-7.76,-7.89,-7.77,-8.15,-8.22,-8.29,-8.21,-7.78,-7.26,-8.29,-8.97,-9.35,-8.98,-8.19,-8.16,-8.89,-8.11,-6.34,-6.21,-6.08,-7.84,-8.86,-8.13,-7.57,-7.2,-7.08,-6.92,-6.91,-6.88,-6.58,-6.68,-6.79,-6.82,-6.58,-6.3,-6.27,-6.16,-5.83,-5.57,-5.25,-5.06,-4.99,-4.93,-4.68,-4.19,-3.81,-3.47,-3,-2.52,-2.35,-2.43,-2.53,-2.59,-2.54,-2.04,-1.49,-1.61,-2.09,-2.64,-4.08,-5.62,-5.16,-4.15,-2.51,-1.65,0.01,1.35,1.84,2.57,3.31,3.64,2.09,2.66,1.59,2.27,-0.14,-3.23,-2.34,-2.89,-6.14,-5.72,-5.75,-6.5,-6.44,-5.78,-7.6,-4.36,-3.88,-2.84,-3.22,-4.94,-4.8,-4.67,-4.28,-4.72,-4.79,-3.18,-0.9,0.63,-1.06,-3.53,-7.4,-7.06,-8.32,-10.9,-9.74,-8.59,-8.43,-8.52,-7.67,-7.49,-7.11,-7.06,-7.57,-7.42,-7.32,-7.57,-7.52,-7.63,-7.86,-8.25,-8.4,-8.39,-8.57,-8.73,-8.88,-8.92,-8.9,-8.89,-8.77,-8.51,-8.07,-7.63,-7.38,-7.27,-7.17,-7.01,-6.85,-6.94,-6.96,-6.62,-6.51,-6.39,-5.85,-6.33,-6.36,-6.57,-6.45,-5.89,-5.46,-5.08,-4.27,-4.09,-3.77,-3.25,-2.63,-2.22,-2.14,-1.91,-0.37,-2.71,-3.46,-2.54,-3.32,-2.56,-2.53,-1.21,-0.43,0.5,0.98,0.16,-1.56,-1.45,-2.95,-3.52,-3.65,-4.78,-2.52,-0.83,-0.83,-1.85,-1.24,0.02,3.56,1.97,2.51,-0.03,-1.45,0.62,-1.35,-0.48,-2.84,-3.37,-2.47,-2.88,3.49,2.53,0.39,-2.23,-5.86,-4.56,-5.52,-5.21,-4.32,-2.38,-1.07,-0.34,0.19,0.17,-0.29,2.1,-0.02,0.84,-1.22,-0.23,5.74,5.97,-0.1,0.05,-0.68,-2.43,-1.47,-2.4,-1.99,-1.68,-2.13,-0.73,-0.88,-1.15,-0.78,-0.9,0.53,2.1,4.03,5.83,8.78,9.83,10.83,11.13,11.38,11.36,11.67,11.22,10.73,9.76,9.25,9.29,9.46,9.73,2.46,4.45,5.09,4.85,4.23,4.56,4.13,1.67,2.21,3.07,1.62,1.9,0.75,3.89,6.24,5.77,5.34,7.52,7.23,6.64,2.95,0.27,-1.82,-2.01,0.58,-0.04,-0.37,-0.14,0.4,0.41,0.09,0.59,1.35,1.69,0.17,0.39,-0.91,-1.05,0.39,0.75,1.68,1.53,-0.16,-1.79,-1.99,-1.95,-2.23,-3.5,-4.38,-3.73,-3.62,-3.16,-4.68,-4.91,-5.03,-6.39,-6.54,-6.36,-6.66,-5.84,-5.3,-5.73,-5.47,-4.31,-5.54,-4.93,-4.28,-4.62,-5.14,-6.48,-6.59,-6.98,-7.79,-8.28,-8.4,-9.13,-9.28,-9.78,-9.42,-9.15,-8.79,-8.33,-7.91,-7.59,-7.34,-6.96,-6.7,-6.62,-6.57,-6.47,-6.65,-6.5,-5.93,-5.69,-5.59,-6.06,-6.33,-5.78,-5.69,-5.57,-5.48,-6.49,-6.64,-6.83,-6.98,-7.12,-7.29,-7.49,-7.65,-7.67,-7.33,-7.33,-7.07,-7.35,-8.37,-8.12,-8.23,-7.9,-7.83,-7.81,-7.86,-7.9,-8.45,-8.58,-8.26,-7.68,-7.04,-5.96,-3.7,-3.01,-8.29,-4.46,-5.32,-8.3,-7.54,-7.58,-7.23,-6.94,-7.03,-6.82,-6.62,-6.25,-6.13,-6.05,-6.17,-5.83,-5.92,-5.82,-5.43,-5.11,-4.78,-4.7,-4.82,-4.89,-4.53,-3.86,-3.32,-2.82,-2.28,-1.9,-1.91,-1.96,-2.07,-1.27,-1.84,-0.91,-1.34,-1.44,-1.71,-2.89,-5.72,-7.42,-6.52,-5.66,-4.43,-2.99,-1.85,-0.72,0.34,1.2,2.27,2.66,1.16,1.4,0.78,1.49,0.26,0.43,-2.74,-1.68,-2.15,-6.31,-6.24,-6.17,-6.46,-3.41,-1.29,-3.03,-3.42,-2.51,-6.31,-6.47,-6.12,-5.41,-4.66,-3.23,-3.68,-6.46,-6.26,-4.26,-2.39,-1.36,-2.23,-5.57,-7.53,-10.19,-8.84,-7.95,-8.31,-9.31,-8.71,-8.29,-7.67,-7.02,-7.63,-7.94,-8.14,-8.18,-8.19,-8.18,-8.33,-8.48,-8.58,-8.55,-8.65,-8.77,-9.02,-9.13,-9.18,-9.28,-9.08,-8.77,-8.29,-7.84,-7.53,-7.5,-7.47,-7.38,-7.24,-7.38,-7.36,-7.2,-7.21,-7.45,-7.59,-7.36,-7.04,-7.1,-6.45,-5.92,-5.41,-4.62,-4.23,-3.78,-3.42,-2.75,-2.15,-1.78,-1.4,-0.45,2.69,2.96,-1.69,-2.28,-3.77,-3.7,-2.72,-1.27,-0.46,0.05,0.2,-1.84,-0.84,-1.12,-0.76,-1.33,-3.76,0.88,0.27,0.28,0.74,-1.48,-2.15,1.89,2.65,1.37,0.76,1.21,1.17,-2.15,0.2,3.03,1.82,-3.02,-3.23,-1.41,-1.08,0.18,0.18,-1.31,-5.66,-5.11,-5.64,-5.62,-4.52,-1.49,-0.19,-0.12,0.43,-0.09,0.32,-0.31,-4.11,2.87,-0.52,-2.04,2.59,6.74,4.79,-0.92,-0.7,-1.23,-3.12,-2.86,-2.32,-2.69,-2.21,-0.82,-0.33,-0.97,-0.21,2.19,4.11,1.77,3.35,8.25,9.51,10.4,11.09,11.64,11.68,12.09,11.72,12.39,11.21,10.43,10.39,9.97,9.57,9.11,2.81,3.65,4.79,5.73,5.12,3.4,4.5,1.47,0.9,1.57,2.04,1.01,5.07,5.32,5.44,6.73,6.35,7.41,7.48,6.03,6.02,1.56,-1.21,-1.98,-0.07,-0.27,-0.75,-0.64,0.3,-0.15,0.16,0.13,2.52,2.11,2.78,-1.24,-1.15,0.24,0.62,-0.64,1.63,1,0.19,-1.44,-1.81,-1.82,-1.8,-3.68,-5.44,-4.3,-4.11,-3.53,-4.64,-5.11,-4.89,-6.08,-6.54,-6.16,-6.02,-5.21,-5.45,-6.5,-5.86,-5.24,-5.2,-4.88,-4.88,-4.11,-4.62,-3.89,-7.3,-7.44,-7.12,-7.11,-8.21,-9.01,-9.59,-9.77,-9.44,-9.33,-9.08,-8.95,-8.57,-7.91,-7.58,-7.37,-6.88,-6.94,-6.96,-6.58,-6.21,-6.33,-6.16,-6.03,-6.48,-6.65,-6.41,-6.23,-5.96,-5.7,-5.46,-6.43,-6.88,-7.1,-7.17,-7.29,-7.44,-7.59,-7.73,-7.54,-7.33,-7.56,-7.6,-7.5,-8.36,-8.47,-7.97,-7.56,-7.86,-7.67,-8.06,-7.84,-7.67,-7.58,-7.15,-7.22,-6.84,-5.86,-5.57,-4.24,-0.04,-1.67,-7.76,-6.4,-6.73,-7.08,-7.14,-7.27,-7.48,-6.98,-6.75,-6.27,-5.96,-5.66,-5.39,-5.6,-5.46,-5.64,-5.3,-4.94,-4.62,-4.68,-4.81,-4.87,-4.44,-3.78,-3.1,-2.5,-1.99,-1.57,-1.49,-1.31,-1.11,-0.99,-0.7,-0.31,0.16,-0.01,-0.6,-1.31,-6.97,-8.55,-6.67,-6.04,-5.34,-3.95,-2.74,-1.88,-0.73,0.23,1.37,0.94,0.12,0.85,-0.25,-0.87,1.07,0.99,-0.65,2.16,-0.55,-4.65,-6.71,-5.48,-7.4,-3.69,-0.08,-2.89,-2.72,-2.67,-7.25,-6.58,-5.73,-5.32,-5.07,-4.78,-3.77,-3.54,-7.4,-10.3,-7.55,-4.23,-1.55,-3.89,-1.34,-5.02,-1.75,-1,-4.15,-10,-10.51,-8.88,-7.58,-7.13,-7.56,-8.23,-8.7,-8.79,-8.82,-8.69,-8.55,-8.54,-8.69,-8.81,-9.01,-9.12,-9.22,-9.34,-9.27,-9.33,-9.14,-8.8,-8.27,-7.78,-7.84,-7.78,-7.63,-7.5,-7.57,-7.82,-8.06,-8.13,-8.34,-8.05,-7.72,-7.36,-6.97,-6.57,-6.19,-5.78,-5.19,-4.8,-4.06,-3.69,-3.3,-2.42,-1.43,-0.65,0.17,1.16,2.77,3.53,4.3,0.09,-4.31,-5.33,-3.05,-1.45,-0.59,-0.42,-2.49,-1.89,-3.1,-1.35,-0.86,0.18,0.57,0.13,0.65,1.06,1.15,-3.64,-8.1,2.46,4.05,1.43,2.83,1.69,2.67,0.16,-0.17,2.48,3.29,-0.06,0.36,0.58,0.45,-3.84,-4.21,2.1,-5.76,-6.19,-5.81,-5.78,-4.8,-1.95,-0.73,0.25,0.07,-0.1,2.6,3.32,-0.1,-0.5,0.45,-0.37,0.39,5.09,4.49,-1.08,-1.39,-0.04,-2.6,-3.1,-2.94,-3.25,-2.13,-0.53,0.26,2.1,4.26,3.07,1.58,2.67,7.69,8.53,9.85,10.75,11.39,11.67,12.12,12.04,12.08,14,11.15,11,11.04,10.54,10.38,9.95,6.88,3.26,3.05,4.4,5.46,3.91,5.73,2.32,0.29,1.05,2.75,7.39,7.26,5.52,5.79,6.3,6.86,7.18,6.44,6.11,5.9,4.8,1.2,-1.56,-0.82,0.25,-0.25,-1.12,1.05,0.4,0.43,0.59,0.81,2.16,4.26,1.18,-2.61,-0.82,-0.46,-0.73,1.04,1.07,0.06,-0.9,-1.26,-1.61,-0.94,-1.07,-0.93,-0.95,-2.88,-4.14,-4.76,-5.1,-4.76,-4.37,-4.99,-6.16,-5.64,-4.85,-5.73,-6.13,-5.88,-6.18,-5.61,-4.94,-4.86,-4.56,-4.34,-4.82,-5.88,-7.15,-6.47,-7.27,-8.38,-9.63,-9.6,-9.53,-9.1,-8.91,-9.15,-9.34,-9.01,-8.71,-7.91,-7.11,-6.57,-6.62,-6.46,-6.73,-5.95,-6.1,-6.46,-6.72,-6.68,-6.94,-6.67,-6.62,-6.76,-6.22,-6.21,-6.72,-7.07,-7.15,-7.13,-7.55,-7.97,-7.57,-7.65,-7.85,-8.07,-7.92,-8.04,-7.83,-7.78,-7.63,-7.4,-7.07,-7.07,-7.46,-7.87,-8.27,-8.02,-7.53,-7.35,-6.82,-6.46,-6.7,-7.2,-5.72,-5.74,-6.96,-5.6,-5.3,-5.43,-6.01,-6.23,-6.39,-7.14,-7.33,-6.91,-6.42,-6.02,-5.84,-5.17,-5.16,-5.03,-5.33,-4.98,-4.6,-4.43,-4.49,-4.65,-4.74,-4.31,-3.68,-2.97,-2.32,-1.67,-1.03,-0.62,-0.45,0.23,0.79,0.21,-0.11,0.94,1.16,1.5,2.78,-5.1,-11.95,-3.92,0.42,-3.71,-4.19,-3.01,-2.17,-1.24,-0.24,0.18,-0.73,-1.9,-0.8,1,0.77,0.85,1,0.42,0.93,-1.49,1.27,-2.66,-1.5,-2.09,-1.86,-0.44,-3.28,-2.88,-6.96,-7.73,-7.3,-6.14,-5.85,-5.7,-5.97,-6.94,-6.97,-6.28,-4.53,-3.31,-10.57,-13.3,-12.88,-10.9,-8.7,-7.26,-7.6,-6.68,-5.43,-5.32,-4.87,-6.88,-6.83,-7.63,-8.49,-9.07,-9.24,-9.29,-9.06,-8.96,-8.97,-8.83,-8.81,-9.06,-9.24,-9.22,-9.25,-9.31,-9.26,-9.1,-8.71,-8.13,-7.85,-7.72,-7.63,-7.68,-7.71,-7.92,-8.24,-8.42,-8.34,-8.04,-7.76,-7.37,-6.94,-6.61,-6.27,-5.74,-5.41,-5.2,-4.59,-4.25,-3.42,-3.05,-1.98,-0.91,0.13,1.48,2.22,3.27,5.59,7.17,8.06,-1.45,-5.55,-2.91,-2.17,-1.27,-1.66,-2.28,-3.09,-2.08,-1.4,-1.31,-1.03,-0.08,-0.76,-0.46,0.17,1.08,-3.72,-5.33,-0.1,3.88,3.12,3.12,2.92,1.68,4.91,4.02,2.23,1.76,3.9,2.29,0.88,2.11,-1.48,-0.44,-0.57,-1.72,-3.38,-5.8,-5.06,-3.85,-1.75,-1.03,-0.67,0.31,1.13,2.66,2.9,3.13,2.81,2.08,-0.04,-1.08,2.39,6,2.82,-0.55,0.35,-1.38,-3.3,-4,-2.02,-1.66,-0.75,-0.65,1.82,0.93,0.68,8.66,10.52,8.5,9.12,9.96,10.87,11.41,12.15,12.22,12.22,12.14,14.34,12.07,11.81,11.43,11.39,10.69,9.98,8.56,3.2,5.81,5.81,4.41,4.84,6.4,2.47,1.48,1.8,7.61,8,7.63,6.36,6.2,6.69,6.68,6.22,5.9,5.78,5.59,5.89,1.65,0.05,1.15,-0.16,1.32,-0.12,1.02,1.3,1.87,3.6,1.37,1.37,3.02,2.13,-1.11,-1.89,-1.38,-1.14,-0.16,0.2,-0.44,-0.04,-0.69,-1.15,-0.28,-0.06,-0.58,0,-1.87,-3.23,-5.39,-5.48,-5.03,-3.74,-4.76,-5.99,-5.39,-5.35,-5.83,-5.83,-6.18,-6.27,-6.2,-5.87,-5.15,-4.64,-4.53,-4.67,-4.38,-3.9,-6.09,-6.82,-7.58,-7.71,-8.61,-8.66,-8.33,-9.05,-9.07,-9.56,-8.83,-8.82,-8.59,-7.71,-7.32,-6.92,-6.44,-6.47,-6.35,-6.78,-6.57,-6.92,-6.71,-6.96,-7.13,-7.21,-7.11,-6.82,-6.63,-6.83,-7.14,-7.39,-7.61,-8.12,-8.18,-8.24,-8.4,-8.41,-8.65,-8.59,-8.79,-8.43,-8.01,-7.6,-7.01,-6.62,-6.81,-7.36,-8.36,-8.35,-8.92,-8.65,-8.05,-7.32,-7.5,-7.81,-7.84,-7.47,-7.3,-6.82,-6.16,-5.79,-5.64,-6.08,-6.53,-6.88,-7.46,-7.42,-7.26,-6.8,-6.32,-5.99,-5.43,-4.89,-4.66,-5.01,-4.67,-4.24,-4.08,-4.37,-4.68,-4.32,-4.1,-4.05,-3.39,-2.42,-1.63,-1.23,-0.6,0.22,0.77,1.26,1.58,1.45,1.45,1.44,2.23,5.93,11.17,12.8,4.72,3.38,2.19,-2.74,-2.78,-1.94,-0.85,-0.19,-0.04,0.17,-4.3,-3.71,-1,0.36,0.73,0.47,0.79,1.19,1.23,-0.5,-0.35,0.38,-0.73,-0.63,-1.49,-1.52,-2.63,-7.25,-8.68,-7.98,-6.95,-6.39,-6.63,-6.66,-7.69,-8.43,-9.84,-11.01,-11.61,-11.69,-11.91,-12.28,-12.39,-11.62,-9.92,-8.79,-8.03,-8.42,-8.82,-8.63,-7.19,-6.93,-8.19,-9.23,-9.45,-9.34,-9.39,-9.38,-9.46,-9.27,-9.04,-8.86,-8.92,-9.09,-8.97,-8.95,-9.13,-9.05,-9.08,-8.76,-8.46,-8.13,-7.73,-7.66,-7.67,-7.91,-7.97,-8.1,-8.16,-8.04,-7.9,-7.57,-7.13,-6.6,-6.2,-5.82,-5.59,-5.15,-5,-4.7,-3.17,-2.69,-2.75,-1.45,-0.45,0.58,1.71,2.26,4.12,6.81,8.15,8.15,7.6,0.67,-2.81,-1.63,-1.89,-1.12,0.29,-1.47,-1.83,-2.21,-2.07,-2.1,-1.14,-1.79,-1.46,-0.3,0.04,-2.19,-0.24,-0.55,0.98,2.52,1.73,2.26,1.04,2.53,4.31,5.27,5.41,4.24,3.95,4.08,3.96,3.67,3.37,3.24,-0.19,-2.52,-3.54,-3.36,-2.7,-0.29,-0.51,0.09,2.48,4.35,3.5,3.68,3.64,2.45,2.2,2.23,-0.56,-3.42,2.79,5.41,2.34,0.15,1.57,-2.71,-2.43,-1.66,-1.73,-2.99,-1.92,-0.98,2.9,6,7.89,8.43,8.55,9.45,10.24,11.09,11.74,12.05,12.41,12.35,12.44,13.85,12.77,12.27,12.07,11.95,10.62,8.72,8.02,2.08,5.8,5.86,5.48,5.71,5.41,2.92,4.89,8.53,7.61,8.15,7.67,7.01,5.94,6.14,6.21,6.17,6.01,5.9,6.12,5.67,4.09,3.91,3.32,-0.02,1.26,-0.3,-0.18,3.41,4.96,3.19,1.78,0.31,0.54,1.87,0.79,-0.8,-0.75,-0.54,-0.5,-0.09,-0.02,-0.19,-0.22,-0.77,-0.28,-0.35,-0.48,-1.43,-3.05,-4.04,-2.79,-6.2,-5.14,-3.8,-5.5,-5.04,-5.74,-5.41,-5.8,-6.09,-6.43,-6.43,-6.47,-6.6,-5.58,-5.02,-4.56,-4.48,-5.66,-5.86,-5.39,-5.34,-6.26,-5.95,-7.2,-7.29,-7.75,-8.42,-8.77,-9.04,-8.84,-9.08,-8.64,-8.28,-7.86,-7.21,-7.3,-7.12,-6.62,-6.95,-7.09,-7.24,-7.11,-7.28,-7.41,-7.18,-7.6,-7.26,-7.1,-7.22,-7.45,-7.52,-8.4,-8.6,-8.85,-8.91,-9.11,-9.13,-9.15,-8.98,-9.17,-9.05,-8.61,-8.16,-7.51,-6.87,-6.95,-7.51,-8.16,-9.3,-9.81,-9.6,-9.08,-8.67,-8.26,-8.08,-8.45,-8,-7.84,-7.65,-7.16,-6.38,-5.85,-6.01,-6.76,-7.16,-7.57,-8.1,-7.92,-7.47,-6.78,-6.14,-5.54,-5.19,-4.45,-4.73,-4.66,-4.01,-3.96,-4.31,-4.11,-4.02,-3.88,-3.66,-2.9,-2.36,-1.55,-0.93,-0.11,0.37,0.79,1.73,1.53,1.32,1.69,2.07,2.78,5.04,7.44,9.34,7.11,3.99,3.8,1.45,-0.61,-1.04,-0.05,0.16,1.12,1.7,2.82,-2.1,-2.2,-2.45,-1.45,0.59,3.71,3.94,1.7,1.14,2.98,2.13,0.67,-1.55,-0.63,-1.22,-3.66,-7.26,-8.27,-7.77,-5.94,-7,-7.19,-7.23,-8,-8.97,-9.65,-10.21,-10.57,-10.57,-10.85,-11.3,-11.74,-11.29,-10.2,-9.63,-9.16,-8.97,-9.04,-8.73,-8.46,-8.01,-7.72,-7.75,-9.31,-9.25,-9.61,-9.5,-9.52,-9.46,-9.09,-8.94,-8.87,-8.86,-9.06,-8.91,-8.8,-8.87,-9.05,-8.94,-8.84,-8.52,-8.16,-8.05,-8.03,-8,-7.97,-7.89,-7.86,-7.87,-7.54,-7.13,-6.68,-6.33,-6,-5.64,-5.22,-4.55,-3.88,-2.36,-3.62,-2.63,-1.69,-0.74,0.16,1.22,2.45,3.35,5.27,6.64,7.83,8.34,7.5,4.4,2.1,-0.22,-0.79,0.29,0.2,-0.88,-2.93,-4.04,-3.92,-2.72,-2.55,-3.47,-2.53,-1,0.4,1.25,-0.91,-0.81,0.63,0.99,0.06,0.73,-0.22,0.5,1.83,3.46,5.49,4.06,3.98,4.76,5.08,4.99,2.9,3.3,1.56,-0.46,-3.03,-1.85,0.24,0.92,2.41,3.36,4.02,3.8,2.56,1.67,1.54,-2.61,0.78,1.18,2.07,-1.26,-0.08,4.56,2.56,0.1,0.46,-1.55,-2.19,0.28,-0.35,-0.77,-0.04,1.49,3.39,6.2,6.77,6.86,8.85,9.81,10.56,11.36,11.79,12.08,12.54,12.42,12.67,13.07,12.62,12.14,12.19,11.21,9.84,8.73,8.41,4.25,3.23,5.78,6.4,5.97,5.14,3.88,4.57,7.53,8,8.71,8.32,7.77,5.98,5.93,6.55,6.51,6.78,6.81,6.25,6.1,6.21,4.51,3.19,-0.19,1.53,1.99,0.43,2.84,2.29,3.37,0.84,-0.58,-0.22,1.42,0.75,-0.45,-0.12,-0.15,-0.74,-0.88,0.11,-0.18,-0.29,-0.38,0.33,-0.09,-0.04,0.72,-0.05,-3.51,-3,-1.18,-4.53,-3.2,-3,-4.45,-5.4,-5.15,-6.02,-6.78,-6.39,-6.95,-6.63,-6.58,-6.05,-4.87,-4.98,-4.49,-4.4,-4.75,-4.98,-5.13,-5.38,-5.98,-6.85,-7.37,-7.14,-7.57,-8.18,-8.18,-8.68,-9.15,-8.87,-8.25,-7.93,-7.27,-6.97,-7.3,-7.24,-6.88,-7.04,-7.38,-7.32,-7.42,-7.33,-7.66,-7.61,-7.49,-7.56,-7.56,-7.55,-7.6,-8.49,-8.71,-8.89,-9.03,-9.17,-9.42,-9.3,-9.12,-8.78,-9.26,-8.98,-8.48,-7.89,-7.34,-6.86,-6.45,-6.74,-7.9,-9.01,-9.49,-9.16,-9.07,-9.11,-8.96,-8.87,-8.57,-8.42,-8.09,-7.66,-6.91,-6.08,-5.95,-5.89,-5.8,-6.2,-7.84,-8.41,-8.49,-7.65,-6.68,-5.74,-5.45,-4.78,-4.46,-4.57,-4.15,-3.9,-3.6,-3.68,-4.09,-3.98,-3.26,-2.14,-1.56,-1.19,-0.48,0.28,1.11,2.01,2.62,2.48,1.99,2.45,3.06,3.65,5.19,5.82,6.3,5.85,5.57,5.79,4.68,4.01,2.14,1.84,1.8,3.06,3.57,2.21,0.21,-1.02,-2.05,-1.04,-0.24,2.82,3.57,2.99,2.35,1.94,2.32,3.16,0.38,-1.96,-1.45,-0.13,-0.21,-1.74,-2,-0.66,-2.19,-6.6,-7.56,-7.91,-8.46,-9.08,-9.58,-9.91,-10.08,-10.54,-11.08,-11.29,-11.1,-10.81,-10.18,-9.52,-9.62,-9.85,-9.68,-9.15,-9.15,-9.59,-9.23,-9.42,-9.23,-9.49,-9.84,-10.12,-9.66,-9.31,-8.9,-8.7,-8.71,-8.52,-8.38,-8.37,-8.48,-8.78,-8.69,-8.72,-8.62,-8.19,-7.97,-7.77,-7.72,-7.68,-7.58,-7.49,-7.25,-6.88,-6.48,-6.09,-5.69,-5.24,-4.88,-4.29,-3.47,-2.7,-3.07,-3.68,-1.36,-1.3,-0.18,0.64,1.69,2.65,3.71,4.53,5.69,6.52,6.94,5.21,3.73,4.33,0.81,0.1,1.62,1.76,-1.43,-1.45,-2.72,-3.63,-4.45,-3.98,-3.88,-4.03,-2.22,-0.2,1.08,0.56,0.92,0.73,1.39,2.06,1.19,-0.3,-0.21,0.72,2.24,3.91,4.05,2.68,2.76,4.52,4.34,2.23,3.77,2.74,1.27,0.93,0.12,1.07,1.77,2.44,2.79,3.04,1.37,1.06,1.03,-0.7,-0.79,-0.93,0.07,1.39,-0.05,-0.71,5,3.71,-0.12,0.34,-0.01,-0.37,-1.29,0.13,-0.1,-0.5,1.15,3.02,6.54,4.4,8.02,8.94,9.68,10.42,11.01,11.67,11.9,11.87,11.93,12.41,12.18,12.21,12.1,11.77,10.51,10.02,8.96,8.36,6.15,0.87,3.69,5.01,5.64,3.63,1.76,3.6,7,8.3,8.34,7.87,7.47,6.13,6.25,6.46,6.6,6.73,6.6,6.19,6.15,5.87,5.55,4.24,0.14,1.65,2.49,1.38,1.69,3.35,1.87,0.44,-0.89,-0.51,0.98,1.28,0.67,0.5,0.03,-1.03,-0.87,-0.13,-0.37,-0.36,-0.52,0.02,0.25,-0.33,0.54,0.6,0.66,-2.09,-3.61,-2.34,-2.07,-2.79,-1.75,-2.9,-4.19,-4.93,-5.34,-5.79,-7.02,-6.99,-6.67,-5.75,-6.05,-5.14,-4.75,-4.52,-4.72,-5.13,-4.68,-4.92,-5.72,-6.69,-6.84,-7.37,-7.73,-7.74,-7.33,-8.57,-8.35,-8.59,-8.07,-7.7,-7.26,-6.92,-6.84,-6.8,-7,-7.32,-7.52,-7.53,-7.29,-7.33,-7.8,-7.67,-7.72,-7.65,-7.72,-7.46,-7.41,-7.49,-7.84,-8.23,-7.86,-7.44,-7.8,-8.21,-8.44,-7.94,-8.17,-8.76,-8.91,-8.47,-7.65,-6.85,-6.33,-6.01,-6.24,-6.8,-7.44,-8.01,-8.28,-8.67,-9.1,-9.03,-8.87,-8.61,-8.29,-7.8,-7.24,-6.38,-5.68,-5.14,-4.63,-4.93,-6.44,-7.75,-8.24,-8.7,-7.42,-6.62,-5.97,-4.9,-4.44,-4.21,-3.91,-4.02,-3.51,-3.54,-3.11,-2.59,-2.02,-1.82,-1.39,-1.46,-0.98,-0.11,1.22,2.65,3.51,4.05,3.7,3.23,3.8,5.4,5.37,3.2,4.25,5.99,5.77,5.99,5.43,5.58,5.08,4.53,4.68,6.08,7.21,4.66,2.47,1.03,-0.44,-0.15,0.02,0.88,0.79,-0.13,-0.43,-0.23,0.82,1.25,1.75,0.59,0.63,-0.21,-1.22,-2.61,-1.43,-1.04,-1.53,-6.35,-7.15,-7.52,-8.52,-8.96,-9.28,-9.78,-10.18,-10.83,-11.42,-11.64,-11.42,-10.76,-10.31,-9.39,-9.33,-9.39,-9.83,-9.6,-9.68,-9.37,-8.91,-8.93,-9.6,-9.94,-9.86,-9.79,-9.42,-9.09,-8.67,-8.52,-8.41,-8.34,-8.09,-8.08,-8.36,-8.46,-8.64,-8.43,-8.26,-8.14,-7.74,-7.47,-7.6,-7.58,-7.31,-6.98,-6.55,-6.12,-5.44,-5.11,-4.73,-4.44,-3.88,-3.37,-2.84,-2.5,-1.76,0.72,-1.72,-1.15,0.4,1.46,2.14,2.87,3.84,5.42,5.07,5.61,6.27,4.05,3.26,1.81,0.71,-0.39,1.04,1.94,1.8,1.49,0.34,-3.48,-5.15,-4.63,-0.89,-0.46,-0.33,-0.2,0.79,1.97,2.22,2.01,1.37,2.98,1.89,0.52,-1.01,-0.13,1.19,3.46,1.92,1.09,1.57,3.08,2.56,1.91,2.1,2.2,0.69,2.38,3.57,2.9,3.8,4.02,3.95,3.32,1.01,0.99,1.37,-1.21,-2.15,-0.45,0.5,-0.06,-0.25,-0.69,0.48,3.59,-0.6,-2.33,-3.22,-2.13,-1.76,-2.13,-0.76,-1.6,2.07,3.11,4.6,7.36,8.14,8.95,9.37,9.92,10.41,10.96,11.08,11.27,11.58,11.58,11.77,11.88,12.01,11.33,11.05,10.18,9.09,8.47,6.4,-1.68,3.07,3.23,5.67,5.18,2.43,4.14,7.28,8.2,7.65,6.7,6.01,5.9,6.44,6.59,6.55,6.76,6.8,5.94,6.31,6.53,5.78,5.34,2.65,0.64,-0.67,1.51,0.63,2.39,3.07,-0.02,0.04,0.24,-0.03,1.61,1.47,0.95,0.31,-0.95,-0.94,-0.56,-0.84,-0.78,-1.31,-0.83,0.31,-0.14,1.04,-0.98,-0.39,-0.7,-1.84,-1.25,-0.37,-0.93,-1.36,-1.12,-3.03,-3.79,-4.94,-6.04,-6.53,-6.95,-6.69,-5.67,-5.52,-5.6,-5.06,-4.83,-4.39,-4.34,-4.8,-4.96,-5.46,-6.29,-6.11,-7.09,-7.88,-7.29,-6.66,-6.76,-7.53,-8.02,-7.45,-7.47,-7.12,-6.81,-6.87,-7.04,-7.07,-7.15,-7.25,-7.35,-7.37,-7.31,-7.63,-7.74,-7.67,-7.49,-7.59,-7.65,-7.39,-7.03,-6.81,-6.46,-5.52,-5.08,-5.01,-5.42,-5.91,-6.5,-6.44,-6.59,-7.88,-8.12,-7.85,-6.89,-6.2,-5.96,-5.98,-6.3,-6.51,-6.62,-7.02,-7.95,-8.59,-8.72,-8.61,-8.01,-7.26,-6.95,-6.24,-5.95,-5.63,-4.36,-3.27,-2.38,-3.57,-5.44,-8.05,-8.17,-7.92,-7.62,-6.47,-5.28,-4.63,-4.18,-3.9,-3.94,-3.92,-3.22,-2.49,-3.13,-3.35,-3.06,-2.78,-2.13,-1.47,-0.69,0.68,1.73,2.83,3.87,4,3.72,4.74,6.29,4.24,3.47,5.39,5.33,5.48,4.87,4.91,5.4,5.57,5.28,4.88,5.47,6.36,5.29,4.4,3.27,1.45,0.43,-0.08,-0.74,-0.91,-1.48,-1.92,-1.91,-1.67,-1.32,-1.33,-1.29,-1.48,0.07,1.05,-1.17,-1.91,-1.44,-1.29,-6.93,-6.91,-6.96,-7.81,-9.07,-9.64,-10.1,-10.3,-11.17,-11.6,-11.95,-12.1,-11.17,-10.86,-8.98,-8.8,-8.75,-9.44,-9.29,-9.33,-8.89,-9,-10.1,-9.83,-10.13,-9.64,-9.34,-8.9,-8.67,-8.28,-8.36,-8.19,-8.14,-8.08,-8.26,-8.54,-8.83,-8.92,-8.33,-8.27,-8.05,-7.63,-7.78,-7.74,-7.43,-7,-6.54,-6.08,-5.35,-4.61,-4.06,-3.84,-3.43,-3.05,-2.72,-2.35,-1.46,-0.34,-1.03,-0.87,-0.1,0.99,1.66,2.57,3.09,3.65,4.62,3.9,3.88,4.57,3.8,4.34,2.79,-0.75,-1.7,0.95,1.35,0.79,0.7,0.94,-1.87,-3.3,-2.26,-0.58,-0.01,0.2,0.29,0.8,1.01,1.39,2.36,3.13,2.24,0.94,0.57,2.34,0.3,1.14,1.69,0.97,-0.19,0.08,1.37,1.67,0.43,1,2.26,2.71,4.3,4.08,3.08,2.42,2.02,2.14,1.08,-0.37,0.78,1.05,-0.7,-0.88,1.03,0.66,0.21,1.09,-3.26,-0.78,0.92,3.01,-1.08,-0.69,-0.7,-2.14,-1.39,-0.43,-1.48,4.37,6.47,6.09,7.01,7.75,8.45,8.84,9.43,9.91,10.29,10.29,10.52,10.93,11.35,11.25,11.73,11.65,11.45,10.86,10.52,9.6,8.49,7.61,1.76,1.14,3.02,2.16,3.91,3.32,5.69,7.37,7.6,7.56,6.68,6.05,5.9,6.5,6.61,6.89,7.01,6.56,5.66,6.1,6.46,5.92,6.1,4.65,-0.62,4.63,6.48,6.18,2.32,1.76,2.05,0.65,-1.03,0.53,1.19,3.5,1.94,0.79,-0.62,-1.29,-0.67,-1.06,-1.14,-1.67,-1.34,0.18,0.52,-0.03,0.24,-2.53,-0.51,-0.11,0.95,0.6,1.4,0.18,-0.56,-1.14,-2.59,-4.38,-5.27,-6.06,-7,-6.3,-5.51,-5.73,-5.42,-5.39,-5.28,-4.94,-4.07,-4.66,-4.34,-5.12,-5.51,-5.63,-6.61,-7.55,-7.41,-5.98,-5.49,-5.69,-6.35,-6.55,-7,-7.21,-6.96,-6.99,-7.2,-7.18,-7.23,-6.99,-7.01,-6.93,-6.67,-7.31,-7.24,-7.33,-7.31,-7.57,-7.33,-7.42,-6.74,-5.9,-4.86,-4.49,-3.9,-3.74,-3.89,-4.26,-4.2,-4.98,-5.17,-6.27,-6.99,-6.95,-6.37,-6.11,-5.77,-5.62,-5.37,-5.78,-5.77,-6.06,-6.76,-7.03,-5.9,-4.15,-4.59,-2.74,-2.77,-2.49,-3.63,-4.33,-3.45,-2.19,-0.59,1.3,1.67,0.44,-3.84,-6.43,-7.23,-6.45,-5.39,-4.58,-4.43,-4.34,-4.1,-3.21,-2.7,-3.35,-3.9,-3.71,-3.88,-4.48,-3.82,-3.06,-2.5,-1.33,-0.2,1.35,2.58,3.23,4.09,5.31,5.96,4.26,6.97,4.84,4.4,4.74,4.84,4.86,4.96,5.45,5.63,5.53,6.08,5.2,5.29,5.19,4.15,2.93,1.65,0.46,-1.3,-1.23,-2.04,-2.9,-3.12,-3.78,-3.87,-4.13,-3.87,-3.94,-2.8,-0.19,-1.61,-4.38,-2.76,-2.05,-7.41,-6.98,-6.23,-6.89,-9.21,-9.95,-9.8,-9.67,-10.11,-12.77,-11.2,-11.35,-11.89,-9.52,-9.81,-9.29,-9.51,-9.2,-9.11,-8.64,-8.4,-10.18,-9.8,-9.6,-9.74,-9.29,-9.08,-8.61,-8.39,-8.05,-8.24,-8.11,-7.9,-8.04,-8.24,-8.61,-8.66,-8.38,-8.3,-8.16,-7.92,-7.43,-7.46,-7.56,-7,-6.62,-5.93,-5.53,-4.96,-4.08,-3.6,-3.28,-2.88,-2.47,-1.98,-1.56,-0.6,-0.46,-0.29,-0.53,0.09,1.36,2.03,2.69,2.57,2.79,3.62,3.18,2.83,3.25,1.91,1.31,0.24,-1.69,-2.77,1.3,0.52,0.28,-0.2,0.49,-1.17,-1.51,-1.07,-0.24,-0.1,0.19,0.27,0.84,0.03,0.63,1.49,2,1.85,0.2,0.81,1.88,2.09,1.72,2.05,-0.71,-0.55,-0.03,0.71,-0.2,0.64,0.65,2.3,3.06,2.14,1.44,0.81,0.77,1.68,0.84,1.19,-0.23,-0.14,-0.09,-0.79,-0.93,-0.73,0.9,-1.03,4.47,-1.83,-2.17,0.61,1.11,3.86,0.19,-0.11,4.99,4.74,7.72,2.06,5.8,6.87,6.98,7.14,7.19,7.79,8.45,9.13,9.7,9.86,9.86,9.93,10.18,10.18,10.52,11.02,10.74,10.77,10.15,10.53,9.18,8.78,8.13,6.6,0.07,4.44,6.25,6.6,5.82,8.28,8.61,7.96,7.73,6.3,5.65,5.96,6.47,6.72,6.9,7.16,6.3,5.67,5.89,6.45,6.53,6.34,5.36,0.58,6.84,7.8,7.66,4.81,2.06,2.22,3.36,0.96,2.59,6.34,5.05,2.5,1.18,-0.2,-1.04,-0.55,-0.41,-0.72,-1.32,-1.46,0.94,1.82,0.75,1.12,1.72,-0.17,-0.86,0.42,0.48,0.85,0.79,0.63,-0.35,-1.74,-3.28,-4.98,-5.43,-6,-5.84,-5.53,-5.4,-5.22,-5.46,-5.62,-5.16,-4.46,-4.3,-4.03,-4.58,-3.92,-4.86,-5.98,-6.01,-4.64,-3.7,-2.91,-3.71,-4.73,-5.14,-5.86,-6.6,-6.54,-6.73,-7.19,-6.83,-6.67,-6.47,-6.14,-5.87,-5.75,-5.91,-6.13,-6.56,-7.13,-7.86,-7.59,-6.86,-5.99,-5.48,-5,-5.19,-4.86,-4.58,-4.29,-4.04,-4.32,-4.87,-5.01,-5.63,-5.76,-6.12,-5.7,-5.25,-5.35,-5.03,-5.22,-5.19,-4.89,-4.54,-4.11,-4.26,-4.42,-2.6,-2.37,-1.59,-1.69,-1.36,-0.55,-2.13,-1.88,-1.2,-0.33,1.43,2.54,3.32,3.24,0.18,-3.68,-4.68,-4.49,-4.39,-4.2,-3.75,-3.3,-2.95,-3.34,-4.1,-4.55,-4.15,-4.08,-4.04,-4.28,-4.6,-3.8,-2.38,-1.65,-0.45,0.69,1.75,3.17,4.71,4.04,5.17,6.15,4.23,4.41,4.22,4.22,4.36,4.27,4.75,5.6,5.97,5.58,5.66,5.66,5.46,4.3,3.67,4.32,3.04,1.29,-0.47,-2.02,-3.11,-3.4,-4.32,-5.77,-6.4,-6.72,-7.24,-5.57,-4.65,-8.76,-6.63,-4.09,-2.41,-5.79,-5.94,-6.12,-5.46,-7.1,-8.39,-7.87,-7.16,-4.99,-1.95,-2.47,-4.02,-7.46,-6.28,-3.02,-9.58,-8.22,-7.68,-9.77,-9.73,-8.31,-8.24,-9.45,-9.94,-9.2,-9.01,-8.82,-8.46,-8.2,-8.17,-8,-8.07,-7.97,-8,-8.43,-8.58,-8.74,-8.48,-8.44,-8.14,-7.58,-7.21,-6.99,-6.99,-6.9,-6.45,-5.98,-5.36,-4.92,-3.96,-3.7,-3.07,-3.04,-2.36,-1.61,-1.2,-0.88,-0.22,0.12,-0.15,0.19,0.64,1.31,1.97,0.59,0.58,2.68,4.58,4.12,1.49,0.91,1.99,0.11,-0.61,-0.4,0.9,0.01,-0.47,0.97,-0.85,-0.35,-0.75,-0.68,0.48,-0.74,0.52,0.53,1.11,-0.27,0.52,0.42,1.03,2.23,1.1,1.96,1.6,1.13,1.71,2.86,0.83,-0.88,1.05,0.83,0.12,0.07,0.14,1.03,1.38,1.24,1.87,0.17,0.17,0.64,0.86,1.38,-0.9,-0.65,-1.69,0.49,-0.43,0.77,0.96,1.58,2.11,2.27,-1.79,1.68,6.05,2.29,5.52,4.55,7.46,8.29,5.31,4.63,7.11,6.69,6.7,6.76,7.02,7.65,8.29,9.05,9.46,9.24,9.26,9.45,8.92,8.9,9.27,9.67,9.19,8.86,9.61,9.95,9.21,9.13,8.65,7.16,2.34,1.99,2.54,3.51,5.48,9.8,9.43,8.25,7.31,5.3,5.46,6.1,6.38,6.55,6.83,7.12,6.43,6.04,6.13,6.81,6.84,6.26,4.79,0.73,5.18,6.77,6.81,6.76,7.32,4.6,2.45,5.58,6.17,5.9,4.73,2.88,1.31,0.39,-0.53,-0.52,0.53,0.73,-1.28,0.18,1.28,2.04,3.02,0.7,0.94,-0.28,-0.68,-0.08,-0.48,0.33,0.69,0.54,-0.29,-0.64,-2.48,-4.43,-5.45,-5.52,-5.1,-5,-4.85,-4.71,-5.25,-5.08,-4.73,-4.43,-4.57,-3.46,-2.75,-2.87,-2.03,-2.69,-2.45,-2.53,-2.52,-2.2,-2.29,-2.14,-3.14,-3.34,-5.78,-6.24,-6.61,-6.69,-6.49,-5.61,-5.22,-5.39,-4.67,-4.8,-4.37,-4.71,-6.61,-7.67,-7.89,-5.77,-6.5,-5.69,-5.75,-4.75,-5.03,-5.04,-4.94,-4.45,-4.62,-4.76,-4.87,-4.78,-5.02,-5.16,-4.92,-4.63,-4.39,-4.61,-4.59,-4.68,-4.17,-3.67,-2.95,-2.04,-1.83,-1.91,-2.08,-2.43,-1.69,-1.79,-1.37,-0.62,-1.84,-1.78,-0.99,-0.06,1.1,1.84,2.65,3.13,2.5,0.63,-1.04,-1.67,-1.92,-2.71,-3,-2.23,-3.41,-4.13,-3.85,-1.36,-0.96,-1.34,-1.24,-1.85,-5.04,-4.83,-3.85,-2.83,-1.93,-0.9,0.61,2.3,2.48,3.66,4.65,3.94,3.9,3.9,3.94,3.51,3.7,4.1,3.94,5.25,5.34,5.9,5.77,6.32,5.78,5.1,4.02,4.94,5.5,4.37,1.94,-1.5,-2.73,-3.66,-4.6,-4.94,-6.37,-7.91,-7.83,-5.69,-3.98,-1.64,1.86,-0.1,-1.1,-1.08,-1.24,-2.53,-3.36,-1.16,-0.76,-0.66,0.35,1.9,2.86,-1.14,1.2,0.43,-3.76,-0.73,-0.53,-1.74,-1.66,-4.23,-3.88,-1.51,-5.33,-7.85,-8.54,-8.6,-8.41,-8.36,-8.15,-8.29,-8.14,-7.98,-7.88,-7.86,-8.1,-8.35,-8.5,-8.49,-8.54,-8.47,-8.19,-7.68,-7.26,-6.84,-6.96,-6.92,-6.52,-5.88,-5.51,-4.81,-3.88,-2.87,-2.75,-2.18,-1.9,-1.5,-0.95,-0.58,-0.51,-0.25,-0.11,0.55,1.11,1.06,1.39,0.44,2.67,3.03,3.58,5.04,2.64,1.09,0.9,1.63,0.3,0.24,1.41,0.14,0.73,1.29,0.02,0.67,-0.58,0.06,0.46,-0.73,-0.06,-0.04,1,1.1,0.75,0.17,1.05,1.87,2.63,1.04,1.86,0.51,1.94,1.72,1.29,-1.14,1.29,-0.15,-0.12,0,-0.28,-0.18,1.25,1.76,1.79,1.53,0.16,-0.17,0.48,1.01,0.34,-1.32,-1.95,0.07,0.72,-0.22,1.54,2.06,2.42,-2.36,0.01,4.55,7.96,4.82,5.91,5.9,4.94,5.8,5.5,6.8,6.84,6.39,6.31,6.39,7.03,7.6,8.24,8.87,9.14,8.86,8.61,8.24,7.73,7.87,7.77,8.48,8.21,7.61,8.38,9.59,9.39,9.92,9,7.71,6,1.81,5.65,7.33,4.93,7.09,10.39,8.81,5.6,5.64,5.99,6.21,6.51,6.36,6.49,6.39,6.2,6.21,6.43,7.11,7.3,6.76,4.28,0.26,2.2,3.66,4.76,5.56,6.17,4.01,5.35,5.13,5.77,5.6,4.17,3.06,1.65,0.3,-0.78,-0.24,-1.05,-1.56,-0.67,-0.12,0.61,1.53,2.4,1.16,1.32,0.49,0.36,0.49,-0.84,-0.61,-0.3,0.22,0,0.6,-0.65,-4.08,-5.08,-5.15,-5.36,-4.15,-3.97,-3.74,-4.63,-4.09,-3.64,-3.82,-4.15,-2.94,-1.96,-0.75,0.18,0.36,0.33,-0.95,-1.72,-1.64,-1.33,-1.36,-1.22,-0.54,0.13,-3.44,-5.06,-6.9,-6.25,-4.78,-3.39,-3.49,-3.7,-3.53,-3.06,-3.31,-4.86,-5.32,-6.4,-5.17,-6.2,-5.84,-5.62,-5.09,-4.67,-4.97,-4.97,-4.76,-4.54,-4.37,-4.45,-4.19,-4.27,-4.09,-3.92,-3.86,-3.43,-3.65,-4.1,-3.88,-3.27,-3.01,-1.95,-1.22,-0.14,1.89,-0.05,-2.45,-2.31,-1.25,-1.12,-0.87,-1.09,-0.96,-1.11,-0.25,0.31,0.83,1.51,2.19,2.25,0.92,-0.21,0.15,1.08,1.3,2.33,1.98,2.81,4.94,6.02,1.98,3.44,1.74,-0.25,0.45,-2.21,-3.57,-3.59,-3.28,-3,-1.65,-0.24,1.24,1.84,1.95,2.12,3.01,3.34,3.36,3.46,3.45,3.11,3.59,3.06,4.04,4.91,5.66,5.59,5.86,4.87,5.12,5.04,5.91,6.66,6.5,5.05,2.5,-0.61,-1.87,-2.92,-4.72,-6.18,-6.3,-4.35,-1.49,0.59,1.9,3.39,3.48,1.21,-0.29,-0.01,3.33,0.86,-0.4,1.27,3.59,1.37,2.18,0.96,-0.35,-1.68,-0.56,-0.96,-0.21,-1.51,-2.24,-2.17,-2.39,-5.34,-3.39,-1.56,-2.05,-8.19,-7.47,-7.25,-7.84,-7.79,-7.99,-7.93,-7.86,-7.89,-7.62,-7.9,-8.4,-8.29,-8.33,-8.38,-8.23,-7.91,-7.41,-6.94,-6.71,-6.54,-6.39,-6.12,-5.5,-4.87,-4.59,-3.66,-2.8,-2.08,-1.55,-1.49,-1.6,-1.28,-1,-0.69,-0.98,0,0.19,0.5,0.74,2.06,4.19,4.69,3.25,3.27,4.01,4.44,2.08,0.97,1.21,0.55,0.16,0.78,0.67,0.69,0,-0.55,0.73,0.31,0.53,0.17,-0.38,-0.1,-0.99,-0.05,0.98,1.36,0.89,1.25,1.26,1.41,0.83,1.78,0.89,-0.02,0.78,1.12,-0.26,-0.17,-0.26,-0.81,-0.82,-0.58,0.56,0.43,0.99,1.84,1.61,1.08,0.81,-0.06,0.28,1.96,-1.55,-2.55,-1.86,0.26,0,1.23,1.6,1.05,-0.3,2.11,3.66,5.19,3.65,3.82,3.34,5.5,5.99,6.55,6.5,6.17,6.07,6.14,6.34,7.09,7.86,7.93,8.78,8.59,8.29,7.45,7.4,7.27,7.37,6.3,6.65,6.64,6.4,6.91,8.29,9.47,9.87,9.18,8.16,7.81,7.22,10.59,11.06,3.42,5.03,5.14,3.28,6.46,6.71,6.45,6.3,6.28,6.02,5.9,5.8,5.84,6.16,6.57,7.9,8.48,8.45,6.92,1.85,1.77,4.74,4.48,5.09,4.51,4.95,4.65,5.25,5.64,4.75,4.01,2.89,2.11,0.68,-0.14,-0.09,-2.13,-2.83,-1.87,-1.08,-0.46,1.28,0.12,0.15,1.05,0.72,0.66,0.01,-1.54,-1.67,-1.24,-0.49,-0.1,1.12,0.68,-2.42,-4.35,-5.31,-4.99,-4.3,-3.91,-3.3,-3.03,-2.43,-1.75,-1.29,-0.3,0.36,-0.94,0.8,1.49,1.21,1.52,-1.1,-1.05,-0.83,-0.73,-0.28,0.13,0.6,0.74,-0.09,0.28,1.06,-1.78,-2.53,-1.75,-1.64,-1.6,-2.85,-2.38,-1.27,-0.17,-1.21,-4.04,-4.86,-5.06,-5.3,-5.14,-4.5,-4.23,-4.62,-4.24,-4.37,-4.78,-4.04,-3.06,-4.03,-4.12,-3.5,-3.25,-3.39,-3.19,-2.97,-3.32,-3.29,-2.9,-2.61,-2.11,-0.26,2.62,3.85,1.04,-2.01,-2.25,-1.15,-0.44,-0.96,-0.49,0.09,1,1.14,0.67,0.44,1.63,2.4,1.66,0.36,-0.36,-0.35,0.14,-0.43,4.78,5.21,4.52,6.34,6.47,3.92,2.12,1.43,-0.5,-0.37,-0.93,-1.73,-1.81,-1.78,-1.67,-1.09,-0.65,-0.69,-0.48,0.42,1.2,2.08,2.43,2.6,2.69,2.88,2.58,2.5,2.32,3.19,4.4,4.62,4.44,4.61,4.12,4.07,5.06,5.56,5.64,5.77,6.34,6.29,4.36,3.74,3.51,2.65,-0.39,-0.07,0.7,1.3,1.91,2.12,3.46,4.02,3.24,1.72,-0.24,-0.01,-2.17,1.16,0.48,0.42,1.17,0.77,0.84,-1.6,-0.6,-0.64,-2.04,0.12,-1.49,-1.46,-4.62,-7.16,-4.7,-3.02,-1.97,-1.24,-0.96,-5.16,-5.69,-6.47,-7.25,-6.64,-7.08,-7.49,-7.75,-7.75,-8.03,-8.12,-8.23,-8,-8.06,-8.06,-7.66,-7.03,-6.35,-5.88,-5.6,-5.39,-5.12,-4.78,-4.21,-3.62,-2.87,-1.93,-1.32,-1.16,-1.03,-0.87,-1.14,-1.93,-1.39,-1.24,-0.86,-0.33,0.15,1.14,2.43,4.07,3.62,3.32,4.09,4.1,4.54,2.58,1.12,0.96,1.28,1.08,0.38,-0.02,-0.05,-0.62,0.13,0.58,0.72,0.76,-0.62,1.05,0.85,0.3,-0.24,0.64,1.39,1.43,1.33,0.41,-0.05,0.41,0.89,0.05,-0.6,0.11,0.94,0.28,0.41,-0.58,-0.6,-1.19,0.13,0.66,0.9,0.97,1.09,1.08,1.16,0.84,1.09,1.03,1.25,-0.38,-2.32,-2.27,-0.01,-0.14,0.64,0.33,0.58,5.46,5.79,1.27,2.98,3.16,3.32,4.25,5.07,5.6,6.14,5.93,5.93,6.05,6.04,6.39,7.58,7.66,7.7,8.22,8.18,7.72,6.3,6.53,6.34,6.44,5.9,5.65,5.54,5.84,6.36,6.86,8.45,8.9,9.05,8.17,8.32,8.8,9.45,9.72,0.17,2.91,4.88,8.6,7.9,6.94,6.33,5.86,5.38,5.09,5.18,5.35,5.2,5.23,5.94,8.75,10.24,10.87,8.72,5.61,0.54,2.35,4.03,5.61,5.65,3.88,3.41,5.27,5.33,4.83,4.62,3.39,1.66,0.73,0.37,1.03,0.14,-1.41,-0.44,-1.26,-2.59,-1.08,-0.58,-0.95,-1.16,0.33,0.67,1,-2.03,-2.33,-2.17,-1.91,-1.08,0.36,-0.42,-2.55,-3.58,-3.92,-4.36,-3.75,-3.26,-2.82,-2.28,-1.17,-0.63,-0.77,0.34,1.21,0.66,0.75,1.7,1.06,0.26,-0.57,-0.3,-0.5,-0.44,-0.35,0.24,0.82,0.98,1.81,1.85,2.23,0.67,-1.17,-0.23,0.19,-0.07,-0.52,-0.12,0.58,0.56,0.23,-2.33,-3.3,-4.47,-4.44,-4.18,-3.93,-3.54,-4.1,-3.81,-3.86,-3.86,-3.73,-2.83,-3.77,-3.42,-2.8,-3.35,-3.53,-3.01,-2.73,-2.48,-2.11,-1.37,-0.38,1.2,2.22,2.71,2.81,0.37,-1.62,-1.8,-1.34,-0.46,-1.34,-0.61,0.01,0.85,1.18,0.81,0.78,1.11,1,0.82,-0.24,-0.7,-1.28,-1.51,-1.32,2.14,1.22,1.41,6.03,5.72,4.17,1.24,0.57,-0.05,-0.35,-0.8,-1.43,-1.93,-3.1,-2.63,-2.3,-2.67,-2.09,-1.19,-0.53,0.38,1.04,1.13,1.15,1.44,1.29,0.75,0.41,0.85,2.64,3.51,3.17,2.83,2.6,3.08,3.86,4.57,4.53,4.98,4.97,5.36,5.73,5.5,4.15,3.63,4.41,3.88,3.28,4.23,3.54,3.1,3.11,4.38,4.59,4.6,4,3.63,2.82,4.17,3.6,2.88,0.52,0.41,0.86,-0.46,-0.47,1.5,0.04,-0.34,-0.13,-0.96,-0.35,-1.45,-1.61,-1.13,-3.27,-1.77,-1.73,-1,-1.08,-5.38,-6.38,-6.72,-6.49,-6.46,-6.23,-6.8,-7.62,-7.95,-7.99,-7.74,-7.72,-7.77,-7.72,-7.13,-6.33,-5.76,-5.33,-4.99,-4.55,-4.08,-3.58,-3.63,-3.49,-2.73,-1.67,-0.89,-0.31,-0.82,-1.44,-1.51,-2.38,-2.01,-1.86,-1.37,-0.91,-0.26,1.44,2.49,2.36,2.04,3.03,4.92,3.85,4.36,4.48,3.3,1.06,1.01,0.81,0.85,0.51,0.19,-0.2,0.03,0.2,0.47,0.75,0.85,1.1,2.43,3.49,4,1.44,0.89,1.77,1.24,-0.55,-0.27,0.72,0.39,0.43,-0.19,0.73,1.33,1.43,1.16,0.61,-0.3,-1.28,-0.41,1.54,1.33,0.79,0.23,0.48,1.07,0.72,0.93,1.26,1.73,0.66,-2.37,-0.53,-1.16,-0.23,-0.84,1.05,2.55,2.93,2.74,2.39,1.79,2.38,3.61,4.3,4.76,6.09,5.68,5.94,5.89,6.04,5.87,6.65,7.14,7.41,7.37,7.8,7.18,6.05,6.27,5.6,5.51,5.32,5.04,4.79,4.92,5,5.59,6.3,7.24,7.5,8.43,7.83,7.99,8.77,8.9,8.82,7.17,6.3,10.07,8.9,7.66,6.64,5.76,5.06,4.54,4.61,4.53,4.95,4.51,4.82,6.6,8.43,8.33,3.32,2.86,2.43,-1.86,-0.2,0.81,1.89,1.36,1.37,2.56,4.89,5.36,5.22,4.14,3.35,2.53,1.34,0.83,1.37,0.22,-0.07,1.24,0.95,-3.36,-1.36,-2.83,-2.88,-3.04,-0.99,-0.24,-1.91,-1.8,-2.69,-2.29,-2.54,-2.03,-0.65,-0.08,-1.27,-3.15,-2.81,-3.19,-2.91,-2.7,-2.07,-1.43,-0.62,0.14,-0.52,0.21,0.85,0.95,1.27,0.99,0.84,0.29,0.12,-0.42,-0.9,-0.04,-0.13,-0.27,0.79,0.59,1.85,1.7,1,0.45,-0.87,-0.46,0.92,0.92,0.65,0.69,2.12,1.98,-1.16,-2.06,-3.42,-3.73,-4.44,-4.56,-3.95,-4.02,-3.5,-3.98,-3.96,-4.12,-4.06,-3.07,-3.44,-3.15,-2.42,-3.36,-3.31,-2.79,-2.43,-1.84,-2.1,-0.56,-0.52,0.48,1.8,0.25,0.05,-0.93,-1.69,-2.29,-1.66,-1.27,-1.09,-0.85,0.04,0.66,0.22,-0.67,-0.44,0.38,-0.62,-1.33,-1.15,-1.44,-2.73,-2.37,-2.82,1.62,-0.09,1.59,2.76,4.67,3.28,1.49,-0.06,-0.74,-1.61,-1.74,-1.63,-2.58,-3.68,-3.81,-3.98,-3.44,-2.8,-2.24,-1.27,-0.28,-0.32,-0.32,-0.41,-0.26,-0.34,-1.83,-0.91,0.32,1.55,2.23,1.44,0.76,1.24,2.28,2.82,3.75,2.65,3.65,4.2,4.16,4.17,4.41,2.85,2.73,3.12,3.12,3.38,2.81,2.82,3.68,3.53,3.95,3.68,4.11,4.61,4.72,4.69,4.55,4.48,3.99,1.35,-0.01,-0.18,-0.82,-1.05,-0.73,-0.6,0.51,1.04,-0.29,0.49,-0.7,-1.1,-2.03,-1.64,-2.18,-1.57,-1.35,-0.95,-0.57,-3.13,-4.81,-4.71,-5.17,-6.1,-6.34,-6.85,-7.72,-7.83,-7.58,-7.67,-7.63,-7.25,-6.82,-6.33,-5.91,-5.55,-4.86,-3.82,-3.24,-3.22,-2.87,-2.14,-1.43,-0.96,-0.72,-0.44,-0.48,-0.67,-0.61,-1.02,-1.26,-1.22,-1.76,-1.46,-0.78,-0.24,-0.28,0.13,0.89,2.11,3.54,3.89,3.84,3.6,3.41,2.54,0.56,0.08,0.03,0.02,0.05,0.14,-0.12,-0.13,0.27,-0.03,0.4,1.18,1.8,2.33,2.96,3.24,0.75,1.5,0.76,-0.38,-0.12,1.17,1.29,-0.04,0.73,1.01,1.09,1.66,1.34,0.85,1.12,-0.62,-1,1.15,0.82,0.71,-0.06,0,0.95,0.5,0.65,1.54,0.71,0.68,-0.81,-1.83,-3.27,-1.51,-1.74,0.27,1.69,1.43,0.13,2.17,2.79,2.07,3.88,3.55,4.2,5.44,5.91,5.58,5.8,5.45,5.91,6.35,6.91,6.79,7.27,6.53,6.42,5.94,4.66,4.58,4.57,4.45,4.1,3.93,5.14,4.8,5.13,5.4,5.75,6.25,7.29,7.13,7.87,8.39,8.27,8.22,7.64,8.03,8.39,7.82,6.84,5.81,5.51,3.99,4.08,4.07,3.87,3.96,3.68,5.51,7.15,2.53,1.15,1.3,2.44,1.23,-0.71,-0.6,0.68,0.73,-0.8,-0.08,2.18,4.22,5.05,5.12,4.11,3.97,2.6,1.02,-0.07,-0.41,-0.57,0.42,0.22,-0.04,-2.51,-3.76,-3.31,-3.33,-3.83,-3.5,-2.81,-2.67,-2.65,-2.39,-2.1,-2.42,-2.18,-1.26,-0.98,-1.89,-2.1,-2.59,-2.94,-2.6,-2.11,-1.75,-1.21,-0.93,-0.61,-0.18,-0.37,0.25,0.55,0.43,0.79,0.63,-0.02,0.94,-0.71,-0.96,-0.6,0.03,-0.1,0.05,0.3,1.12,0.34,0.51,0.77,-1.09,-0.47,0.36,0.79,1.28,0.99,0.92,0.64,-0.63,-2.74,-2.85,-4.34,-3.91,-4.54,-4.51,-4.37,-3.14,-3.94,-4.27,-3.44,-4.16,-3.58,-3.48,-2.75,-2.79,-3.11,-3.55,-2.85,-2.78,-1.73,-2.11,-2.17,-1.37,-0.75,-0.41,-0.83,-1.67,-1.89,-2.67,-2.77,-2.69,-1.85,-1.48,-1.59,-0.69,-0.48,-1.34,-1.71,-1.52,-1.76,-1.68,-1.76,-1.96,-2.64,-3.13,-2.32,-1.8,-1.23,-0.89,-0.46,0.46,-0.42,-0.5,-0.5,0.07,-1.41,-2.47,-2.61,-2.55,-3.44,-4.37,-4.49,-4.25,-4.12,-3.48,-2.52,-1.74,-1.37,-1.27,-1.04,-1.62,-2.26,-2.01,-2.57,-1.86,-0.7,-0.28,0.04,-0.7,-0.27,0.9,0.89,1.71,2.24,2.21,2.42,3.06,2.42,2.2,2.06,2.45,2.22,2.94,3.73,2.61,1.49,2.2,3.03,3.9,4.76,4.29,4.44,3.78,4.51,5.1,5.1,5.09,5.13,0.81,1,-0.19,-1.06,-0.55,-2.07,-0.85,1.51,1.08,0.08,-0.3,0.39,-0.95,-1.39,-0.81,-1.24,-1.29,-1.66,0.46,-0.58,-1.03,-0.78,-1.46,-1.22,-0.92,-4.94,-5.52,-6.26,-6.79,-6.72,-6.73,-6.82,-6.81,-6.26,-5.2,-4.04,-3.13,-2.39,-1.85,-1.53,-1.88,-2.16,-1.74,-0.64,-1.26,-1.4,-1.44,-1.38,-1.99,-1.35,-0.69,0.06,0.18,-1.82,-1.8,-2.05,-2.94,-2.51,-0.83,0.19,0.64,2.17,3.42,2.54,2.34,2.19,1.26,-0.36,-0.97,-0.24,0,0.01,-0.19,-0.62,-0.21,0.03,0.21,0.42,1.02,0.92,1.31,2.04,3.05,3.64,4.54,3.85,2.82,-0.84,0.35,0.53,0.64,0.59,0.91,0.88,1.19,1,-0.49,0.11,-0.01,0.18,0.61,0.79,-0.28,-0.27,0.06,0.55,0.44,0.07,0.91,-0.53,0.06,0.64,1.26,-3.96,-6.19,-5.18,-0.97,0.01,-0.05,0.12,0.78,2.23,3.41,3.79,3.19,4.74,5.02,5.2,4.95,5.14,5.01,5.57,5.87,6.22,6.63,6.52,5.45,5.19,4.38,4.09,3.62,3.41,3.14,2.96,2.98,2.92,3.44,4.26,4.69,5.29,5.7,6.43,6.68,6.88,7.23,7.28,7.31,7,7.3,7.17,6.46,5.71,5.18,4.67,3.76,3.52,3.54,3.07,3.3,3.76,4.62,5.45,2.51,-0.5,0.35,1.05,2.55,1.16,-0.79,0.28,0.61,0.61,-0.26,2.92,4.79,4.96,5.35,4.72,4.31,1.5,-0.62,-0.81,-0.41,-0.05,0.86,2.23,-2.4,-3.01,-4.03,-3.99,-4.35,-4.27,-3.19,-3.41,-3.69,-3.58,-2.69,-2.67,-2.69,-2.28,-1.66,-1.29,-1.48,-2.16,-2.93,-2.93,-2.39,-1.99,-1.67,-0.79,-0.3,0.45,-0.61,-0.66,-0.58,-0.34,-0.2,-0.1,0.09,-0.04,0.6,-0.78,-0.58,-1.05,-0.22,-0.13,-1.12,-0.1,-0.04,-0.13,0.13,0.44,-0.94,-0.44,-0.78,0.43,1.13,0.84,0.68,0.17,-1.38,-2.03,-3.23,-4.53,-3.91,-5.1,-4.84,-3.69,-3.24,-4.06,-4.01,-2.89,-2.92,-3.45,-3.61,-3.25,-3.42,-2.75,-2.69,-2.05,-2.63,-1.13,-1.13,-2.32,-1.64,-0.95,-2.65,-2.38,-1.86,-2.85,-2.62,-2.5,-2.7,-2.2,-2.04,-2.02,-1.9,-2.26,-3.12,-2.95,-2.97,-1.59,-2.63,-2.52,-2.3,-3.18,-3.08,-2.66,-2.32,-1.98,-2.47,-1.92,-2.52,-2.02,-1.5,-1.57,-1.72,-2.54,-2.91,-3.3,-3.6,-4.13,-4.85,-4.63,-4.66,-4.48,-3.5,-2.46,-2.32,-2.18,-2.37,-3.03,-3.57,-2.52,-3.22,-2.84,-2.86,-2.34,-1.67,-1.85,-1.76,-1.12,-0.93,0.31,0.88,0.75,0.41,0.82,1.17,1.09,0.95,1.35,1.81,1.74,2.62,3.27,1.79,1.04,1.82,2.78,3.54,4.05,4.3,4.62,4.28,4.64,4.97,5.15,5.28,5.32,0.63,-0.11,0.92,0.57,-1.28,-0.85,0.27,0.38,0.72,0.79,0.75,-0.39,-0.69,-0.18,-0.92,-0.13,-0.11,-3.27,-1.43,-1.16,-1.09,-0.8,-0.93,-1.08,-1.15,-0.76,-4.34,-5.49,-6.3,-5.51,-4.89,-5.07,-4.65,-4.18,-3.65,-3.25,-3.39,-2.71,-2.31,-2.02,-3,-3.58,-3.14,-2.5,-2.4,-3.29,-2.78,-2.46,-3.06,-1.85,-0.64,-0.5,-0.18,-1.81,-2.9,-3.69,-4.26,-3,-1.38,-1.19,-0.92,0.97,1.16,1.1,1.2,0.26,-0.69,-0.81,-1.15,-1.29,-1.42,-1.27,-1,-0.72,-0.44,-0.18,0.06,0.35,0.37,0.45,0.56,0.77,1.87,3.8,3.44,3.38,4.73,0.31,0.59,0.56,0.44,0.52,0.87,1.04,0.67,0.45,0.21,0.64,0.23,0.18,0.2,-0.19,-0.67,-0.35,-0.25,-0.01,-0.05,-0.24,1.41,-0.26,-0.38,0.52,1.4,-4.89,-6.8,-6.49,-3.53,-1.39,-1.27,0.13,0.62,2.71,3.89,2.54,4.23,4.27,4.63,4.27,4.34,4.56,4.46,4.81,5.02,5.33,6.18,5.2,4.26,4.33,3.49,2.41,1.96,1.59,1.65,1.87,1.66,1.45,1.9,2.93,3.92,4.74,4.58,5.08,5.98,6.27,6.22,6.33,5.78,6.19,6.45,5.72,5.69,5.07,4.91,3.47,3.86,3.91,3.21,2.55,1.88,1.34,1.88,-0.78,1.29,2.8,1.67,-0.69,0.99,2.29,-0.06,-0.25,0.03,-0.7,1.95,5.25,6.18,7.63,5.77,5.25,1.77,-0.55,-0.62,-0.44,-0.18,0.29,0.74,2.8,-3.18,-4.14,-4.38,-4.35,-4.99,-4.72,-3.62,-2.44,-2.33,-2.6,-3.47,-2.86,-2.48,-2.07,-1.52,-2.66,-1.92,-1.75,-2.32,-2.95,-2.5,-2.42,-1.89,-1.54,-0.94,-0.31,-0.19,-1.06,-1.16,-0.75,-0.64,-0.3,-0.23,-0.17,-0.57,-0.89,-0.6,-0.94,-0.37,-0.61,-1.5,-1.29,-0.42,0.04,0.4,-0.51,-0.13,-0.23,-0.76,0.13,0.37,0.28,0.18,-0.94,-1.15,-2.7,-3.95,-4.13,-4.86,-5,-4.52,-4.51,-4.74,-3.98,-3.62,-3.77,-3.94,-3.98,-4.03,-3.77,-3.93,-3.73,-3.5,-3.54,-3.02,-2.63,-2.54,-2.41,-2.44,-2.17,-2.75,-2.79,-2.97,-3.05,-2.3,-2.73,-3.29,-2.82,-3.92,-3.56,-3.23,-3.72,-3.95,-3.89,-3.39,-2.28,-2.68,-2.36,-2.28,-3.33,-3.62,-1.94,-2.41,-2.84,-3.73,-3.17,-3.34,-3.12,-3,-2.65,-2.93,-3.84,-3.61,-3.76,-4.48,-4.98,-5.26,-4.73,-4.52,-4.58,-3.27,-2.99,-3.29,-3.16,-4.48,-4.65,-4.28,-2.55,-3.96,-3.9,-3.8,-3.3,-3.02,-3.03,-2.9,-2.62,-1.73,-0.88,-0.87,-0.89,-0.93,-0.52,0.04,-0.23,-0.13,0.41,1.06,1.2,1.95,2.58,1.42,0.58,1.39,2.44,3.14,3.47,3.77,3.77,4.46,4.64,4.78,4.85,4.7,5.89,1.25,0.18,-1.39,-0.17,0.15,0.41,0.47,0.2,0.52,0.49,-0.31,-0.11,-0.24,-0.98,-0.77,-0.33,-0.5,-1.01,-1.55,-0.81,-0.52,-0.97,-1.35,-0.93,-1.33,-1.02,-3.75,-8,-7.7,-7.45,-6.97,-6.71,-5.9,-5.16,-5.23,-4.28,-3.9,-3.71,-2.9,-3.15,-5.12,-4.34,-3.97,-3.95,-4.41,-4.77,-4.7,-4.71,-3.83,-2.95,-1.6,-1.38,-1.02,-1.86,-3.26,-5.42,-3.73,-3.7,-2.57,-2.29,-1.97,-1.28,-0.22,0.17,-0.45,-1.49,-2.25,-2.18,-1.53,-2,-2.08,-2.15,-1.42,-0.9,-0.46,-0.41,-0.04,-0.09,-0.77,-0.44,0.11,0.34,1.03,3.05,3.33,3.28,2.38,0.69,0.8,0.76,1,0.37,0.93,0.59,0.67,0.66,1.21,-0.32,-0.24,-0.06,-0.41,0.06,-0.73,-0.48,-0.41,-0.51,-0.2,-1.04,1.69,-0.21,0.15,-0.26,1,2.06,-3.96,-6.13,-3.71,-2.7,-1.01,0.31,1.47,2.14,2.27,3.19,3.76,3.67,3.74,3.68,3.96,3.77,3.73,3.96,3.82,4.62,5.55,3.57,3.29,2.57,2.33,1.07,0.6,-0.11,0.91,0.56,0.48,1.38,1.16,1.73,2.52,3.39,3.59,4.31,5.28,5.16,5.53,6.07,5.15,5.05,5.11,5.39,5,4.62,4.4,2.81,2.71,2.59,2.44,1.93,1.91,0.88,0.49,-1.19,0.82,3.17,0.01,-0.63,0.57,0.3,0.41,-0.9,-0.12,0.87,3.39,4.04,5.19,5.48,3.95,3.32,0.59,-0.4,-0.29,-0.07,-0.32,0.34,0.57,1.83,-2.64,-3.78,-3.4,-2.53,-1.96,-1.6,-3.43,-1.9,-0.96,-2.01,-3.33,-3.4,-3.1,-1.7,-1.54,-2.1,-2.35,-1.95,-2.09,-2.26,-2.29,-2.33,-2.09,-2.06,-1.67,-1.18,-0.81,-0.68,-1.51,-1.32,-1.1,-0.74,-0.36,-0.59,-0.79,-0.96,-1,-0.38,-0.21,-0.01,-1.79,-1.84,-0.9,-1.4,-0.51,-1.06,0.02,-0.44,-0.23,-0.55,-0.09,-1.03,-0.97,-1.65,-2.11,-3.12,-3.72,-4.68,-4.54,-4.34,-4.89,-5.67,-5.04,-4.22,-3.82,-4.15,-4.54,-4.8,-4.4,-3.71,-3.52,-3.57,-3.93,-3.69,-3.52,-3.18,-2.96,-3.15,-2.92,-3.18,-3.46,-3.17,-3.18,-2.8,-1.93,-3.48,-3.54,-4.24,-4.68,-4.53,-4.14,-4.25,-4.39,-4.04,-3.01,-2.32,-2.43,-1.7,-2.93,-3.08,-4.29,-3.59,-3.15,-4.01,-4.39,-4.1,-4.07,-4.27,-4.03,-3.47,-3.89,-4.76,-4.12,-4.07,-5.25,-6.1,-5.53,-4.69,-4.57,-4.25,-3.44,-3.9,-3.99,-5.37,-5.76,-5.48,-4.4,-3.79,-4.95,-4.49,-4.32,-4.51,-4.21,-4.38,-3.73,-3.11,-2.61,-1.72,-1.81,-2.45,-2.3,-1.18,-0.94,-1.09,-0.93,-0.53,-0.06,0.6,1.2,2.6,1.29,0.15,0.95,1.81,2.78,2.93,3.23,3.41,4.18,4.24,4.39,5.45,5.96,1.14,0.41,0.29,-0.08,-0.43,-0.38,-0.02,0.75,0.54,0.05,-0.48,-0.03,-0.58,-0.38,-0.83,-0.5,-0.5,0.03,-0.76,-0.94,-0.6,-0.49,-1.96,-1.16,-0.89,-1.33,-1.33,-0.49,-7.05,-8,-7.74,-7.73,-7.6,-6.72,-5.85,-5.48,-4.99,-4.76,-4.34,-4.01,-4.73,-5.78,-5.08,-4.94,-4.88,-5.65,-5.87,-5.77,-5.59,-5.28,-4.81,-3.68,-2.2,-1.36,-2.71,-4.66,-4.77,-3.85,-4.01,-3.72,-3.47,-3.2,-2.67,-2.01,-1.2,-2.01,-2.9,-3.63,-3.59,-2.2,-2.55,-2.26,-2.6,-1.23,-1.36,-0.85,-0.66,-0.26,-0.81,-1.95,-1.35,-0.7,-0.17,1.4,2.06,1.7,1.87,1.73,0.59,0.62,0.6,0.78,0.73,1.07,0.44,0.44,0.88,0.55,-0.13,-0.23,-0.39,-0.31,-0.14,-0.25,-0.54,0.07,-0.77,-0.19,0.66,1.06,0.79,-0.12,-1.06,-0.18,1.95,0.39,-3.55,-3.06,-1.62,-0.62,1.05,1.23,1.9,1.69,2.28,2.64,2.7,3.05,3.11,3.29,2.76,2.9,2.89,2.92,3.73,4.51,2.2,2.04,1.5,0.4,0.28,-1.25,-1.67,-0.3,-0.14,-0.62,-0.19,0.23,0.34,1.03,1.74,1.93,2.95,3.79,4.17,4.6,4.44,4.82,4.24,4.52,4.7,4.43,4.85,4.47,2.43,1.85,1.72,2.3,2.07,1.29,-0.33,-2.3,-3.08,-0.01,4.32,1.29,-0.58,-1.43,0.11,-0.24,-0.27,1.53,2.76,3.81,5.68,4.8,4.68,0.01,0.31,0.13,-0.25,-0.13,-0.01,0.1,0.09,0.64,0.87,-1.08,-1.46,-0.32,-0.5,-0.12,-1.23,1.11,-0.82,-1.92,-0.74,-2.68,-2.81,-2.93,-2.51,-3.49,-3.05,-2.69,-2.48,-2.08,-2.46,-2.24,-2.12,-2.23,-2.3,-1.94,-1.46,-1.74,-1.81,-1.57,-1.21,-1.01,-0.56,-0.51,-0.14,-0.45,-0.57,-0.89,-0.53,-0.24,-0.77,-1.46,-2.46,-1.56,-1.58,-1.06,-0.65,-0.88,-0.42,-0.8,-0.05,-1.37,-1.69,-1.65,-2.94,-3.21,-3.5,-3.72,-4.68,-4.92,-5.04,-5.35,-5.43,-5.04,-4.3,-3.7,-3.67,-4.13,-4.83,-4.54,-4.12,-3.94,-4.18,-4.29,-4.1,-3.84,-3.56,-3.5,-3.21,-3.44,-3.6,-3.79,-3.63,-3.26,-2.91,-3.24,-2.42,-4.24,-4.81,-4.92,-5.15,-4.75,-4.57,-4.7,-4.11,-3.22,-2.45,-2.66,-2.48,-3.34,-3.71,-4.41,-4.18,-4.37,-4.62,-4.94,-4.64,-4.52,-4.96,-4.96,-4.57,-4.37,-5.23,-4.75,-4.73,-5.67,-7,-5.76,-4.98,-4.93,-4.08,-4.28,-4.44,-5.18,-6.03,-5.97,-5.55,-4.66,-4.48,-4.92,-4.71,-4.89,-5.21,-5.38,-4.73,-3.78,-3.59,-3.64,-2.93,-3.15,-3.5,-2.84,-2.32,-2.21,-1.74,-1.49,-1.34,-0.99,-0.35,0.45,1.83,1.07,-1.13,0.2,0.95,2.04,1.85,2.53,3.2,3.79,4.11,4.51,5.24,1.8,-0.58,-0.39,-0.98,-0.63,-0.06,0.09,0.26,0.59,-0.93,-0.46,-0.21,-0.66,-0.57,-0.57,0.12,-0.09,-0.98,-0.65,-0.59,-1.01,-0.56,-0.73,-1.19,-0.97,-1.05,-0.98,-0.92,-1.02,-3.35,-7.99,-7.87,-7.85,-8.08,-7.22,-6.72,-6.41,-5.78,-5.41,-5.21,-4.74,-5.31,-5.68,-5.76,-5.4,-5.4,-6.36,-6.66,-6.37,-6.13,-5.99,-5.89,-5.33,-3.68,-2.97,-3.48,-4.73,-4.32,-4.4,-3.82,-4.27,-4.36,-4.09,-3.85,-3.69,-3.68,-3.66,-4.12,-3.88,-3.49,-3.1,-3.28,-3.32,-2.58,-2.22,-2.28,-1.34,-0.99,-0.65,-0.96,-2.48,-1.82,-1.14,-0.62,0.47,0.21,1.1,1.8,1.74,0.85,1.36,0.89,0.46,1.22,1.53,1.08,0.74,0.23,-0.26,0.24,-0.2,-0.29,-0.28,-0.09,-0.25,-0.85,-0.49,-0.73,-0.63,0.81,1.7,1.26,-0.22,-3.79,-1.59,0.3,0.31,0.49,-0.94,-0.48,0.2,1.1,1.03,0.61,0.94,1.53,1.74,1.92,2.34,2.65,2.28,1.88,1.84,1.91,1.99,2.8,3.09,1.1,0.54,0.62,-0.66,-1.57,-2.11,-2.42,-1.69,-1.33,-1.39,-1.03,-0.64,-0.14,0.48,0.95,1.59,2.55,2.16,2.67,3.52,3.98,4.06,3.94,3.94,4.07,3.99,4.11,3.69,2.71,2.15,2.14,2.51,1.35,0.83,-0.44,-1.71,-3.12,-1.2,2.61,1,-0.64,-1.76,-1,-0.21,0.44,0.11,1.61,4.04,4.4,3.42,3.44,0.78,-0.26,0.3,-0.3,0.17,0.25,0.21,0.65,0.79,4.29,0.05,-1.03,-3.71,-3.16,-2.99,-1.66,-1.95,-4.2,-3.55,-3.35,-4.31,-2.71,-0.86,-1.35,-3.55,-2.34,-2.05,-2.04,-2.2,-2.82,-2.77,-3.04,-3.29,-3.09,-2.86,-2.49,-2.73,-2.89,-2.93,-2.1,-1.45,-1.2,-0.97,-0.39,-0.16,-0.29,-0.62,-0.84,-0.26,-1.33,-1.67,-2.83,-2.39,-1.83,-1.66,-1.76,-1.31,-1.72,-1.32,-0.55,-1.66,-2.44,-3.17,-3.14,-3.95,-4.28,-4.19,-4.46,-5.33,-5.57,-5.42,-5.08,-4.8,-4.16,-3.71,-3.75,-4.65,-5.18,-5.13,-4.97,-4.91,-4.97,-4.81,-4.51,-4.26,-4.11,-4.06,-4.02,-4.22,-4.17,-3.8,-3.65,-3.54,-3.6,-3.68,-3.55,-3.97,-4.57,-5.31,-5.36,-5.48,-5.36,-4.98,-4.27,-3.61,-3.03,-3.27,-3.76,-4.11,-4.1,-3.95,-5.07,-5.1,-5.2,-5.6,-5.37,-5.02,-5.15,-5.3,-5.19,-4.66,-5.76,-5.79,-5.32,-5.99,-6.86,-5.8,-5.36,-5.22,-4.82,-4.87,-4.68,-6.27,-5.94,-6.21,-5.44,-5.12,-5.02,-4.59,-4.34,-4.31,-4.64,-4.39,-4.37,-3.86,-3.72,-4.07,-3.89,-3.96,-3.8,-3.72,-3.62,-3.49,-2.91,-2.62,-2.35,-1.87,-1.39,-0.97,0.81,-1.05,-0.76,-0.82,0.2,0.65,0.92,1.83,2.89,3.44,3.96,4.83,2.41,1.74,-1.2,-0.53,-1.06,-0.35,0.72,0.01,0.73,-0.67,-1.15,-0.93,-0.45,-0.47,-0.16,-0.21,-0.23,-0.68,-0.99,-0.55,-0.5,-0.46,-0.94,-0.48,-0.65,-1,-0.92,-1.02,-0.78,-1.27,-1.92,-7.3,-7.85,-8.52,-8.74,-8.15,-7.79,-7.13,-6.59,-5.86,-5.47,-5.18,-5.65,-5.85,-6.15,-6.14,-6.2,-6.76,-6.86,-6.7,-6.27,-6.46,-6.34,-6.2,-5.87,-4.27,-3.69,-3.77,-3.62,-4.69,-4.06,-4.35,-4.52,-4.28,-4.09,-4.15,-4.4,-4.71,-4.57,-4.07,-3.5,-3.64,-4.42,-4.13,-3.69,-3.4,-2.83,-2.24,-1.87,-1.38,-1.62,-2.49,-2,-1.45,-1.14,-0.61,-0.53,0.78,0.96,0.4,0.92,0.7,0.89,0.68,1.39,2.4,2.15,0.14,0.32,-0.1,0.31,-0.22,-0.32,0.01,-0.27,-0.39,-0.98,-0.88,-1.05,0.27,0.89,1.29,2.72,-2.62,-3.15,-3.16,-0.3,0.51,0.76,-0.59,0.47,0.75,1.02,0.17,0.06,0.36,0.68,1.04,1.1,1.64,1.59,1.55,0.91,0.58,0.76,0.77,1.59,1.54,1.1,-0.67,-0.75,-1.01,-2.92,-3.36,-2.77,-2.53,-2.52,-1.87,-1.71,-1.3,-0.39,-0.49,0.05,0.64,0.43,-0.09,0.84,1.79,2.01,2.4,2.85,3.09,3.29,3.18,3.07,3.05,1.66,1.61,1.98,1.77,0.61,0.31,-0.11,-0.72,-1.31,-0.16,2.43,-0.16,-2.16,-0.71,-2.2,0.54,-0.35,-0.28,0.56,3.29,2.44,3.28,4.29,2.07,-0.83,0.07,-0.03,0.16,0.4,0.42,0.31,1.78,4.18,-0.61,-0.36,1.74,-0.38,2.21,-1.48,-5.59,-5,-4.05,-4.7,-4.84,-3.64,-1.55,-0.61,-0.33,-1.69,-1.65,-1.18,-2.64,-3.48,-4.01,-4.66,-4.62,-4.82,-4.46,-4.31,-4.03,-4.03,-4.39,-2.9,-3.49,-3.48,-2.93,-1.91,-0.9,-1.06,-0.46,-0.39,-1.05,-1.89,-2.33,-1.57,-1.9,-2.48,-2.32,-2.71,-2.42,-2.28,-1.61,-1.54,-1.83,-3.56,-3.78,-3.09,-4.58,-4.61,-4.54,-4.6,-5.2,-5.77,-5.19,-4.85,-4.51,-3.94,-3.9,-4.54,-4.85,-5.06,-5.54,-5.35,-5.19,-5.22,-5.12,-4.95,-4.58,-4.31,-4.39,-4.25,-4.3,-4.51,-4.1,-3.93,-4.05,-3.8,-3.73,-4.24,-4,-4.16,-5.69,-5.76,-5.68,-5.46,-4.98,-4.45,-3.94,-3.87,-4.09,-4.34,-4.76,-4.7,-4.68,-5.32,-5.82,-5.75,-5.92,-5.89,-5.93,-5.7,-5.47,-5,-5,-6.06,-6.5,-6.16,-6.11,-6.59,-5.72,-5.18,-5.8,-5.63,-5.12,-5.46,-7.24,-6.53,-6.61,-5.85,-6.48,-5.85,-5.64,-5.15,-4.52,-5.03,-4.43,-4.49,-4.3,-4.68,-4.84,-5.16,-5.08,-4.85,-4.77,-4.75,-4.8,-4.32,-3.87,-3.41,-3.12,-2.65,-2.13,-1.73,-0.84,-0.7,-0.73,-0.49,-0.53,-0.34,0.72,1.61,3.02,4.02,4.36,0.85,-1.09,0.72,-0.95,-0.64,0.22,0.99,0.65,0.74,-1.11,-1.06,-0.96,-0.54,-0.66,-0.47,-0.6,0.23,-0.34,-0.91,-0.54,-0.24,-0.47,-0.52,-0.74,-0.91,-0.59,-0.61,-0.78,-0.59,-0.41,-1.03,-1.51,-2.25,-2.5,-6.78,-7.69,-7.55,-7.34,-7.34,-7.09,-5.92,-5.51,-5.33,-5.77,-6.38,-6.4,-7.29,-7.19,-6.78,-7.12,-6.73,-6.78,-6.46,-6.2,-6.52,-5.41,-4.35,-3.88,-3.66,-4.38,-4.33,-4.39,-4.52,-4.44,-4.34,-4.24,-4.47,-4.48,-4.14,-4.15,-3.77,-4.65,-4.53,-4.42,-3.98,-3.67,-3.73,-3.15,-2.38,-1.63,-2.51,-2.49,-2.29,-2.08,-1.64,-0.85,-0.28,0.39,0.4,0.18,-0.14,0.59,0.27,1.02,1.47,1.98,1.37,0.29,0.72,0.72,-0.61,-0.21,-0.29,-0.03,-0.17,-0.15,-1.07,-0.77,-0.56,0,1.71,0.97,3.32,-3.05,-1.89,-2.17,0.29,-0.27,-0.66,-0.34,1.27,0.69,0.25,-0.64,-0.59,-0.87,-0.57,-0.24,0.27,0.23,0.25,-0.15,-1.5,-0.61,-0.27,0.01,0.49,0.14,0.25,-0.63,-1.55,-2.76,-3.24,-4.61,-3.43,-3.13,-2.63,-1.94,-1.67,-1.63,-1.27,-0.87,-1.29,-1,-0.32,-0.16,0.28,0.67,0.93,0.87,1.41,2.34,2.33,2.18,2.21,1.58,1.35,1.3,1.42,0.81,-0.02,0.07,0.01,-0.72,-0.94,0.66,1.92,0.71,-0.38,-1.76,-1.86,-0.93,0.45,-0.17,0.11,1.45,1.52,1.92,4.92,2.62,-2.49,-0.15,-0.24,-0.23,0.01,0.26,0.44,3.06,1.94,-2.74,-0.77,-0.21,3.24,-3.61,-4.08,-2.07,-7.09,-3.5,-1.17,-3.59,-5.75,-4.61,-3.94,-0.46,0.09,-0.58,-2.64,-2.27,-1.22,-2.2,-4.36,-6.55,-7.75,-7.09,-6.48,-6.45,-5.65,-3.28,-2.27,-3.28,-3.8,-3.76,-3.26,-2.11,-1.62,-1.75,-1.21,-1.75,-2.14,-2.56,-3.04,-2.97,-3.19,-2.86,-2.82,-2.75,-2.43,-2.06,-2.2,-2.19,-3.98,-4.28,-3.74,-4.35,-4.44,-4.72,-4.69,-4.66,-5.79,-5.26,-4.76,-4.25,-3.78,-3.81,-4.84,-4.6,-4.87,-5.92,-5.62,-5.46,-5.37,-5.25,-5.06,-4.65,-4.6,-4.79,-4.58,-4.56,-4.51,-4.36,-4.29,-4.19,-4.1,-4.03,-4.59,-4.5,-4.18,-5.58,-6.19,-5.96,-5.62,-5.12,-4.77,-4.63,-4.5,-4.7,-5.06,-5.15,-5.06,-5.18,-5.74,-5.9,-6.04,-6.19,-6.55,-6.44,-6.24,-5.75,-5.33,-5.4,-6.34,-6.5,-6.61,-6.29,-6.71,-5.75,-5.63,-6.48,-6.18,-5.85,-7.08,-8.53,-7.7,-7.52,-6.83,-7.75,-7.39,-6.68,-6.21,-5.8,-5.52,-5.22,-5.04,-5.34,-6.07,-6.46,-6.49,-6.18,-5.81,-5.79,-5.75,-5.47,-4.93,-4.5,-4.09,-3.8,-3.4,-2.97,-2.82,-2.17,-1.67,-1.46,-1.19,-1.15,-0.92,0.21,1.16,2.39,3.93,4.41,1.94,-0.18,0.25,-0.28,-0.02,0.19,0.99,0.54,-1.09,-1.09,-0.84,-0.37,-0.7,-0.84,-0.71,-0.3,0.17,0.97,-0.54,-0.43,-0.07,-0.38,-0.56,-0.54,-0.87,-0.94,-0.73,-0.66,-0.48,-0.41,-0.67,-1.35,-0.97,-1.21,-1.01,-1.14,-5.62,-5.63,-6.84,-7.62,-7.14,-6.45,-6.36,-6.44,-6.56,-6.21,-7.85,-7.98,-6.99,-7.05,-7.08,-6.8,-6.65,-6.8,-6.22,-5.68,-4.93,-4.37,-3.94,-4.26,-4.6,-4.59,-4.7,-5.21,-5.15,-4.99,-5.05,-5.05,-4.94,-4.89,-5.48,-5.83,-5.45,-4.81,-4.27,-4.01,-4.06,-3.74,-3.13,-2.41,-2.72,-2.56,-2.69,-2.21,-1.76,-1.08,-0.28,0.22,0.26,-0.29,-0.45,-0.2,0.61,0.71,1.27,2.25,1.61,1.07,0.23,-0.84,0.19,-0.61,0.46,0.16,0.06,0.32,-0.26,-0.85,-1.74,0.01,1.78,1.06,-0.3,-0.81,-1.66,-2.84,-0.52,-0.42,1.25,0.31,1.17,-0.31,-1.33,-1.94,-1.98,-2.1,-2.41,-2.2,-1.29,-1.56,-1.89,-1.54,-1.8,-1.25,-0.63,-0.52,-0.62,-0.84,-1.3,-1.97,-2.62,-2.45,-3.74,-4.16,-4.18,-3.53,-2.59,-2.03,-1.79,-1.86,-1.78,-1.43,-1.54,-1.6,-1.4,-1.03,-0.71,-0.98,-0.71,-0.3,0.2,1.68,1.1,1,0.81,1.22,0.96,0.76,0.64,0.12,-0.33,-0.67,-0.75,-0.61,-1.04,-0.19,1.12,1.06,-0.68,-1.03,-1.85,-1.87,-0.84,0.06,0.02,0.39,2.85,-0.13,0.22,2.18,-1.54,-0.22,-0.46,-0.97,-0.87,-1.49,0.02,-6.88,-6.83,-1.11,-0.88,0.2,0.61,-7.61,-7.99,-6.15,-0.74,-3.74,-2.69,-0.43,-2.9,-5.79,-3.44,-1.6,-0.31,-0.25,-0.32,-0.8,-0.89,-0.87,-1.06,-1.09,-2.96,-5.48,-6.31,-7.82,-6.32,-5.26,-3.97,-2.56,-1.85,-3.17,-4.88,-5.34,-4.88,-3.98,-3.21,-2.72,-2.52,-3.1,-3.12,-3.19,-2.98,-2.62,-2.51,-2.25,-1.93,-2,-1.68,-2.03,-4.46,-4.52,-4,-4,-4.03,-4.47,-4.57,-4.6,-5.45,-5.6,-4.68,-4.12,-4.17,-4.28,-4.35,-5.31,-5.58,-6.38,-5.94,-5.72,-5.76,-5.58,-5.38,-5.19,-4.96,-4.95,-5.04,-5.06,-4.67,-4.45,-4.41,-4.31,-4.42,-4.43,-4.64,-4.76,-4.57,-5.88,-6.1,-5.95,-5.55,-5.07,-4.9,-4.95,-5.04,-5.3,-5.48,-5.62,-5.54,-5.4,-5.83,-6.01,-6.09,-6.65,-7.21,-7.19,-6.87,-6.25,-5.83,-6.39,-6.38,-6.66,-7.04,-6.58,-6.4,-6.22,-6.16,-6.63,-6.64,-6.51,-8.06,-9.13,-8.73,-8.35,-8.45,-8.22,-8.07,-7.52,-7.11,-7.21,-6.33,-6.33,-6.32,-6.53,-6.86,-6.81,-6.67,-6.43,-6.22,-6.27,-6.17,-5.93,-5.62,-5.21,-4.69,-4,-4,-3.55,-3.19,-3.01,-2.67,-2.13,-1.85,-1.57,-1.39,0.08,0.59,1.64,3.53,6.14,4.08,-2.9,-0.05,-0.07,-0.47,0.26,1.14,-0.67,-0.92,-0.94,-0.44,-0.11,-0.68,-0.59,-0.73,-0.03,-0.26,0.14,0.33,0.02,-0.4,-0.52,-0.78,-0.41,-0.56,-0.38,0,-0.4,-0.88,-1.56,-0.61,-1.53,-1.67,-1.31,-0.04,-0.5,-0.39,-0.91,-1.34,-2.44,-1.45,-6.21,-7.29,-9.01,-8.37,-7.6,-7.14,-7.81,-7.75,-7.45,-7.3,-7.23,-6.99,-6.6,-6.72,-6.82,-5.84,-5.3,-5.14,-4.52,-5.15,-4.51,-4.95,-5.88,-6,-6.07,-5.93,-5.95,-5.9,-6.1,-6.59,-6.41,-6.09,-5.37,-5,-4.76,-4.5,-4.23,-3.62,-3.18,-3.63,-3.58,-3.31,-2.63,-2.05,-1.29,-0.93,-0.47,0.02,0.33,0.39,-0.14,0.87,1.1,1.79,2.11,1.66,1.69,0.91,-1.04,-0.51,-0.22,-0.06,0.47,0.44,0.68,0.03,-0.59,-1.13,-0.3,2.34,1.36,-0.86,-2.39,-2.4,-3.76,-0.21,-1,1.16,1.35,-0.21,-1.98,-2.91,-3.31,-3.44,-3.56,-3.68,-3.58,-2.88,-3.04,-2.61,-2.28,-2.26,-1.96,-1.87,-1.5,-2.05,-1.98,-2.43,-2.54,-3.37,-3.46,-3.84,-3.69,-4.12,-3.67,-2.85,-2.18,-1.53,-1.57,-1.61,-1.78,-2.18,-2.21,-2.14,-2.18,-2.3,-2.12,-1.78,-1.63,-1.11,-1.67,-0.97,0.06,-0.3,0.75,0.62,-0.67,-1,-1.53,-1.8,-1.49,-0.79,0.01,-1.41,-0.91,1.93,1.81,-1.09,-2.6,-2.74,-1.89,-3.43,-0.7,0.55,0.87,2.23,-1.94,-2.42,-5.59,-6.31,-6.27,-6.92,-6.91,-8.38,-4.93,-7.14,-7.19,-7.32,-9.61,-2.86,-3.25,0.18,-6.33,-8.76,-8.85,-9.21,-7.22,-7.73,-7.56,-7.67,-7.28,-6.85,-4.43,-5.07,0.21,-0.04,0.11,-0.76,-1.11,-0.9,-0.49,-0.68,-0.76,-0.8,-4.13,-7.12,-6.08,-3.67,-3.06,-1.9,-1.73,-1.83,-3.23,-6.16,-6.51,-5.25,-4.69,-4.05,-4.02,-3.81,-3.45,-3.15,-2.98,-3,-2.5,-2.72,-2.2,-1.76,-3.08,-4.6,-4.14,-3.92,-3.74,-3.71,-3.99,-4.26,-4.93,-4.84,-5.51,-4.71,-4,-4.14,-4.2,-5.47,-6.2,-6.14,-6.06,-5.84,-5.64,-5.5,-5.25,-5.49,-5.4,-5.42,-5.33,-5.29,-5.09,-4.85,-4.64,-4.58,-4.5,-4.48,-4.34,-4.64,-4.74,-5.66,-5.98,-5.87,-5.94,-5.56,-5.36,-5.14,-4.97,-5.35,-5.63,-6.02,-6.05,-5.82,-5.76,-5.84,-5.72,-6.22,-6.9,-7.5,-7.75,-7.53,-7,-7.13,-7.16,-7.09,-6.75,-7.35,-6.91,-6.65,-6.36,-6.62,-6.65,-7.02,-7.15,-8.61,-9.3,-8.91,-9.02,-8.6,-8.42,-8.24,-8.09,-7.75,-7.54,-6.87,-6.87,-6.88,-6.86,-6.81,-6.96,-6.79,-6.49,-6.53,-6.56,-6.55,-6.34,-6.09,-5.73,-5.27,-4.79,-4.39,-4.43,-3.95,-3.56,-3.36,-3.06,-2.68,-2.35,-1.89,-0.72,-0.4,-0.14,0.99,3.11,1.08,-1.63,0.14,-0.14,-0.44,-0.29,0.5,-0.7,-0.12,-0.81,0.19,-0.49,-0.45,-0.44,-0.3,-0.11,0.16,-0.01,-0.32,0.11,-0.28,-0.76,-0.89,-0.5,0.42,-0.79,-0.53,-0.58,-1.24,-1.92,-0.36,-1.3,-1,-1.03,-0.5,0.04,-0.45,-0.24,-1.96,-3.28,-0.85,-0.29,-7.29,-9.29,-8.3,-7.53,-7.05,-8.09,-7.62,-7.15,-7.03,-7.68,-7.86,-7.42,-7.05,-6.9,-7.05,-6.23,-5.94,-5.61,-5.21,-5.24,-6.14,-6.92,-6.74,-6.33,-6.41,-6.51,-6.72,-7.04,-7.15,-6.84,-6.4,-5.84,-5.52,-5.4,-5.03,-4.77,-4.37,-4.06,-4.93,-4.66,-3.91,-3.23,-2.53,-1.68,-1.12,-0.39,0.13,0.67,0.99,1.58,1.09,0.81,1.18,1.92,1.99,1.31,0.44,-0.79,-0.16,0.05,-0.12,0.85,0.35,0.55,0.61,-0.56,-1.19,-0.58,1.55,1.08,-0.72,-2.42,-2.6,-3.75,-1.72,-1.45,-0.39,2.23,-2.28,-3.43,-4.32,-4.63,-5.29,-5.32,-5.03,-4.57,-4.25,-3.43,-3.1,-2.31,-2.35,-2.72,-2.96,-2.63,-3.42,-3.42,-3.13,-3.1,-3.54,-4.18,-4.81,-4.38,-3.72,-3.17,-2.8,-2.36,-1.8,-1.55,-2.14,-2.3,-1.67,-1.17,-2.92,-2.92,-3.46,-3.13,-2.87,-2.68,-3.03,-3.09,-2.5,-2,-1.28,-1.34,-1.89,-2.7,-2.9,-2.44,-1.97,-1.95,-1.24,-0.78,-1.3,0.77,1.84,1.76,-1.46,-3.72,-4.96,-3.62,-2.98,-1.73,-0.22,1.09,3.52,3.52,2.65,-3.93,-7.25,-6.85,-6.77,-7.44,-6.9,-7.61,-7.62,-7,-8.64,-4.52,-2.29,-5.45,-4.57,-6.43,-9.28,-8.89,-8.88,-8.41,-8.45,-8.6,-7.98,-6.43,-6.94,-6.58,-6.6,-7.84,-6.89,-4.85,-2.18,-1.6,-0.14,-0.49,-0.36,-0.1,-0.67,-1.05,-1.92,-5.97,-4.12,-3.48,-2.31,-0.79,-1.53,-2.9,-2.62,-6.76,-5.89,-5.31,-4.97,-4.88,-4.51,-4.4,-3.93,-4.05,-3.54,-3.38,-3.23,-2.88,-2.39,-3.01,-3.46,-3.48,-3.8,-3.75,-3.32,-3.42,-3.34,-3.9,-4.98,-5.17,-4.81,-4.2,-4.15,-5.43,-5.82,-6.22,-6.13,-6.3,-6.26,-5.95,-5.55,-5.74,-5.75,-5.43,-5.82,-6.04,-5.77,-5.04,-5.01,-4.92,-4.63,-4.36,-4.34,-4.49,-4.14,-5.1,-5.95,-6.04,-5.69,-5.53,-4.82,-4.86,-5.33,-6.01,-6.34,-6.13,-6.49,-6.32,-6.4,-6.17,-5.65,-5.65,-6.18,-6.94,-7.65,-7.78,-7.93,-7.6,-7.37,-7.16,-7.3,-7.43,-7.42,-6.79,-7.3,-6.84,-6.86,-7.14,-7.21,-7.66,-8.62,-9.22,-8.87,-9.04,-8.66,-8.06,-7.79,-7.77,-7.44,-7.52,-7.1,-7.04,-7.11,-7.07,-6.84,-6.86,-6.86,-6.83,-6.9,-6.99,-6.83,-6.69,-6.46,-6.15,-5.83,-5.47,-5.29,-4.99,-4.96,-4.49,-4.19,-3.84,-3.46,-3.21,-2.61,-1.69,-1.24,-1.7,-2.01,-0.05,-0.85,0.85,-0.8,-0.62,-1.07,-1.13,-0.11,-1.05,0.18,-0.71,0.3,-0.17,-0.11,-0.7,-0.37,-0.09,-0.25,-0.45,0.07,0.31,-0.47,-0.82,-0.88,-0.34,-0.07,-0.36,-0.52,-0.85,-1.27,-2.01,0.05,-0.84,-1.18,-1.06,-0.47,-1,-0.25,-1.12,-2.02,-3.56,-1.33,0.41,-1.68,-5.42,-5.31,-7.44,-7.51,-7.65,-7.18,-6.71,-7.16,-7.89,-8.55,-7.72,-7.62,-7.75,-7.48,-7.13,-6.9,-6.4,-6.08,-5.97,-6.37,-6.61,-7.31,-6.71,-6.52,-6.74,-7.59,-7.85,-7.7,-7.29,-6.67,-6.37,-6.41,-6.41,-6.08,-5.79,-5.4,-5.13,-5.8,-5.23,-4.6,-4.03,-3.1,-2.08,-1.52,-0.52,0.11,0.46,0.96,2.2,2.54,0.98,1.51,2.2,1.84,0.38,0.77,0.76,-0.74,-0.19,-0.25,0.42,-0.08,0.66,0.2,-0.37,-1.69,-0.61,-0.94,0.89,-1.22,-2.23,-3.3,-0.65,-2.53,-1.12,1.4,0.33,-3.78,-4.07,-5.23,-5.39,-6.55,-6.63,-6.28,-5.56,-4.97,-4.27,-3.35,-2.54,-2.62,-4.01,-3.66,-3.23,-4.21,-4.01,-3.42,-3.37,-3.93,-4.87,-5.01,-4.05,-3.02,-2.27,-2.91,-3.01,-2.48,-2.48,-2.79,-2.02,-1.01,-3.57,-3.83,-4.03,-4.19,-4.09,-3.87,-3.8,-4.13,-3.55,-3.31,-2.25,-2.4,-2.36,-2.43,-3.03,-3.3,-2.18,-1.94,-2.32,-2.55,-2.94,-2.54,-1.53,-3.14,-4.29,-2.99,-6.04,-6.47,-3.79,-2.6,-1.08,0.62,2.38,3.34,4.01,3.55,1.04,-5.06,-4.16,-4.11,-5.85,-6.03,-6.16,-6.13,-7.24,-6.76,-9.03,-6.27,-6.77,-7.12,-7.34,-8.42,-9.42,-8.71,-8.36,-8.03,-8.77,-8.86,-7.71,-7.77,-7.49,-6.09,-9.38,-9.18,-9.02,-6.7,-2.78,-2.16,-0.86,-0.05,0.39,-0.85,-0.53,-1.1,-1.58,-4.45,-3.36,-1.1,-3.08,-2.52,-5.12,-4.85,-1.51,-4.7,-5.2,-4.94,-5.19,-5.33,-5.39,-5.49,-5.02,-4.63,-4.51,-3.97,-3.35,-3.07,-3.26,-3.21,-3.59,-2.98,-3.41,-3.03,-2.68,-2.86,-3.15,-4.39,-4.92,-5.25,-4.51,-4.71,-5.49,-5.56,-5.94,-6.1,-6.29,-6.49,-6.03,-5.94,-5.97,-5.86,-5.66,-6.74,-6.96,-6.2,-5.63,-5.5,-5.09,-4.64,-4.22,-4,-4.17,-4.49,-4.93,-5.87,-6.14,-6.13,-5.49,-4.82,-5.74,-6.21,-6.83,-6.6,-6.86,-6.77,-7.07,-6.66,-6.57,-6.02,-5.81,-7.03,-7.6,-7.73,-7.86,-7.94,-7.89,-7.47,-7.19,-7.33,-7.47,-7.62,-7.32,-7.14,-7.03,-7.31,-7.36,-7.36,-7.84,-8.67,-9.24,-9.09,-9.38,-8.7,-8.37,-8,-7.9,-7.49,-7.42,-7.15,-7.09,-7.12,-7.16,-6.94,-7.01,-7.08,-7.23,-7.27,-7.14,-7.12,-7.04,-6.86,-6.57,-6.34,-6.09,-5.95,-5.76,-5.55,-5.38,-5.28,-4.79,-4.22,-3.9,-3.31,-2.48,-2.03,-2.34,-3.39,-2.85,0.6,-2.65,-1.89,0.05,-1.28,-1.32,-0.88,-0.49,-0.65,-0.16,-0.11,-0.04,0.08,-0.99,-0.53,0.18,-0.68,-0.56,-0.17,-0.11,-0.06,-0.58,-0.6,-0.44,-0.16,-0.43,-0.89,-1.43,-1.96,-0.9,-0.23,-0.68,-1.67,-1.48,-1.37,-1.76,-0.92,-1.94,-3.83,-3.32,-1.25,0.46,-2.74,-4.1,-2.51,-5.26,-6.8,-6.69,-6.87,-7.19,-8.05,-8.58,-8.68,-8.09,-7.64,-7.9,-8.05,-7.99,-7.22,-7.43,-7.07,-6.72,-6.81,-6.96,-6.83,-6.45,-7.26,-7.5,-8.69,-8.52,-8.11,-7.52,-7.16,-6.87,-6.87,-6.79,-6.62,-6.35,-6.03,-6,-6.2,-5.74,-5.25,-4.64,-3.81,-2.9,-1.73,-0.81,-0.1,0.72,1.43,2.65,3.15,0.73,1.37,1.8,1.69,0.51,0,0.65,-0.51,0,-0.68,-0.38,0.12,0.11,0.18,-0.52,-0.73,-2.14,0.1,-1.39,-0.71,-3.35,-1.97,-0.56,-2.26,-0.37,0.36,0.02,-4.77,-4.9,-4.96,-5.21,-6.27,-6.87,-6.9,-6.65,-5.46,-4.64,-3.85,-3.38,-3.08,-3.91,-3.63,-3.8,-5.63,-4.79,-3.92,-3.63,-4.61,-5.09,-4.83,-4.04,-3.55,-3.17,-3.23,-2.33,-2.76,-3.53,-2.86,-1.73,-2.94,-3.01,-4.64,-4.77,-4.59,-4.64,-4.35,-4.65,-5.71,-6.12,-5.25,-5.15,-5.91,-4.63,-4.31,-3.69,-2.93,-2.68,-3.18,-3.58,-3.17,-3.88,-3.18,-0.68,-3.32,-5.75,-6.68,-6.62,-6.5,-6.1,-3.92,-0.51,0.43,0.64,-1.75,1.11,0,0.46,-1.2,-0.75,0.11,-1.09,-4.2,-3.74,-5.94,-6.5,-7.06,-3.67,-5.76,-5.07,-4.91,-5.93,-7.38,-6.34,-8.87,-7.45,-7.11,-8.64,-9.01,-8.12,-8.76,-7.31,-9.09,-9.65,-9.19,-9.42,-9.36,-3.45,-2.49,-2.34,-2.31,-1.47,-0.1,0.95,-1.64,-1.2,2.62,-2.96,-5.47,-4.36,-3.8,-5.38,-5.66,-5.75,-4.27,-3.09,-4.54,-5.96,-6.72,-5.84,-5.27,-5.53,-5.52,-5.34,-4.79,-3.99,-3.79,-3.59,-3.44,-3.21,-2.59,-2.66,-2.65,-2.78,-2.35,-3.42,-3.27,-3.86,-5.36,-5.48,-4.74,-5.04,-5.05,-5.66,-6.17,-6.73,-6.68,-6.14,-6.46,-6.72,-6.47,-6.22,-7.2,-6.99,-6.74,-6.28,-5.96,-5.88,-5.68,-4.71,-3.97,-4.12,-4.68,-5.18,-5.77,-6.24,-6.32,-6.2,-5.9,-6.09,-7.36,-7.42,-7.25,-7.08,-7.23,-7.11,-6.95,-6.7,-6.79,-7.26,-7.84,-7.98,-8.03,-8.12,-8.13,-7.75,-7.68,-7.84,-7.47,-7.21,-7.1,-6.92,-7.1,-6.96,-7.63,-7.52,-7.6,-8.11,-8.75,-9.6,-9.53,-8.7,-8.62,-8.49,-8.27,-7.91,-7.74,-7.2,-7.43,-7.5,-7.31,-7.26,-7.18,-7.2,-7.32,-7.41,-7.43,-7.4,-7.32,-7.3,-7.19,-6.96,-6.8,-6.69,-6.44,-6.27,-6.16,-5.91,-5.88,-5.51,-5.05,-4.48,-4.01,-3.19,-2.63,-2.94,-3.69,-3.39,-2.03,-1.53,-2.54,0.11,-1.09,-0.91,-1.22,-0.04,-0.99,0.5,0.23,-0.48,-0.42,-0.45,-0.53,-0.27,-0.69,-0.53,-0.46,0.02,-0.02,-0.15,-0.51,-0.6,-0.71,-0.86,-0.49,-0.78,-1.62,-0.71,-0.77,-1.06,-1.78,-2.11,-1.49,-2.53,-1.68,-1.91,-4.67,-3.27,-1.35,-0.81,-2.62,-4.75,-1.52,-0.87,-6.19,-6.5,-6.56,-7.05,-8.06,-8.67,-8.66,-7.98,-7.72,-8.08,-8.37,-8,-8.15,-7.87,-8.16,-7.68,-7.3,-7.5,-7.08,-7.23,-7.5,-8.81,-9.1,-9.01,-8.22,-7.83,-7.64,-7.5,-7.29,-7.21,-7.03,-6.76,-6.37,-6.29,-6.33,-6.02,-5.47,-5.23,-4.38,-3.55,-2.19,-1.09,0.06,1.27,2.2,3,2.75,0.7,0.27,0.62,2.17,0.7,-0.72,0.53,-0.43,-0.65,-0.45,-0.96,-0.13,0.2,0.3,-0.32,-1.47,-0.94,0.84,-1.64,-1.96,-2.86,-1.23,-2.14,-1.07,0.01,0.78,-0.72,-4.69,-5.33,-4.05,-3.89,-4.83,-6.46,-7.3,-6.92,-5.92,-5.04,-4.4,-3.97,-3.84,-4.22,-4.36,-4.39,-5.25,-5.32,-4.81,-3.8,-4.73,-5.69,-4.73,-4.8,-4.38,-3.08,-1.78,-1.09,-1.2,-2.42,-2.68,-3.15,-2.98,-4.68,-4.84,-4.94,-4.58,-4.88,-5.54,-6.53,-6.79,-6.8,-6.43,-6.37,-6.23,-6.01,-5.74,-5.23,-5.3,-4.58,-5.33,-4.06,-2.16,-1.19,-0.07,-1.16,-4.55,-5.97,-7.49,-7.16,-7.47,-7.46,-7.78,-7.39,-7.29,-7.01,-7.45,-8.62,-7.29,-8.56,-7.43,-4.17,-3.1,-1.61,-0.93,-0.29,-1.9,-7.27,-4.31,-4.47,-1.09,-3.1,-2.73,-1.97,-0.88,-5.97,-5.7,-6.06,-6.66,-7.35,-8.73,-8.57,-8.78,-8.15,-9.14,-9.4,-9.32,-9.16,-5.11,-5.1,-4.2,-3.14,-2.79,-3.15,-6.58,-2.95,0.98,-0.99,0.43,-1.36,-4.94,-4.09,-3.93,-4.83,-6.12,-6.12,-5.97,-3.63,-4.57,-3.85,-5.02,-7.02,-5.98,-5.99,-5.87,-5.57,-4.73,-3.8,-3.55,-3.73,-3.57,-3.3,-2.7,-2.14,-1.57,-2.7,-2.85,-3.25,-3.57,-3.66,-3.9,-5.3,-4.73,-4.59,-4.96,-5.54,-6.3,-6.34,-6.49,-6.17,-8.17,-7.47,-7.15,-7.03,-7.5,-7.38,-6.77,-6.02,-6.2,-6.41,-5.67,-4.66,-4.87,-5.25,-5.2,-5.46,-5.81,-6.37,-6.76,-7.17,-7.01,-8.01,-8.19,-7.73,-7.81,-7.5,-7.4,-7.28,-7.12,-7.24,-7.45,-7.53,-7.77,-8.29,-8.33,-8.18,-8,-7.94,-8.48,-8.4,-7.83,-7.18,-6.55,-6.98,-6.72,-7.13,-8.01,-8.16,-8.05,-8.57,-9.18,-9.17,-9.27,-8.95,-8.52,-8.45,-8.22,-7.76,-7.32,-7.28,-7.35,-7.48,-7.58,-7.32,-7.4,-7.3,-7.33,-7.38,-7.45,-7.56,-7.53,-7.51,-7.5,-7.41,-7.18,-7.08,-6.86,-6.61,-6.48,-6.34,-5.96,-5.74,-5.42,-5.07,-4.75,-4.06,-3.51,-3.51,-4.01,-4.32,-3.51,-1.17,-2.54,-0.32,-0.98,-1.08,-0.79,-0.56,-0.92,-0.58,0.53,0.15,-0.45,-0.43,-0.59,-0.46,-0.57,-0.72,-0.36,-0.25,-0.06,-0.48,0,-0.54,-0.62,-0.66,-0.68,-0.9,-1.3,-1.08,-0.2,-1.15,-1.77,-1.73,-2.08,-2.24,-2.44,-2.22,-2.64,-3.55,-4.01,-4.29,-3,-3.09,-0.71,-1.13,-5.34,-6.95,-7.04,-7.3,-7.86,-8.12,-8.13,-7.87,-7.84,-8.04,-8.46,-8.48,-8.09,-8.08,-8.56,-8.63,-7.88,-7.86,-7.7,-7.9,-7.82,-9.2,-9.29,-8.85,-8.65,-8.25,-7.95,-7.7,-7.32,-7.41,-6.98,-6.76,-6.52,-6.33,-6.45,-6.19,-5.75,-5.5,-4.66,-3.75,-2.47,-1.26,-0.1,1.24,2.5,3,2.27,0.22,-0.6,0.85,2.4,0.31,-1.28,-1.02,0.84,-0.54,-0.84,-0.24,-0.21,0.14,0.53,-1.53,0.28,0.21,-1.45,-3.92,0.16,-3.46,-1.04,-2.12,0.87,-0.17,-1.26,-0.54,-3.67,-5.08,-4.37,-3.9,-4.25,-5.73,-7.59,-7.28,-6.55,-5.47,-5.05,-4.58,-4.61,-4.88,-5.68,-5.75,-6.09,-6.31,-5.4,-4.96,-6.24,-7.17,-5.59,-4.45,-3.8,-2.88,-1.35,-1.51,-2.72,-3.56,-5.45,-4.33,-4.37,-4.79,-5.09,-4.93,-4.87,-5.52,-6.36,-7.18,-7.44,-7.21,-7.53,-6.45,-6.66,-7.31,-6.84,-6.77,-6.9,-7.28,-6,-5.25,-4.39,-5.05,-5.19,-5.04,-6.53,-7.04,-7.44,-7.23,-7.68,-7.5,-7.42,-7.1,-7.2,-7.76,-7.91,-8.16,-8.63,-9.35,-9.59,-10.07,-9.91,-9.31,-8.44,-9.41,-9.18,-5.41,-4.61,-6.58,-8.32,-3.29,-2.46,-0.81,-4.5,-2.3,-1.46,-4.86,-6.5,-7.7,-8.38,-8.84,-8.73,-8.45,-8.83,-9.18,-9.79,-10.86,-11.14,-11.06,-10.46,-6.79,-6.58,-5.11,-8.66,-9.42,-6.82,0.26,-0.79,-1.69,-2.9,-4.19,-4.35,-4.99,-5.49,-6.17,-7.37,-7.98,-7.61,-4.31,-5.58,-4.48,-6.1,-5.96,-5.98,-5.88,-5.08,-4.49,-4.28,-4.52,-4,-3.52,-2.84,-2.37,-1.86,-2.42,-2.42,-2.75,-3.43,-3.62,-3.83,-4.75,-4.62,-4.57,-4.63,-5.27,-6.05,-6.3,-6.27,-6.35,-8.33,-8.01,-7.33,-7.66,-7.68,-7.44,-7.18,-6.91,-6.93,-6.88,-6.41,-5.76,-6.05,-7.06,-5.99,-6.31,-6.38,-6.77,-7.92,-7.72,-7.94,-8.02,-8.01,-7.93,-8.1,-7.88,-7.66,-7.56,-7.65,-7.47,-7.79,-7.66,-8.28,-8.44,-8.69,-9.03,-9.11,-8.98,-8.66,-8.24,-8.09,-7.46,-6.74,-6.68,-7.51,-8.22,-8.34,-8.77,-8.55,-9.28,-9.54,-9.02,-8.6,-8.72,-8.6,-8.52,-8.25,-7.77,-7.83,-7.48,-7.36,-7.25,-7.27,-7.15,-7.23,-7.32,-7.36,-7.29,-7.43,-7.6,-7.62,-7.73,-7.67,-7.51,-7.46,-7.34,-7.17,-6.83,-6.58,-6.32,-6.16,-5.8,-5.75,-5.48,-5.27,-5.04,-4.55,-4.22,-4.46,-4.74,-3.35,-2.41,-0.13,-1.02,-0.1,-0.96,-0.68,-0.06,-1.29,-0.79,0.42,0.19,-0.4,-0.41,-0.18,-0.8,-0.45,-0.45,-0.69,0.08,-0.5,-0.56,-0.59,-0.52,-0.62,-1.16,-0.67,-0.83,-1.36,-0.58,-0.46,-1.14,-1.65,-2.38,-1.8,-2.24,-2.01,-3.37,-3.9,-4.33,-6.55,-6.09,-3.33,-2.99,-0.12,-4.84,-6.85,-7.02,-7.49,-8.02,-7.84,-8.19,-8.11,-8.07,-7.75,-8.08,-8.39,-8.5,-8.7,-8.51,-8.4,-8.93,-8.36,-8.04,-7.75,-7.91,-8.98,-9.63,-8.9,-8.89,-8.82,-8.58,-8.36,-7.95,-7.54,-7.49,-6.99,-6.83,-6.54,-6.32,-6.44,-6.22,-6.09,-5.48,-4.89,-3.89,-2.19,-1.16,-0.15,0.98,2.3,2.91,2.23,0.53,0.06,0,0.56,-0.03,-0.6,-1.18,-0.45,-0.74,-0.16,0.99,-0.61,-0.45,-2.05,0.69,-0.25,-2.08,-1.51,-2.1,-1.48,-2.93,-0.87,-0.57,-0.79,-1.01,0.03,-1.74,-0.4,-4.34,-4.17,-3.87,-4.19,-4.96,-7.76,-7.9,-7.44,-6.38,-5.32,-5.2,-5.21,-5.85,-6.54,-5.75,-6.92,-6.62,-6.54,-5.89,-6.85,-7.22,-5.9,-4.4,-3.61,-2.61,-1.37,-1.97,-4.46,-6.28,-6.19,-4.6,-4.67,-5.15,-5.14,-4.85,-5.06,-5.85,-6.87,-7.03,-6.98,-7.19,-7.75,-7.3,-7.59,-7.6,-6.99,-6.7,-6.68,-6.91,-6.56,-6.24,-6.23,-6,-6.74,-7.11,-7.28,-7.52,-7.4,-7.52,-7.22,-6.84,-6.84,-6.38,-6.63,-7.47,-8.51,-9.05,-9.57,-10.01,-10.29,-10.44,-10.25,-9.86,-9.43,-9.29,-9.22,-8.91,-8.51,-8.12,-5.8,-6.93,-8,-8.93,-4.13,-5.65,-5.5,-4.71,-5.44,-6.6,-7.7,-7.81,-8.24,-7.95,-7.72,-8.47,-9.88,-10.61,-10.33,-10.53,-10.77,-10.63,-11.82,-9.87,-9.59,-10.29,-10.43,-11.02,-6.47,-1.59,-2.98,-4.01,-5.13,-5.85,-6.18,-6.14,-7.2,-8.74,-9.01,-9.49,-6.66,-4.64,-6.74,-6.58,-6.62,-6.33,-6.33,-6.31,-5.87,-5.27,-4.69,-4.08,-3.67,-3.25,-2.7,-2.89,-2.62,-1.84,-2.57,-3.14,-3.58,-4.1,-4.44,-4.33,-4.53,-4.82,-5.29,-6.16,-6.31,-6.64,-7.65,-8.24,-7.89,-7.7,-7.67,-7.44,-7.06,-7.03,-7.07,-7.19,-6.73,-7.09,-7.06,-7.81,-7.3,-6.32,-6.27,-7.75,-8.2,-8.3,-7.87,-7.91,-7.83,-7.9,-8.41,-8.54,-8.25,-8.13,-8.23,-8.31,-8.69,-8.54,-8.67,-8.97,-9.29,-9.44,-9.15,-9.3,-9.25,-8.77,-8.38,-7.41,-7.06,-6.97,-7.66,-8.69,-9.02,-8.85,-8.82,-9.32,-9.55,-9.02,-8.27,-7.99,-8.67,-8.75,-8.47,-8.07,-7.96,-7.89,-7.56,-7.27,-7.09,-6.84,-7.04,-7.11,-7.2,-7.35,-7.4,-7.66,-7.74,-7.77,-7.82,-7.66,-7.5,-7.37,-7.28,-7.16,-6.81,-6.5,-6.27,-6.02,-5.85,-5.95,-5.84,-5.68,-5.71,-5.32,-4.82,-5.02,-4.24,-2.6,-0.97,-3.23,-0.23,-0.2,0.23,-0.19,-1.14,-1.03,-0.02,-0.28,0.25,-0.32,0.14,0,-1.25,-0.56,-0.24,0.26,-0.91,-0.23,-0.69,-0.66,-0.26,-1.19,-1.25,-1.12,-1.13,-0.11,-0.95,-0.43,-1.35,-2.83,-2.44,-2.08,-2.62,-3.83,-4.54,-4.73,-3.95,-3.69,-2.57,-1.74,-3.26,-6.09,-7.26,-7.64,-7.81,-7.88,-8.09,-8.35,-8.23,-7.9,-7.88,-8.13,-8.41,-8.22,-8.6,-8.53,-8.42,-8.88,-8.76,-8.17,-7.84,-8.42,-9.04,-9.55,-9.03,-9.62,-9.09,-8.87,-8.54,-8.23,-7.76,-7.44,-7.13,-6.83,-6.71,-6.53,-6.61,-6.48,-6.22,-5.58,-5.13,-4.34,-2.83,-1.24,0.21,1.37,2.19,2.74,2.34,0.64,0.46,-1.09,-1.49,-0.21,-0.81,-0.57,-0.38,-0.98,-0.95,-0.48,-1.46,-2.26,-1.11,-0.32,-0.24,-2.32,-1.7,-1.93,-1.97,-0.78,-1.23,-1.4,0.12,-0.48,-0.51,-1.53,0.56,-3.79,-3.39,-2.22,-2.4,-4.1,-4.53,-7.75,-7.92,-7.5,-5.94,-5.07,-6.04,-6.47,-6.72,-6.36,-7.84,-7.85,-6.98,-7.11,-8.03,-7.7,-6.12,-4.59,-3.37,-2.3,-1.7,-4.63,-5.01,-6.8,-5.92,-5.24,-4.92,-4.93,-5.09,-4.27,-4.73,-6.11,-6.63,-6.98,-7.33,-8.38,-8.23,-7.81,-7.56,-7.44,-6.72,-6.27,-5.82,-5.85,-5.85,-5.39,-5.75,-6.6,-7.33,-7.41,-7.36,-6.93,-7.34,-7.09,-7.29,-6.21,-5.93,-5.44,-5.61,-6.97,-8.43,-9.9,-9.98,-10.26,-10.54,-10.6,-10.4,-9.87,-9.44,-9.21,-8.91,-8.66,-8.46,-8.39,-8.48,-8.07,-8.21,-8.13,-8.03,-6.86,-6.08,-5.27,-5.15,-5.99,-6.23,-6.3,-6.75,-7.65,-6.81,-7.41,-9.13,-10.66,-10.32,-10.33,-10.62,-9.84,-10,-10.29,-9.97,-10.75,-11.37,-11.34,-10.65,-9.72,-7.51,-6.85,-6.78,-6.14,-6.93,-6.6,-7.17,-8.14,-8.77,-8.93,-9.7,-9.72,-7.33,-8.81,-8.23,-7.54,-7.14,-7.11,-6.14,-5.37,-5.7,-4.77,-4.33,-4.08,-3.48,-3.26,-3.84,-2.6,-1.4,-2.07,-2.87,-3.58,-3.92,-3.8,-4.43,-4.97,-5.13,-5.98,-6.15,-6.43,-6.89,-7.68,-8.08,-7.9,-7.5,-7.43,-7.14,-7.18,-7.24,-7.26,-6.94,-7.01,-7.57,-7.26,-7.96,-10.18,-9.53,-8.91,-8.63,-8.16,-8.16,-8.03,-8.26,-8.43,-8.7,-8.57,-8.35,-8.25,-8.33,-8.47,-8.91,-9.13,-9.21,-9.34,-9.24,-9.1,-9.25,-9.39,-9.2,-8.7,-8.15,-7.57,-7.12,-6.91,-7.29,-7.9,-8.25,-8.12,-8.6,-9.05,-9.4,-9.11,-8.19,-7.62,-8.29,-8.91,-8.6,-8.46,-7.87,-7.63,-7.43,-7.21,-7.08,-6.89,-6.78,-7.15,-7.48,-7.48,-7.55,-7.82,-7.94,-7.89,-7.87,-7.68,-7.55,-7.49,-7.48,-7.39,-7.26,-6.87,-6.55,-6.39,-6.13,-6.28,-6.31,-6.29,-6.33,-6.25,-6,-5.55,-5.13,-3.27,-1.74,-1.35,-1.5,0.74,-0.14,0.18,-0.53,-1.07,-0.66,-0.04,0.07,0.46,0.04,-0.23,-0.98,-0.86,0.11,0.13,-1.09,-0.18,-0.29,-0.72,-0.74,-0.86,-1.04,-1.36,-0.96,-0.92,-0.91,-0.04,-1.51,-2.49,-2.3,-1.62,-2.33,-4.96,-4.81,-3.86,-3,-2.77,-2.14,-3.73,-6.58,-6.79,-7.22,-7.95,-8.08,-8.24,-8.28,-8.28,-8.27,-7.96,-7.72,-8.4,-8.62,-8.74,-8.35,-8.67,-8.84,-8.59,-8.3,-8.05,-8.06,-8.48,-9.14,-9.36,-9.48,-9.29,-9.18,-8.94,-8.85,-8.35,-7.97,-7.52,-7.22,-6.98,-6.65,-6.65,-6.74,-6.64,-6.34,-5.97,-5.58,-4.92,-3.53,-1.99,0.12,1.63,2.09,2.19,1.73,0.39,-0.6,-1.24,-0.83,-0.4,-0.87,-0.2,-0.25,-1.3,-1.58,-1.06,-0.6,-2.4,-1.02,-1.68,-1.37,-1.17,-1.27,-3.4,1.48,-1.43,0.26,-1.74,-0.42,-0.65,-0.44,-1.96,0.53,-3.91,-2.09,-1.36,0.06,-2.2,-1.92,-0.42,-5.14,-7.38,-5.35,-5.13,-6.35,-7.2,-7.41,-7.25,-7.73,-7.34,-8.32,-8.63,-8.83,-7.43,-5.87,-4.7,-3.72,-3.67,-4.46,-5.55,-5.76,-7.1,-5.82,-4.84,-4.54,-4.6,-4.4,-3.97,-4.03,-5.8,-6.28,-6.46,-7.76,-8.19,-8.09,-8.03,-7.73,-7.31,-6.67,-6.16,-5.61,-5.45,-4.73,-4.07,-5.28,-6.9,-8.19,-8.02,-7.57,-6.97,-6.56,-6.6,-6.88,-6.04,-5.2,-4.47,-6.22,-6.92,-8.57,-10,-10.1,-10.27,-10.49,-10.69,-10.45,-9.88,-9.43,-8.99,-8.74,-8.64,-8.59,-8.54,-8.46,-8.05,-7.5,-7.91,-7.29,-6.75,-6.73,-6.96,-6.72,-6.42,-6.35,-5.63,-5.94,-4.59,-4.14,-5.77,-6.69,-9.25,-9.95,-10.47,-10.62,-9.66,-8.55,-9.96,-10.74,-10.93,-11.17,-10.75,-9.83,-8.98,-8.03,-7.81,-7.68,-7.97,-7.84,-7.55,-8.02,-8.59,-8.27,-8.28,-8.63,-9.19,-9.26,-8.99,-8.88,-8.89,-8.44,-7.82,-6.98,-6.38,-6.08,-5.19,-4.63,-4.53,-4.74,-4.62,-4.48,-4.25,-3.08,-1.97,-1.71,-2.64,-3.33,-3.41,-3.97,-4.95,-5.14,-5.46,-5.85,-5.95,-6.25,-7.11,-7.46,-7.76,-7.39,-7.29,-7.22,-7.06,-7.01,-6.98,-6.72,-6.73,-6.86,-7.53,-8.22,-9.97,-9.45,-9.04,-8.87,-8.31,-8.12,-8.21,-8.24,-8.59,-8.61,-8.3,-7.95,-7.77,-7.75,-7.97,-8.45,-8.73,-8.81,-9.24,-9.1,-9.02,-8.91,-8.95,-8.56,-8.13,-8.14,-8.15,-7.79,-7.37,-7.34,-7.78,-7.84,-8.11,-8.36,-8.28,-8.8,-8.71,-8.49,-7.72,-8.04,-8.78,-8.77,-8.11,-7.66,-7.33,-7.32,-7.16,-6.98,-6.7,-6.73,-7.33,-7.69,-8.03,-8.06,-8.11,-8.2,-8.12,-8.04,-7.87,-7.65,-7.63,-7.77,-7.84,-7.72,-7.46,-7.05,-6.75,-6.67,-6.68,-6.62,-6.65,-6.66,-6.78,-6.69,-6.4,-6.12,-4.25,-2.59,-0.23,-0.25,-1.87,-0.85,0.52,-0.15,-0.79,-0.58,-0.37,0.18,0.79,0.53,-0.41,-0.24,-0.8,0.27,0.03,-0.78,-0.35,-0.44,-0.93,-0.24,-0.93,-0.78,-1.33,-0.93,-0.4,-1.67,-0.14,-1.41,-1.73,-2.33,-1.26,-2.71,-3.2,-3.86,-3.31,-2.47,-1.61,-1.32,-7,-6.42,-7.37,-7.5,-8.05,-8.12,-8.29,-8.39,-8.33,-8.3,-8,-7.86,-8.5,-9.24,-8.78,-8.92,-8.86,-8.99,-8.5,-8.27,-8.03,-8.17,-8.58,-8.9,-9.25,-9.51,-9.15,-8.77,-9.15,-8.81,-8.47,-8.04,-7.81,-7.36,-6.83,-6.74,-6.8,-6.61,-6.56,-6.48,-6.44,-5.86,-5.21,-4.07,-2.67,-1,0.65,1.52,1.44,0.85,-0.32,-1.5,-1.42,-0.77,0.06,-0.53,-0.46,-0.47,-0.9,-1.18,-1.4,0.49,-2.52,-0.91,-2.71,-2.13,-2.19,-1.85,-0.77,0.27,-2.65,-0.75,-1.86,0.42,-0.69,-1.53,-1.18,0.43,-2.67,-1.05,0.31,1.27,-0.96,-1.11,0.58,-1.49,-2.18,-3.01,-4.83,-7.01,-7.92,-7.95,-7.97,-7.5,-6.97,-7.19,-7.54,-7.67,-6.75,-5.58,-4.91,-4.47,-5.19,-4.71,-4.83,-5.84,-7.05,-5.14,-4.52,-4.3,-4.33,-4.48,-3.99,-3.93,-5.17,-5.93,-6.6,-7.94,-7.75,-7.87,-7.92,-7.64,-7.04,-6.92,-6.94,-5.88,-5.26,-5.68,-5.99,-7.51,-8.36,-8.98,-8.29,-8.86,-7.46,-7.06,-6.77,-6.39,-6.17,-5.8,-6.76,-7.44,-8.52,-9.15,-9.43,-9.6,-10.48,-10.64,-10.86,-10.49,-9.7,-9.26,-8.98,-8.65,-8.46,-8.49,-8.39,-8.12,-7.37,-6.56,-6.78,-7.1,-7.64,-8.07,-8.4,-7.78,-7.21,-5.86,-3.43,-3.79,-5.78,-4.45,-4.04,-3.7,-7.55,-9.21,-10.21,-10.43,-9.36,-5.57,-6.35,-11.33,-11.63,-11.34,-10.84,-10.32,-8.73,-8.06,-7.93,-8.13,-8.53,-9.07,-9.54,-9.26,-8.72,-8.22,-8.26,-8.58,-8.84,-8.59,-8.29,-7.73,-7.73,-8.21,-8.39,-8.23,-8.02,-7.34,-6.79,-5.95,-5.54,-5.33,-5.39,-5.37,-4.91,-4.09,-2.83,-1.37,-1.52,-2.27,-2.6,-3.14,-3.82,-4.18,-4.61,-4.81,-5.04,-5.28,-6.49,-7.14,-7.2,-6.86,-6.96,-6.89,-6.94,-6.96,-6.72,-6.67,-6.45,-6.59,-6.89,-7.56,-8.94,-8.75,-9.09,-9.03,-8.68,-8.17,-8.23,-8.55,-8.69,-9.01,-8.13,-7.66,-7.53,-7.74,-8.09,-8.36,-8.66,-8.56,-8.79,-8.82,-8.79,-8.86,-8.76,-8.71,-8.86,-8.54,-8.19,-7.98,-7.67,-7.54,-7.46,-7.53,-7.52,-7.6,-7.72,-8.09,-8.43,-8.58,-7.83,-7.84,-8.38,-8.81,-8.47,-7.99,-7.47,-7.3,-7.25,-7.22,-6.95,-6.95,-7.59,-8.22,-8.5,-8.76,-8.61,-8.84,-8.71,-8.36,-8.09,-7.9,-7.84,-7.86,-7.99,-8.05,-7.87,-7.74,-7.25,-7.11,-7.12,-6.9,-6.94,-7.01,-7.13,-7.24,-6.89,-6.63,-5.22,-3.21,-2.07,-0.01,-1.35,-0.65,-0.85,0.72,0.24,-0.42,-0.43,0.06,0.94,1.09,-0.79,-0.35,-0.03,-0.48,-1.07,-0.87,-0.71,-0.6,-0.26,-0.75,-1.17,-1.06,-1.11,-1.25,-0.09,-0.82,-0.1,-1.58,-1.71,-2.58,-1.21,-2.11,-3.28,-3.9,-2.39,-3.12,-0.77,-6.11,-7.43,-6.86,-7.13,-7.73,-8.11,-8.3,-8.66,-8.67,-8.4,-8.36,-8.61,-8.49,-9,-9.36,-9.18,-9.2,-9.11,-8.96,-8.67,-8.27,-8.26,-8.31,-8.39,-8.49,-9.1,-8.98,-8.73,-8.73,-8.94,-8.61,-8.22,-8.06,-7.51,-7.14,-6.91,-6.67,-6.75,-6.49,-6.44,-6.5,-6.34,-6,-5.4,-4.64,-3.3,-1.74,-0.83,-0.06,0.18,0.69,-1.51,-1.42,-0.32,-1.34,-0.66,-0.4,-0.26,-0.55,-0.45,-0.94,-1.09,-1.22,-2.37,-0.89,-2.32,-2.75,-2.25,-0.14,-0.23,-2.53,-0.58,-0.7,-2.52,0.54,-0.7,-0.64,-0.72,0.45,-1,0.74,1.28,1.09,-0.46,-4.54,-4.11,-1.89,-1,0.71,-5.47,-8.35,-9.18,-8.5,-8.09,-7.28,-6.75,-6.36,-6.5,-6.96,-6.47,-5.79,-5.06,-5.29,-6.09,-6.69,-7.08,-6.94,-6.83,-5.07,-3.56,-3.52,-4.07,-4.35,-4.2,-4.05,-4.78,-5.71,-6.68,-7.65,-7.52,-7.63,-7.55,-7.31,-7.27,-7.16,-7.78,-7.17,-6.34,-7.53,-8.13,-9.29,-9.03,-9.29,-8.32,-9.18,-8.41,-7.3,-7.53,-6.94,-6.73,-7.63,-8.51,-8.26,-9.59,-10.42,-10.31,-10.23,-10.92,-11.03,-10.49,-10.29,-9.54,-9.16,-9.16,-8.94,-8.66,-8.61,-8.59,-8.02,-7.24,-5.2,-3.46,-5.9,-7.23,-8.64,-6.22,-7.79,-7.07,-3.82,-3.55,-4.14,-4.72,-3.7,-4.36,-5.29,-7.14,-8.74,-9.55,-9.75,-9.43,-6.16,-6.7,-11.09,-11.67,-10.62,-10.18,-9.77,-9.3,-8.16,-7.89,-8.37,-8.65,-9.1,-9.44,-9.54,-9.05,-8.71,-8.87,-8.61,-8.73,-8.44,-7.78,-7.24,-5.96,-6.03,-6.94,-7.44,-7.34,-7.37,-7.47,-6.94,-6.09,-6.44,-6.29,-6.01,-5.59,-4.88,-4.01,-2.26,-0.79,-0.97,-1.55,-2.2,-2.67,-2.58,-3.13,-3.66,-4.26,-5.04,-5.58,-6.44,-6.61,-6.33,-6.17,-6.68,-6.44,-6.77,-6.71,-6.52,-6.23,-6.31,-6.76,-7.48,-8.42,-8.32,-8.89,-9.23,-8.49,-7.99,-7.96,-7.91,-8.16,-8.41,-7.39,-6.56,-6.55,-7.01,-7.5,-7.84,-8.17,-8.41,-8.47,-8.35,-8.36,-8.48,-9.01,-9.22,-9.03,-8.41,-8.34,-8.57,-8.12,-7.76,-7.6,-7.32,-7.26,-6.9,-6.89,-7.6,-8.23,-8.17,-7.87,-7.91,-8.19,-8.19,-7.79,-7.97,-7.64,-7.45,-7.54,-7.78,-7.62,-7.85,-8.34,-8.56,-8.92,-9.3,-9.6,-9.44,-9.18,-9.01,-8.79,-8.53,-8.25,-8.18,-8.15,-8.09,-8.05,-8.07,-7.92,-7.59,-7.47,-7.28,-7.24,-7.51,-7.59,-7.7,-7.27,-6.99,-6.33,-5.36,-4.52,-1.22,-0.94,-1.12,0.89,0.22,0.66,0.46,0.71,0.56,-0.45,0.68,-0.86,-0.26,-0.64,0.39,-0.64,-0.94,-0.17,-0.57,0.46,-1.21,-1.49,-1.46,-2.01,-1.23,0.1,-0.44,-0.34,-2.84,0.48,-3.14,-1.06,-2.43,-3.97,-2.79,-3.58,-1.94,-2.56,-4.93,-7.37,-7.25,-7.09,-7.65,-8.21,-8.48,-8.72,-8.93,-9.07,-9.02,-9.39,-9.35,-9.43,-9.55,-9.46,-9.23,-8.92,-8.69,-8.68,-8.55,-8.43,-8.28,-8.02,-8.38,-9.02,-9.01,-8.66,-8.65,-8.59,-8.21,-8.02,-7.88,-7.18,-6.88,-6.87,-6.69,-6.47,-6.27,-5.98,-6.4,-6.17,-5.6,-5.2,-4.76,-4.06,-2.62,-1.68,-1.17,-0.66,-0.21,-0.96,-0.38,0.14,-2.11,-0.41,-0.86,-0.5,-1.03,-0.15,-0.93,-1.39,-1.96,-2.09,-2.01,-2.03,-2.66,-0.9,-0.03,-1.59,-0.75,-0.69,-0.88,0.2,-0.4,-0.79,0.33,0.52,1.19,0.33,2.16,1.74,0.45,-1.8,-8.42,-8.61,-2.28,-2.01,1.34,-6.09,-8.64,-8.68,-9.38,-8.02,-7.09,-6.37,-6.31,-6.33,-7.07,-6.9,-6.16,-5.67,-6.1,-6.61,-7.82,-6.97,-7.01,-8.52,-7.6,-5.54,-5.19,-4.34,-3.99,-3.58,-4,-4.64,-5.45,-6.95,-7.67,-7.12,-7.25,-7.14,-7.32,-7.46,-7.55,-7.74,-7.63,-7.89,-8.82,-9.42,-9.42,-8.95,-8.35,-8.41,-8.67,-8.86,-8.15,-8.3,-8.38,-8.45,-9.66,-10.03,-9.83,-10.9,-11.28,-11.26,-11.24,-10.86,-10.72,-10.08,-9.79,-9.16,-8.91,-9.15,-9.22,-9.09,-9.06,-9.09,-8.81,-8.18,-8.32,-7.1,-7.22,-6.58,-5.12,-5.92,-4.98,-6.31,-4.68,-4.49,-3.73,-3.59,-3.56,-3.38,-5.2,-6.4,-7.75,-9.13,-9.6,-9.67,-6.97,-7.06,-6.7,-6.02,-10.12,-9.76,-9.4,-9.44,-8.66,-8.1,-8.02,-8.56,-9.09,-9.54,-9.59,-9.25,-8.95,-8.95,-8.79,-8.42,-8.04,-7.74,-7.28,-6.69,-4.06,-4.03,-5.69,-6.25,-6.37,-6.09,-5.97,-5.7,-5.87,-6.02,-5.95,-5.46,-5.24,-4.9,-3.64,-1.64,-0.65,-0.72,-1.15,-1.32,-1.92,-2.69,-3.55,-3.56,-3.95,-4.74,-5.4,-5.69,-5.85,-6.11,-6.23,-6.15,-6.17,-6.5,-6.38,-6.14,-6.11,-7.2,-7.98,-7.76,-7.78,-8.64,-8.89,-8.46,-8.12,-8.27,-7.6,-7.69,-7.77,-7.07,-6.37,-5.97,-6.6,-7.43,-8.27,-8.58,-8.89,-8.35,-8.22,-8.03,-8.47,-8.64,-8.61,-8.93,-9.02,-9.29,-9.05,-8.52,-8.45,-8.68,-8.65,-8.48,-7.96,-7.86,-7.72,-8.07,-8.2,-7.72,-7.51,-8.09,-7.99,-8.19,-8.2,-7.91,-7.75,-7.83,-8.22,-8.81,-9.03,-9.1,-9.27,-9.82,-10.06,-10.08,-9.58,-9.26,-9.33,-9.42,-9.25,-8.97,-8.75,-8.62,-8.38,-8.29,-8.3,-8.18,-8.02,-7.81,-7.75,-7.65,-7.95,-8.01,-8.06,-7.7,-7.35,-7.24,-6.74,-5.94,-6.45,-1.48,-0.59,0.98,1.77,2.59,-0.47,-1.65,-0.44,-0.95,-0.21,-1.13,-1.29,-0.31,0.17,-0.43,0.2,-0.46,-0.3,-0.65,-1.48,-1.89,-1.58,-2.38,-1.17,0.29,-0.4,-0.22,-2.87,-0.53,-1.38,-1.23,-1.18,-3.18,-2.05,-2.92,-1.24,-2.01,-4.84,-6.33,-7.29,-6.94,-7.46,-8.08,-8.48,-9.11,-9.44,-9.56,-9.43,-9.59,-9.65,-9.36,-8.97,-8.87,-9.05,-8.92,-8.64,-8.42,-8.45,-8.44,-8.13,-7.98,-8.11,-8.45,-8.55,-8.56,-8.43,-8.37,-8.16,-7.92,-7.73,-7.01,-6.83,-6.76,-6.76,-6.29,-6.32,-6.12,-5.89,-5.82,-5.57,-5.03,-4.59,-4.38,-3.59,-2.55,-1.5,-0.35,0.25,-1.27,-1.41,-1.42,-1.93,-1.53,-1.18,-1.19,-1.28,-1.04,-1.04,-1.28,-1.54,-2.58,-1.62,-1.88,-1.57,-0.62,-1.6,-2.58,-2.47,-0.66,-0.91,-1.01,-1.02,-0.06,0.78,1.4,1.49,0.5,2.51,1.49,-0.7,-2.3,-2.81,-2.11,-3.21,-2.46,-0.83,-5.28,-7.41,-8.02,-8.5,-7.61,-6.76,-5.93,-6.23,-7,-7.3,-7.35,-6.8,-7.26,-6.97,-7.49,-8.19,-7.62,-7.28,-8.05,-6.3,-6.09,-7.13,-6.59,-5.71,-4.29,-4.04,-4.7,-5.35,-7.49,-7.27,-6.94,-6.62,-6.86,-7.26,-7.54,-7.48,-7.46,-7.63,-8.5,-9.02,-9.29,-8.8,-8.59,-7.97,-8.18,-8.66,-8.48,-8.63,-8.81,-8.45,-9.75,-11.02,-10.88,-11.32,-11.59,-11.35,-11,-10.45,-10.48,-10.09,-9.6,-9.33,-9.03,-8.76,-9.15,-9.22,-9.39,-9.92,-9.92,-9.96,-9.51,-10,-8.94,-7.76,-5.98,-6.58,-6.41,-5.75,-5.86,-6.95,-4.79,-4.9,-3.67,-3.07,-3.12,-2.55,-4.35,-5.66,-8.2,-8.79,-8.23,-5.82,-5.34,-5.27,-4.51,-8.27,-8.75,-8.97,-8.84,-8.85,-8.12,-7.83,-7.94,-8.57,-9.11,-9.14,-8.67,-8.29,-8.16,-7.83,-7.71,-7.61,-7.52,-7.42,-6.91,-6.77,-5.02,-4.63,-4.81,-5.29,-4.89,-5.09,-4.4,-4.15,-3.67,-4.49,-5.26,-3.97,-3.67,-4.4,-2.37,-1.4,-0.57,-0.01,-0.62,-1.59,-3.06,-4.12,-3.9,-4.8,-5.07,-5.49,-5.17,-5.43,-5.65,-5.29,-5.33,-5.67,-5.96,-6.04,-5.91,-5.97,-6.51,-7.35,-7.46,-7.36,-8.1,-8.45,-8.27,-8.34,-8.44,-7.39,-7.2,-7.25,-7.22,-6.69,-6.35,-7.93,-9.48,-9.23,-9.27,-8.98,-8.5,-7.97,-7.9,-8.7,-8.86,-8.95,-8.94,-8.49,-8.48,-8.33,-7.96,-7.87,-7.76,-7.87,-7.63,-7.35,-7.54,-8.13,-8.39,-8.15,-7.83,-7.87,-8.15,-8.01,-8.23,-8.17,-7.95,-7.86,-8.66,-9.03,-9.19,-9.56,-10.03,-10.26,-10.29,-10.35,-10.02,-9.38,-9.08,-9.06,-9.27,-9.6,-9.6,-9.37,-9.04,-8.9,-8.96,-8.98,-8.8,-8.63,-8.24,-8.07,-8.05,-8.14,-8.32,-8.09,-8.05,-7.93,-7.59,-7.59,-7.1,-6.42,-7.33,-4.39,-0.5,-0.12,1.01,-1.55,-4.06,-0.52,0.76,-0.48,-0.6,-1.03,-0.91,-0.48,-0.18,-0.1,0.41,-0.77,0.42,-0.92,-1.17,-1.96,-1.56,-0.5,-0.06,-0.16,-1.81,-2.72,-1.04,-0.11,-0.55,-2.57,-2.58,-1.97,-1.83,-1.48,-1.64,-4.69,-5.44,-7.25,-6.34,-7.01,-7.88,-8.23,-8.58,-9.31,-9.61,-9.5,-9.34,-9.15,-8.82,-8.38,-8.12,-7.98,-8.48,-9.09,-8.79,-8.53,-8.36,-8.24,-8.28,-8.19,-8.35,-8.46,-8.56,-8.55,-8.5,-8.33,-7.96,-7.48,-7,-6.89,-6.8,-6.74,-6.51,-6.5,-6.27,-6.04,-5.72,-5.45,-4.96,-4.55,-4.34,-4.04,-3.34,-1.8,-0.68,0.18,-1.48,-1.37,-2.68,-2.37,-2.06,-1.4,-1.71,-0.8,-1.19,-1.45,-1.92,-1.51,-2.45,-2.73,-0.39,-0.25,-0.91,-1.05,-1.26,-0.07,-0.29,-0.57,-1.28,-0.86,0.62,0.79,0.29,-0.26,0.2,2.13,0.98,-1.36,-1.56,-1.55,-4.13,-3.85,0.14,-0.9,-4.84,-6.7,-7.58,-7.87,-6.97,-6.05,-4.72,-5.31,-7.14,-7.59,-8.09,-7.69,-8.7,-8.29,-8.47,-8.39,-8.1,-7.57,-7.39,-6.39,-7.79,-8.94,-7.72,-7,-5.61,-6.63,-5.59,-5.05,-7.46,-7.3,-6.66,-6.28,-6.54,-7.02,-7.4,-7.36,-7.25,-7.07,-7.97,-8.73,-8.52,-8.34,-8.06,-7.97,-8.45,-8.66,-8.77,-8.48,-7.75,-9.84,-9.91,-10.32,-11.25,-11.15,-10.88,-10.58,-9.97,-9.72,-9.72,-9.15,-8.69,-8.1,-8.26,-8.69,-9.16,-9.61,-10.21,-10.62,-10.62,-10.98,-10.95,-11.36,-6.48,-6.49,-6.81,-5.45,-7.64,-5.24,-6.55,-7.05,-5.49,-7.41,-6.25,-4.52,-3.59,-3.24,-4.49,-4.9,-4.88,-6.9,-6.3,-6.12,-6.69,-6.15,-5.28,-5.37,-7.99,-8.41,-8.45,-8.59,-8.36,-7.6,-7.59,-7.84,-8.27,-8.19,-8.13,-8.1,-7.83,-7.44,-6.71,-6.93,-7.06,-7.22,-6.96,-6.26,-6.04,-5.04,-4.93,-4.18,-3.45,-4.18,-4.09,-3.85,-2.3,-1.61,-1.17,-4.29,-3.85,-4.83,-4.87,-3.18,-2.71,-2.34,-2.56,-3.09,-3.51,-4.78,-4.9,-4.39,-5.21,-5.24,-4.88,-5.09,-5.19,-5.19,-4.8,-4.59,-4.76,-5.73,-5.72,-5.6,-5.78,-6.78,-7.07,-7.06,-7.78,-7.7,-7.79,-7.92,-8.19,-7.75,-6.59,-7.36,-7.43,-7.09,-7.87,-8.87,-9.39,-9.93,-9.37,-8.86,-8.81,-8.93,-8.97,-8.91,-8.76,-8.69,-8.82,-8.33,-7.74,-7.04,-7.39,-8.21,-8.67,-8.59,-8.21,-7.89,-7.8,-7.79,-7.94,-8.03,-8.43,-8.37,-8.06,-7.94,-8.04,-8.33,-8.27,-8.7,-9.43,-9.78,-10.14,-10.51,-10.58,-10.36,-10.23,-10.03,-9.79,-9.45,-9.06,-8.79,-8.92,-9.23,-9.12,-9.04,-8.83,-8.76,-8.74,-8.87,-9.21,-9.35,-9.09,-8.62,-8.52,-8.41,-8.51,-8.39,-8.28,-8.21,-8.01,-7.76,-7.48,-7.18,-6.14,-5.87,-5.66,-1.97,-0.27,1.78,1.36,-2.72,0.1,0.43,-0.08,-0.64,-0.4,-1.17,0.13,0.19,0.92,0.79,0.18,-0.39,-1.95,-1.84,-1.47,-1.92,-0.57,-1.48,-2.44,-2.56,-0.72,-1.05,-0.59,-2.32,-1.42,-2.33,-1.65,-0.61,-3.87,-4.9,-5.04,-6.33,-5.85,-6.29,-7.07,-7.57,-7.87,-8.32,-8.61,-8.62,-8.46,-8.17,-7.68,-8,-7.36,-7.36,-8.01,-8.33,-8.8,-8.65,-8.45,-8.2,-7.98,-7.92,-8.58,-8.75,-8.57,-8.53,-8.67,-8.2,-7.82,-7.53,-7.24,-7.05,-6.91,-6.82,-6.69,-6.76,-6.6,-6.14,-5.76,-5.2,-4.81,-4.53,-4.34,-4.29,-3.63,-2.83,-2.81,-2.21,-2.41,-3.23,-2.39,-2.95,-1.91,-1.72,-1.76,-1.5,-1.52,-1.43,-1.78,-1.29,-1.62,-0.56,-0.48,-1.76,-2.28,-2.48,-1.92,-0.09,0.28,0.54,-0.63,0.23,-1.16,-2.06,-1.34,-1.27,-0.48,1.44,0.84,-1.33,-0.5,-0.57,-3,-1.38,2.15,-2.34,-4.31,-5.5,-7.47,-7.6,-7.12,-5.3,-4.84,-7.12,-7.55,-8.6,-9.58,-9.35,-8.93,-8.67,-8.4,-8.41,-8.26,-8,-7.5,-7.21,-7.34,-7.81,-8.16,-8.24,-7.2,-7.31,-6.43,-5.34,-6.82,-7.14,-6.6,-6.09,-6.09,-6.57,-6.79,-7.22,-7.19,-6.84,-6.77,-7.6,-7.8,-7.78,-7.57,-7.82,-9.3,-9.33,-8.79,-8.32,-7.48,-8.91,-9.69,-10.21,-10.32,-10.08,-9.91,-9.85,-9.35,-9.29,-9.1,-8.63,-8.33,-7.99,-7.96,-8.46,-9.47,-10.4,-11.15,-11.47,-11.82,-12.14,-12,-12.11,-7.99,-7.24,-6.88,-6.79,-7.27,-5.93,-7.71,-6.68,-6.51,-6.76,-6.54,-4.52,-3.65,-3.86,-3.73,-4.42,-4.42,-5.25,-4.92,-5.45,-6.33,-6.69,-6.14,-3.22,-7.48,-8.09,-8.3,-8.35,-8.19,-8.03,-7.25,-7.1,-7.77,-7.73,-7.69,-7.44,-7.19,-6.84,-6.5,-5.89,-6.06,-6.29,-6.52,-6.31,-5.69,-4.42,-4.29,-4.1,-2.91,-2.92,-3.08,-4.15,-3.57,-2.22,-1.59,-1.1,-4.02,-4.65,-5.41,-5.1,-4.83,-4.96,-5.05,-5.3,-5.13,-4.99,-5.9,-6.17,-5.64,-5.28,-5.09,-5.36,-5.35,-4.86,-4.76,-3.79,-3.6,-4.24,-5.38,-5.66,-5.21,-5.59,-7.02,-6.85,-6.56,-6.67,-6.9,-7.3,-7.61,-7.64,-7.34,-7.04,-7.14,-7.73,-8.13,-8.95,-9.53,-9.8,-9.22,-8.74,-9,-9.51,-9.64,-9.13,-8.93,-8.73,-8.16,-7.69,-7.44,-7.65,-8.61,-9.33,-8.7,-7.94,-7.24,-7.59,-7.8,-7.68,-8.1,-8.48,-8.64,-8.49,-8.05,-7.88,-8.08,-8.37,-8.81,-9.49,-9.85,-10.09,-10.12,-10.33,-10.18,-10.29,-10.13,-9.84,-9.3,-8.86,-8.46,-8.44,-8.53,-8.75,-8.91,-8.68,-8.59,-8.56,-8.57,-8.67,-8.76,-9.08,-9.05,-8.98,-8.87,-8.77,-8.79,-8.64,-8.43,-8.3,-8.16,-7.88,-7.45,-6.94,-6.36,-5.24,-4.2,-3.57,-2.06,0.63,3.56,0.88,0.91,-0.45,-0.95,-0.28,0.5,-1.11,-0.65,-0.72,0.47,0.48,0.25,0.1,-1.19,-0.75,-2.2,-2.22,-1.31,-1.71,-1.69,-1.89,-1.03,-1.02,-1.1,-2.28,-0.99,-1.1,-1.7,-0.94,-4.65,-5.41,-4.66,-5.16,-5.21,-5.34,-5.98,-6.16,-6.58,-7.1,-7.33,-7.29,-7.13,-7.12,-7.1,-6.94,-6.79,-6.81,-7.29,-8.14,-8.19,-8.4,-8.34,-7.96,-7.61,-7.98,-8.92,-8.68,-8.34,-8.24,-8.53,-8,-7.63,-7.58,-7.24,-7.14,-7.2,-7.06,-6.81,-7.05,-6.69,-6.35,-5.67,-5.14,-4.73,-4.43,-4.32,-4.32,-4.2,-4.18,-3.53,-2.92,-2.29,-2.57,-2.05,-3.04,-3.17,-2.8,-2.03,-2.21,-1.99,-1.8,-2.28,-1.81,-2.26,-1.72,-2.18,-2.62,-3.14,-2.57,-2.02,-0.51,0.34,1.13,-0.18,-1.27,-2.71,-2.39,-2.16,-1.89,-0.89,0.69,0.81,-1.82,-0.83,-1.35,-3.04,-0.13,2.29,-3.89,-4.46,-4.86,-7.71,-8.15,-6.99,-5.76,-7.33,-8.59,-9.11,-9.83,-10.23,-9.02,-8.37,-8.08,-8.36,-8.46,-8.14,-7.97,-7.5,-7.32,-7.63,-7.14,-7.93,-8.05,-7.75,-7.15,-5.7,-5.9,-7.35,-5.88,-5.83,-5.7,-5.54,-5.73,-5.94,-6.6,-6.88,-6.63,-6.46,-6.55,-6.87,-7.01,-7.07,-7.59,-9.23,-9.14,-8.43,-7.73,-7.3,-7.82,-8.85,-9.25,-9.28,-9.07,-9.17,-9.11,-8.98,-8.82,-8.6,-8.12,-8.01,-7.98,-8.09,-8.93,-10.32,-11.18,-11.79,-12.25,-13.02,-13.35,-12.27,-9.49,-8.8,-8.24,-7.22,-7.46,-7.14,-5.89,-7.64,-6.16,-6.87,-6.84,-5.98,-5.54,-3.66,-3.29,-3.47,-3.58,-4.85,-4.15,-4.52,-5.34,-6.67,-6.85,-5.2,-4.12,-6.11,-7.65,-7.42,-7.87,-7.84,-7.94,-7.54,-6.52,-6.6,-7.14,-7,-7,-6.74,-6.38,-5.69,-5.07,-4.16,-4,-4.91,-5.2,-4.94,-4.07,-2.83,-3.04,-2.9,-2.42,-2.74,-2.77,-3.56,-4.12,-4.55,-4.72,-5.12,-5.81,-4.81,-4.69,-4.63,-5.54,-5.64,-6.74,-7.34,-7.08,-6.66,-6.43,-5.92,-5.6,-4.97,-5.53,-5.47,-5.29,-4.44,-4.14,-3.8,-3.04,-4.09,-4.91,-5.03,-4.94,-5.56,-6.71,-6.44,-5.76,-6.11,-6.72,-7.02,-6.9,-6.69,-6.74,-6.67,-7.44,-7.83,-8.43,-9.03,-9.31,-9.09,-8.67,-8.32,-8.53,-8.71,-8.83,-8.75,-8.77,-8.14,-7.61,-8.92,-10.59,-10.08,-9.2,-8.26,-7.36,-6.9,-6.78,-6.37,-7.13,-8.54,-9.08,-9.24,-8.81,-7.89,-7.52,-8.23,-9.01,-9.23,-9.49,-9.76,-9.92,-9.97,-9.95,-10.05,-10.06,-9.67,-9.04,-8.47,-8.01,-7.68,-7.63,-8.04,-8.21,-8.42,-8.46,-8.42,-8.33,-8.53,-8.51,-8.57,-8.85,-8.88,-8.66,-8.89,-8.72,-8.71,-8.66,-8.53,-8.43,-8.08,-7.84,-7.41,-6.74,-5.97,-4.85,-3.44,-2.23,-0.97,1.14,3.59,4.29,1.16,1.93,-0.75,-1.05,-0.58,-1.65,-0.97,-0.33,0.53,0.51,0.07,0.01,-0.73,-0.43,-1.98,-1.74,-1,-1.02,-2.43,-1.41,-0.54,0.21,-1.67,-1.74,-0.14,-0.88,-1.12,-0.53,-4.3,-5.63,-4.93,-4.58,-3.97,-4.29,-4.53,-5.11,-5.65,-5.73,-6.06,-6.19,-6.19,-6.44,-6.69,-6.71,-6.06,-6.13,-7.27,-7.18,-7.77,-8.16,-7.78,-7.85,-7.98,-8.34,-8.37,-8.22,-8.3,-8.4,-8.14,-7.53,-7.42,-7.25,-7.2,-7.2,-7.27,-7.27,-7.25,-7.53,-7.3,-6.93,-6.47,-5.59,-4.97,-4.46,-4.27,-4.33,-4.49,-4.94,-4.72,-4.21,-2.44,-1.61,-0.66,-1.24,-2.66,-1.77,-2.55,-2.1,-1.51,-2.14,-1.99,-2.33,-3.46,-2.67,-3.12,-3.4,-2.66,-0.26,-1.06,-0.1,0.06,0.91,-1.75,-3.17,-2.96,-2.82,-2.65,-2.69,-2.06,-0.94,-0.21,-1.55,-0.25,-1.33,-1.85,0.68,0,-4.68,-5.37,-5.35,-6.46,-7.9,-8.38,-6.54,-7.49,-8.33,-9.38,-9.62,-8.94,-8.25,-7.85,-7.43,-7.22,-7.35,-7.53,-7.54,-7.13,-6.95,-7.07,-6.58,-6.71,-7.64,-7.58,-7.07,-6.63,-6.51,-7.03,-6.09,-4.98,-4.76,-4.91,-4.68,-4.73,-5.44,-6.1,-6.05,-5.95,-6.18,-6.27,-6.1,-6.62,-7.2,-8.38,-8.48,-8.01,-7.24,-6.87,-7.04,-7.41,-8.22,-8.68,-8.39,-7.99,-8.04,-8.1,-8.18,-7.91,-7.3,-6.95,-7.01,-7.71,-9.45,-11.19,-12.52,-13.17,-13.21,-11.58,-10.81,-10.5,-9.36,-9.08,-8.41,-7.29,-8.68,-7.3,-7.32,-7.17,-5.9,-6.67,-6.14,-6.3,-5.57,-4.48,-2.58,-2.17,-3.08,-4.72,-4.64,-4.67,-3.83,-5.27,-7.07,-5.21,-4.53,-3.96,-5.91,-7.64,-7.91,-7.67,-6.96,-6.95,-6.74,-6.18,-6.62,-6.66,-6.38,-6.41,-5.83,-5.04,-4.18,-3.44,-2.09,-3.6,-4.58,-3.71,-2.78,-2.42,-2.27,-2.7,-2.56,-3.04,-2.6,-1.81,-3.3,-4.25,-5.47,-5.5,-5.03,-4.85,-4.5,-4.31,-3.94,-4.13,-6.68,-8.04,-9.31,-8.98,-8.84,-8.58,-7.73,-6.73,-5.78,-5.72,-4.1,-3.82,-4,-4.21,-3.83,-3.12,-3.53,-3.83,-4.45,-4.73,-5.16,-6.04,-5.41,-5.22,-5.75,-6.33,-6.29,-5.87,-6.3,-6.27,-6.65,-7.19,-7.51,-8.15,-8.76,-8.63,-8.34,-7.99,-7.82,-7.63,-7.41,-7.39,-7.91,-7.81,-7.43,-8.4,-9.38,-9.25,-8.66,-7.66,-7.34,-7.99,-7.51,-7.79,-8.81,-9.2,-9.23,-8.81,-8.16,-7.86,-8.57,-9.37,-8.95,-9.09,-9.19,-9.66,-9.66,-9.52,-9.71,-9.87,-9.67,-8.98,-8.41,-7.75,-7.34,-7.25,-7.14,-7.57,-8.02,-8.26,-8.21,-8.11,-8.12,-8.25,-8.19,-8.37,-8.51,-8.71,-8.43,-8.54,-8.66,-8.68,-8.78,-8.6,-8.46,-7.97,-7.45,-6.91,-6.46,-5.44,-4.31,-2.72,-1.23,0.15,1.59,1.91,4.21,4,4.91,0.75,-0.3,-1.29,-1.4,-0.69,-0.48,0.93,1.7,0.81,0.04,-0.49,1.69,-0.36,-2.06,-1.36,0.09,-0.8,-0.81,-0.91,0.72,-0.98,-0.81,0.83,-0.65,-0.02,-1.28,-3.15,-5.11,-5.07,-4.41,-4.55,-4.29,-3.85,-3.7,-3.96,-4.25,-4.22,-4.46,-4.99,-5.38,-6.27,-6.69,-6.79,-6.7,-6.24,-6.49,-7.21,-7.2,-6.79,-6.62,-7.34,-8.16,-8.41,-8.17,-7.85,-7.64,-7.35,-7.3,-7.29,-6.98,-6.84,-6.82,-6.97,-7.04,-7.34,-7.25,-7.04,-6.96,-6.88,-6.35,-5.64,-4.81,-4.31,-4.23,-4.42,-4.85,-5.18,-4.27,-2.9,-1.73,-1.48,-1.12,-2.19,-2.63,-2.77,-2.08,-2.04,-2.47,-1.05,-2.03,-3.85,-3.54,-3.46,-2.19,-0.87,-0.16,-0.05,-0.28,-0.65,0.11,-1.19,-3.41,-3.42,-3.3,-3.03,-2.92,-2.71,-2.27,-1.72,-1.25,-1.06,-1.99,-1.96,0.99,-3.81,-5.23,-6.41,-7.18,-7.51,-6.36,-3.13,-5.66,-7.36,-8.15,-8.63,-8.46,-7.76,-7.39,-7.17,-6.78,-6.52,-6.35,-6.25,-6.31,-6.27,-6.06,-5.96,-6.24,-6.25,-6.14,-6.08,-5.99,-6.87,-5.19,-6.12,-6.13,-5.42,-5.37,-5.09,-4.16,-3.29,-3.63,-4.54,-5.21,-5.19,-5.54,-5.81,-5.59,-5.51,-6.1,-6.9,-7.74,-7.69,-6.77,-6.44,-6.14,-5.94,-6.88,-8.2,-8,-6.79,-6.78,-7.04,-7.61,-7.07,-6.19,-5.55,-5.85,-7.77,-9.72,-11.41,-12.43,-11.33,-10.8,-11.14,-10.39,-10.33,-9.11,-8.94,-9.01,-8.41,-8.38,-9.04,-6.41,-5.75,-7.82,-6.73,-5.8,-5.8,-6.16,-4.67,-2.59,-2.96,-3.69,-5.16,-4.71,-5.07,-6.54,-8.6,-8.16,-6.9,-4.53,-4.64,-4.85,-4.09,-7.49,-7.72,-7.85,-7.09,-6.44,-6.24,-6.38,-6.22,-5.32,-5.45,-5.25,-4.41,-3.7,-2.76,-2.6,-0.9,-3.1,-2.91,-1.83,-1.28,-1.47,-2.14,-3.14,-2.67,-2.06,-1.5,-1.63,-2.99,-4.49,-4.99,-4.24,-3.91,-3.78,-3.81,-4.48,-5.58,-6.1,-8.64,-9.19,-9.09,-8.79,-7.84,-6.98,-6.04,-6.03,-5.61,-4.69,-4.24,-3.5,-3.97,-4.13,-3.65,-2.65,-1.79,-3,-4.11,-4.05,-4.3,-5.34,-4.96,-4.72,-5.2,-5.5,-5.38,-5.29,-5.71,-5.67,-5.81,-6.5,-7.27,-7.47,-7.78,-7.48,-7.19,-7.26,-7.41,-7.81,-8.15,-7.94,-7.75,-7.67,-8.9,-8.87,-8.6,-8.33,-8.35,-8.59,-8.14,-8.27,-9.07,-9.47,-8.94,-9.31,-9.21,-8.84,-9.28,-9.75,-9.52,-8.85,-9.14,-9.05,-8.93,-9.27,-9.33,-9.42,-9.35,-9.38,-8.64,-8.06,-7.39,-7.08,-7.24,-7.47,-7.62,-7.71,-8.1,-8.01,-7.85,-7.77,-7.48,-8.03,-7.71,-7.72,-7.91,-7.97,-7.9,-8.04,-8.29,-8.27,-8.27,-7.96,-7.6,-6.89,-6.08,-5.27,-4.48,-3.85,-2.16,-0.54,0.56,1.18,0.35,3.99,5.86,8.6,2.86,-0.55,-1.04,-0.72,-0.78,-0.94,0.81,1.34,0.78,-0.06,-0.11,0.95,-0.26,-1.76,-1.22,0.53,-1.29,-1.12,-0.76,-0.04,-0.53,-0.16,0.46,0.2,-0.29,-3.68,-2.65,-4.34,-4.42,-4.62,-4.86,-5.3,-5.37,-4.96,-3.97,-2.79,-2.42,-2.42,-3.37,-4.5,-5.37,-5.88,-6.68,-6.09,-5.81,-5.63,-6.81,-7.1,-6.33,-6.04,-6.33,-6.82,-7.05,-7.04,-7.02,-6.89,-6.97,-6.69,-6.6,-6.61,-6.48,-6.51,-6.7,-6.83,-6.85,-6.16,-6.28,-6.11,-6.33,-6.08,-5.86,-5.11,-4.36,-3.98,-4,-4.11,-4.28,-4.38,-3.55,-0.69,-1.2,-0.47,-2.5,-0.95,-2.94,-1.19,-2.13,-0.96,-1.25,-1.84,-2.71,-2.28,-1.13,-0.17,-0.78,-1.02,-0.76,-0.27,-0.92,-1.25,0.39,-3.48,-3.61,-3.66,-3.42,-3.28,-3.3,-3.14,-2.78,-1.85,-2.25,-2.39,-0.78,0.64,-5.73,-5.31,-6.67,-7.45,-7.23,-7.02,-7.66,-7.64,-7.5,-6.85,-6.65,-6.77,-6.61,-6.27,-5.95,-5.53,-5.27,-5.24,-5.11,-4.95,-4.31,-4.25,-4.6,-4.81,-5.2,-5.38,-4.7,-4.33,-4.85,-4.71,-5.86,-5.56,-5.03,-6.83,-5.93,-5.82,-3.78,-2.46,-2.03,-3.76,-4.34,-4.73,-4.94,-5.17,-5.21,-5.47,-5.81,-6.76,-7.26,-6.77,-5.4,-5.04,-5.48,-5.73,-7.68,-7.74,-6.15,-5.34,-5.7,-6.74,-6.34,-5.45,-5.3,-5.3,-8.12,-8.66,-6.38,-9.27,-12.28,-11.52,-9.89,-10.84,-9.89,-9.52,-8.94,-8.8,-8.86,-8.81,-9.27,-6.27,-6.68,-7.44,-6.81,-5.21,-5.65,-5.66,-3.9,-2.8,-2.59,-3.65,-4.77,-6.03,-7.24,-6.64,-7.44,-6.95,-6.51,-6.12,-5.76,-5.67,-3.79,-6.28,-7.15,-7.7,-7.91,-6.69,-5.69,-5.21,-4.7,-4.18,-4.36,-4.29,-3.39,-2.34,-2.75,-2.17,-4.39,-1.66,-1.68,-1.65,-1.2,-2.12,-3.09,-1.65,-1.8,-1.16,-1.42,-1.19,-2.32,-3.34,-3.73,-3.86,-4.87,-4.41,-3.37,-3.91,-5.38,-7.19,-8.34,-8.17,-7.48,-6.43,-6.13,-5.54,-4.93,-4.58,-5.22,-5.04,-4.45,-4.67,-4.41,-3.3,-3.41,-4.09,-2.58,-1.07,-2.67,-3.43,-3.52,-3.31,-4.12,-4.11,-3.82,-4.02,-4.43,-4.59,-4.7,-4.85,-4.65,-4.94,-5.78,-6.24,-6.61,-6.55,-6.44,-6.51,-6.7,-7.25,-7.21,-7.4,-7.89,-6.85,-6.99,-7.97,-8.28,-8.13,-7.81,-8.17,-8.39,-9.23,-9.43,-8.97,-8.53,-8.6,-8.82,-8.81,-8.78,-9.32,-9.14,-8.84,-8.67,-8.48,-8.47,-8.81,-9.04,-9.28,-9.3,-8.84,-8.16,-7.41,-7.16,-7.12,-7.42,-7.96,-7.97,-8.14,-8.19,-7.82,-7.64,-7.46,-7.46,-7.63,-7.49,-7.89,-7.68,-7.79,-7.48,-7.54,-7.77,-7.73,-7.43,-7.21,-6.64,-6.28,-5.18,-4.55,-3.46,-2.81,-1.86,-0.58,2.07,1.54,-0.32,2.44,4.41,4.42,3.27,-0.53,-0.73,-0.58,-0.59,-0.95,0.51,0.54,1.05,-1.37,-0.12,1.15,0.59,-2.16,-1.71,-0.07,-0.6,-0.96,-1.24,-0.39,-0.52,0.04,-0.23,0.27,-2.23,-3.28,-2.61,-3.43,-3.65,-4.11,-3.71,-4.07,-4.37,-4.2,-4.12,-3.67,-2.72,-1.83,-2.28,-3.23,-4.44,-4.92,-5.5,-5.83,-5.33,-5.23,-5.95,-6.68,-6.14,-5.41,-5.5,-5.78,-6.08,-6.29,-6.13,-6.11,-6.34,-5.95,-5.86,-6.17,-6,-5.88,-5.92,-6,-6.22,-4.68,-4.95,-4.95,-5.02,-5.1,-5.38,-4.95,-4.21,-3.69,-3.39,-3.43,-3.55,-3.35,-3.2,-0.78,-1.18,-0.82,-0.5,-0.73,-2.62,-2.25,-1.99,-1.29,-2.13,-2.1,-1.69,-0.63,0.53,-0.34,-1.85,-1.56,-0.3,-0.5,0.26,-1.57,0.32,-2.67,-3.6,-3.96,-3.78,-3.86,-3.82,-4.05,-3.64,-0.89,-1.78,-2.9,-0.53,-2.52,-6.04,-5.59,-6.88,-7.17,-6.36,-5.99,-6.96,-6.91,-6.22,-5.68,-5.37,-5.11,-4.72,-3.89,-3.61,-3.7,-3.55,-3.17,-3.13,-3.21,-3.07,-3.01,-2.66,-2.54,-2.59,-3.22,-3.24,-3.17,-3.17,-3.68,-4.14,-4.61,-5.76,-6.01,-4.93,-4.87,-5.11,-4.88,-3.38,-1.31,-4.32,-4,-4.02,-4.34,-4.72,-5.17,-4.96,-6.25,-6.16,-5.85,-4.76,-3.81,-4.04,-4.96,-7.13,-7.75,-5.89,-4.37,-4.34,-5.59,-5.41,-5.16,-4.99,-5.57,-8.07,-6.85,-6.49,-6.74,-6.96,-10.76,-9.25,-9.19,-9.25,-8.88,-8.6,-8.95,-8.73,-8.44,-7.77,-7.29,-8.77,-7.14,-5.61,-5.71,-6.2,-5.18,-2.26,-1.84,-2.15,-2.8,-4.17,-4.51,-6.96,-4.98,-6.46,-6.01,-6.5,-5.87,-5.36,-3.73,-4.15,-3.96,-5.33,-6.78,-7.2,-6.65,-6.1,-5.09,-3.91,-3.41,-3.6,-3.66,-3.62,-3.62,-2.52,-1.83,-1.39,-0.93,0.19,-0.72,-1.5,-0.67,-0.41,0.37,0.29,-0.4,-1.11,-0.38,-2.82,-3.08,-3.55,-3.87,-3.37,-3.66,-4.1,-3.81,-5.66,-7.56,-7.45,-6.48,-5.7,-4.89,-4.13,-3.21,-2.74,-3.14,-3.89,-4.45,-4.78,-4.28,-4.95,-4.7,-5.08,-5.8,-6.13,-4.56,-1.89,-1.82,-2.41,-2.67,-2.23,-2.43,-2.68,-2.27,-2.55,-3.15,-3.73,-3.75,-3.42,-3.76,-4.96,-4.86,-5.18,-5.35,-5.29,-5.33,-5.6,-6.29,-7.5,-8.45,-8.31,-8.27,-7.47,-7.84,-7.66,-7.73,-7.85,-7.65,-8.02,-8.84,-8.76,-8.52,-8.88,-9.09,-8.94,-8.69,-8.55,-8.64,-8.22,-7.92,-7.59,-7.72,-8.02,-8.21,-8.82,-9.04,-8.89,-8.13,-7.46,-7.03,-7.11,-7.67,-7.8,-7.89,-8.04,-7.91,-7.69,-7.24,-7.57,-7.45,-7.7,-8.34,-7.97,-7.44,-7.34,-7.34,-7.14,-7.36,-7.32,-7.15,-6.91,-6.8,-6.38,-6.11,-5.06,-4.15,-3.19,-2.39,-1.34,-0.35,1.11,-0.1,1.07,1.45,3.88,3.95,2.31,1.64,-1.74,-0.25,-1.6,-0.55,-0.39,-0.47,1.41,-0.46,0.23,0.03,0,-1.5,-0.51,-0.33,-0.59,0.12,-1.77,-0.6,-0.65,0.09,-2.35,-3.26,-3.11,-2.27,-1.46,-1.2,-2.29,-2.35,-2.31,-2.26,-2.26,-2.14,-2.21,-2.35,-2.35,-1.84,-1.48,-2.1,-4.12,-3.94,-4,-4.7,-4.91,-4.54,-4.59,-5.19,-4.79,-4.57,-4.51,-4.7,-5.08,-5.31,-5.11,-5.62,-5.46,-5.86,-5.65,-5.9,-5.57,-5.47,-5.29,-5.07,-5.03,-3.32,-3.27,-3.06,-3.06,-3.53,-4.2,-4.31,-3.81,-3.34,-3.04,-2.93,-2.99,-2.86,-2.5,-2.22,-1.23,-0.75,-0.68,-2.39,-2.8,-2.19,-1.46,-0.64,-1.47,-1.65,-1.2,0.18,-0.93,-1.8,-1.44,-0.97,-0.7,-0.2,-0.02,-0.9,0.19,-2.65,-3.52,-3.85,-4.02,-4.36,-4.7,-5.18,-5.52,-2.9,-2.3,-1.9,-0.97,-3.38,-5.42,-5.85,-6.26,-5.67,-5.27,-4.87,-4.35,-3.98,-3.71,-3.19,-2.5,-1.85,-1.22,-1.05,-1.03,-0.99,-0.97,-0.96,-0.58,-0.47,-0.67,-0.79,-0.51,-0.91,-0.67,-0.5,-0.61,-1.22,-1.7,-2.48,-3.83,-5.32,-5.97,-6.86,-6.84,-6.95,-6.21,-5.63,-4.78,-6.23,-3.19,-3.07,-3.05,-3.34,-3.64,-4.07,-4.32,-4.96,-4.7,-4.46,-3.76,-3.36,-3.06,-3.74,-5.77,-6.93,-5.73,-4.1,-3.34,-4,-4.51,-4.87,-5.39,-6.9,-8.53,-7.03,-6.36,-7.47,-8.84,-8.68,-9.14,-8.83,-8.53,-8.07,-8.02,-8.19,-7.86,-7.58,-7.24,-8.3,-7.75,-6.84,-7.75,-6.09,-5.22,-4.29,-2.15,-1.8,-3.36,-4.15,-5.55,-2.58,-6.86,-4.25,-6.19,-5.9,-6.39,-6.31,-5.04,-3.73,-3.18,-3.64,-3.38,-4.04,-6.73,-6.16,-6.46,-5.7,-4.24,-2.68,-2.66,-3.18,-3.06,-3.04,-3.4,-2.78,-1.35,-0.71,-1.64,-1.5,-1.65,-0.4,-0.03,-0.59,0.21,-0.01,-0.09,-0.23,-2.25,-3.46,-4.04,-3.29,-3.14,-2.56,-2.09,-3.03,-5.79,-7.45,-6.78,-5.7,-4.85,-3.78,-2.46,-1.53,-1.31,-2.16,-3.03,-4.03,-3.87,-4.12,-4.2,-5.49,-5.62,-5.91,-5.65,-5.1,-5.06,-4.99,-3.14,-1.23,-0.85,-0.77,-0.95,-1.12,-0.69,-0.9,-1.85,-2.43,-2.63,-2.87,-3.75,-3.51,-3.69,-4.1,-4.51,-4.5,-4.97,-5.4,-6.63,-7.54,-7.35,-7.4,-7.1,-6.76,-7.2,-7.35,-7.51,-7.97,-8.08,-8.15,-7.73,-7.68,-7.97,-8.2,-8.16,-8.5,-8.37,-8.4,-7.93,-7.71,-7.04,-7.45,-7.68,-8.07,-8.21,-8.42,-8.14,-7.38,-6.98,-7.02,-7.32,-7.47,-7.47,-7.25,-7.42,-7.3,-7.4,-7.3,-7.27,-7.77,-8.82,-8.1,-6.99,-6.62,-6.88,-7.21,-7.18,-7.23,-7.04,-7.05,-6.82,-6.7,-6.17,-5.81,-5.09,-4.36,-2.95,-1.97,-0.96,0.13,2.86,1.19,0.43,2.65,4.88,8.06,-0.42,1.48,-1.45,-0.59,-1.48,-0.99,-0.56,0.16,0.8,1,-1.32,-1.63,-1.66,-0.6,0.06,0,-1.28,-1.38,-0.44,2.92,1.18,-4.91,-4.41,-3.46,-1.67,-0.51,0.02,0.4,-0.2,0.15,-0.04,-0.3,-0.39,-0.51,-0.95,-1.18,-1.42,-1.87,-1.37,-2.31,-3.37,-2.86,-2.74,-2.87,-2.79,-3.39,-3.16,-3.49,-3.47,-3.42,-3.65,-3.81,-4.5,-3.97,-4.25,-5.11,-4.95,-5.11,-5.17,-5.1,-4.55,-4.26,-4.05,-3.45,-3.5,-2.53,-2.33,-1.93,-1.47,-1.69,-2.86,-3.73,-3.48,-2.71,-2.19,-2.33,-2.5,-2.67,-2.24,-1.62,0.1,-0.84,0.22,-3.07,-3,-2.63,-1.92,-1.07,-1.26,-1.09,-0.55,0.27,0.13,-0.6,-0.82,-1.28,0.95,0.97,0.96,0.32,-0.86,-3.11,-3.22,-3.51,-3.82,-4.5,-5.1,-6.07,-6.47,-5.14,-2.76,-1.7,-3.51,-5.49,-5.48,-5.64,-5.26,-4.34,-3.54,-3.29,-2.94,-2.19,-1.4,-0.7,-0.12,0.32,1.02,1.73,2,2.2,2.29,2.4,2.49,2.27,2.33,2,1.72,1.98,1.22,1.3,1.51,0.62,0.07,-0.41,-2.33,-4.59,-6.19,-6.54,-6.56,-6.6,-6.88,-7.27,-7.8,-7.12,-6.63,-4.03,-1.45,-1.66,-2.1,-2.18,-2.31,-2.58,-2.82,-3.08,-2.81,-2.57,-2.48,-2.35,-3.92,-5.79,-5.66,-3.87,-2.84,-3.02,-3.83,-4.47,-5.26,-6.76,-8.07,-6.45,-6.39,-6.94,-7.34,-7.7,-8.06,-8.45,-8.38,-7.92,-7.53,-7.42,-7.04,-6.95,-6.68,-6.4,-6.65,-5.97,-6.62,-6.68,-6.5,-5.58,-4.58,-3.9,-4.64,-5.74,-4.5,-5.99,-7.95,-5.5,-6.44,-5.96,-5.29,-5.12,-3.49,-3.16,-2.44,-3.3,-3.29,-2.74,-4.23,-6.74,-6.52,-6.02,-5.83,-3.12,-1.85,-2.38,-2.52,-2.67,-2.37,-2.82,-2.04,-1.51,-2.71,-2.84,-3.33,-2.64,-2.23,-0.79,-0.44,-0.52,-0.74,-1.24,-2.62,-4.16,-3.81,-2.49,-2.25,-1.94,-2.07,-3.56,-5.58,-6.68,-5.54,-4.7,-4.28,-3.17,-1.43,0.3,0.74,-0.73,-2.66,-4.19,-4.45,-4.19,-5.08,-5.42,-5.09,-4.13,-3.81,-3.97,-3.92,-5.06,-5.85,-5.92,-4.71,-2.97,-0.78,0.17,0.35,0.44,-0.15,-0.78,-1.37,-1.96,-2.41,-2.72,-2.55,-2.77,-3.23,-3.71,-4.27,-4.77,-5.66,-6.14,-6.42,-6.56,-6.99,-6.91,-6.85,-6.76,-7.46,-7.62,-7.77,-7.23,-6.48,-6.5,-6.77,-7.13,-7.64,-8.02,-8.22,-8.45,-8.3,-8.4,-7.29,-7.34,-7.2,-7.48,-7.71,-7.45,-6.98,-6.74,-6.58,-7.06,-7.25,-7.16,-6.54,-6.27,-6.39,-6.52,-6.67,-7.09,-7.93,-8.74,-7.95,-6.77,-6.09,-6.56,-7.15,-7.29,-7.14,-7.12,-6.92,-6.81,-6.69,-6.39,-5.82,-5.29,-4.27,-3.35,-2.6,-1.75,-0.57,0.11,2.18,-2.39,2.27,4.07,6.26,0.92,0.94,-0.72,-2.13,-0.91,-1.08,-1.68,-0.79,0.06,0.77,0.74,-0.96,-1.52,-1.22,-0.3,1.21,0.79,-1.92,-0.38,-1.24,-1.74,-2.97,-4.04,-3.48,-2.57,-0.49,1.14,1.2,2.1,2.2,1.81,1.88,2.11,2.17,1.9,1.42,0.89,0.44,-0.38,-1.37,-1.76,-1.32,-1.13,-1.12,-1.22,-1.26,-1.17,-2.18,-2.21,-2,-1.72,-1.98,-1.96,-1.94,-2.26,-3.3,-3.81,-4.06,-4.25,-4.19,-3.87,-3.17,-2.75,-2.64,-2.5,-2.78,-2.05,-2.14,-1.68,-2.05,-1.42,-2.52,-3.37,-2.79,-1.89,-1.62,-1.26,-1.88,-2.03,-2.41,-1.97,-0.42,-1.03,0.48,-1.96,-2.84,-2.46,-1.52,-1.27,-0.55,0.76,-1.35,-1.43,-0.69,-0.41,-0.85,0.29,1.14,1.25,2.82,-0.14,-1.47,-2.8,-2.53,-2.42,-3.01,-3.76,-4.67,-5.6,-6.8,-7.82,-8.45,-8.34,-6.79,-5.6,-4.32,-4.62,-3.98,-3.53,-3.11,-2.34,-1.26,0.39,0.92,0.25,-0.62,-0.54,0.09,0.6,1.32,1.86,2.48,3.81,5.23,5.43,5.22,5.03,4.68,4.01,3.91,2.99,2.98,2.33,1.31,2.36,0.75,-2.81,-5.05,-5.69,-5.89,-6.03,-6.25,-6.59,-6.83,-6.92,-6.83,-6.29,-6.16,-0.7,0.29,-0.42,-0.21,-0.5,-0.92,-1.74,-1.64,-1.95,-2.15,-2.16,-3.57,-5.1,-5.25,-3.32,-2.43,-2.8,-3.46,-3.84,-4.74,-6.26,-7.51,-8.5,-7.21,-6.73,-7.36,-7.15,-7.61,-7.74,-7.08,-6.85,-6.55,-6.34,-6.1,-5.95,-5.96,-5.1,-5.23,-3.26,-5.06,-4.72,-5.19,-4.51,-4.07,-4.13,-4.62,-6.11,-7.75,-7.47,-7.27,-5,-9.24,-6.7,-6.14,-5.12,-5.22,-4.02,-2.44,-2.67,-4.02,-3.12,-2.13,-6.66,-6.18,-5.92,-5.54,-5.72,-3.68,-2.58,-1.93,-1.18,-0.98,-1.06,-0.99,-1.6,-1.72,-1.94,-1.6,-1.29,-1.22,-1.21,-1.01,-0.52,-2.62,-3.82,-4.62,-4.77,-3.48,-2.07,-1.43,-1.91,-4.33,-5.09,-5.5,-5.02,-4.64,-4.31,-3.74,-3.44,-2.4,0.08,2.17,0.85,-2.73,-4.22,-4.62,-3.96,-4.09,-5.24,-6.06,-6.29,-6.13,-5.52,-4.45,-3.77,-3.46,-3.32,-3.91,-3.49,-3.73,-3.91,-2.45,1.13,1.9,1.18,0.22,-0.13,-0.25,-0.88,-1.03,-1.3,-1.68,-2.19,-2.99,-3.55,-4.47,-4.95,-5.44,-6.1,-6.27,-5.29,-5.84,-6.54,-6.73,-7,-7.04,-7.11,-7.28,-7.16,-7.49,-7.69,-7.39,-7.36,-7.78,-8.12,-8.24,-8.31,-8.14,-7.61,-7.6,-7.52,-7.3,-6.6,-6.27,-5.87,-6.18,-6.62,-6.75,-6.26,-6.07,-6.17,-6.27,-6.17,-6.71,-7.64,-8.25,-7.54,-6.42,-6.12,-5.96,-6.48,-6.95,-6.86,-6.99,-6.74,-6.52,-6.21,-6.01,-5.44,-4.8,-4.31,-3.72,-2.83,-1.94,-1.31,-0.28,0.62,1.56,-0.65,1.68,5.65,7.07,1.18,-0.6,-1.72,-2.31,-1.05,-0.99,-0.97,-1.23,-0.68,-0.45,0.21,-0.49,-0.81,-0.63,-0.18,1.19,-1.1,-2.25,-3.45,-4.26,-5.42,-5.73,-5.33,-4.3,-2.24,0.58,2.7,3.02,3.2,3.76,3.37,3.75,4.28,4.23,3.97,3.61,3.45,2.87,2.24,1.91,1.67,1.88,1.76,0.82,0.1,0.11,0.48,-0.31,-0.96,-0.57,0.06,0.53,0.24,-0.09,-1.31,-2.02,-1.57,-1.53,-1.5,-1.54,-1.55,-1.85,-1.55,-1.03,-1.16,-1.68,0.08,-0.67,-1.34,-1.69,-2.07,-2.71,-2.07,-1.24,-1.18,-0.88,-0.89,-1.57,-1.61,-2.28,-2.93,-2.01,-0.48,-0.31,-2.06,-1.17,-1.5,-1.56,-0.36,-0.15,1.18,0.42,0.04,-0.41,-0.45,0.58,1.09,1.34,0.96,2.01,-0.17,-1.1,-1.28,-1.02,-0.8,-1.32,-2.21,-3.07,-4.27,-5.39,-6.13,-6.3,-5.93,-5.33,-4.21,-3.23,-3.19,-2.97,-1.89,-0.76,0.36,0.57,-0.41,-1.12,-0.81,0.2,0.7,0.92,1.35,2.05,2.71,3.15,3.44,3.47,4.54,6.5,7.59,7.11,6.62,5.78,5.57,4.79,4.41,4.08,2.78,1.22,-2.04,-4.22,-4.29,-4.36,-4.49,-4.66,-4.91,-4.96,-5.12,-5.54,-5.4,-5.93,-8.18,-4.26,1.64,2.75,1.22,0.69,0.19,-0.39,-1.69,-2.11,-2.74,-3.94,-4.17,-3.96,-2.1,-2.12,-2.43,-2.88,-3.2,-4.23,-5.8,-7.11,-6.54,-6.42,-6.21,-7.3,-6.2,-7.11,-6.81,-6.67,-6.31,-5.38,-5.36,-4.52,-4.52,-3.94,-3.41,-3.99,-2.99,-2.92,-3.72,-3.79,-3.71,-3.23,-3.96,-4.52,-5.46,-6.24,-6.41,-7.25,-7.81,-8.1,-4.69,-3.92,-3.69,-3.51,-2.66,-1.99,-2.52,-4.62,-4.07,-0.99,-4.96,-5.07,-4.16,-4.13,-4.35,-4.19,-3.74,-1.97,-0.3,1.17,1.42,0.72,1,0.94,0.92,1.29,1.41,1.33,1.41,0.48,-0.89,-1.4,-3.08,-3.4,-3.15,-2.35,-1.4,-0.52,-0.24,-3.72,-4.68,-4.57,-3.91,-3.77,-3.11,-3.35,-4.63,-4.06,-3.1,-3.87,-4.65,-5.55,-5.65,-5.64,-4.66,-4.1,-5,-5.36,-6.21,-6.42,-6.03,-5.48,-5,-4.46,-3.95,-2.36,-1.28,-1.17,-1.17,-0.97,-1.87,-1.73,2.12,2.45,1.65,1.28,1.01,0.59,0.3,-0.45,-0.79,-0.98,-1.86,-2.71,-3.39,-4.4,-5.34,-5.99,-5.87,-6.83,-5.97,-5.61,-6.02,-6.33,-6.36,-6.74,-7.34,-7.5,-7.01,-6.6,-6.6,-6.87,-7.31,-7.51,-7.83,-7.75,-7.78,-7.45,-6.75,-6.04,-5.88,-5.34,-5.17,-6.42,-6.89,-6.47,-5.83,-5.39,-6.24,-7.86,-8.31,-8.19,-7.64,-7.1,-5.5,-5.37,-5.79,-6.2,-6.09,-6.64,-6.48,-6.55,-6.29,-5.92,-5.75,-5.21,-4.75,-4.12,-3.62,-2.92,-1.99,-1.47,-1.02,0.21,1.53,1.38,-2.11,2.53,2.94,3.93,2.21,1.32,-2.61,-2.38,-2.03,-1.43,-0.61,-1.33,-1.4,-1.3,-0.89,-0.95,-0.79,-1.22,-0.44,-0.85,-2.84,-2.26,-3.59,-5.33,-5.49,-6.02,-6.49,-5.97,-4.7,-2.87,0.15,3.49,4.65,4.68,5.04,6.03,5.69,5.54,5.76,5.28,5.15,5.21,4.62,4.02,3.96,4.06,4.39,3.62,2.41,2.14,1.75,2.18,1.49,1.3,1.85,2.15,2.16,2.2,1.86,2.19,3.02,3.04,2.45,1.91,1.27,0.45,-0.15,0.08,0.5,0.7,2.34,1.73,0.83,-0.01,-0.4,0.16,1.02,1.08,-0.17,-0.05,-0.23,-0.78,-1.51,-2.28,-3.32,-4.21,-2.73,0.37,0.24,-0.64,0.06,-0.81,-0.51,0.21,3.54,0.78,-0.13,-0.66,0.38,2.61,1.67,0.07,0.62,-1.45,-3.57,-1.83,-0.24,0.84,1.18,1.03,0.2,-0.52,-1.19,-2.53,-3.26,-3.45,-3.15,-2.71,-2.12,-1.55,-0.82,0,0.14,0.65,-1.24,-2.61,-0.42,0.28,0.66,1.36,1.7,2.05,2.69,3.39,3.87,4.33,4.73,5.02,5.38,5.35,5.69,7.61,8.75,7.87,6.93,6.65,5.83,5.23,4.3,-0.53,-3.11,-3.61,-3.77,-3.39,-2.83,-3.22,-3.51,-3.53,-3.37,-3.89,-4.05,-3.86,-3.21,-3.97,-6.08,-2.34,3.11,2.19,1.97,1.76,-0.06,-0.57,-0.39,-0.48,-1.06,-1.11,-1.69,-1.71,-2.21,-2.46,-2.76,-3.98,-5.1,-6.14,-7.96,-5.19,-6.46,-6.02,-6.08,-6.16,-5.86,-5.85,-5.18,-4.31,-3.92,-3.43,-2.78,-1.99,-1.94,-2.26,-1.97,-2.49,-2.52,-2.16,-2.94,-3.71,-4.46,-5.48,-6.5,-6.44,-6.53,-6.05,-6.54,-6.06,-5.03,-4.36,-3.16,-2.13,-1.18,-1.42,-2,-4.94,-4.25,-1.55,-2.59,-4.39,-3.32,-3.15,-2.97,-2.51,-1.58,-0.43,0.56,1.39,2.06,3.18,3.7,3.59,3.72,3.77,4.04,4.3,4.19,3.88,3.4,1.36,0.31,0.46,-0.04,-0.39,-0.1,0.28,0.35,-0.87,-3.18,-3.71,-3.32,-2.61,-2.15,-2.69,-3.68,-3.75,-4.45,-6.04,-6.45,-6.54,-6.48,-6.82,-6.59,-5.96,-6.6,-6.48,-7.13,-6.87,-5.57,-4.5,-3.55,-2.47,-1.79,-1.66,-1.6,-0.68,0.43,1.74,2.42,2.15,0.57,-0.67,1.66,4.04,2.97,1.88,1.83,1.06,0.45,0.33,-0.03,-0.75,-1.87,-2.85,-3.91,-4.78,-5.06,-5.32,-4.83,-4.33,-4.61,-5.31,-5.26,-5.15,-5.55,-5.52,-5.57,-5.88,-6.1,-6.29,-6.33,-6.52,-6.78,-6.77,-6.54,-5.98,-5.19,-4.59,-4.54,-5.09,-6.72,-7.36,-6.51,-6.07,-6.15,-6.45,-5.68,-6.22,-6.85,-6.55,-6.12,-5.4,-4.74,-4.84,-5.35,-5.7,-5.48,-5.58,-6.01,-5.7,-5.52,-5.46,-5.33,-4.68,-4.21,-3.73,-3.14,-2.47,-1.59,-0.84,-0.24,0.38,2.51,2.19,-2.51,4.01,2,-0.26,-0.01,2.19,-3.3,-2.37,-2.6,-2.22,-0.94,-0.81,-1.79,-1.8,-2.26,-2.45,-3.1,-3.55,-1.74,-1.1,-1.27,-0.11,-2.13,-4.75,-4.33,-4.88,-5.55,-5.28,-4.6,-3.77,-2.76,-0.86,2.27,5.03,6.69,7.24,7.03,6.67,6.68,6.45,6.13,6.21,5.97,5.7,5.84,5.75,5.29,5.32,5.03,4.62,3.77,3.51,4.2,4.11,3.52,3.46,3.64,3.86,4.41,4.79,3.48,3.32,3.4,3.44,2.97,2.69,2.42,2.14,2.03,2.27,3.92,4.12,3.19,2.55,1.96,1.81,1.67,1.16,1,0.66,0.82,0.18,-0.58,-1.55,-2.66,-3.23,-3.29,-0.27,-0.4,-1.66,-1.22,-1.03,-0.79,0.61,0.4,-1.2,-0.89,-1.25,-0.61,2.16,0.7,0.38,-0.8,-3.6,-5.54,-5.42,-3.88,-0.54,2.95,2.93,2.48,2.28,1.96,1.69,0.91,0.57,0.92,0.9,1.08,1.18,1.19,1.84,2.65,1.97,0.54,1.18,1.91,1.81,1.85,1.63,1.87,2.54,2.93,3.69,4.53,5.31,5.75,5.83,5.89,5.96,6.58,7.23,8.06,9.86,9.26,8.15,7.32,6.12,4.54,1.52,0.05,-0.35,-1.26,-1.34,-1.63,-3.51,-3.54,-3.37,-3.09,-2.33,-2.01,-1.48,-1.09,-1.69,-2.17,-3.19,-1.8,4.02,2.98,3.57,2.44,1.32,1.11,0.87,0.03,0.17,-1.36,-1.14,-1.86,-2.07,-2.39,-3.95,-4.7,-5.3,-6.06,-5.43,-5.36,-5.74,-5.32,-5.8,-5.55,-5.22,-5.19,-4.34,-3.52,-2.19,-1.16,-0.69,-0.83,-0.82,-2.02,-2.37,-2.56,-2.52,-2.4,-4.71,-5.09,-6.36,-7.74,-7.99,-6.64,-7.29,-6.71,-5.09,-4.11,-3.71,-2.46,-1.14,-0.61,-1.18,-2.16,-2.49,-2.21,-0.17,-3.15,-4.36,-3.11,-2.67,-1.57,-0.85,0.12,0.96,1.78,2.56,3.54,4.31,5.11,6.55,6.87,6.44,6.24,6.06,6.12,5.89,5.51,5.59,5.35,4.5,3.37,1.87,1.13,1.11,-0.04,0.43,-1.83,-2.61,-2.17,-1,-1.61,-2.21,-2.7,-2.59,-2.86,-4.2,-4.65,-5.97,-6.46,-6.3,-5.94,-6.87,-7.44,-7.32,-6.73,-6.04,-5.24,-4.61,-3.96,-3.03,-2.12,-1.27,-0.54,0.75,1.81,2.29,3,3.74,4.06,4.72,3.48,1.24,2.84,4.59,3.09,2.57,2.39,1.79,1.18,0.58,-0.4,-1.04,-1.69,-2,-2.49,-3.73,-3.82,-3.6,-4.38,-4.88,-4.76,-4.88,-4.09,-5.4,-6.84,-6.39,-5.85,-5.88,-5.78,-5.61,-5.78,-6.03,-6.07,-5.83,-5.33,-5.24,-6.16,-7.82,-8.05,-6.82,-5.84,-5.59,-5.83,-5.92,-5.91,-5.5,-5.28,-5.25,-5.37,-5.34,-4.84,-4.64,-4.44,-4.66,-4.67,-4.6,-5.4,-4.79,-4.73,-4.61,-4.54,-4.1,-3.62,-3.29,-2.8,-2.16,-1.44,-0.5,0.26,0.37,0.61,-0.58,-0.88,5.19,2.3,0.65,-0.9,-1.55,-4.78,-2.29,-1.99,-2.14,-1.83,-1.29,-1.82,-2.74,-3.38,-4.58,-4.96,-4.19,-1.75,-2.78,-2.54,-2.87,-5.55,-6,-5.92,-5.74,-5.44,-4.88,-4.09,-3.24,-2.32,-1.07,0.18,1.86,5.04,7.87,8.37,7.68,7.73,7.42,7.15,7.18,6.71,6.85,7.52,7.52,6.68,6.32,6.12,5.6,5.01,4.84,4.97,5.55,5.6,5.55,5.43,5.41,5.45,5.58,5.49,5.37,5.17,4.78,4.54,4.45,4.3,4.21,4.08,3.94,5.83,5.68,4.92,4.3,3.83,3.41,3.03,2.89,2.21,1.78,2,1.3,0.4,-0.63,-1.57,-2.39,-2.81,-2.35,-0.25,-0.21,-0.28,-1.52,-1.2,-0.59,-0.44,0.03,0.17,-1.12,1.63,2.51,2.04,-0.49,-2.76,-2.71,-3.74,-4.36,-3.83,-2.94,-1.29,2.5,5.09,3.99,4.04,4.45,4.51,4.19,4.02,4.47,4.52,3.91,4.1,3.83,3.82,3.57,3.23,2.89,3.14,2.94,2.39,2.13,2.26,1.83,1.57,1.54,2.05,2.88,3.76,4.67,5.72,6.87,7.87,8.6,9.27,9.58,10.81,10.73,8.57,6.72,5.1,2.5,2.59,1.9,1.08,0.97,0.58,-0.49,-0.63,-1.14,-1.15,-0.2,0.45,0.57,0.65,-0.15,-0.91,-1.34,-2.23,-2.74,2.71,5.15,5.29,3.19,1.97,1.65,1,1.16,-0.38,-0.64,-1.27,-1.77,-1.99,-3.4,-4.06,-4.84,-5.35,-4.7,-3.66,-4.88,-4.82,-5.32,-4.65,-4.71,-4.59,-3.48,-2.15,-0.82,-0.51,-0.74,-0.61,-0.96,-2.44,-2.56,-2.72,-3.15,-3.96,-4.65,-4.21,-5.24,-5.82,-8.03,-2.31,-6.26,-5.66,-4.42,-2.9,-2.17,-2.03,-1.47,-1.55,-2.27,-1.58,-0.53,-0.73,0.05,-1.2,-0.79,-0.72,-0.48,0.13,0.42,1.2,2.02,2.98,3.8,4.83,5.48,5.9,6.76,8.16,9.35,9.47,8.75,7.99,7.5,7.54,7.37,6.74,6.94,6.12,4.19,2.53,1.6,-0.11,0.68,1.51,-0.87,-0.35,-0.71,-1.7,-2.35,-1.2,-0.75,-0.67,-2.2,-4.41,-5.01,-6.24,-6.01,-5.73,-6.56,-7.52,-6.56,-5.86,-5.44,-5.3,-5.62,-5.38,-5.06,-5.32,-5.13,-3.95,-2.67,-0.36,2.49,3.95,4.44,4.46,4.98,5.98,6.03,4.48,2.59,3.33,4.57,4.06,3.65,2.68,2.08,1.21,0.53,0.25,0.07,-0.14,-0.87,-2.15,-2.29,-2.76,-3.3,-4.05,-4.57,-4.99,-5.34,-5.64,-5.47,-5.74,-5.65,-5.29,-5.61,-5.99,-5.92,-5.72,-5.72,-6.02,-7,-7.95,-7.95,-7.2,-6.26,-5.6,-5.34,-5.29,-5.12,-5.3,-5.32,-5.28,-4.96,-5.31,-4.73,-4.37,-4.11,-4.01,-3.68,-3.49,-3.55,-4.1,-3.72,-3.48,-3.32,-3.42,-3.04,-2.95,-2.73,-2.54,-2.03,-1.49,-0.56,0.34,0.58,1.23,-0.65,1.8,0.93,-0.77,-1.1,-4.41,-3.6,-2.83,-2.29,-2.52,-2.25,-1.61,-1.96,-2.5,-3.83,-4.99,-4.95,-5.46,-5.19,-4.1,-3.32,-5.76,-5.77,-5.53,-5.27,-5,-4.21,-3.15,-2.47,-1.81,-1.15,-0.43,0.38,1.24,1.88,3.03,4.42,6.57,9.32,9.48,8.27,8.24,8.35,7.74,7.43,8.05,8.24,7.48,7.17,7.12,6.77,6.07,6.06,6.55,6.86,6.96,6.94,6.67,7.08,7.19,6.89,6.9,6.77,6.55,6.29,6.13,5.93,5.76,5.62,5.78,5.91,7.27,7.07,6.82,6.2,5.5,5.23,5.13,4.81,3.92,2.99,2.73,2.61,2.06,1.14,-0.08,-1.04,-2.09,-2.95,-1.52,0.56,0.51,-0.29,0.28,0.76,0.91,1.56,-0.41,0.17,2.31,1.54,1.2,-1.93,-1.26,-0.67,-1.14,-1.07,-0.53,-0.28,-0.7,-0.55,0.07,3.37,5.95,6.11,5.76,5.65,5.17,5.13,5.87,6.28,5.46,4.89,4.44,4.4,5.36,4.94,4.7,3.35,3.36,2.98,1.9,1.06,0.37,0.61,1.41,2.52,3.81,5.02,6.17,7.34,8.56,9.66,10.35,10.84,10.94,11.59,10.86,5.91,4.94,4.25,2.59,2.48,2.31,2.27,1.05,0.76,0.99,0.61,0.8,0.9,0.56,-0.24,-0.63,-0.43,-0.1,-0.81,-1.33,-1.25,-1.73,1.72,7.81,5.89,3.1,2.42,2.42,2.56,1.44,-0.56,-0.82,-1.42,-1.35,-2.13,-2.88,-4.15,-4.39,-5.02,-2.56,-2.74,-2.82,-3.31,-3.15,-3.88,-3.9,-2.13,-1.43,-0.26,-0.61,-2.11,-3.13,-3.3,-2.74,-2.77,-3.04,-3.24,-4.04,-4.21,-4.9,-5.77,-6.65,-3.97,-3.6,-5.21,-4.9,-3.21,-2.1,-2.43,-1.92,-1.49,-2.1,-3.01,-2.03,-1.43,-0.91,1.25,1.24,1.05,1.28,0.38,-0.48,0.87,1.75,2.65,3.79,4.73,5.34,5.76,6.25,6.87,7.59,8.64,9.95,10.92,10.87,10.45,9.94,9.23,9.15,8.97,8.52,6.8,4.09,3.67,3.09,2.7,4.08,2.4,0.39,-0.23,0.44,1.33,1.36,1.25,0.77,0.19,-3.29,-5.98,-6.84,-6.28,-5.43,-5.48,-5.84,-4.97,-4.86,-4.73,-4.17,-4.4,-4.31,-4.28,-4.85,-5.04,-3.38,-2.9,-3.92,-2.87,0.57,3.02,4.11,3.75,3.15,4.71,6.75,7.16,4.56,0.38,2.28,5.16,4.44,3.67,2.85,2.04,1.81,1.43,1.35,1.57,0.83,0.09,-0.55,-1.56,-2.2,-2.65,-3.05,-3.03,-3.12,-3.32,-3.77,-4.34,-4.82,-4.82,-4.62,-4.43,-4.52,-4.87,-4.99,-6.22,-6.95,-6.7,-5.96,-5.42,-5.13,-5.04,-4.53,-4.07,-4.03,-3.73,-4.29,-4.56,-4.68,-4.17,-3.95,-3.55,-3.22,-2.98,-2.48,-2.44,-2.65,-2.4,-2,-1.62,-1.97,-1.48,-1.93,-1.87,-1.97,-1.8,-1.45,-0.86,0.3,0.64,0.09,-2.71,5.47,2.32,1.42,0.34,1.32,1.5,0.41,-2.04,-2.3,-1.85,-2.5,-2.37,-2.22,-4.14,-4,-3.14,-3.87,-3.86,-3.77,-4.47,-5,-4.85,-4.34,-3.72,-2.88,-1.81,-0.79,-0.12,0.43,1.01,1.67,2.43,3.33,3.96,4.69,4.94,4.64,4.92,7.59,10.88,10.47,9.43,9.44,9.09,8.65,8.63,8.41,8.14,7.78,7.75,7.82,7.49,7.58,8.03,8.46,8.37,7.69,7.39,7.65,7.87,7.87,7.86,7.66,6.94,6.92,7.22,7.02,6.77,6.94,7.33,7.87,7.51,7.03,7.22,7.87,7.11,6.66,6.21,5.88,4.83,3.78,3.32,2.87,2.32,1.75,0.89,-0.18,-1.19,-1.62,0.45,-0.07,0.52,1.21,1.66,1.14,1.86,1.04,2.83,2.35,1.61,-1.93,-0.96,0.69,1.58,1.76,2.47,2.6,2.47,1.92,0.16,-0.45,-0.46,-0.18,2.31,5.5,7.38,6.3,6.17,7.19,6.9,5.53,5.43,4.96,5.57,6.01,5.78,5.2,4.52,4.35,3.09,1.55,0.17,-0.02,0.33,0.83,1.2,1.58,2.42,3.67,4.82,6.33,7.98,9.44,10.36,10.84,11.34,11.94,8.62,5.12,5.27,3.13,2.43,2.22,2.35,2.79,3.1,2.48,2.51,2.47,2.34,2.03,1.79,1.18,0.63,0.15,0.14,-0.13,-0.43,-0.61,-1.02,-1.8,4.58,5.7,3.51,2.7,2.75,2.31,0.38,0.28,-0.12,-0.25,-0.57,-1.54,-2.84,-2.92,-3.48,-3.53,-2.02,-2.27,-2.74,-2.2,-1.94,-2.01,-1.27,-1.15,0.01,-2.79,-2.94,-3.91,-4.93,-4.75,-4.19,-3.71,-3.72,-3.2,-4.48,-4.19,-3.8,-4.02,-3,-4.22,-3.95,-3.4,-2.83,-3.17,-2.57,-2.64,-2.84,-2.93,-2.84,-1.73,-0.89,-0.04,4.67,2.84,2.9,1.44,0.17,0.7,2.52,3.63,4.16,4.47,4.93,5.41,5.97,6.86,7.48,7.75,8.39,9.33,10.68,11.77,11.8,11.97,11.94,10.89,10.36,10.23,9.25,6.9,5.67,4.77,4.71,4.97,4.33,2.06,0.78,1.38,1.55,2.84,1.81,0.55,-2.84,-5.23,-6.03,-5.23,-4.69,-4.66,-4.48,-4.25,-3.43,-2.4,-3.71,-3.29,-3.08,-3.37,-2,-2.92,-3.53,-2.44,-3.12,-5.6,-5.58,-5.62,-6.57,-5.56,-2.96,-0.92,0.37,-2.71,-4.33,-2.1,0.58,3.53,3.75,4.04,5.14,4.73,3.93,3.48,3.12,2.62,2.73,2.66,2.45,2.68,2.12,0.98,-0.17,-0.81,-0.71,-0.45,-0.85,-2.06,-2.69,-2.79,-2.85,-3.81,-4,-3.68,-3.17,-3.08,-3.87,-5.14,-4.37,-4.44,-4.37,-4.06,-3.69,-3.59,-3.66,-3.64,-3.63,-3.66,-3.33,-3.6,-3.41,-3.22,-2.86,-2.36,-1.87,-1.57,-0.98,-0.83,-0.78,-0.42,0.11,0.11,-0.1,0,-0.79,-0.82,-1.09,-1.06,-0.81,0.27,1.67,0.55,-1.44,4.72,2.29,2.08,-2.27,-0.86,1.14,0.15,-1.25,-2.11,-2.29,-2.71,-2.17,-1.96,-3.33,-2.02,-2.45,-2.93,-2.02,-3.97,-3.15,-2.09,-2.44,-1.7,-1.01,0.07,1.32,2.21,2.73,3.18,3.68,4.25,4.96,5.42,5.88,6.49,7.01,7.33,7.35,6.88,6.29,8.64,13.08,13.31,10.86,10.57,10,9.64,9.54,8.96,8.74,8.81,8.53,8.43,8.74,9.04,9.15,8.75,8.34,8.46,8.67,8.59,8.14,7.91,7.22,5.4,5.08,5.55,5.94,6.65,7.36,3.35,2.45,0.39,-2.61,-2.97,-2.4,-2.59,-3,-1.98,1.24,3.1,4.93,5.38,4.36,3.51,2.9,2.33,1.16,-1.02,-0.84,0.33,1.45,0.92,2.42,1.8,0.09,0.55,1.64,1.42,-2.36,-1.31,1.15,3.14,3.89,4.38,4.93,4.21,3.22,2.43,1.27,0.41,-0.18,-0.45,-0.39,0.15,1.62,4.13,6.85,8.41,8.07,6.05,4.82,4.58,5.31,6.99,6.62,6.15,5.57,5.14,2.96,1.53,-0.16,-0.54,-0.64,-1.35,-1.85,-2.11,-1.68,-0.72,0.54,2.18,4.62,6.79,8.53,8.68,8.88,9.8,10.12,6.94,4.82,4.49,2.9,2.82,2.84,3.28,3.67,4.18,4.34,4.25,4.05,3.96,3.52,2.96,2.33,1.79,1.68,1.74,1.08,0.06,-0.22,0.06,0.13,1.87,6.73,4.97,3.22,3.07,2.21,1.79,1.66,0.53,0.53,0,-1.09,-1.38,-3.13,-2.71,-1.22,-1.21,-0.97,-0.56,-0.48,-1.47,-1.1,-0.66,-3.71,-5.85,-7.99,-7.97,-7.91,-7.43,-6.49,-5.6,-5.91,-5.12,-3.5,-2.99,-1.65,-2.07,-1.51,-1.39,-2.82,-2.71,-3.22,-2.62,-1.66,-1.86,-2.1,-2.1,-2.59,-1.2,-0.07,3.86,2.87,2.49,2.11,0.36,0.6,2.09,3.24,4.34,5.33,6.3,6.4,6.08,6.56,7.34,7.76,8.26,8.9,9.76,10.21,11.07,12.24,12.85,12.94,12.56,11.72,10.82,10.26,8.39,7.21,6.42,5.84,5.31,5.05,3.77,2.47,2.2,1.37,-0.71,-3.75,-4.51,-3.75,-4.26,-5.11,-4.57,-4.29,-3.59,-4.11,-4.69,-4.4,-4.31,-3.02,-2.73,-2.19,-2.68,-1.02,-2.28,-1.78,-2.24,-3.64,-6.27,-6.73,-4.8,-3.85,-3.75,-3.37,-3.05,-2.92,-3.18,-2.95,-1.64,-1.08,-0.78,0.01,2.13,3.64,4.89,5.72,5.19,4.89,4.54,4.17,3.64,3.84,3.93,3.34,3.17,2.47,1.37,1.48,0.52,0.58,-0.65,-1.08,-1.06,-1.1,-0.76,-1.22,-2.42,-2.63,-1.76,-1.7,-2.84,-1.59,-2.13,-2.49,-2.42,-1.85,-1.17,-2.56,-2.94,-1.86,-1.66,-1.33,-1.29,-1.6,-1.39,-1.48,-1.11,-0.02,0.1,0.44,0.65,0.97,1.16,1.71,2.02,1.8,1.53,1.19,0.7,0.22,-0.2,-0.28,0.29,1.99,1.33,-0.04,2.62,1.45,3.21,-1.65,1.29,2.69,-1.39,-1.23,-1.8,-1.44,-1.49,-1.12,-1.22,-1.32,-1.57,-1.57,-0.47,-0.31,-0.73,0.36,1.26,1.41,1.99,2.31,3.37,4.56,4.87,5.5,6.11,6.64,7.28,7.94,8.1,8.3,8.55,8.73,9.2,9.75,10.13,10.04,9.73,9.4,10.33,13.66,13.63,10.34,10.69,11,10.23,10.07,10.4,9.95,9.59,9.88,10.23,10.27,9.89,9.2,9.08,9.54,9.34,8.41,6.12,3.61,2.56,2.59,3.81,4.26,4.17,4.17,-3.34,-3.03,-2.48,-1.34,-0.87,-0.9,-1.07,-1.54,-1.83,-2.01,-2.15,-0.57,-0.79,-0.27,1.03,2.75,4.07,4.01,1.73,0.09,1.72,-0.05,-0.19,0.66,2.22,3.04,4.5,3.52,1.36,1.93,3.7,5.3,6.31,6.36,6.41,6.08,4.07,3.38,3.19,3.07,2.34,1.97,1.93,1.91,1.95,2.27,2.6,3.63,6.12,8.3,8.53,5.77,5.19,5.13,7.48,7.36,6.91,6.53,5.67,3.76,0.23,-0.96,-1.36,-1.8,-3.34,-4.63,-5.51,-5.72,-5.7,-5.52,-5.23,-3.56,-0.84,2.57,5.86,7.07,5.44,4.59,5.74,5.32,4.17,4.74,4.37,3.78,4.44,5.09,5.67,5.99,5.97,5.55,5.2,4.81,4.51,4.18,4.09,4.06,3.42,2.67,1.99,1.46,1.53,2.01,1.89,1.42,5.95,6.18,3.8,3.11,2.85,3.3,2.14,1.11,1.12,1.25,0.03,-2.6,-1.24,-0.77,-0.2,0.76,0.47,-0.61,-0.92,-0.29,-3.29,-3.91,-5.82,-7.65,-8.02,-7.96,-7.69,-7.84,-7.16,-5.64,-5.82,-5.9,-2.83,-4.45,-2.33,-1.99,-1.21,-2.1,-2.27,-2.1,-1.8,-1.11,-1.27,-1.31,-1.08,-1.06,-0.44,1.33,4.08,2.81,1.59,0.69,0.92,2.27,3.03,4.36,5.77,6.09,5.73,6.56,7.2,7.9,9.07,9.72,9.45,9.72,10.35,11.16,11.11,11.25,12.18,13.05,13.13,12.69,11.33,10.29,8.87,7.8,6.69,6.61,5.98,5.67,4.51,3.68,3.05,3.24,1.36,-0.68,-0.86,-0.81,-1.92,-4.04,-2.95,-2.56,-2.85,-2.32,-2.22,-2.36,-2.45,-2.07,-1.02,-1.81,-2.13,-1.78,-2.66,-1.87,-3.08,-3.72,-4.09,-4.64,-3.24,-3.17,-2.35,-2.23,-2.32,-1.96,-1.62,-1.63,-0.78,0.35,0.54,1.36,3.54,5.59,6.85,5.78,6.64,6.77,5.74,5.37,4.84,4.82,4.95,3.72,3.28,2.97,2.92,2.67,1.95,1.29,0.49,0.83,0.86,1.28,1.4,0.94,0.47,-0.09,-0.88,-1.01,-0.49,0.28,0.45,0.15,-0.01,0.47,1.02,0.81,0.23,0.23,0.58,-0.06,-0.45,1.07,1.84,2.49,1.97,2.56,2.98,2.96,2.61,2.63,3.06,3.4,3.64,3.67,3.27,2.86,2.63,1.93,1.14,0.52,0.46,0.94,0.25,-0.05,2,2.9,3.63,1.47,1.36,-2.56,-2.11,-1.24,-1.2,-1.01,-0.92,-0.3,0.73,0.76,0.51,1.13,0.98,1.81,2.4,3.77,4.48,4.29,4.22,5.39,6.28,6.02,6.33,7.43,8.12,8.38,8.9,9.42,9.97,10.09,10.4,11.02,11.33,11.46,11.6,11.82,12.09,11.95,11.07,10.29,11.07,12.94,12.29,11.85,11.88,12.14,12.16,11.3,11.25,11.61,11.72,11.45,10.88,10.03,9.69,9.58,8.71,5.2,3.09,4.09,3.24,3,1.63,-0.91,-2.22,-3.25,-1.48,-1.28,-1.48,-1.11,-0.71,-0.58,-0.44,-0.56,-1.11,-1.15,-1.03,-0.38,0.12,-0.44,-0.45,-0.08,0.68,2.49,5.53,8.19,8.34,8.34,9.85,10.56,10.99,10.76,9.74,8.4,7.72,7.51,8.08,8.67,9.04,8.84,8.05,6.19,4.86,4.71,4.63,4.54,4.06,3.96,4.01,3.98,3.79,3.95,4.39,4.99,5.51,6.06,8.31,9.43,7.57,6.39,7.1,8.15,7.27,7.31,5.71,3.77,0.9,-0.68,-1.49,-1.15,-3.63,-4.88,-5.02,-5.51,-5.96,-6.89,-7.75,-7.95,-7.96,-8.13,-6.99,-4.03,-1.41,0.47,1.62,1.22,0.41,1.62,2.79,4.3,5.11,5.54,5.83,6.2,7.08,7.6,7.29,6.54,6.08,5.8,5.69,5.56,5.1,4.34,3.74,3.48,2.99,2.73,3.32,4.2,2.86,5.66,6.35,4.21,3.34,4.09,3.71,2.3,1.23,1.29,1.8,-0.5,-0.07,-0.18,0.35,0.47,-0.91,-0.98,-1.24,-2.27,-3.14,-3.87,-4.64,-5.29,-5.95,-6.49,-6.59,-6.49,-6.06,-6.24,-5.37,-4.48,-4.09,-3.08,-3.77,-1.26,-1,-1.13,-1.18,-0.89,-0.71,-0.95,-1.07,-1.76,-1.57,-1.17,0.53,4.04,4.31,2.36,1.53,2.54,2.59,3.5,4.25,5.28,4.67,5.36,6.13,6.27,7.04,8.73,9.42,9.2,9.7,10.07,10.58,11.28,11.78,10.98,8.76,11.02,11.83,12.29,11.65,10.17,9.45,8.27,7.12,7.43,7.24,5.61,4.63,4.35,4.69,3.72,2.83,1.51,0.79,0.18,-1.15,-1.89,-1.01,-1.44,-2.32,-1.93,-1.29,-1.22,-0.97,-1,-0.84,0.17,0.23,0.14,-0.83,-1.72,-1.73,-2.01,-1.99,-2.12,-0.86,-0.59,-0.46,-0.04,-1.68,-1.8,-0.93,0.05,1.15,1.41,1.76,3.02,4.09,5.88,7.48,8.33,8.65,8.13,8.06,6.9,6.45,5.93,5.5,4.66,3.83,3.46,3.63,3.34,3.1,3.13,2.72,2.53,2.94,3.47,3.57,3.42,3.08,2.77,2.29,2.29,2.73,2.68,2.87,3.31,3.33,3.21,3.51,3.61,3.5,2.81,1.69,2.37,3.19,3.16,3.27,3.36,4.1,4.59,4.61,4.67,4.64,5.12,4.98,4.86,5.18,5.29,5.21,4.83,4.3,3.61,2.73,1.74,1.04,0.98,0.25,-0.61,5.43,1.47,2.51,1.99,0.01,-1.13,-0.77,-0.48,-0.63,-0.3,0.12,0.89,2.31,4.31,3.94,4.14,4.19,4.3,4.88,5.84,6.28,6.27,6.67,7.07,6.97,7.63,8.25,8.7,8.79,9.32,9.84,10.12,10.51,11.24,11.84,12.12,12.44,13.05,13,12.53,12.34,12.22,11.93,11.96,10.81,9.33,10.9,13.81,13.29,12.96,13.32,12.15,11.48,11.79,11.87,11.38,11.04,10.15,9.14,8.1,6.18,4.17,4.54,4.42,3.99,3.7,2.43,0.81,-0.57,-1.46,0.57,0.47,0.92,1.6,1.7,1.51,1.94,1.97,1.47,1.57,1.87,2.27,2.46,2.78,2.85,3.52,4.41,5.22,6.04,7.26,9.45,12.16,14.49,14.81,14.27,13.57,13,12.8,12.44,12.07,11.69,11.13,10.66,10.05,8.81,7.61,6.57,5.97,5.54,5.53,5.43,5.56,5.3,4.86,4.64,5.03,5.77,6.57,7.12,7.57,8.61,9.69,11.73,9.12,7.8,8.08,7.51,7.66,5.52,3.45,1.45,0.11,-0.57,-0.22,-1.29,-2.88,-3.81,-4.58,-5.8,-6.72,-7.38,-7.73,-8.08,-8.46,-9.07,-9.45,-7.63,-2.76,1.42,-0.84,-1.4,2.33,5.58,5.47,5.7,5.95,6.5,7.17,7.93,8.74,8.92,8.23,7.99,7.4,6.74,6.43,6.16,5.56,5.27,5.01,4.68,4.38,3.92,4.72,5.44,4.5,6.73,7.07,4.87,4.23,4.77,3.3,1.93,1.96,2.16,1.7,1.83,1.45,0.16,-0.21,-0.71,-1.36,-1.46,-1.53,-1.73,-2.35,-3.51,-4.02,-4.18,-4.52,-4.39,-4.54,-4.04,-3.88,-4.09,-3.7,-3.76,-2.44,-3.14,-3.26,-1.38,-1.18,-0.6,-0.56,-0.45,-0.47,-1.06,-0.97,-0.41,0.07,1.76,5.2,5.01,2.85,2.74,2.29,3.36,4.34,4.53,4.53,5.05,4.54,5.75,7.23,8.6,8.72,9.19,9.69,10.35,10.88,11.46,11.86,11.58,11.67,6.81,9.9,10.12,10.24,11.51,11.13,9.58,8.92,7.31,7.45,6.92,6.18,5.55,5.27,5.39,5.36,3.73,3.13,2.64,2.41,1.21,1.08,1.46,2,2.39,0.63,0.59,0.2,1.04,1.32,1.43,1.62,2.48,3.07,1.86,0.89,0.05,-0.15,-0.33,-0.27,0.06,0.68,1.82,0.89,-1.79,-1.9,-0.8,-0.67,-0.13,0.76,2.07,3.17,5.07,7.33,9.41,10.16,10.32,10.51,9.79,9.88,8.45,7.21,6.48,5.84,5.32,4.79,4.34,4.21,3.9,3.73,3.43,3.58,3.71,3.82,4.44,4.56,4.4,4.25,4.21,4.16,4.33,4.49,4.98,5.61,5.97,5.65,5.83,5.91,5.61,5.45,5,4.16,4.69,5.59,5.48,4.76,4.73,5.75,5.66,5.17,5.57,5.95,6.85,7.32,7.26,7.15,7.06,6.42,5.91,5.27,4.15,3.14,2.11,1.14,0.55,-0.63,5.54,2.61,2.58,2.57,0.98,0.68,0.4,0.49,0.52,0.99,1.37,1.82,2.21,6.28,6.97,6.31,5.83,5.77,6.25,6.61,7.35,7.48,7.32,8.04,8.55,8.93,9.28,9.55,10.02,10.27,10.42,10.82,11.99,12.69,13.48,13.94,13.92,13.78,13.55,13.32,13.32,13.14,12.77,12.4,11.44,10.38,9.3,9.63,12.08,15.13,14.53,13.21,12.17,11.28,10.68,9.62,9.41,8.65,7.69,6.4,5.09,4.5,5.01,4.72,4.2,3.68,3.01,2.35,1.47,0.79,2.89,2.69,3,3.5,3.82,3.83,4.11,4.38,4.05,4.29,4.69,4.83,5.14,5.55,6.69,7.49,7.77,7.92,8.42,9.27,10.32,11.7,13.07,14.24,15.18,15.01,14.65,13.72,13.21,13.11,12.79,12.24,11.83,11.43,10.53,9.39,8.32,7.68,7.31,7.05,6.96,6.54,5.87,5.35,5.55,6.28,7.01,7.87,8.66,9.35,10.37,10.6,10.73,12.03,9.59,7.96,7.58,7.69,5.88,3.01,1.39,0.96,0.47,-0.15,-1.21,-2.12,-2.84,-3.93,-5.11,-5.65,-5.88,-6.14,-6.41,-6.7,-6.97,-7.06,-6.88,-7.08,-7.86,-6.21,-2.36,0.08,1.43,4.09,6.08,7.15,7.99,8.45,8.83,9.06,9.08,8.62,9.12,8.91,8.06,7.2,6.94,6.76,6.51,6.38,6.21,5.78,5.73,5.56,6.74,6.65,6.77,7.65,7.01,4.5,4.4,3.84,2.23,1.87,1.72,2,0.92,0.9,1.29,-0.62,-1.63,-1.13,-0.27,-0.38,-0.49,-0.67,-1.4,-1.75,-2.28,-2.39,-2.5,-2.3,-1.99,-1.99,-2.1,-1.79,-1.09,-1.48,-1.6,-1.31,-0.65,0.11,0.31,-0.03,-0.08,-0.18,-0.4,-0.61,-0.08,1.45,4.36,7.18,4.09,0.48,1.17,3.32,4.42,4.17,4.29,4.48,4.72,6.45,6.98,7.15,7.8,8.97,9.61,10.25,10.83,11.5,12.13,12.38,12.39,11.67,11.12,5.02,8.19,10.08,10.91,12.1,10.8,9.54,8.49,7.67,7.7,6.6,6.42,6.4,6.57,6.3,5.55,4.95,4.69,4.22,4.19,4.1,3.85,4.04,3.12,2.88,3.09,3.39,3.19,3.65,3.99,3.57,2.65,2.18,3.94,4.72,4,3.24,1.83,1.37,0.95,1,-0.63,-2.74,-2.74,-1.72,-0.78,-0.5,0.09,1.18,2.34,3.51,5.18,7.22,10.75,13.43,13.53,12.63,11.83,10.91,10.8,9.41,7.92,7.17,6.56,6.48,6.07,5.35,5.14,5.05,4.97,5.03,4.98,4.96,5.3,5.44,5.69,5.95,5.89,6.02,6.47,7.09,6.82,6.43,6.63,7.15,7.39,7.54,7.31,7.32,7.3,7.5,7.1,6.7,5.24,4.16,4.15,4.93,5.06,5.33,6.24,6.21,6.49,6.57,7.08,7.39,8.11,8.04,7.97,6.92,5.77,4.41,2.37,0.7,-1.06,3.16,5.23,2.96,1.25,2.98,1.85,2.54,1.85,1.44,1.72,1.7,2.75,3.71,3.65,4.33,8.56,7.62,6.79,7.61,8.12,8.37,9.12,8.91,9.04,9.24,10.17,10.4,9.97,9.81,10.25,10.59,11.43,12.1,12.89,13.74,14.25,15.07,15.69,15.39,14.91,14.69,14.27,13.82,13.41,13.11,12.59,12.45,12.18,11.44,11.21,12.18,14.97,16.16,13.89,12.19,10.82,9.92,9.3,9.16,8.78,6.99,5.97,5.81,5.64,4.6,4.12,4.36,4.12,3.25,2.82,2.73,4.23,4.12,4.4,4.83,5.26,5.54,5.62,5.81,5.96,6.25,6.67,6.98,7.25,7.47,8.95,9.35,9.65,10,10.76,11.67,12.54,13.39,14.03,14.51,14.79,13.5,12.54,14.27,15.12,14.55,13.6,13.38,13.13,11.16,10.49,10.5,9.73,9.33,8.76,8.21,7.9,6.84,6.2,6.41,7.14,7.62,8.42,9.39,10.34,10.99,11.49,11.01,10.88,12.17,12.71,8.15,7.32,7.62,6.45,2.94,1.64,1.3,0.71,-0.15,-1.42,-1.92,-2.31,-2.71,-3.15,-3.51,-4.05,-4.12,-3.91,-3.75,-3.86,-3.65,-3.23,-2.62,-1.79,-0.38,1.4,3.2,5.1,6.8,8.57,9.51,10.31,10.67,10.88,10.9,10.6,10.09,10.14,9.93,9.19,8.61,8.1,7.52,6.88,6.65,7.18,8.05,7.94,7.71,7.37,8.14,6.22,7.33,7.15,6.14,3.73,3.55,2.79,1.97,1.36,1.02,0.48,0.56,0.01,-1.46,0.15,1.39,0.93,0.98,1.25,1.32,0.94,0.61,0.97,1.68,2.06,2.07,1.88,1.67,1.52,1.84,1.44,1.5,1.64,1.76,1.68,1.05,1.09,1.25,1.5,2.14,0.74,1.72,5.74,8.06,9.17,4.19,0.16,0.86,2.1,3.65,3.93,4.13,4.7,5.02,6.81,6.09,7.1,8.27,9.31,9.48,9.71,9.93,11.03,11.11,11.44,12.54,12.65,11.89,11.44,6.1,6.45,5.02,4.93,7.3,10.38,9.79,8.76,8.18,7.63,7.58,7.34,6.91,6.76,6.7,6.73,6.37,6.23,6.47,5.74,6,5.4,5.21,5.26,5.02,5.35,6.18,6.5,6.39,4.72,3.88,4.1,4.24,4.48,4.56,3.6,3.89,4.62,3.25,2.06,1.37,-0.06,-1.13,-1.42,-0.8,-0.06,0.04,0.78,1.56,2.22,2.77,4.46,5.48,8.81,12.7,14.47,13.99,13.05,11.22,10.53,10.75,10.41,8.87,8.03,7.84,8,8.02,7.44,7.25,7.02,6.69,6.62,6.86,7.14,7.42,7.61,7.42,7.55,7.53,7.86,8.2,8.02,7.81,8.04,8.46,8.4,8.68,8.54,8.14,8.11,8.52,9.02,9.02,8.15,7.7,7.8,8.07,7.95,7.62,7.44,7.5,7.16,7.03,7.41,7.31,7.61,8.12,8.75,8.34,7.22,6.27,1.37,0.51,-0.85,5.2,5.23,4.05,2.54,3.29,4.33,4.79,3.05,2.98,4.2,5.05,5.54,5.13,4.85,9.64,10.27,8.91,8.39,9.86,10.36,10.28,10.71,10.52,10.25,10.95,11.12,9.57,9.67,10.34,10.9,11.57,11.67,12.22,12.88,13.47,14.21,14.69,15.09,15.25,15.42,15.03,14.6,14.62,14.44,14.16,13.92,13.94,14.1,13.61,13.42,13.06,13.64,15.53,16.7,13.9,12.23,10.96,9.36,9.58,9.28,7.87,6.67,5.83,5.3,5.11,5.2,5.27,4.19,3.41,4.03,4.16,5.29,5.46,5.98,6.14,6.69,7.05,7.01,7.07,7.44,6.85,7.11,7.74,8.64,9.97,10.96,11.15,11.64,12.59,13.52,14.53,15.35,16.06,16.05,15.65,14.11,12.39,12.1,12.36,14.88,16.4,15.51,14.64,12.3,9.65,9.28,11.67,11.12,9.32,7.51,8.69,7.79,7.23,6.14,7.39,8.03,8.64,9.36,10.04,9.91,10.16,11.61,12.38,12.46,12.15,13.67,9.68,7.17,7.44,7.05,3.3,1.78,2.01,1.66,1,-0.07,-0.66,-0.85,-0.69,-0.91,-1.73,-2.34,-1.66,-1.66,-1.56,-1.47,-1.26,-1.02,-0.26,0.81,2.37,4.14,5.85,7.4,8.55,9.87,10.64,11.71,12.29,12.7,12.88,12.41,11.56,11.53,10.88,10.2,9.64,9.58,8.86,7.99,8.03,8.93,9.98,10.03,9.66,8.8,7.38,8.36,6.81,8.04,6.78,5.59,4.1,4.02,2.24,1.49,0.72,0.69,0.24,-0.01,-0.25,0.62,1.56,1.46,1.82,2.02,2.13,2.13,3.03,3.77,4.27,4.55,5.01,5.25,5.37,5.3,5.5,4.61,4.23,3.55,3.42,4.06,4.17,3.77,3.65,4.28,4.41,4.22,5.47,6,5.89,4.89,2.37,2.37,2.86,3.58,4.15,4.41,4.91,5.06,6.31,6.54,7.25,8.35,9.06,9.48,9.44,9.73,10.26,10.81,10.75,10.28,11.44,12.32,12,8.37,3.39,4.99,4.9,4.89,5.51,7.28,9.06,8.89,8.07,8.2,7.54,7.16,6.88,7.2,6.89,6.19,6.31,6.59,6.49,7.14,6.61,6.18,6.07,6.09,6.47,6.37,7.33,7.36,6.76,6.49,5.45,4.96,5.09,4.81,4.57,5.01,4.5,4.51,4.95,4.75,3.27,2.23,1.03,0.5,1.13,1.55,0.91,1.38,1.37,1.33,1.45,2.79,3.18,2.38,5.99,11.06,11.53,10.76,9.76,8.99,9.63,10.32,10.84,10.04,8.98,9.13,8.89,8.29,8.16,8.02,7.82,7.98,8.29,8.49,8.9,9.1,9.17,9.45,9.18,9.15,9.24,9.43,9.76,10.12,10.11,9.59,9.32,9.32,9.11,9.02,9.53,9.32,9.5,9.71,9.83,10.07,10.03,9.38,8.86,8.9,9.11,8.65,8.38,8.61,7.85,7.06,7.05,7.6,8.19,8.53,7.89,5.6,-0.54,-0.22,4.07,6.69,4.85,7.56,6.51,6.82,5.95,4.62,5.18,8.6,7.61,9.49,10.91,11.24,10.74,10.11,8.83,9.76,11.73,12.03,11.82,12.1,11.93,11.74,11.2,9.98,9.96,11.11,11.79,11.82,12,12.19,12.38,13.33,13.88,14.69,15.43,14.9,14.98,15.3,15.27,14.84,14.7,14.46,14.45,14.63,15.02,15.38,16.02,16.46,17.11,16.51,15.56,16.32,17.24,14.17,11.92,9.99,9.51,10.16,8.99,7.58,6.78,6.26,5.87,5.19,5.27,4.95,5.03,4.98,5,6.36,6.58,6.75,6.36,6.8,7.88,8.69,9.09,9.04,9.45,8.91,8.93,10.73,11.37,12.23,12.67,13.61,14.35,15.38,16.72,17.76,18.25,18.05,16.28,13.47,12.79,13.27,13.44,13.65,15.25,16.54,15.03,11.27,9.95,10.32,10.66,9.31,8.11,6.93,7.47,8.15,7.88,6.25,7.61,8.42,8.99,9.24,8.41,7.33,9.1,10.58,11.47,12.15,12.42,12.41,11.67,6.93,6.74,7.07,3.62,2.27,2.77,2.85,2.72,2.11,1.75,1.49,1.04,1.1,0.08,-0.07,0.44,0.31,0.39,0.65,0.73,1.11,1.86,3.13,4.5,5.81,7.13,8.21,8.95,10.04,10.28,10.81,11.51,12.46,13.43,13.67,13.35,12.89,12.33,11.48,10.89,10.97,10.77,10.59,10.73,10.6,10.47,10.43,10.42,10.12,8.53,8.68,9,7.4,8.29,5.8,5.79,4.23,3.14,1.62,1.3,1.28,0.23,-0.05,0.42,0.96,0.21,0.57,2.44,1.8,2.31,3.49,4.64,5.23,5.44,5.83,7.04,7.78,7.94,7.76,6.94,6.55,6.68,6.04,5.62,5.81,5.7,5.1,4.64,3.93,4.14,4.63,5.25,3.73,4.24,4.37,4.72,5.94,6.51,5.89,5.42,5.04,5.22,6.34,6.27,6.8,7.93,8.65,8.61,9.46,10.15,10.21,10.45,10.4,10.9,10.45,11.17,11.39,11.71,11.24,6.19,5.35,4.31,5.89,7.86,8.63,8.51,8.41,7.93,7.33,7.64,7.62,7.02,7.26,6.98,6.3,6.02,6.3,6.95,7.01,7.01,6.54,6,6.36,6.52,6.24,6.8,6.94,6.87,7.26,6,5.6,5.64,5.64,5.95,6,5.27,4.99,4.91,5.88,5.95,5.67,4.31,3.13,2,1.93,2.08,1.62,1.53,1.23,0.82,1.01,1.51,0.48,-4.42,2.87,7.79,7.63,6.76,7,7.89,9.12,9.72,10.51,10.65,9.65,9.81,9.6,9.11,9,9.2,9.63,9.95,10.37,10.9,11.33,11.26,10.97,10.64,10.34,10,10.14,10.54,11.06,11.33,10.86,10.63,10.33,10.19,10.34,10.42,10.31,10.62,10.62,10.21,10.23,10.33,10.23,10.12,10.43,10.61,9.95,9.25,8.98,8.14,7.79,7.74,7.44,7.3,7.79,8.6,7.55,0.01,1.57,6.35,9.76,10.2,12.26,6.38,5.79,6.09,6.08,5.05,10.48,12.85,12.62,11.08,9.59,9.32,8.36,8.1,11.17,12.85,13.17,12.99,12.8,11.79,11.62,11.15,11.01,11.67,11.99,11.98,12.22,12.41,13.22,14.35,14.89,15.19,15.54,14.95,14.93,15.82,15.37,14.96,14.75,14.81,14.9,15.14,15.86,16.53,17.13,17.68,18.03,18.61,19.06,19.11,16.97,16.59,17.3,14.3,11.47,9.77,10.19,10.03,8.83,7.88,7.22,7.01,6.43,6.3,5.88,5.99,6.02,5.83,7.31,7.72,8.07,8.5,8.85,9.53,10.03,10.21,9.36,10.6,10.73,10.59,11.56,12.45,13.22,13.97,14.72,14.54,16.75,18.27,19.18,19.76,19.59,17.98,17.22,14.48,13.1,12.93,12.31,13.37,13.49,14.74,13.12,10.43,10.14,9.96,8.14,7.41,9.69,6.56,6.78,7.34,6.56,7.86,8.69,8.69,7.3,7.28,9.19,9.88,10.31,10.8,11.26,11.54,11.92,11.24,5.22,5.34,6.58,3.86,2.7,3.07,3.77,4.23,4.01,3.92,4.02,3.34,3.48,2.58,2.05,2.92,2.65,2.72,3.01,2.69,3.18,4.24,5.5,6.78,7.62,8.18,8.33,8.72,9.51,9.72,10.32,10.64,10.65,10.68,11.21,12.62,14.11,14.54,13.77,12.97,11.98,12.05,11.95,11.83,11.3,11.16,11.3,11.04,10.61,9.65,8.64,10.34,8.73,8.4,7.19,4.84,5.15,3.64,1.73,1.67,1.88,1.26,0.64,0.68,1.6,0.98,0.79,1.78,2.16,3.07,4.43,5.33,5.63,6.43,6.3,7.17,6.38,6.22,7.25,6.9,6.7,6.84,5.88,5.23,4.85,4.21,5.19,5.24,5.28,2.61,3.44,1.2,1.56,3.93,6.19,7.47,8.3,9.53,8.05,6.31,6.03,6.06,6.51,6.36,7.04,7.69,8.05,8.4,9.28,9.87,10.85,10.64,10.55,10.67,10.77,10.58,5.81,4.81,6.9,4.78,5.74,7.43,8.57,8.25,8.09,8.9,8.84,8.65,8.06,7.45,7.71,7.7,7.71,7.04,6.59,6.63,6.76,6.72,6.79,6.21,6.05,6.78,7.24,6.86,6.8,6.12,5.36,4.97,5.2,5.83,5.99,5.73,5.8,6.34,6.51,5.4,5.07,4.95,4.63,3.73,5.12,6.2,5.96,4.85,3.83,3.67,3.09,3.07,2.93,2.04,1.15,-0.24,-0.86,-2.94,-5.89,-3.51,-0.76,1,2.89,5.23,7.04,8.15,9.04,9.94,9.96,9,8.72,9.58,10.04,10.54,10.54,10.99,11.36,11.59,11.64,11.56,11.28,11.1,11.17,10.94,10.83,10.91,11.27,11.54,11.88,11.96,11.67,11.52,11.56,11.54,11.44,11.7,11.52,11.02,10.88,10.94,11.1,10.78,10.19,9.88,9.3,9.05,7.96,7.87,7.45,7.04,6.81,6.75,7.02,7.12,8.27,1.27,3.81,3.91,7.73,11.52,10.1,9.7,7.83,8.65,7.53,6.6,10.94,12.09,11.51,10.02,9.47,8.64,9.02,11.75,13.38,13.95,13.49,13.21,12.89,13.37,12.79,11.69,11.69,12.02,11.69,11.83,12.74,14.11,15.03,15.27,15.68,15.43,15.49,15.57,15.52,15.58,15.72,15.69,15.78,16.02,16.33,16.93,17.72,18.3,18.65,19.29,19.98,20.54,20.49,19.96,19.52,17.62,18.09,17.44,13.2,10.72,9.96,9.95,9.48,8.91,8.31,8.01,7.57,7.36,6.72,6.74,6.91,6.96,8.98,9.36,9.47,9.4,9.78,10.4,10.85,11.22,10.72,9.57,10.92,11.35,11.83,12.52,13.94,15.21,15.82,15.99,17.46,18.45,19.17,19.69,19.74,19.58,19.24,18.12,16.44,14.21,12.48,13.48,11.1,11.06,12.08,10.84,10.24,9.87,6.87,5.92,7.56,7.32,5.81,6.2,7.91,8.34,8.48,8.2,6.54,8.46,8.91,9.18,9.54,10.75,10.7,10.93,10.89,8.75,0.35,3.3,5.91,3.32,2.56,3.24,4.09,5.26,5.23,5.33,5.63,5.48,4.91,3.02,4.11,4.95,4.53,4.47,4.55,4.55,5.21,6.38,7.62,7.52,7.02,7.08,7.61,8.66,8.95,8.98,9.45,9.76,9.79,9.55,8.9,8.38,9.01,11.22,13.63,14.29,13.69,12.69,12.05,11.42,11.18,11.56,11.64,11.58,11.13,10.21,9.63,9.74,10.94,8.44,9.2,5.49,4.24,3.87,2.66,2.15,2.22,1.28,0.93,1.56,1.95,2.56,2.34,2.8,3.21,4.68,5.58,5.94,5.53,5.91,6.11,4.29,3.57,4.08,4.42,5.03,5.92,6.15,5.69,4.92,4.22,5.16,5.78,5.91,6.09,4.1,2.51,2.74,2.79,7.91,8.4,9.64,10.39,8.28,6.15,6.62,6.51,6.64,6.51,6.85,7.48,7.28,7.61,8.33,8.78,9.89,10.37,10.71,10.81,10.81,10.71,6.29,1.7,3.37,1.53,5.68,9.66,9.33,9.12,10.02,10.25,10.17,9.16,8.92,8.88,8.42,7.97,7.84,7.58,6.84,6.39,6.36,6.84,7.5,6.94,5.51,5.53,6.26,7.36,7.76,7.17,5.64,4.25,4.6,5.74,5.97,5.26,5.3,6.16,6.11,5.94,5.34,4.82,4.2,3.65,3.39,4.03,4.71,5.59,6.83,7.1,6.51,6.08,5.34,4.86,4.3,3.44,1.82,-0.28,-1.97,-4.41,-5.74,-5.65,-7.13,-7.43,-5.77,-2.23,2.04,5.92,8.18,8.52,8,7.52,7.7,9.16,10.4,11.03,11.49,11.9,12.24,12.47,12.61,12.56,12.1,12,12.24,12.34,12.31,12.33,12.13,12.09,12.15,11.58,11.65,11.9,12.14,12.21,12.47,12.19,11.65,11.44,11.34,11.38,11.09,10.69,10.13,9.89,8.51,7.56,7.61,7.12,6.8,6.96,7.16,7.42,6.65,5.24,3.92,3.8,2.69,7.36,10.54,11.47,9.43,8.15,6.87,7.56,9.61,9.2,10.17,9.64,8.77,8.04,7.55,10.35,12.67,13.76,13.83,13.7,13.92,14.27,13.01,11.26,11.24,12.07,12.45,13.03,13.72,14.64,15.05,15.41,15.72,15.88,15.87,15.66,15.19,15.03,15.72,16.14,16.56,16.52,16.87,17.68,18.18,18.92,19.3,19.93,20.7,21.31,21.82,21.09,20.59,20.17,20.29,19.18,19.41,16.78,12.47,10.34,9.97,9.36,9.06,8.5,8.12,7.65,7.43,7.18,7.63,8.05,8.54,9.64,10.17,10.52,10.86,11.57,12.21,12.14,11.87,10.78,9.84,11.16,11.37,11.63,12.97,13.77,14.34,14.66,14.94,14.48,15.05,16,17.45,18.13,18.07,18.04,17.69,16.33,13.92,14.46,15.56,13.94,12.55,10.87,11.97,11.33,9.51,7.25,5.82,5.43,5.65,5.95,6.12,6.75,6.69,6.07,7.12,8.36,8.35,8.35,8.81,8.73,9.36,8.88,8.76,8.71,5.5,0.08,2.36,5.34,3.04,2.63,3.55,4.93,5.65,6.26,5.88,5.91,6.86,6.25,4.59,6.07,6.17,5.95,5.85,5.84,6.01,6.99,7.74,6.83,6.02,7.11,8.35,9.32,9.98,10.5,10.82,11.27,11.45,11.73,11.74,11.59,11.31,11.35,11.29,11.37,12.73,13.89,13.17,12.28,11.62,11.23,11.17,11.36,11.24,10.87,10.66,10.51,10.08,9.96,10.11,8.2,7.19,4.23,3.81,3.47,2.9,2.49,1.7,1.77,2.35,2.64,3.21,3.48,3.64,4.21,5.7,5.92,5.59,4.86,4.42,3.14,2.89,3.69,4.38,5.73,5.09,4.73,5.61,6.12,5.91,5.88,5.94,6.08,6.29,6.72,6.95,2.88,2.25,4.86,8.99,9.95,9.6,7.25,5.19,6.33,7.12,7.02,7.06,7.15,7.43,7.66,7.36,7.68,8.4,8.86,9.26,9.67,10.56,11.37,11.67,7.73,3.39,2.51,3.21,4.27,4.45,7.73,8.89,8.31,9.34,10.05,10.29,10.25,9.29,8.24,7.53,7.9,7.66,6.94,5.84,5.33,5.76,6.07,6.36,7.02,6.57,4.93,5.11,5.84,5.65,4.95,4.02,4.21,4.89,4.59,4.54,5.36,6.03,6.45,6.39,5.83,5.56,5.05,5.01,5.04,5.11,5.28,5.35,5.51,5.84,6.34,6.92,7.26,7.2,6.82,6.45,5.83,4.84,3.17,1.09,-0.76,-2.99,-3.47,-4.25,-5.42,-5.42,-4.85,-4.51,-4.59,-4.22,-3.05,-1.08,1,2.45,3.28,4.28,5.3,5.79,6.21,6.64,7.61,9.08,10.46,11.36,12,12.66,13.08,13.27,13.04,12.49,11.91,11.49,11.24,11.37,11.88,12.22,12.39,12.64,12.4,12.16,12.1,12.15,11.83,11.79,12.01,11.63,9.92,7.52,7.56,7.69,7.72,7.39,7.29,7.52,7.48,6.95,3.43,4.34,4.38,2.12,5.89,7.94,9.67,5.94,4.92,4.72,6.99,8.06,9.66,9.68,8.24,8,7.64,10.22,12.03,13.07,13.58,13.69,13.67,13.46,13.19,12.93,12.72,12.66,12.89,13.74,14.59,15.13,15.17,15.21,15.5,15.89,15.59,15.43,15.44,15.61,15.61,15.8,16.41,16.47,16.04,16.94,17.34,17.67,18.57,19.39,20.8,22.28,23.4,23.83,24.01,23.63,22.44,20.46,19.02,18.07,18.49,14.28,11.32,9.95,9.27,8.79,8.02,7.34,7.05,7.3,8,8.53,8.77,9.23,10.56,11.36,12.31,12.86,12.98,13.24,12.9,12.21,11.41,10.24,11.29,11.65,12.01,12.58,12.53,12.35,12.41,12.76,12.92,12.74,13.45,14.94,16.54,17.1,17.06,16.91,16.92,17.1,16.64,15.33,15.91,15.03,11.91,11.58,13.18,12.09,9.68,7.84,6.41,5.94,5.55,5.78,6.38,7.2,7.83,8.71,9.3,8.65,8.32,8.32,8.58,8.97,7.63,8.06,8.03,5.32,1.72,1.56,2.72,3.27,3.48,4.58,5.91,7.24,7.28,6.15,5.03,4.62,3.37,5.63,7.2,6.68,7.16,6.91,6.9,7.56,8.13,6.79,6.51,7.45,8.69,9.38,9.95,9.78,10.57,11.86,12.35,13.03,13.83,14.48,14.94,14.92,14.8,14.63,14.11,13.58,13.86,13.77,12.3,11.11,10.45,10.66,10.7,10.53,10.23,10.2,10.59,10.41,9.79,9.58,8.12,7.21,5.35,3.97,3.24,3.18,2.62,2.48,2.52,2.79,3.33,3.71,3.96,4.03,4.56,4.89,4.67,4.74,3.99,4.03,4.12,4.06,4.09,3.94,4.35,2.49,2.28,2.96,4.05,5.17,5.82,6.09,6.62,7.17,7.76,8.35,9.03,9.78,10.13,9.34,8.11,6.36,6.07,6.7,7.26,7.26,7.51,7.9,7.97,8.36,8.41,8.55,8.43,8.94,8.96,9,9.53,10.71,10.62,4.2,3.86,3.3,2.29,4.13,6.86,7.52,7.52,8.33,8.73,6.85,6.44,7.19,8.05,8.75,8.54,8.47,8.16,7.56,6.5,5.47,4.93,5.47,5.96,5.95,5.75,5.12,3.65,3.77,3.34,3.11,3.76,4.09,4.3,4.5,4.69,5.35,5.81,6.17,6.15,5.77,5.74,6.03,5.98,6.16,6.25,6.33,6.43,6.31,6.01,5.79,5.63,5.7,5.94,6.09,6.63,7.2,7.33,6.98,6.07,4.77,3.37,2.19,1.1,0.23,-0.68,-1.44,-1.92,-2.49,-3.3,-3.91,-4.25,-4.4,-4.32,-4.19,-3.05,-2.18,-1.09,-0.04,1.12,2.25,3.11,4.03,4.89,5.59,6.05,6.46,7.32,8.43,9.34,9.97,10.2,10.59,11.02,11.49,11.61,11.73,11.98,12.24,12.42,12.44,12.58,12.76,12.84,12.68,12.63,11.95,9.09,7.89,8.21,7.93,7.72,7.49,7.47,7.67,7.08,6.58,5.85,3.3,4.59,5.61,9.37,8.81,7.77,8.61,8.51,11.59,9.84,8.77,9.74,11.11,10.52,8.36,9.93,12.31,12.49,13.03,13.4,13.36,13.32,13.89,14.46,14.03,13.19,13.1,14.35,14.77,14.67,15.05,15.12,15.35,15.35,14.99,15.07,14.88,15.18,15.81,16.21,15.99,16.03,15.98,15.83,14.99,16.52,18.17,19.53,21.13,22.53,24.26,25.7,26.54,27.36,27.29,26.24,23.39,20.12,17.3,17.57,14.77,11.18,9.94,9.08,8.49,8.15,8.09,8.17,8.38,8.82,9.2,9.24,9.79,11.42,12.08,12.68,14.06,15.04,15.18,14,12.29,10.62,11.38,11.77,11.43,11.31,11.05,11.11,10.68,10.16,10.75,12.1,12.79,13.14,15.26,17.11,17.73,17.07,14.83,15.66,15.93,16.16,15.6,17.05,16.72,15.03,13.8,13.74,14.37,12.99,10.12,7.83,6.29,6.15,6.49,7.51,8.47,8.45,8.93,8.99,7.9,7.33,7.54,8.21,8.83,7.69,7.67,7.37,4.4,0.92,1.5,1.04,1.04,2.13,5.07,5.85,5.24,1.98,1.92,4.08,4.35,5.99,6.91,7.33,7.44,7.59,7.74,8.26,9.02,7.91,7.19,8.11,9.16,10.24,10.83,10.81,11.95,12.96,13.03,13.36,13.88,13.93,13.85,13.47,13.05,13.02,12.82,12.88,12.82,13.75,14.14,12.39,10.74,9.88,10.01,9.77,9.31,7.1,9.4,12.8,10.87,9.28,8.56,7.63,7.42,6.3,4.78,3.07,3.35,3.68,3.48,3.7,4.22,4.27,4.26,4.28,4.54,4.53,4.96,4.59,4.64,4.39,4.55,4.35,4.17,4.39,3.4,1.77,1.25,1.84,2.98,3.89,4.79,5.29,6.21,7.42,7.91,7.86,7.36,7.21,7.33,7.91,8.09,7.68,7.08,7.31,7.76,7.74,8.03,8.56,8.97,9.48,9.84,9.85,10.03,10.12,10.19,9.9,9.57,10.09,8.58,3.6,4.75,6.67,6.49,10.26,11.65,11.47,11,10.52,9.32,8.43,8.13,7.05,7.21,7.33,8.32,8.89,8.5,7.94,7.25,6.55,5.54,5.13,5.32,5.78,5.62,4.85,4.18,3.01,2.76,2.79,3.33,4.2,4.74,4.69,4.6,4.3,5.04,5.54,5.77,6.08,6.04,5.9,5.7,5.95,6.78,7.03,7.09,7.1,7.18,7.1,7.21,7.48,7.73,7.6,7.46,7.56,7.33,6.85,7.19,7.39,7.09,6.45,5.95,5.4,4.86,4.45,3.93,3.34,2.67,1.95,1.21,0.54,-0.04,-0.14,0.21,1.08,1.58,2.02,2.63,3.46,4.22,4.71,4.94,4.81,4.33,3.42,2.86,2.71,2.91,3.3,4.03,4.79,5.96,7.22,8.32,9.22,10.13,11.21,12.27,13.04,13.45,13.72,13.71,13.33,13.08,12.65,11.57,8.74,7.8,7.77,7.97,7.74,7.53,7.59,7.5,7.06,6.69,2.51,2.15,3.01,8.81,6.86,5.09,3.97,6.13,6.49,6.23,5.95,6.36,7.19,8.24,9.27,8.82,10.78,12.67,12.55,12.57,12.99,13.41,14.24,14.83,14.88,14.2,13.64,13.77,14.43,14.67,15.15,15.29,15.44,15.52,15.4,15.37,15.45,15.69,15.96,15.77,15.26,15.1,14.35,15.07,15.31,16.19,16.76,17.21,18.51,20.82,22.55,25.24,27.99,29.65,29.76,28.34,26.36,23.36,19.78,16.85,15.44,13.43,9.42,7.77,7.74,7.13,7.27,8.16,8.9,9.19,9.2,9.46,10.17,10.77,11.59,12.45,13.29,14.44,15.87,16.16,15.6,13.39,11.07,11.36,11.17,10.48,10.64,11.01,11.25,10.07,9.85,11.28,12.45,13.11,13.66,15.1,17.52,19.32,17.84,15.64,15.79,15.52,15.57,16.01,16.2,16.36,16.29,14.87,13.92,14.07,13.9,10.76,7.65,6.66,6.82,7.25,7.64,8.18,8.65,8.79,8.3,7.63,8.13,8.08,8.53,9.17,8.9,7.19,6.92,4.83,1.71,2,1.32,1.12,1.36,1.74,1.71,1.39,-0.27,2.11,2.44,2.82,5.13,6.66,7.51,8.12,8.4,8.88,9.42,9.24,8.82,9.15,10.07,11.39,11.98,12.04,13,13.43,13.81,14.25,13.74,13.45,13.98,14.06,13.75,13.33,13.42,13.91,14.09,13.93,13.99,13.22,10.24,7.89,7.45,7.7,6.81,4.88,1.71,0.5,7.96,4.08,2.16,4.9,4.61,5.72,5.8,4.99,3.53,3.36,4.06,4.49,4.89,5.42,5.61,5.43,5.19,5.3,5.52,5.82,5.24,5.29,4.71,4.32,4.52,4.77,3.52,2.59,2.14,2.57,2.88,3.06,3.65,4.63,5.58,6.12,6.74,6.7,6.04,6.1,6.72,7.2,7.55,7.69,7.73,8.08,7.94,8.18,8.67,9.33,9.97,10.72,11.17,11.58,11.77,11.87,11.89,11.94,11.44,10.94,10.51,6.7,8.5,8.96,12.66,14.99,14.9,15.16,14.83,13.97,13.04,12.13,10.47,9.03,7.22,6.85,7.26,8.03,9.06,8.65,7.75,6.89,6.94,5.93,5.31,5.31,5.44,5.17,4.38,4.11,2.88,2.54,3.05,3.75,4.44,4.64,4.97,5.33,5.13,5.02,5.4,5.85,5.85,5.57,5.45,5.73,6.05,6.41,6.83,7.36,7.7,8.11,8.42,8.65,8.67,8.7,8.58,8.83,8.93,8.88,8.52,8.07,7.6,7.82,8.38,8.55,8.25,7.91,7.4,7.04,6.37,5.74,5.47,5.21,4.7,4.34,4.32,4.32,4.44,4.47,4.67,4.94,5.11,5.22,5.17,5.01,4.71,4.33,3.93,3.53,3.34,3.3,3.67,4.02,4.45,5.35,6.36,7.42,8.42,9.38,10.16,11.14,12.06,12.87,13.7,14.16,14.01,13.36,12.27,10.69,7.83,6.92,6.88,7.34,7.16,7.35,7.61,7.62,6.88,4.72,-0.03,3.94,4.67,7.64,6.34,5.18,6.14,5.51,4.94,6.86,7.1,7.81,8.72,9.52,9.94,9.83,11.58,12.69,12.22,12.23,13.35,14.46,15.25,15.6,14.91,14.02,13.71,14.29,15.01,14.73,14.81,15.6,16.2,16.18,16.09,16.24,16.19,15.73,14.92,14.25,13.68,12.86,12.39,13.02,13.28,13.42,14.99,16.3,17.68,20.49,23.66,27.1,30.4,30.62,28.16,25.26,21.88,19,16.66,14.91,13.17,11.15,7.39,5.27,5.28,5.22,5.33,6.4,7.91,8.62,8.77,9.84,11.28,11.8,9.98,11.18,12.63,13.57,14.75,15.46,16.59,14.24,9.26,8.2,8.46,9.38,11.02,11.93,12.25,12.61,12.93,13.28,13.91,14.23,14.32,14.11,14.97,17.69,17.86,16.76,17.28,17.28,16.54,17.08,16.63,15.73,15.64,15.71,15.43,14.12,12.39,9.96,7.36,5.43,5.64,6.27,7.55,8.39,8.04,7.34,7.34,8.5,9.61,8.9,8.77,9.66,10.2,8.77,6.86,6.53,4.02,2.19,1.98,1.14,0.76,0.81,0.97,0.96,-0.05,0.89,2.3,4.54,6.15,7.67,8.18,8.78,8.89,9.53,9.71,9.99,10.18,10.35,11.1,12.43,12.82,13.33,14.06,14.54,15.1,14.89,14.95,14.39,13.26,12.8,12.88,13.32,14.34,14.77,14.99,15.52,15.29,14.26,9.21,6.38,5.07,3.98,4.27,2.93,-0.92,-0.24,2.06,-1.66,-4.35,-2.64,-0.3,2.54,4.73,5.22,4.29,3.46,3.5,4.98,5.79,5.88,5.74,5.96,5.58,5.86,6.39,6.07,4.92,5.79,5.89,5.38,5.43,4.6,4.46,4.1,3.44,3.6,4.13,4.9,5.17,5.05,5.02,4.9,4.67,5.26,6.07,6.57,7.33,7.62,7.31,6.75,7.37,7.7,8.12,8.84,9.67,10.53,11.41,12.19,12.94,13.19,13.35,13.71,13.5,12.91,12.39,12.1,12.16,13.27,13.72,15.51,15.49,14.89,14.34,14.43,14.27,14.46,14.52,13.73,12.48,10.56,9.11,7.54,7.46,7.52,7.59,8.09,8.75,7.87,7.03,5.91,5.34,5.01,4.89,4.89,4.81,3.55,2.38,2.4,3.08,3.79,4.33,4.81,5.18,5.42,5.73,6.05,6.02,6.24,6.18,6.16,5.89,5.69,5.69,6.17,6.62,7.33,8.03,8.67,8.97,9.19,9.36,9.67,9.85,10.08,10.34,10.28,10.01,9.72,9.34,9.3,9.22,9.11,9.03,9.12,8.76,8.05,7.84,7.15,6.53,6.04,5.31,5.12,5.31,5.55,6.04,6.24,6.38,6.58,6.96,7.32,7.4,7.23,7,6.66,6.32,6.02,5.65,5.36,5.35,5.57,6.13,6.88,7.64,8.22,8.99,9.66,10.29,10.95,11.61,12.38,13.17,13.76,14.07,13.2,11.45,9.01,6.41,6.07,6.1,6.49,6.97,7.41,7.88,7.5,6.81,1.05,-1.45,-0.02,2.05,7.41,5.56,5.36,3.5,6.21,8.96,8.1,9.24,9.83,10.64,11.49,11.63,11.41,12.07,12.62,12.51,12.53,13.77,14.71,15.13,14.5,13.5,13.49,14.08,14.81,14.86,15.56,16.52,16.73,16.71,16.33,15.75,15.05,14.39,13.58,12.79,11.78,10.74,10.19,10.39,10.63,10.67,12.5,13.99,15.27,17.84,20.63,24.61,29,27.48,20.86,17.07,16.03,15.28,14.35,13.52,12.09,10.46,8.14,5.9,4.71,4.33,4.74,5.79,7.33,8.77,9.86,10.14,10.29,9.93,9.76,8.44,10.46,12.49,13.94,15.24,14.68,10.93,5.97,4.12,5.37,7.96,10.19,11.65,12.78,13.16,13.39,13.76,14.15,14.33,14.09,12.96,11.89,12.43,13.23,14.57,14.66,14.59,14.43,14.87,16.89,17.79,16.38,15.35,14.65,13.71,12.22,9.54,6.4,4.29,3.61,4.78,6.26,7.64,8.16,7.75,7.4,8.67,9.9,10.59,10.12,9.66,10.46,10.73,10.34,7.91,7.75,6.5,4.02,2.54,1.61,1.04,1.12,1.77,1.67,1.71,2.33,4.37,6.65,7.82,8.37,8.84,8.63,8.3,8.95,9.38,10.61,10.63,11.1,11.92,12.66,13.32,14.16,14.13,14.29,14.61,14.4,13.32,12.75,11.92,12.39,12.02,12.18,12.05,12.23,12.5,12.77,13.54,12.06,4.38,3,3.4,3.54,2.17,-0.24,-1.6,-1.88,-0.92,-2.72,-2.54,-1.05,-2.71,-3.39,-1.39,3.47,3.46,3.51,4.34,5.1,5.74,5.52,4.94,5.27,5.16,5.42,5.93,5.28,4.55,5.69,7.06,7.1,6.35,5.32,5.44,5.27,4.03,4.15,5.15,5.72,5.91,6.24,6.37,6.33,6.26,6.52,6.05,6.49,6.77,5.93,6.22,6.98,7.21,7.9,9.15,10.02,11.13,11.82,12.73,13.46,14.26,14.56,15.12,15.12,14.31,13.38,12.67,12.28,12.57,13.12,13.88,14.34,14.44,13.84,13.22,12.97,12.53,12.72,13.3,14.27,13.61,12.35,10.29,7.12,4.95,5.49,6.66,7.14,8.18,8.37,7.83,6.14,5.41,5.31,4.64,4.03,3.82,3.09,1.99,2.19,3.05,4.05,4.77,5.31,5.81,5.98,6.43,7.23,7.49,7.16,7,6.89,7.02,7.16,7.28,7.24,7.39,7.6,7.92,8.21,8.86,9.6,10.23,10.62,10.96,11.25,11.49,11.6,11.51,11.43,11.2,10.98,10.73,10.58,10.41,10.41,9.75,9.28,9.32,8.86,8.08,7.16,6.37,5.8,5.85,6.06,6.47,6.64,7.25,8.14,9.22,9.82,9.98,9.52,9.12,8.92,8.76,8.36,7.71,7.36,7.09,7.32,7.93,8.94,9.88,10.57,10.9,11.11,11.15,11.37,11.62,12.1,12.81,13.58,13.56,12.69,10.42,6.99,4.86,5.3,5.64,6.2,6.75,7.48,7.38,7.2,6.37,2.87,4.03,5.47,9.68,12.72,7.64,9.47,6.86,5.09,6.77,9.51,11.17,11.8,12.78,13.29,12.58,10.9,10.57,11.23,11.75,11.86,11.17,10.58,10.94,11.63,12.7,14.04,15.01,15.39,15.96,16.55,16.47,15.85,15.41,15.07,14.58,13.63,12.54,11.66,10.81,9.94,9.77,10.02,10.19,9.2,9.29,11.66,11.92,13.84,17.22,21.14,23.64,20.35,11.35,5.58,4.82,7.78,8.48,8.69,9.9,9.59,7.2,5.13,4.31,4.06,4.16,4.04,3.46,2.98,2.54,1.57,1.22,3.1,5.51,7.01,4.15,3.84,3.16,2.15,-0.32,-3.03,-3.32,-1.05,2.34,6.8,9.75,11.73,12.8,13.25,13.54,13.9,14.04,13.72,13.55,12.36,11.06,10.75,9.04,6.9,8.42,11.33,11.91,11.98,12.98,14.98,15.65,14.34,13.26,11.74,9.66,8.08,5.8,2.98,2.08,3.09,4.57,6.4,7.5,8.02,8.09,7.95,9.29,10.21,11.16,11.03,11.19,11.02,11.42,10.98,9.16,8.3,7.57,5.99,3.27,2.17,1.88,2.07,2.83,3.29,4,4.7,6.37,7.69,7.66,9.91,9.85,8.31,8.1,9.01,9.91,10.28,10.39,11.5,12.1,12.6,12.81,12.53,12.22,12.11,12.36,12.68,12.47,11.65,12.27,11.77,11.22,11.63,11.64,11.81,11.75,11.98,11.89,3.72,-0.74,1.47,3.53,3.59,0.86,-1.66,-2.36,-3.47,-2.65,-2.46,-2.65,-3.82,-4.33,-3.87,-4.76,-4.32,0.04,3.61,5.49,6.07,5.42,5.84,5.55,5.62,6.35,5.81,5.47,5.47,4.45,5.76,7.16,7.76,6.54,5.46,5.83,5.99,5.1,5.24,6.19,6.38,6.5,6.84,6.71,6.51,6.05,5.78,5.75,5.95,6.9,7.77,8.03,8.04,7.92,8.71,9.76,10.61,12.05,13.08,13.8,14.17,15.32,16.08,16.69,16.49,15.47,13.25,11.63,12,12.77,13.2,13.51,13.78,14.49,14.74,14.9,15.64,16.15,16.11,15.98,15.41,14.15,12.27,9.68,7.25,5.1,5.87,6.97,7.51,7.77,7.93,8.16,7.32,4.81,3.37,2.87,3.28,3.28,3.2,2.06,2.05,3.26,4.51,5.55,5.86,6.13,6.21,6.35,6.56,6.32,6.07,6.09,6.32,6.6,6.95,7.54,7.9,8.49,8.65,8.78,8.86,9.4,9.85,10.65,11.19,11.8,12.2,12.59,12.89,13.05,12.94,12.77,12.77,12.63,12.57,12.29,11.92,11.22,10.87,10.79,10.42,9.4,8.43,7.62,7.35,7.23,7.16,7.16,7.55,8.09,8.46,9.32,10.19,11.33,11.83,11.83,11.42,10.87,10.07,9.53,9.31,9.75,10.35,10.97,11.67,12.22,12.74,13.08,13.11,12.85,12.48,12.23,12.29,12.58,13.42,13.44,11.84,8.33,4.64,3.63,4.74,5.27,6.17,6.68,7.28,7.11,7,6.3,0.36,-0.41,3.75,5.04,7.7,4.39,6.35,5.89,9.28,10.39,11.24,11.02,11.06,11.39,10.6,9.13,6.97,6.79,6.44,5.86,4.98,5.39,6.79,9.57,11.56,13.27,14.65,15.65,16.26,16.93,16.72,15.47,14.38,14.06,13.75,12.42,9.84,9.93,11.05,11.46,11.36,10.57,9.44,9.42,10.17,10.22,10.74,11.63,12.36,14.55,14.65,10.22,6.87,2.67,2.69,3.18,5.21,7.12,6.62,6.52,4.45,-0.46,-3.84,-6.62,-9.13,-10.19,-10.13,-8.89,-7.18,-5.05,-3.16,-0.97,0.69,1.95,3.26,-7.88,-6.85,-5.83,-4.85,-3.35,-1.84,1,4.34,7.5,9.68,11.84,13.22,13.73,13.71,13.27,13.38,13.24,13.09,12.56,10.95,10.56,9.75,7.59,5.28,3.66,5.18,8.84,10.95,11.36,10.54,9.16,8.83,8.19,7.55,5.83,1.73,-2.01,-2.96,-1.13,1.27,3.24,4.81,5.97,7.05,7.92,8.19,8.3,10.01,11.71,11.73,11.73,11.33,11.57,11.18,9.88,8.78,7.35,6.36,4.13,2.66,2.39,3.01,3.71,4.4,5.41,6.21,7.54,8.05,8.84,10.19,10.58,9.79,8.96,8.1,8.64,9.23,10.63,11.33,11.09,10.74,10.5,10.43,9.96,9.94,10.65,10.79,10.52,10.57,10.21,10.15,11.04,11.96,12.13,12.06,11.91,12.56,4.84,-3.63,0.16,3.7,3.97,2.21,-0.68,-2.11,-2.52,-3.26,-2.59,-1.88,-2.17,-3.22,-3.67,-3.54,-3.2,-2.39,-1.47,0.76,4.07,6.31,7.15,7.12,7.21,6.56,6.4,6.52,6.58,6.69,6.34,6.38,6.77,7.15,6.78,5.78,5.41,4.74,5.48,6.61,6.89,7.35,7.27,6.9,6.86,7.26,7.64,7.73,7.31,7.26,7.95,8.28,8.35,8.28,8.56,9.4,10.72,12.02,12.94,13.59,14.34,15.32,15.97,16.27,16.52,16.14,14.66,11.81,10.41,12.02,12.75,12.86,13.03,13.86,14.98,15.45,15.98,16.64,17.31,17.33,16.41,14.74,12.72,10.22,8.09,6.55,6.18,7.17,7.36,7.56,7.6,6.91,6.44,4.73,2.22,1.2,1.49,1.7,1.62,1.91,1.93,2.19,3.36,4.44,4.72,4.97,5.67,6.41,6.89,7.11,7.17,7.33,7.39,7.64,7.74,7.8,7.97,8.27,8.75,9.29,9.47,10.03,10.59,10.96,11.56,11.86,12.17,12.47,12.69,13.02,13.74,14.36,14.92,14.99,14.59,14.19,13.7,13.21,12.65,11.89,11.55,11.29,10.55,9.97,9.42,8.84,8.21,7.95,8.01,8.21,8.8,9.01,9.17,9.58,10.27,11.35,12.54,13.36,13.19,12.05,11.59,11.26,11.28,11.77,12.68,13.58,14.25,14.76,14.85,14.66,14.15,13.4,12.83,12.76,12.88,13.52,13.79,11.02,5.71,3.05,3.39,4.21,5.36,6.17,6.72,7.37,7.48,7.38,7.73,4.29,0.59,7.23,4.56,5.22,6.86,6.48,9.31,10.45,9.78,9.79,10.16,8.83,3.81,-1.53,-3.89,-3.11,-3.49,-3.76,-0.15,4.32,7.12,8.87,10.69,12.65,14.34,15.15,15.81,15.8,15.05,14.58,14.15,13.81,12.99,11.62,9.79,9.96,10.39,10.12,9.83,10.21,9.16,7.99,8.23,7.96,8.36,10.05,9,9.63,6.26,1.26,-6.35,-11.42,-12.68,-9.78,-7.1,-9.82,-19.5,-23.31,-22.37,-22.73,-22.19,-20.41,-18.04,-16.06,-14.83,-14.57,-14.39,-14.33,-14.01,-12.73,-12.69,-11.42,-10.07,-8.78,-2.91,-1.38,0.17,1.58,3.02,4.47,6.54,8.64,10.49,11.91,12.73,13.01,13.09,13.03,13.01,12.93,12.72,12.6,12.14,11.53,10.48,9.07,7.12,4.66,2.5,-0.01,-3.02,-4.38,-3.6,-5.74,-8.84,-8,-9.22,-10.85,-10.28,-8.88,-6.55,-3.39,-0.34,1.99,3.94,5.66,7.01,8.25,8.89,8.96,8.72,9.97,11.4,11.81,11.81,11.73,11.64,11.11,9.78,8.61,7.08,6.19,4.53,3.36,2.91,3.37,4.09,5.03,6.64,7.56,8.09,9.08,9.64,9.71,9.6,8.84,8.39,8.17,8.3,9.59,9.8,9.14,9.29,8.79,8.62,8.18,8.37,8.08,7.62,7.53,7.87,8.93,10.7,12.54,13.65,12.81,12.2,11.76,11.96,2.52,-5.98,-2.33,0.7,3.79,3.4,-0.14,-1.98,-2.84,-2.92,-2.56,-1.62,-0.61,0.24,0.41,-0.01,-0.44,0.01,0.68,1.21,2.11,3.18,4.63,7.29,8.41,8.25,7.09,6.36,6.01,6.24,6.8,5.96,5.27,5.66,6.33,7.22,6.77,5.85,5.9,6.92,7.87,8.07,7.54,6.83,6.32,6.28,7.2,7.8,8.04,8.08,7.5,7.07,7.69,8.41,9.31,9.34,9.65,11.11,13.23,14.21,14.29,13.99,13.59,13.05,12.89,13.34,13.4,12.75,9.61,9.94,11.42,11.84,12.09,12.96,14.01,14.91,15.34,15.44,16.01,15.67,14.26,13.43,11.37,8.25,6.39,5.88,5.73,6.22,7.44,7.64,7.42,7.37,6.29,5.7,2.83,0.72,0.6,0.55,0.55,0.47,0.93,1.93,2.55,3.48,3.91,4.09,4.67,5.17,6.11,7.45,7.99,8.03,8.48,9.09,9.24,9.14,9.31,8.92,8.88,10.07,11.11,11.62,11.8,11.53,11.31,11.41,11.72,12.07,12.27,12.59,12.89,13.3,13.66,14.33,15.02,15.63,16.09,15.79,14.8,13.84,13.17,12.59,12.17,11.62,11.02,10.55,9.97,9.28,9.09,9.29,9.84,10.37,10.63,10.49,10.17,9.99,10.06,10.5,11.31,12.36,12.47,12.4,12.82,13.46,14.2,15.2,16,16.36,16.17,15.45,14.61,13.88,13.27,12.99,12.97,12.8,13.14,13.36,8.45,2.99,2,2.99,4.16,5.44,6.32,7.28,8.07,8.21,8.69,9.26,9.87,7.12,7.93,6.81,6.2,8.52,11.73,10.38,8.82,9.12,9.93,7.71,0.56,-8,-8.39,-4.88,-1.74,1.23,3.27,4.6,6.31,8.34,10.04,11.21,12.28,13.45,14.38,15.14,15.97,15.75,14.8,13.9,13.38,12.1,9.63,7.63,7.32,7.3,7.12,5.79,4.35,5.59,6.59,6.97,7.57,8.64,9.07,6.46,5.33,-3.48,-5.65,-10.56,-13.38,-16.04,-16.58,-16.98,-17.11,-18.97,-22.19,-22.06,-22.47,-22.02,-21.4,-20,-18.59,-17.32,-16.53,-15.41,-14.04,-12.5,-10.67,-8.72,-7.23,-5.77,-4.41,1.8,2.91,3.85,4.95,6.36,7.59,8.71,9.84,10.95,11.81,12.35,12.61,12.86,12.98,13.09,13.36,13.34,13,12.2,11.47,10.7,9.26,7.42,5.49,3.17,0.74,-1.24,-3,-4.22,-4.58,-5.2,-4.82,-5.11,-4.59,-3.93,-2.27,0.06,2.34,4.51,6.12,6.71,7.64,8.37,9.01,9.06,8.77,9.27,10.27,11.65,12.16,11.94,11.45,11.44,10.69,9.38,8.03,6.49,5.41,4.17,3.41,2.93,3.29,3.95,5.71,6.95,7.69,8.69,9.46,9.7,9.65,8.81,7.83,7.74,8.23,9.46,9.95,8.83,8.03,7.89,7.43,7.3,7.42,7.78,7.67,7.34,6.73,7.81,10.76,13.36,14.11,13.5,12.92,12.61,8.34,-4.24,-8.03,-4.63,-2.88,-1.82,-1.48,-1.61,-3.8,-4.1,-3.7,-2.37,-1.12,0.57,1.77,2.35,2.8,3.47,3.84,3.8,4.02,4.32,5.19,6.2,5.96,6.26,7.81,8.78,8.5,7.42,7.14,7.67,8.14,7.55,6.31,5.47,6.59,8.17,7.86,6.79,7.07,8.21,8.68,8.71,8.91,8.5,8.16,8.17,8.05,8.31,8.39,8.02,7.74,7.79,8.18,8.86,9.58,9.74,10.51,12.21,13.27,12.7,11.76,11.58,11.74,11.81,11.89,11.81,11.97,9.64,6.51,8.71,10.03,10.85,11.56,12.69,13.44,14.04,13.44,13.62,13,11.88,9.39,5.43,2.58,1.61,2.45,3.75,4.89,6.38,7.64,7.8,7.29,7.74,7.31,6.6,3.84,1.36,0.66,-0.03,-0.34,0,0.72,1.55,2.01,2.54,3.46,4.52,5.06,5.34,6.01,6.36,6.75,7.18,8.15,8.3,7.62,7.49,8.39,8.8,9.15,10.67,12.09,12.67,12.87,12.46,12.42,12.78,13.14,13.47,13.87,14.32,14.62,14.76,14.74,14.31,14.26,14.54,15.1,15.54,15.7,15.33,14.52,13.7,12.99,12.51,12.08,11.55,11.06,10.48,10.4,10.64,10.97,11.28,11.54,11.62,11.68,11.91,12.21,12.44,12.58,12.53,13.08,14.27,14.84,15.79,16.71,17.31,17.5,17.48,16.88,16.1,15.07,14,13.14,12.68,12.84,12.93,13.39,11.69,4.44,0.75,1.48,2.9,4.72,5.87,6.85,8.06,8.48,8.95,9.73,10.78,11.61,9.89,5.31,6.25,6.02,6.6,6.42,8.46,7.56,1.5,-5.97,-9.4,-7.45,-3.71,-1.93,-0.75,0.7,3.08,4.73,5.59,6.34,7.62,9.32,11.07,12.57,14.02,14.5,14.15,13.74,13.32,12.79,11.56,10.02,8.73,6.96,2.86,2.47,2.43,1.26,2.38,4.34,6.23,7.8,8.69,9.29,9.7,5.65,2.93,0.05,-6.94,-8.25,-10.97,-12.37,-13.84,-14.73,-15.26,-16.5,-17.39,-18.11,-18.48,-18.76,-18.46,-17.79,-16.86,-15.98,-15.24,-14.33,-13.18,-11.46,-9.61,-7.77,-5.91,-3.98,-1.9,0.24,0.29,2.12,3.74,5.22,6.54,7.79,9.02,10.11,11.01,11.81,12.31,12.77,13.14,13.51,14.07,14.39,14.28,13.65,12.64,11.67,10.87,10.04,8.46,7.03,6.39,5.16,3.65,2.13,0.94,0.18,-0.24,-0.33,0.12,1.04,2.06,3.42,4.8,5.99,7.12,7.87,8.44,8.83,8.98,8.83,8.73,8.84,9.64,10.67,11.72,12.23,11.88,11.88,11.98,11.05,9.15,7.34,5.53,3.87,3.04,2.88,2.63,2.94,4.55,5.85,6.71,7.63,8.62,9.4,9.34,7.87,5.37,5.17,6.78,8.63,9.34,9.09,8.25,7.64,7.61,6.87,6.48,7.42,8.17,7.38,6.52,7.25,9.29,11.3,11.99,6.25,-1.95,-6.66,-9.63,-10.99,-9.86,-8.97,-8.63,-8.39,-8.16,-8.28,-8,-7.66,-7.21,-4.96,-2.09,0.3,2.35,3.82,4.95,5.66,6.03,6.25,6.51,6.85,7.65,8.34,8.67,8.86,8.28,8.5,9.63,10.43,9.33,7.8,7.86,8.56,8.31,6.93,6.17,7.5,9.09,8.92,8.17,8.36,8.9,9.21,9.48,9.58,9.71,10.1,10.03,9.54,8.72,8.61,8.67,8.66,8.65,9.4,9.98,10.19,10.33,10.43,10.72,10.24,10.06,10.6,10.87,10.94,10.83,9.98,9.08,6.25,4.05,6.21,7.35,8.99,9.81,11.04,11.84,12.07,11,10.88,10.12,8.24,3.18,-2.35,-2.43,-2.16,-0.63,1.3,3.24,5.05,6.73,8.19,8.84,9.04,9.11,8.44,6.63,3.54,1.98,0.82,-0.59,-0.79,0.03,0.26,0.39,0.94,2.01,3.59,5.13,5.25,5.24,5.99,6.77,6.93,6.8,7.75,8.2,8.36,8.79,9.39,10.07,10.72,11.58,12.59,13.18,13.62,14.34,15.03,15.42,15.53,15.48,15.31,15.26,15.34,15.21,15.01,14.89,14.69,14.4,14.38,14.73,15.34,15.9,15.87,15.08,14.41,14.05,13.59,12.99,12.43,11.92,11.75,11.88,11.94,12.08,12.04,12.14,12.56,13.03,13.49,13.95,14.36,14.73,15.31,16.44,17.31,18.05,18.56,18.78,18.6,18.34,17.73,17.03,16.2,14.81,13.57,13.04,12.79,12.78,13.34,6.66,0.05,-0.03,1.46,3.53,4.9,6,7.33,8.07,8.6,9.51,10.67,11.5,11.29,10.06,3.91,2.61,5.43,5.82,5.2,6.92,1.92,-5.52,-5.52,-5.85,-5,-2.92,-0.77,1.12,2.1,2.13,2.66,4.25,5.99,7.16,7.81,8.87,9.22,7.52,7.22,8.62,8.69,7.3,5.33,3,0.63,-3.55,-5.78,-3.87,-2.85,-2.94,-1.79,1.53,5.95,7.94,8.06,7.25,5.23,2.33,-1.88,-3.83,-6.46,-10.08,-10.81,-12.55,-13.41,-13.78,-13.94,-13.73,-13.36,-13.12,-12.99,-13.59,-14.31,-14.45,-14.41,-14.31,-14.07,-13.39,-12.3,-10.86,-9.11,-7.3,-5.84,-4.75,-3.79,-2.7,-1.38,2.32,3.39,4.38,5.64,6.93,8.16,9.29,10.32,11.18,11.88,12.34,12.93,13.65,14.53,15.18,15.4,15.24,14.84,14.13,13.08,12.02,11.21,10.27,8.91,7.87,7.04,6.02,4.89,3.87,3.23,3.05,3.01,3.37,4.34,5.26,6.06,6.91,7.88,8.51,8.64,8.48,8.07,8.19,8.3,8.9,9.96,10.79,11.24,12.11,12.42,12.06,11.36,11.93,10.59,7.94,5.71,4.29,2.32,1.61,2.03,2.31,3.21,4.51,5.34,6.12,6.99,7.55,6.66,3.94,1.53,2.65,5.36,7.2,8.36,8.38,7.82,7.58,7.57,6.78,5.97,6.2,7.05,5.7,3.97,4.84,7.08,7.17,3.35,-7.24,-14.78,-13.96,-13.27,-11.81,-10.85,-10.36,-9.98,-9.34,-9.28,-9,-8.87,-8.49,-7.29,-5.12,-2.58,0.42,3.19,5.11,6.64,7.95,8.96,9.45,9.29,8.8,9.91,10.54,10.98,10.71,10.61,10.74,10.54,10.63,10.57,10.02,9.12,8.61,8.25,8.37,8.33,8.1,8.04,8.78,9.52,9.3,9.05,9.11,9.49,9.99,10.09,10.19,10.53,10.81,10.58,10.22,9.99,9.62,9.24,9.12,9.57,10.13,10.05,9.72,9.19,9.6,9.53,9.22,9.66,9.97,9.95,9.61,8.32,6.8,5.02,4.6,4.95,6.84,8.18,9,10,9.92,9.09,8.45,8.78,6.5,1.94,-4.33,-4.22,-3.93,-2.97,-1.26,0.99,3.4,5.74,7.68,9.1,9.81,9.43,8.67,7.47,5.43,2.57,1.54,0.38,-0.79,-0.2,0.32,0.46,1.03,2.36,3.69,4.83,6.24,6.95,6.86,7.49,7.88,7.01,6.49,7.12,7.27,8.01,9.05,10,11.02,12.09,13.08,14.15,14.73,15.29,15.83,16.28,16.53,16.32,15.83,15.44,15.4,15.36,15.19,15.06,14.98,15.02,15.16,15.3,15.37,15.28,15.04,15.7,16.52,16.12,15.4,15.25,14.75,14.02,13.43,13.15,13.12,13.13,12.97,12.87,12.92,13.37,13.99,14.59,15.21,15.66,16.41,17.07,18.19,18.98,19.61,20.19,20.5,20.34,19.76,19.11,18.57,17.45,15.67,14.33,13.62,12.87,13.4,8.1,-0.24,-1.55,-0.1,1.86,3.25,4.72,6.11,7.1,7.97,9.16,10.29,10.62,10.47,10.25,9.67,6.83,3.49,4.35,4.91,0.67,-1.15,-5.05,-7.22,-7.09,-5.36,-3.53,-1.83,-0.78,-0.7,-0.92,-0.03,1.23,2.1,2.54,3.6,4.74,3.48,0.11,-1.17,-0.98,-2.69,-5.38,-6.95,-7.75,-9.83,-11.89,-10.18,-8.04,-7.17,-5.48,-2.82,-0.3,0.76,-0.63,-2.2,-3.64,-7.07,-8.23,-8.82,-9.53,-9.57,-9.31,-10.66,-12.32,-14.13,-14.94,-15.21,-15.19,-14.88,-14.21,-13.34,-12.49,-12.16,-12.63,-12.68,-13.06,-13.11,-12.49,-11.52,-10.34,-9.48,-8.92,-8.01,-6.39,-4.26,-2.17,-0.44,0.98,3.26,4.36,5.24,6.11,7.11,8.21,9.3,10.15,10.78,11.39,12.28,13.24,14.03,14.8,15.43,15.7,15.65,15.38,14.91,14,12.67,11.62,10.93,9.93,8.67,7.95,7.21,6.38,5.72,5.44,5.44,5.65,6.06,6.7,7.46,8.12,8.47,8.62,8.34,7.88,7.69,8.3,9.1,9.82,10.61,11.31,11.77,12.13,12.88,13.16,12.99,12.49,11.86,9.59,6.28,4.16,2.29,0.87,0.7,0.88,1.77,2.85,3.54,4.55,5.5,5.35,3.27,-0.17,-1.65,0.68,3.98,6.07,7.27,7.39,7.48,7.8,7.77,6.92,6.06,5.34,5.68,5.04,2.74,2.72,3.98,4.36,1.33,-4.92,-10.49,-10.62,-10.87,-10.53,-9.89,-9.04,-8.43,-8.35,-7.81,-7.25,-6.44,-5.39,-4.01,-2.28,-0.34,1.66,3.73,5.88,7.67,8.95,10.05,10.94,11.4,11.76,11.98,12.06,12.21,12.39,11.83,11.51,11.62,12.08,11.96,11.25,10.45,9.67,9.01,8.61,8.47,8.66,8.59,8.5,8.33,8.82,9.36,9.73,9.74,9.88,10.29,10.83,11.11,11.21,11.31,11.52,11.41,10.85,10.41,10.42,9.99,9.29,9,8.87,9.04,8.96,9.22,9.59,9.58,9.3,9.27,9.34,8.87,7.76,4.87,2.99,3.23,4.55,6.13,7.28,8.15,8.44,8.12,7.88,7.38,6.08,1.88,-2.59,-3.97,-2.83,-1.39,0.23,2.27,4.71,6.56,8.19,9.4,9.65,8.9,7.16,5.17,3.38,1.65,0.75,-0.02,-1.02,-0.55,0.48,1.43,2.4,3.5,4.92,5.82,6.4,7.31,7.89,7.79,7.73,7.89,7.98,9.05,9.59,8.61,8.24,10.3,11.76,12.36,13.39,14.85,15.74,16.64,17.4,17.85,17.99,17.72,17.52,17.16,16.34,15.75,15.57,15.42,14.9,14.37,14.2,14.36,14.72,15.1,15.35,15.52,15.54,15.23,15.84,16.6,16.63,16.09,15.79,15.39,14.85,14.6,14.52,14.31,14.07,13.99,14.27,14.8,15.24,15.82,16.39,17.43,18.5,19.97,21.26,22.17,22.8,22.88,22.51,21.84,20.8,19.19,17,15.52,14.01,12.81,12.77,7.32,-1.46,-3.15,-1.88,-0.19,1.2,2.94,4.52,5.78,7.09,8.43,9.41,9.92,9.09,7.5,6.17,6,6.71,7.74,9.09,5.62,-0.3,-2.27,-5.17,-6.63,-6.83,-4.91,-3.37,-2.71,-2.96,-2.98,-2.61,-1.99,-1.44,-1.04,-0.6,0.43,-2.08,-5.24,-6.28,-7.67,-9.58,-11.63,-13.29,-14.3,-14.41,-13.43,-12.2,-11.13,-9.56,-8.18,-8.28,-8.28,-6.96,-5.36,-8.84,-10.79,-12.95,-14.79,-14.62,-14.26,-12.55,-11.72,-11.82,-12.58,-14,-14.48,-14.8,-15.45,-16.04,-16.75,-17.21,-17.42,-17.34,-16.87,-16.76,-15.88,-14.38,-13.11,-11.97,-11.19,-10.21,-8.69,-6.94,-5.33,-3.83,-2.33,-0.83,0.59,1.98,4.21,5.02,5.79,6.47,7.21,8.08,9,9.76,10.52,11.5,12.46,13.15,13.81,14.59,15.03,15.23,15.34,15.11,14.54,13.6,12.31,11.09,10.28,9.83,9.16,8.72,8.16,7.44,6.9,6.55,6.48,6.82,7.22,7.68,8.16,8.33,8.51,8.65,8.51,8.56,8.93,9.48,10.13,10.76,11.37,12.05,12.64,12.89,13.08,12.75,12.12,11.59,10.61,7.69,4.42,2.33,0.63,0.29,0.16,0.4,1.07,1.66,2.63,2.73,1.53,-1.59,-4.09,-3.11,0.04,3.01,5,6.22,6.9,7.32,7.55,7.86,7.54,6.66,5.53,5,5.21,3.46,2.09,2.54,2.43,1.16,-3.63,-8.69,-8.72,-8.32,-8.31,-7.83,-6.99,-6.32,-6.27,-6.31,-5.72,-4.4,-3.83,-2.39,-0.37,1.88,3.88,5.93,7.46,8.67,9.87,10.58,11.17,11.66,12.28,12.71,13.12,12.95,12.47,12.3,11.69,11.15,11.48,12.29,12.46,12.37,11.59,10.47,9.67,9.33,8.71,9.01,9.09,8.37,8.61,9.04,9.53,9.66,9.58,9.58,10.07,10.54,11.13,11.64,11.81,11.82,11.52,11.39,11.15,10.93,9.96,8.39,7.62,8.16,8.27,7.47,7.88,8.42,8.58,8.92,9.34,9.45,9.51,4.62,-1.16,0.81,2.48,4.19,5.63,6.64,6.96,7.32,7.58,5.92,2.19,-0.32,-0.44,1.49,1.4,1.67,2.9,4.47,5.5,7.05,10.45,10.11,6.89,3.56,0.94,-0.95,-1.97,-2.55,-2.65,-2.24,-2.16,-1.4,0.29,1.85,2.97,3.77,4.77,5.93,6.57,7.14,7.74,8,8.22,8.73,9.68,10.6,11.32,10.77,8.82,9.11,10.78,12.04,12.82,14.21,15.85,16.49,17.58,18.57,19.09,19,18.57,18.13,17.65,17.21,16.52,15.76,15.21,14.62,14.43,14.42,14.52,14.74,14.99,15.25,15.5,15.54,15.5,14.91,14.31,15.23,16.02,16.32,16.01,15.64,15.61,15.56,15.46,15.1,14.94,15.17,15.58,16,16.62,17.38,19.08,20.47,22.01,23.48,24.41,25.06,25,24.35,22.8,20.73,18.3,15.42,13.18,11.73,11.02,4.82,-3.93,-5.03,-3.83,-2.29,-0.53,1.32,3.15,4.58,6.31,7.6,8.41,8.08,5.86,3.11,2.49,0.38,-4.65,-7.69,-9.41,-12.56,-15.09,-15.34,-13.72,-11.51,-9.13,-7.03,-5.43,-4.68,-4.89,-4.91,-4.46,-4.15,-3.82,-3.25,-3.31,-3.75,-4.82,-8.01,-9,-9.99,-11.4,-12.06,-12.08,-12.41,-12.89,-12.8,-12.25,-11.38,-10.86,-10.82,-10.41,-9.83,-9.52,-9.58,-9.62,-10.71,-12.76,-14.2,-14.54,-14.3,-13.75,-14.11,-14.39,-14.22,-14.57,-14.82,-15.13,-15.5,-15.79,-16.1,-16.44,-16.64,-16.63,-16.4,-15.74,-14.89,-13.82,-12.63,-11.22,-9.89,-8.56,-7.3,-6.17,-4.97,-3.64,-2.16,-0.74,0.68,2.03,3.19,5.16,5.64,6.06,6.35,6.97,7.78,8.67,9.82,10.77,11.85,12.36,12.94,13.59,14.01,14.17,14.16,14.07,13.85,13.59,12.75,10.89,9.49,8.87,8.67,8.71,8.72,8.35,7.88,7.49,7.16,7.12,7.16,7.27,7.49,7.64,7.93,8.26,8.47,8.86,9.37,10.13,10.58,10.97,11.62,12.02,12.52,12.62,12.52,12.25,11.78,11.42,10.16,8.28,4.9,2.31,0.59,-0.42,-0.28,-0.48,-0.86,-0.33,0.03,-1.09,-3.88,-5.91,-5.41,-3.17,-0.79,1.54,3.69,5.23,6.17,6.71,7.09,7.32,7.75,6.93,6.18,5.21,5.02,4.92,3.08,2.9,3.47,2.66,0.89,-4.07,-5.99,-5.16,-5.09,-5.02,-4.65,-4.04,-3.98,-3.95,-3.46,-2.66,-1.27,0.58,2.31,3.89,5.67,7.15,8.77,9.95,10.99,11.69,12.12,12.52,12.66,12.83,12.72,12.83,12.39,11.96,11.45,10.92,11.22,11.76,12.67,13.45,13.37,13.06,12.13,11.14,10.36,9.85,9.39,9.14,9.12,8.79,8.99,9.83,10.23,10.19,10.24,10.44,10.86,11.41,11.8,11.84,11.88,11.81,11.35,10.87,10.34,8.73,7.57,6.74,6.08,6.65,6.81,7.12,7.23,7.89,8.02,8.29,6.43,0.26,-3.85,-1.36,0.89,2.45,3.91,4.95,6.07,5.86,6.25,5.22,-1.81,-6.12,-5.25,-5.48,-4.03,0.75,4.18,5.37,5.2,5.61,2.68,-5.64,-8.93,-8.92,-9.48,-9.15,-8.43,-7.34,-6.51,-5.42,-4.12,-2.7,-0.92,0.66,2.25,3.42,4.29,4.95,5.74,6.76,7.76,8.61,9.27,10.3,10.96,10.75,8.08,5.14,4.67,6.48,9.17,11.02,12.76,14.01,14.79,15.56,16.44,17.27,17.82,18.29,18.77,19.03,18.79,18.22,17.64,17.08,16.28,15.81,15.23,14.92,14.6,14.58,14.39,14.35,14.54,14.74,14.67,14.56,13.63,12.55,13.39,14.29,14.35,14.67,15.05,15.29,15.19,15.19,14.93,15.08,15.5,16.11,16.55,17.03,18.2,19.71,21.61,23.17,24.71,25.69,26.37,25.78,23.74,20.79,17.42,13.54,9.84,8.17,5.72,-1.25,-7.52,-7.78,-6.11,-4.26,-2.17,-0.23,1.44,3.16,4.96,6.1,6.57,5.09,1.84,1.01,0.97,-3.79,-8.3,-8.89,-9.91,-11.15,-12.08,-12.95,-12.94,-11.75,-10.2,-8.75,-7.67,-7,-6.68,-6.35,-5.97,-5.67,-5.73,-4.72,-4.61,-4.58,-4.66,-6.19,-7.81,-8.27,-8.92,-9.68,-10.33,-11.18,-11.47,-11.59,-11.51,-11.33,-10.99,-10.65,-10.43,-10.48,-10.41,-10.4,-10.58,-11.35,-12.54,-13.46,-14.12,-14.59,-15.06,-15.23,-15.41,-15.67,-15.82,-15.74,-15.43,-15.04,-14.95,-15.04,-15.21,-15.31,-15.1,-14.76,-14.16,-13.17,-12.26,-10.9,-9.67,-8.24,-7.23,-6.09,-4.99,-4.04,-2.93,-1.7,-0.15,1.24,2.54,3.6,4.43,5.42,5.54,5.62,5.84,6.44,7.43,8.56,9.76,10.63,10.79,11.01,11.86,12.47,12.71,12.85,12.89,12.61,11.86,10.84,9.67,7.74,6.46,6.68,6.97,7.38,7.5,7.39,7.28,7.28,7.37,7.48,7.47,7.51,7.7,7.96,8.24,8.64,9.08,9.67,10.17,10.68,11.17,11.83,12.56,12.95,12.83,12.29,11.88,11.88,11.33,10.36,7.93,4.73,1.79,-0.07,-1.14,-1.7,-1.95,-2.51,-2.64,-3.75,-6.09,-7.98,-8.21,-6.77,-4.67,-2.27,-0.45,1.98,3.3,4.15,5.18,5.76,6.34,6.81,6.36,5.51,5.16,4.87,4.78,4.77,4.34,4.03,4.02,4.09,2.28,-0.66,-1.53,-1.96,-1.81,-1.96,-1.7,-1,-0.75,-0.54,0.24,1.57,2.83,3.94,5.37,6.81,8.31,9.68,11.05,11.97,12.69,13.26,13.74,14.11,14.16,14.04,13.48,12.63,11.24,10.72,10.77,10.99,11.77,12.37,13.24,14.27,14.23,13.77,12.83,11.93,11.2,10.74,10.18,9.47,9.45,9.52,9.91,10.52,10.99,11.09,10.91,11.2,11.53,11.58,11.94,12.61,12.69,12.18,11.26,9.89,8.44,7.95,6.41,4.04,3.71,4.39,5.91,6.26,6.64,7.32,6.67,4.4,0.02,-2.14,-1.88,-0.95,0.96,2.51,3.79,4.64,5.29,5.44,5.27,3.17,-3.63,-6.88,-7.35,-8.15,-9.36,-10.47,-9.24,-7.46,-6.15,-6.66,-7.42,-7.09,-7.25,-7.58,-7.51,-6.91,-6.22,-4.98,-4.01,-3.03,-1.95,-1.02,0.09,1.13,2.34,3.61,4.85,6,6.57,6.84,7.23,7.13,5.61,3.54,1.9,1.94,3.57,5.56,7.52,9.22,10.77,11.64,12.18,12.88,13.52,14.26,15.3,16.18,17.16,18.26,18.95,19.47,19.52,18.91,18.17,17.48,16.8,16.41,15.88,15.32,14.78,14.26,13.82,13.83,14.04,14.06,14.09,14,13.44,12.37,10.95,11.02,12.75,12.91,12.1,12.03,12.04,12.1,12.35,13.24,14.27,15.21,15.86,16.77,18.43,20.08,21.91,23.46,24.77,24.1,20.98,16.31,10.84,5.48,2.09,0.85,-0.33,-3.8,-9.61,-12.15,-10.63,-8.44,-6.17,-4.17,-2.47,-0.52,1.39,2.76,3.41,2.85,0.74,-0.35,0.81,-1.44,-6.82,-8.83,-8.94,-9.46,-9.87,-11,-12.44,-12.73,-11.92,-11.01,-10.29,-9.42,-8.5,-7.91,-7.67,-7.11,-6.7,-6.48,-6.8,-6.8,-7.07,-6.78,-6.97,-8.33,-8.97,-9.33,-10,-10.7,-10.9,-10.87,-10.77,-10.65,-9.81,-9.68,-9.74,-10.02,-10.51,-11.15,-12,-12.68,-13.47,-14.31,-14.91,-15.54,-16.04,-16.33,-16.41,-16.22,-15.66,-14.63,-12.86,-12.98,-13.79,-13.75,-13.75,-13.78,-13.51,-13.24,-12.72,-11.94,-10.97,-9.71,-8.52,-7.53,-6.5,-5.47,-4.52,-3.53,-2.54,-1.45,-0.22,0.95,2.17,2.99,3.76,4.46,5.05,4.42,4.42,4.5,5.13,5.92,6.95,8.26,8.8,8.09,8.06,9.1,9.81,10.21,10.98,11.43,11.28,10.45,8.72,6.52,4.66,2.97,2.39,3.48,4.4,5.13,5.68,6.07,6.52,6.89,7.12,7.27,7.45,7.85,8.29,8.73,9.19,9.63,10.26,10.82,11.18,11.66,12.27,12.51,12.46,12.23,12,11.89,11.81,11.26,9.42,6.76,3.5,0.73,-1.18,-2.63,-3.76,-4.26,-4.52,-6.15,-8.52,-10.28,-10.73,-9.95,-8.32,-6.27,-4.24,-2.48,-1.1,0.49,2.22,3.64,4.52,5.01,5.5,5.23,4.5,4.48,4.4,4.35,4.37,4.65,4.67,3.88,3.16,2.1,0.18,-0.67,-0.34,0.49,1.05,1.21,1.29,1.47,1.53,1.72,2.19,3.18,4.56,5.93,7.38,9.1,10.78,11.92,12.43,12.54,12.8,13.19,13.6,13.96,14.12,14.11,13.91,13.67,13.26,12.9,13.01,13.32,13.78,13.75,13.91,14.7,14.88,14.09,13.03,11.97,11.04,10.66,10.45,10.31,10.19,9.99,10.29,10.85,11.1,11.27,11.53,12.05,12.36,12.42,12.35,12.26,11.93,10.76,8.92,7.95,7.04,3.75,0.67,0.95,3.12,4.77,5.96,6.46,6.52,6.59,5.26,1.81,-0.97,-0.73,0.21,1.07,2.34,3.56,4.46,4.78,5.25,5.37,4.72,4.35,-1.31,-7,-8.11,-9.76,-10.85,-11.49,-11.39,-10.82,-9.96,-8.64,-7.37,-6.76,-5.99,-5.18,-4.73,-4.21,-3.45,-2.27,-1.01,-0.07,0.83,1.55,1.95,2.59,3.14,3.49,3.78,4.47,5.14,4.13,2.2,0.9,1.1,2.34,3.7,5.21,6.46,7.36,8.18,8.89,9.47,10.13,11.03,11.88,12.66,13.48,14.36,15,15.65,16.25,16.7,17.1,17.31,17.7,18.11,18.04,17.49,16.73,16,15.32,14.77,14.33,14.07,13.89,13.85,13.71,13.64,13.54,13.2,12.57,11.68,10.15,8.97,9.27,10.61,10.75,10.28,10.45,10.88,11.43,12.12,13.44,14.97,16.5,18.26,19.9,21.74,21.48,12.7,1.03,-4.66,-7.88,-10.47,-11.23,-10.78,-11.58,-14.28,-16.3,-15.37,-12.68,-10.26,-8.44,-6.94,-5.33,-3.71,-2.02,-1.05,-0.82,-1.01,-2.03,-1.31,-1.67,-5.97,-9.36,-9.42,-9.4,-9.45,-9.22,-9.21,-10.39,-11.48,-11.15,-10.55,-10.38,-10.02,-9.43,-8.72,-7.92,-8.06,-8.14,-7.9,-7.57,-8.05,-8.93,-9.25,-9.13,-9.43,-10.69,-10.39,-10.16,-10.28,-10.2,-10.16,-10.21,-10.35,-10.48,-10.42,-10.41,-10.58,-10.83,-11.2,-11.49,-11.82,-12.08,-12.13,-12.15,-12.63,-12.6,-12.63,-12.35,-11.93,-11.62,-11.05,-10.43,-9.63,-10.55,-11.89,-12.34,-11.9,-11.41,-10.65,-9.74,-8.29,-6.82,-6.04,-4.93,-3.41,-3.11,-3.76,-3.82,-3.11,-2.24,-1.35,-0.53,0.43,1.2,1.8,2.42,3.25,3.95,4.31,3.31,3.26,3.58,4.32,5.13,6.54,6.76,5.12,4.7,5.97,6.57,6.71,7.68,8.46,8.28,6.83,4.55,2.7,1.03,-0.35,-0.45,0.44,1.36,2.26,3.33,4.39,5.24,5.96,6.43,6.9,7.53,8.14,8.53,8.91,9.28,9.78,10.19,10.93,12.02,12.77,13.07,12.92,12.72,12.8,12.64,12.14,11.64,10.28,7.15,3.56,0.63,-1.6,-3.47,-5.17,-6.24,-7.03,-8.51,-11.01,-12.88,-13.04,-12.51,-11.23,-9.49,-7.71,-5.98,-4.64,-3.45,-1.68,0.43,2.22,2.97,3.52,4.3,4.71,4.31,4.62,4.5,3.39,2.83,2.43,1.74,1.2,1.92,1.5,-1.44,-1.18,-0.14,0.45,1.54,1.93,1.04,0.79,0.7,0.52,0.87,2.36,4.3,5.85,7.3,8.87,9.83,9.9,9.82,10.51,11.63,12.71,13.46,14.15,14.83,15.34,15.77,16.09,16.28,16.32,16.1,16.11,16.13,16.05,16.08,15.91,15.77,15.12,14.06,12.8,11.41,10.46,10.09,10.01,10.2,10.62,11.06,10.97,10.63,10.65,10.92,11.15,11.25,11.22,11.17,10.8,9.56,7.97,6.45,3.97,0.38,-3.19,-4.46,-3.03,0.12,2.71,4.23,5.58,5.92,5.61,6.09,6.11,5.12,4.81,5.51,5.24,4.07,4.2,4.93,5.25,5.08,5.4,4.8,3.95,4.42,-1.37,-7.74,-8.5,-9.95,-10.97,-11.58,-11.86,-11.84,-11.38,-10.72,-9.52,-7.46,-5.88,-5.22,-4.97,-4.4,-3.45,-2.6,-2.08,-1.87,-1.12,0.05,1.14,2.25,2.9,3.46,2.7,0.77,-0.88,-1.04,0.22,2.02,3.65,4.8,5.75,6.27,6.49,6.96,7.51,8.23,9.01,9.57,10.17,10.9,11.63,12.35,12.91,13.14,13.34,13.72,14.08,14.4,14.47,14.56,14.63,14.65,14.81,14.95,14.76,14.33,13.98,13.71,13.74,13.87,13.97,13.92,13.76,13.56,13.05,12.56,11.87,10.71,9.5,8.67,7.95,7.09,7.2,7.94,8.32,9.32,11.02,12.8,14.67,16.16,17.24,17.93,15.09,2.44,-8.18,-9.13,-10.61,-13.14,-14.95,-16.8,-18.33,-18.77,-17.71,-15.71,-13.59,-11.85,-10.53,-9.46,-8.22,-6.76,-5.56,-4.94,-4.52,-3.28,-1.52,-0.77,-4.03,-8.7,-9.99,-9.85,-9.52,-9.12,-8.87,-8.51,-7.85,-7.68,-8.38,-8.56,-7.84,-7.25,-7.13,-7.75,-8.35,-7.96,-8.27,-9.09,-9.59,-9.64,-9.78,-9.63,-9.54,-9.69,-9.25,-10.3,-10.57,-9.82,-9.84,-9.6,-9.74,-9.51,-9.15,-9.38,-9.6,-9.66,-10.07,-10.67,-10.92,-10.21,-9.45,-9.65,-9.73,-9.71,-9.6,-9.27,-8.96,-8.42,-8.31,-8.27,-7.99,-7.55,-7.17,-7.7,-8.47,-8.66,-8.22,-7.2,-6.15,-5.63,-5.11,-4.34,-3.82,-3.22,-2.59,-2.17,-2.21,-2.55,-2.52,-1.94,-1.26,-0.56,0.08,0.51,1.05,1.73,2.39,2.89,3.17,2.31,2.6,3.21,3.58,4.94,5.09,3.07,2.06,3.15,3.59,3.1,3.42,3.53,2.32,-0.48,-2.91,-3.05,-2.7,-3.36,-3.25,-1.7,-0.19,1.06,2.14,3.04,3.85,4.4,4.83,5.31,5.94,6.69,7.22,7.68,8.46,9.67,11.09,12.17,12.67,12.86,13.21,13.63,13.62,13.24,12.34,11.33,10.29,7.39,2.79,-1.12,-3.49,-5.13,-6.54,-8.14,-10.08,-12.3,-14.09,-15.38,-16,-15.01,-13.72,-11.81,-9.34,-7.75,-6.99,-5.54,-3.95,-2.39,-0.74,0.79,1.98,2.89,3.74,4.52,4.91,5.04,4.97,4.12,2.12,1.31,0.65,0.11,0.51,0.26,-1.06,-2.08,-1.01,-0.26,0.42,0.3,-1.59,-2.71,-1.93,-1.36,-0.71,0.7,2.38,4.3,6.27,7.25,7.23,7.35,8.13,8.89,9.9,11.16,12.47,13.92,15.43,16.64,17.31,17.58,17.47,16.99,16.35,16.12,16.24,16.56,16.58,16.58,16.62,15.94,14.14,12.35,10.98,9.77,9.07,9,9.23,9.58,9.77,9.63,9.14,8.92,9.11,9.35,9.22,8.79,8.03,6.76,4.78,1.2,-3.1,-6.77,-8.44,-8.18,-7.12,-5.21,-3.39,-2.2,-0.36,1.33,0.97,1.46,3.16,3.87,4.25,4.94,5.52,4.94,3.53,3.62,5.07,5.78,5.51,5.09,4.8,3.52,1.35,-1.55,-5.58,-8.15,-9.03,-9.81,-10.01,-10.02,-10.16,-10.41,-10.7,-10.79,-10.84,-11.11,-11.31,-10.54,-8.66,-6.64,-5.21,-4.24,-3.58,-3.69,-4.19,-4.47,-4.6,-4.84,-4.75,-4.38,-3.48,-1.71,0.42,2.38,3.85,4.62,4.85,5.05,5.69,6.51,7.1,7.42,8.25,8.54,8.74,9.25,9.72,10.06,10.49,10.74,10.88,11.31,11.32,10.99,11.02,11.13,11.21,11.31,11.44,11.71,11.92,11.65,11.49,11.7,12.25,12.82,13.31,13.72,14.26,14.35,14.22,13.99,13.33,12.43,11.61,10.94,10.09,9.5,9.24,9.19,8.8,7.42,6.29,7.62,10.01,11.98,13.93,16.11,16.07,10.7,-0.15,-7.74,-10.02,-12.57,-14.72,-16.14,-17.62,-18.45,-17.95,-16.68,-14.99,-13.5,-12.58,-11.95,-11.06,-9.9,-8.84,-7.9,-6.86,-5.78,-4.09,-2.21,-3.05,-6.82,-9.43,-9.83,-9.61,-9.31,-8.9,-8.59,-8.11,-7.19,-6.26,-5.39,-4.73,-3.99,-3.39,-4.18,-5.06,-5.71,-7.51,-8.81,-9.08,-9.17,-9.79,-10.91,-11.95,-11.21,-9.71,-7.13,-4.49,-4.7,-6.79,-7.08,-7.02,-6.7,-6.53,-7.03,-8.12,-7.65,-7.36,-7.99,-8.69,-9.14,-9.65,-8.9,-9.25,-8.56,-8.09,-7.87,-7.41,-6.55,-6.34,-5.95,-5.47,-5.21,-5.23,-5.32,-5.25,-5.16,-5.25,-4.91,-4.56,-4.16,-3.74,-3.23,-2.71,-2.43,-2.26,-2.08,-1.89,-1.22,-0.78,-1.53,-1.89,-1.43,-0.92,-0.66,-0.21,0.26,0.75,1.19,1.83,2.28,2.29,2.01,2.31,2.6,3.5,3.98,2.33,0.49,0.32,1.03,1.03,0.58,0.11,-0.8,-2.13,-4.27,-5.96,-6.32,-6.97,-6.26,-4.63,-3.01,-2.21,-1,-0.13,-0.09,0.42,1.56,2.89,3.76,4.11,4.7,6.17,7.36,5.72,1.47,-1.75,-1.06,2.05,5.84,8.87,9.91,9.27,7.42,5.01,2.12,-1.42,-4.84,-7.2,-8.78,-10.43,-12.49,-14.33,-15.29,-16.26,-16.62,-16.09,-15.49,-14.5,-12.74,-11.09,-9.86,-8.49,-8.04,-6.54,-4.36,-2.7,-1.61,-0.59,0.78,2.15,3.24,3.83,3.49,3.03,3.51,3.58,1.56,-0.49,-0.71,-0.33,0.54,0.78,-0.77,-1.49,-1.48,-1.36,-2.01,-2.72,-3.4,-4.38,-4.96,-4.76,-4.03,-2.24,-0.18,1.85,3.04,2.49,2.22,2.9,3.68,4.47,5.55,7.59,8.37,9.29,10.66,12.13,14.34,16.25,16.49,15.01,13.43,13.1,13.54,14.13,14.76,15.58,16.22,15.45,13.22,10.9,9.23,8.24,7.63,6.98,6.43,6.18,6.05,5.65,5.28,5.93,6.81,5.77,2.74,-1.83,-6.92,-10.6,-12.81,-13.52,-12.96,-12.1,-11.15,-10.12,-8.53,-6.78,-5.83,-5.15,-3.52,-1.36,-0.22,0.79,1.96,2.62,3.2,4.15,4.79,3.98,2.99,3.22,4.22,4.86,5.11,5.28,4.59,3.7,2.26,0.52,-2.83,-6.11,-8.57,-9.58,-9.53,-8.95,-8.44,-7.86,-7.76,-7.85,-8.19,-8.69,-9.14,-9.26,-9.47,-9.72,-9.9,-9.82,-9.7,-9.2,-8.27,-7.16,-5.93,-4.57,-3.33,-2.09,-0.72,0.8,2.3,3.43,4.05,3.93,3.86,5.31,6.94,7.66,7.92,8.22,8.43,8.36,8.54,9.17,9.6,9.78,10.04,10.48,10.95,11.2,11.19,10.8,10.2,9.75,9.46,9.39,9.49,9.64,9.63,9.55,9.79,10.32,11.05,11.92,12.8,13.45,13.79,14.1,14.1,13.68,13.12,12.08,11.07,10.51,9.93,9.24,8.77,8.65,8.67,6.69,3.31,3.16,5.86,8.39,10.29,11.47,8.91,0.26,-5.72,-9.04,-11.81,-13.15,-14.27,-15.23,-15.94,-16.36,-16.08,-15.19,-14.19,-13.18,-12.5,-11.96,-11.47,-10.68,-9.75,-8.91,-8.17,-7.43,-6.95,-6.37,-7.25,-9.31,-9.83,-9.48,-9.21,-8.96,-8.88,-8.24,-7.16,-6.15,-5.35,-4.73,-3.99,-3.23,-2.91,-2.72,-1.85,-1.86,-2.72,-4.03,-6.3,-9.14,-11.28,-11.95,-11.19,-8.93,-7.59,-7.12,-7.16,-6.42,-4.76,-4.26,-5.29,-5.92,-6.3,-6.42,-6.42,-6.49,-6.49,-6.67,-6.49,-5.76,-5.67,-6.12,-6.17,-6.09,-5.83,-5.4,-4.8,-4.81,-4.77,-4.48,-4.21,-3.99,-3.77,-3.57,-3.34,-3.18,-2.85,-2.34,-1.85,-1.61,-1.49,-1.42,-1.18,-0.67,-0.4,-0.55,-0.68,-0.77,-0.75,-0.48,-0.26,-0.2,0.02,0.21,-0.16,-0.15,0.25,0.87,1.5,1.86,1.75,1.85,1.94,2.02,2.23,2.98,2.37,1,-0.8,-1.52,-1.01,-1.15,-1.57,-1.76,-2.16,-2.74,-3.71,-5.16,-5.67,-5.34,-4.82,-4.23,-3.71,-3.08,-2.43,-2.03,-1.62,-0.87,-0.69,-0.74,-0.02,0.74,-0.44,-4.63,-8.42,-10.02,-8.72,-7.29,-7.75,-8.75,-9.28,-10.24,-11.22,-11.38,-11.81,-12.84,-13.48,-14.15,-15.9,-17.6,-18.3,-19.02,-19.73,-19.69,-19.49,-18.99,-18.34,-17.01,-15.31,-13.69,-12.01,-10.45,-9.07,-7.71,-6.37,-4.95,-3.79,-2.99,-2.22,-0.79,0.17,0.98,1.66,0.94,0.58,0.23,-0.83,-2.85,-3.83,-2.74,-1.77,-1.24,-1.37,-3.22,-4.85,-5.51,-5.9,-6.19,-6.04,-5.74,-5.39,-5.03,-4.6,-3.77,-3.08,-2.3,-1.39,-1.12,-1.42,-1.47,-1.09,-0.54,0.09,0.84,1.38,1.16,0.81,1.15,1.24,-0.08,-2.51,-4.62,-4.62,-2.14,0.49,3.24,6.31,8.18,7.55,5.89,5.24,3.97,2.18,0.59,0,-0.57,-1.28,-1.49,-1.92,-2.78,-4.31,-6.82,-9.88,-12.62,-15.26,-17.23,-17.6,-16.85,-15.13,-12.98,-11.32,-10.41,-9.16,-7.97,-7.93,-7.56,-6.09,-4.72,-3.43,-1.84,-0.26,0.82,1.74,2.39,3.05,3.67,4.07,4.62,4.97,5.06,5.06,5.09,5.2,5.23,5.19,4.91,4.31,3.84,2.27,0.29,-1.25,-3.25,-4.82,-5.22,-4.66,-4.22,-4.29,-4.49,-4.65,-4.72,-4.87,-5.06,-5.21,-5.25,-5.35,-5.4,-5.29,-5.01,-4.7,-4.19,-3.54,-2.93,-2.57,-1.79,-0.65,0.12,0.42,0.93,1.7,2.25,2.04,2.29,2.96,4.58,5.45,6.09,6.28,6.31,6.58,7.02,7.51,8.09,8.79,9.05,9.3,10.17,11.7,12.25,11.99,11.63,11.13,10.67,10.44,10.3,10.22,10.33,10.4,10.47,10.81,11.21,11.59,12,12.59,13.3,13.84,13.87,13.18,12.09,11.02,9.67,8.47,8.08,7.88,7.45,6.9,6.34,4.05,-0.06,-0.92,1.27,4.09,5.78,4.38,1.72,-1.53,-6.8,-10.14,-11.83,-13.2,-14.04,-14.35,-14.52,-14.27,-13.77,-13.47,-13.17,-12.61,-11.97,-11.45,-10.98,-10.42,-9.87,-9.42,-8.95,-8.4,-7.8,-7.33,-7.21,-8.01,-9.01,-9.54,-9.54,-9.24,-8.89,-8.13,-6.68,-5.55,-4.81,-4.07,-3.3,-2.65,-2.04,-1.29,-0.52,-0.27,-1.2,-1.26,-0.12,1.28,0.77,-2.58,-3.88,-3.43,-5.83,-7.66,-6.27,-3.75,-1.8,-1.16,-1.95,-2.93,-3.71,-4.32,-4.19,-3.79,-3.82,-4.03,-4,-3.98,-3.91,-3.54,-3.38,-3.66,-4.13,-4.12,-3.5,-3.22,-3.13,-2.92,-2.69,-2.29,-1.78,-1.26,-0.66,-0.14,0.41,0.99,1.52,1.81,1.99,2.06,1.97,1.81,1.96,2.31,2.41,2.22,1.89,1.53,1.29,1.32,1.46,1.5,1.53,1.25,0.95,0.86,1.39,1.97,1.84,1.49,1.55,1.91,1.71,1.54,1.93,1.18,-0.11,-1.87,-2.71,-2.17,-2.06,-2.48,-3.24,-4.28,-5.21,-5.83,-6.09,-6.09,-5.88,-5.67,-5.54,-5.5,-5.33,-5.12,-4.92,-4.84,-4.97,-5.8,-7.4,-9.26,-10.5,-10.73,-10.26,-9.93,-9.44,-9.44,-9.8,-10.9,-11.76,-13.15,-15.55,-17.61,-19.14,-19.37,-20.16,-20.52,-21.21,-21.66,-21.86,-22,-21.89,-21.57,-20.69,-19.66,-18.7,-17.12,-15.14,-13.44,-12.01,-10.67,-9.52,-8.23,-7.18,-6.22,-5.39,-4.49,-3.85,-3.04,-2.61,-1.78,-0.38,0.25,-0.27,-0.6,-0.96,-1.54,-1.84,-2.03,-2.47,-2.9,-3.28,-4.3,-5.01,-5.03,-4.83,-4.54,-4.2,-3.9,-3.73,-3.56,-3.2,-2.82,-2.66,-2.09,-1.86,-1.36,-0.69,-0.46,-0.52,-0.22,0.16,-0.13,-0.84,-1.3,-1.69,-2.24,-3.5,-4.54,-5.55,-7.26,-9.23,-10.88,-12.17,-12.42,-11.24,-10.62,-10.66,-11.68,-12.98,-14.26,-15.59,-17.63,-18.28,-19.09,-18.9,-19.09,-18.85,-18.9,-18.45,-17.58,-16.78,-16.43,-15.67,-14.71,-13.73,-12.56,-11.3,-9.93,-9,-8.18,-6.82,-5.79,-5.24,-4.7,-4.11,-3.19,-2.02,-0.73,0.32,1.26,2.13,2.75,3.2,3.62,4.09,4.59,4.85,5.09,5.27,5.41,5.39,5.49,5.54,5.43,4.9,4.18,3.31,1.85,0.39,-0.45,-1.19,-1.6,-1.71,-1.87,-1.89,-1.83,-1.78,-1.67,-1.6,-1.22,-0.97,-1.31,-1.6,-1.63,-1.59,-1.66,-1.54,-1.45,-1.69,-1.65,-1.05,-0.32,0.47,1.2,1.86,2.47,2.55,1.88,1.81,2.24,2.99,3.66,4.06,4.58,5.19,5.59,5.96,6.29,6.79,7.47,8.29,8.97,9.61,10.22,10.84,11.29,11.73,11.97,12.78,12.8,12.54,12.23,11.76,11.41,11.24,11.07,10.78,10.22,9.82,10.1,10.92,12.01,13.03,13.15,11.85,9.97,8.37,7.21,6.16,5.54,5.45,5.39,5.52,5.24,2.23,-2.33,-4,-2.46,0,1.96,-0.23,-3.85,-4.71,-5.61,-7.8,-10.27,-12,-13.02,-13.6,-13.82,-13.65,-13.16,-12.78,-12.59,-12.16,-11.54,-10.99,-10.53,-10.16,-9.85,-9.51,-9.2,-8.76,-8.44,-8.13,-7.4,-6.66,-6.97,-7.74,-8.44,-8.53,-7.93,-6.97,-5.92,-5.03,-4.36,-3.48,-2.91,-3.03,-2.84,-2.21,-1.82,-2.76,-3.95,-3.72,-3.64,-5.07,-5.8,-4.59,-2.32,-1.05,-0.67,0.14,1.24,0.84,0.96,1.64,1.01,-0.09,-0.92,-1.42,-1.83,-2.15,-2.41,-2.24,-1.78,-1.42,-1.31,-1.36,-1.38,-1.44,-1.3,-0.87,-0.48,-0.31,-0.27,-0.28,-0.19,0.14,0.57,1.01,1.64,2.46,3.12,3.6,3.85,3.9,3.92,3.98,4,4.07,4.13,4.17,4.26,4.36,4.42,4.35,4.08,3.81,3.54,3.39,3.41,3.05,2.48,2.26,2.27,2.29,2.5,2.23,1.95,1.96,2.52,1.87,1.18,0.99,-0.03,-1.34,-2.6,-3.41,-3.35,-3.39,-3.88,-4.84,-6.12,-7.37,-8.44,-9.38,-10.14,-10.67,-10.82,-10.98,-11.3,-11.6,-11.78,-11.87,-11.83,-11.76,-11.73,-11.57,-11.25,-11,-10.9,-10.85,-10.84,-11.03,-11.58,-12.03,-12.82,-13.3,-13.94,-14.73,-15.73,-17.19,-18.38,-18.99,-19.49,-20.12,-20.44,-21.18,-21.47,-21.23,-21.22,-21.01,-20.17,-18.6,-16.61,-14.3,-12.09,-10.56,-9.4,-8.45,-7.74,-7.09,-6.49,-5.88,-5.31,-4.81,-4.12,-3.39,-2.77,-2.3,-1.92,-1.64,-1.55,-1.65,-1.75,-2.23,-2.94,-3.45,-3.77,-4.06,-4.23,-4.37,-4.22,-4.04,-3.92,-3.59,-3.94,-4.23,-3.84,-2.79,-2.36,-1.95,-1.4,-0.76,-0.49,-0.54,0.04,0.92,1.69,2.24,1.28,-1.27,-4.14,-5.73,-6.43,-6.23,-5.41,-5.81,-8.17,-12.33,-14.44,-15.14,-15.85,-13.9,-11.72,-11.35,-12.12,-13.45,-14.7,-15.63,-16.94,-17.99,-18.33,-18.64,-18.27,-17.66,-17.41,-16.74,-15.72,-14.95,-14.5,-13.67,-12.27,-10.8,-9.35,-7.85,-6.64,-5.56,-4.59,-3.82,-3.38,-3.18,-2.98,-2.35,-1.21,-0.08,0.76,1.4,2.12,2.84,3.46,3.92,4.25,4.49,4.62,4.63,4.67,4.7,4.85,4.93,4.98,4.78,4.29,3.64,2.96,2.31,1.91,1.81,1.63,1.43,1.19,1,0.88,0.78,0.66,0.55,0.53,0.52,0.5,0.49,0.3,0.2,0.22,0.25,0.35,0.52,0.53,0.87,1.35,1.78,2.22,2.71,2.84,1.9,0.54,0.86,1.97,2.9,3.53,3.94,4.23,4.62,5.06,5.4,5.7,6.13,6.73,7.48,8.23,9.03,9.77,10.31,10.86,11.31,11.51,11.56,11.57,12.05,12.97,12.34,10.73,9.78,10.59,10.7,10.08,9.92,9.44,9.27,9.47,9.86,9.12,6.36,3.92,3.56,4.01,3.95,3.59,3.27,3.14,3.43,4.28,3.08,-1.64,-5.75,-6.1,-4.84,-3.18,-1.11,-2.2,-5.47,-5.86,-5.99,-7.99,-9.6,-10.78,-11.86,-12.68,-13.28,-13.15,-12.37,-11.88,-11.83,-11.65,-11.3,-10.91,-10.26,-9.17,-9.38,-9.79,-9.64,-9.38,-9.11,-8.28,-6.77,-6.4,-6.21,-5.21,-5.24,-6.26,-6.25,-5.44,-4.81,-3.97,-3.34,-3.22,-2.64,-3.32,-3.62,-3.61,-4.06,-4.69,-5.09,-4.57,-3.96,-3.94,-3.45,-3.18,-4.05,-2.43,0.09,1.41,2.85,4,3.87,2.47,1.75,1.38,0.5,-0.14,-0.4,-0.63,-0.85,-1.05,-1.13,-1.17,-0.97,-0.86,-0.77,-0.51,-0.05,0.54,1.15,1.78,2.3,2.69,2.98,3.19,3.41,3.61,3.79,3.97,4.19,4.39,4.56,4.69,4.81,5.02,5.17,5.22,5.38,5.56,5.61,5.49,5.48,5.54,5.49,5.41,5.3,5.17,4.97,4.82,4.46,4.08,3.73,3.31,3.16,2.97,2.85,2.62,2.44,2.27,1.33,0.74,0.6,-0.58,-2.06,-3.17,-4.05,-4.31,-4.46,-4.94,-5.94,-7.07,-8.1,-9.02,-9.89,-10.57,-11.06,-11.33,-11.49,-11.69,-11.76,-11.68,-11.59,-11.52,-11.5,-11.55,-11.62,-11.68,-11.56,-11.42,-11.4,-11.59,-11.86,-12.14,-12.5,-13.02,-13.58,-14.19,-14.72,-15.36,-15.9,-16.35,-16.57,-16.97,-17.23,-17.37,-17.57,-18,-18.62,-19.67,-21.86,-22.68,-21.36,-18.68,-14.09,-9.07,-6.95,-6.58,-5.89,-5.36,-5.17,-5.26,-5.32,-5.11,-4.71,-4.42,-4.75,-5.31,-4.99,-3.63,-2.4,-2.17,-2.49,-2.91,-3.41,-3.96,-4.61,-4.87,-4.88,-5.44,-5.92,-5.02,-4.63,-4.53,-4.26,-4.06,-3.72,-3.16,-2.67,-2.11,-2.17,-2.06,-1.52,-1.71,-1.43,-0.02,-1.54,-2.94,-0.32,1.8,1.42,-0.71,-3.89,-7.9,-10.57,-9.61,-6.98,-4.3,-2.39,-1.75,-7.76,-17.4,-16.71,-11.38,-10.26,-11.89,-12.94,-13.87,-15.29,-16.85,-17.86,-18.01,-18.1,-17.97,-17.52,-15.44,-12.59,-11.34,-11.02,-11.94,-11.91,-11.35,-11.39,-8.46,-5.42,-5.01,-4.95,-4.9,-4.82,-4.36,-3.24,-1.48,0.13,0.89,1.28,1.76,2.43,3.03,3.48,3.95,4.4,4.87,5,4.67,4.25,4.08,4,3.95,3.77,3.38,2.67,1.96,1.45,1.14,1.14,1.46,1.68,1.86,2,2.06,2.01,1.97,2.02,2.12,2.25,2.32,2.28,2.14,2.07,1.98,1.94,2.03,2.13,2.18,2.36,2.76,2.92,2.75,2.88,3.44,3.49,2.41,1.8,2.28,2.83,3.11,3.39,3.7,3.96,4.22,4.42,4.87,5.23,5.74,6.44,7.28,8.12,8.78,9.26,9.71,10.16,10.5,10.6,10.35,10.05,9.89,9.65,9.45,9.25,8.81,8.36,7.72,7.59,7.49,6.69,6.62,6.95,7.75,9.18,10.13,9.8,9.45,8.91,5.72,2.44,0.64,0.55,1.25,1.01,-2.65,-6.92,-8.38,-7.98,-7.37,-6.67,-5.16,-4.44,-5.81,-6.89,-6.45,-6.64,-7.45,-8.72,-10.1,-10.81,-11.11,-11.25,-11.15,-10.82,-10.68,-10.77,-10.8,-9.7,-9.08,-8.83,-8.01,-9.11,-9.02,-7.64,-5.92,-6.16,-4.91,-4.12,-4.27,-4.14,-3.55,-3.71,-4.26,-4.38,-4.22,-4.01,-3.6,-3.22,-2.77,-2.69,-3.05,-3.09,-2.89,-2.86,-3.11,-3.94,-4.64,-3.82,-2.83,-4.04,-3.56,-0.85,-0.25,0.37,2.09,2.4,0.88,-0.06,0.21,0.73,0.7,0.38,0.15,0.02,-0.17,-0.25,-0.4,-0.45,-0.39,-0.33,-0.22,-0.08,0.13,0.29,0.57,0.87,1.18,1.59,2.18,2.77,3.29,3.76,4.11,4.37,4.59,4.76,4.94,5.02,5.12,5.25,5.42,5.49,5.43,5.51,5.46,5.58,5.87,5.8,5.72,5.57,5.37,5.2,4.93,4.61,4.52,4.45,4.11,3.42,3.1,3.09,2.88,2.72,2.64,2.61,1.02,0.33,-0.33,-0.85,-1.39,-2.05,-2.85,-3.67,-4.54,-5.28,-6.1,-7.11,-8.22,-9.23,-9.99,-10.58,-10.96,-11.21,-11.5,-11.77,-11.9,-11.93,-11.99,-12.04,-12.07,-12.11,-12.18,-12.22,-12.25,-12.32,-12.42,-12.51,-12.43,-12.28,-12.01,-11.72,-11.68,-11.83,-12.15,-12.73,-13.44,-14.05,-14.24,-13.83,-12.99,-12.34,-11.96,-10.74,-11.25,-11.99,-12.64,-13.65,-14.41,-14.57,-10.65,-2.09,1.63,-1.23,-3.28,-2.72,-2.66,-3.09,-2.95,-2.69,-2.4,-2.02,-2,-3.05,-5.62,-7.02,-6.1,-3.34,-1.41,-1.5,-3.19,-4.35,-4.31,-5,-6.81,-6.92,-7.33,-7.14,-5.81,-5.88,-6.71,-6.41,-6.77,-7.37,-6.63,-5.95,-6.99,-7.51,-7.7,-6.62,-7.11,-7.91,-8.38,-8.79,-5.76,-2.8,-7.73,-9.28,-8.53,-9.86,-9.52,-7.57,-7.11,-7.41,-9.1,-11.63,-12.84,-13.15,-13.91,-10.81,-3.96,-0.53,-3.13,-6.08,-6.31,-5.86,-6.51,-8.55,-12.04,-13.91,-14.68,-13.78,-12.36,-7.91,-5.47,-5.48,-9.03,-12.46,-10.36,-6.66,-4.41,-5.09,-4.67,-4.12,-3.61,-2.88,-2.02,-2.12,-2.13,-0.37,2.53,3.24,3.14,3.28,3.19,3.29,3.88,4.32,4.02,2.61,1.25,1.16,1.8,2.27,2.38,1.84,1.17,0.8,0.52,0.03,-0.43,-0.72,-0.64,-0.16,0.4,0.72,0.94,1.32,1.84,2.35,2.77,3.08,2.99,2.76,2.5,2.26,2.24,2.43,2.67,3.02,3.2,3.15,2.85,2.84,2.89,3.14,3.56,3.47,2.53,2.62,3.05,3.16,3.16,3.29,3.45,3.63,3.94,4.28,4.69,5.35,5.76,6.25,6.85,7.4,7.89,8.42,8.74,8.6,8.32,8.16,8.09,7.9,7.58,7.29,7.08,6.53,5.44,4.34,3.08,0.99,-0.4,0.59,3.21,6.25,9.56,11.18,9.92,5.22,-0.99,-4.92,-5.41,-3.84,-2.36,-2.55,-5.27,-8.76,-10.24,-9.27,-8.38,-8.04,-7.52,-6.63,-5.89,-6.06,-6.91,-7.69,-7.89,-8.11,-8.4,-8.77,-9.13,-9.33,-9.22,-9.01,-9,-9.22,-9.38,-9.3,-9,-8.64,-8.24,-7.64,-6.95,-7.02,-6.24,-4.66,-3.9,-3.46,-3.03,-2.67,-2.31,-1.55,-0.96,-2,-3.29,-3.36,-3.18,-3.22,-2.85,-2.37,-2.51,-2.71,-2.73,-2.88,-3.09,-3.17,-2.97,-1.88,-0.56,-0.67,-2.15,-1.79,-0.77,-0.4,0.4,1.84,1.71,-0.52,-0.78,0.15,0.47,0.42,0.07,-0.15,-0.34,-0.61,-0.69,-0.58,-0.55,-0.47,-0.32,-0.23,-0.03,0.33,0.67,0.89,1.13,1.44,1.54,1.55,1.79,2.08,2.37,2.77,3.26,3.71,4.02,4.25,4.41,4.46,4.44,4.39,4.34,4.15,3.75,3.41,3.15,2.9,2.88,2.91,2.71,2.75,2.87,2.77,2.89,3.22,3.31,3.35,3.06,2.24,1.63,1.67,1.96,2.08,1.92,1.53,-0.63,-1.51,-2.32,-2.53,-2.45,-3.27,-4.56,-5.35,-6.19,-7.23,-8.2,-9.04,-9.92,-10.73,-11.33,-11.69,-11.97,-12.25,-12.44,-12.5,-12.48,-12.43,-12.31,-12.14,-12.07,-12.04,-12.01,-11.97,-12.16,-12.66,-13.28,-13.92,-14.31,-13.77,-12.4,-11.16,-10.06,-8.72,-7.41,-6.3,-5.75,-6.08,-8.64,-11.94,-13.21,-11.49,-10.7,-8.32,-5.61,-9.56,-14.79,-14.15,-12.36,-10.97,-7.2,-3.21,-4.32,-6.4,-4.51,-2.38,-3.13,-2.77,-1.61,-1.65,-1.88,-1.75,-1.73,-1.59,-1.56,-1.7,-0.84,0.53,0.94,1.04,0.51,-1.67,-3.18,-2.96,-3.09,-4.88,-6.9,-7.09,-6.5,-7.61,-9.79,-10.45,-9.91,-9.25,-9.37,-10.71,-11.15,-10.78,-10.72,-10.3,-9.76,-10.54,-11.9,-9.51,-4.22,-3.47,-6.67,-7.97,-9.87,-11.67,-10.62,-7.5,-5.6,-5.73,-6.75,-7.7,-8.33,-8.05,-7.35,-7.06,-7.17,-8.35,-9.37,-9.55,-9.46,-10.74,-12.64,-13.51,-13.97,-13.93,-12.76,-10.63,-8.84,-8.44,-8.67,-8.65,-8.9,-9.23,-10.24,-9.56,-7.28,-5.18,-3.82,-2.62,-1.33,0.17,1.47,2.31,3.01,2.98,0.37,-1.47,1.13,2.92,1.97,1.53,1.82,1.64,1.19,0.37,-0.14,0.14,0.41,0.28,0.11,0.06,0.01,-0.31,-0.93,-1.51,-1.86,-2.45,-2.72,-2.53,-2.32,-2.42,-2.4,-2.13,-1.97,-1.9,-1.99,-2.07,-1.98,-1.69,-1.19,-0.65,-0.13,0.43,0.97,1.49,1.99,2.46,2.85,3.09,3.18,3.23,3.36,3.59,3.89,4.35,3.96,3.91,3.79,3.84,3.83,3.77,3.87,4.15,4.52,4.66,4.92,5.33,5.81,6.26,6.37,6.23,6.07,6,5.7,5.11,4.67,4.49,4.33,3.8,2.81,1.63,0.37,-1.29,-2.87,-2.77,-1.01,1.4,2.94,2.93,-0.25,-6.59,-10.37,-10.17,-9.17,-8.69,-8.89,-10.02,-11.66,-12.61,-12.18,-11.15,-10.42,-9.97,-9.39,-8.69,-8.06,-7.55,-7.08,-6.81,-7.07,-7.83,-8.81,-9.45,-9.8,-9.99,-10.13,-10.32,-10.4,-10.42,-10.44,-10.36,-9.78,-8.86,-7.98,-7.29,-6.58,-5.77,-5.03,-4.31,-3.45,-2.56,-1.83,-1.28,-0.89,-0.67,-0.44,0.14,0.5,-0.52,-1.87,-2.36,-2.75,-2.91,-2.51,-2.45,-2.9,-3.52,-3.96,-4.2,-4.18,-3.96,-3.43,-1.57,-1.41,-4.17,-3.63,0.34,0.67,0.07,0.08,0.38,-0.01,-0.5,-0.07,0.23,0,-0.11,-0.05,0.03,0.02,0.01,0.16,0.4,0.57,0.6,0.67,0.97,1.28,1.48,1.54,1.58,1.72,1.84,1.86,1.88,2.1,2.41,2.58,2.55,2.62,2.79,2.67,2.1,1.59,1.11,0.57,0.04,-0.29,-0.47,-0.59,-0.64,-0.44,-0.01,0.37,0.64,0.97,1.55,2.04,2.18,2.26,2.5,2.64,2.11,0.53,-0.85,-0.65,0.07,0.37,0.25,-0.06,-0.34,-2.92,-3.46,-3.55,-3.39,-3.69,-5.04,-7.01,-8.14,-9.03,-10.02,-10.85,-11.56,-12.37,-13.08,-13.54,-13.7,-13.53,-13.19,-12.93,-12.71,-12.47,-12.17,-11.87,-11.58,-11.32,-11.05,-10.7,-10.24,-9.84,-9.23,-7.64,-7.55,-12.73,-16.06,-11.48,-6.59,-6.38,-5.63,-2.54,-2.47,-7.47,-11.25,-11.83,-12.38,-13.5,-13.87,-12.42,-9.78,-7.52,-8.59,-10.95,-12.14,-11.91,-9.63,-6.6,-5.56,-6.05,-5.47,-3,-0.99,-0.77,-1.29,-1.01,-0.05,0.62,1.04,2.02,3.91,5.15,5,4.45,3.84,3.38,3.25,2.16,-0.33,-2.82,-5.55,-8.16,-10.81,-11.55,-10.8,-10.29,-10.65,-10.68,-10.5,-9.98,-9.37,-9.77,-10.47,-10.45,-10.37,-10.63,-10.65,-10.4,-10.2,-8.81,-6.13,-4.71,-5.13,-6.24,-8.19,-9.87,-9.53,-7.77,-6.44,-5.89,-5.94,-6.34,-6.35,-6.1,-6.02,-6.16,-6.74,-7.55,-8.23,-8.56,-8.82,-9.23,-9.67,-10.12,-10.66,-10.97,-10.92,-10.4,-9.34,-8.12,-7.38,-6.98,-7.12,-7.81,-8.71,-9,-8.24,-6.21,-3.06,-1.05,-0.3,0.22,0.64,1.09,1.82,2.77,2.78,2.02,1.99,1.23,-1.32,-2.98,-2.57,-1.45,-1.2,-1.81,-2.17,-1.43,-0.42,0.16,0.85,0.99,0.65,0.03,-0.76,-1.29,-1.39,-1.48,-2.12,-3.09,-3.48,-3.36,-3.25,-3.14,-2.82,-2.37,-1.92,-1.44,-0.93,-0.32,0.37,1.06,1.64,2.15,2.59,2.91,3.1,3.24,3.43,3.63,3.75,3.79,3.85,3.91,3.91,3.87,3.86,3.87,3.9,3.82,3.67,3.49,3.44,3.66,3.95,3.97,4.26,4.61,4.63,4.54,4.39,4.09,3.87,3.47,2.71,2.2,2.2,2.2,1.78,0.75,-0.7,-2.09,-3.26,-4.66,-5.71,-5.17,-3.44,-2.07,-1.76,-3.26,-6.22,-9.47,-11.98,-13.15,-13.69,-14.01,-13.97,-13.49,-12.86,-12.25,-11.51,-10.68,-9.96,-9.43,-8.99,-8.59,-8.16,-7.72,-7.29,-6.91,-6.7,-6.67,-6.81,-7.2,-7.73,-8.21,-8.5,-8.63,-8.59,-8.45,-8.11,-7.73,-7.44,-7.1,-6.56,-5.85,-5.09,-4.38,-3.71,-2.92,-2.01,-1.19,-0.59,-0.14,0.25,0.57,0.86,1.35,1.85,1.19,-0.41,-1.5,-1.9,-2.5,-2.89,-2.85,-3.03,-3.43,-3.59,-3.42,-2.96,-3.25,-3.2,-1.66,0.21,-0.52,-4.03,-4.9,-1.01,1.34,1.34,1.07,0.52,-0.16,-0.38,-0.33,-0.23,-0.19,-0.09,0.13,0.42,0.65,0.81,1.04,1.33,1.57,1.7,1.82,1.97,2.14,2.32,2.43,2.44,2.4,2.44,2.57,2.69,2.84,2.96,2.99,2.89,2.65,2.16,1.36,0.57,0.13,-0.08,-0.22,-0.23,-0.12,-0.03,0.08,0.29,0.63,1,1.3,1.53,1.75,1.99,2.31,2.69,2.74,1.96,-0.07,-2.47,-3.63,-3.1,-2.27,-2.11,-2.3,-2.49,-2.57,-2.78,-4.49,-4.68,-5.1,-5.57,-6.6,-7.9,-9.7,-11.34,-12.65,-13.29,-13.36,-13.33,-13.35,-13.24,-13.75,-14.66,-14.39,-13.03,-12.08,-11.43,-10.97,-11.04,-10.94,-9.65,-9.09,-8.7,-7.95,-7.4,-7.48,-8.16,-8.19,-6.2,-5.38,-10.43,-13.58,-11.58,-9.85,-8.34,-5.6,-6.97,-11.83,-14.78,-14.5,-14.62,-14.51,-13.67,-12.68,-10.84,-8.95,-9.13,-10.34,-10.38,-9.52,-8.5,-7.39,-5.91,-4.22,-2.43,-0.72,0.41,1.07,2.26,4.17,6.08,7.49,8.14,8.12,7.03,5.55,3.96,3.47,3.89,3.32,-0.4,-4.91,-7.08,-8.08,-9.86,-11.76,-11.75,-11.01,-10.62,-10.69,-10.57,-9.9,-9.21,-9.14,-9.22,-9.1,-9.08,-9.27,-9.53,-9.63,-9.32,-8.72,-7.43,-5.62,-4.93,-5.66,-6.47,-6.92,-7.54,-7.89,-7.77,-7.62,-7.33,-6.38,-5.19,-4.64,-4.75,-5.02,-5.03,-5.02,-5.5,-6.15,-6.8,-7.28,-7.44,-7.55,-7.76,-8.04,-8.11,-7.92,-7.75,-7.64,-7.35,-6.82,-6.02,-5.32,-5.22,-5.49,-5.49,-5.15,-4.57,-2.86,-1.13,-1.02,-1.2,-0.59,0.7,2.25,3.59,4.29,4.1,3.35,2.24,0.79,-0.4,-0.88,-1.22,-1.88,-2.33,-2.72,-3.54,-4.02,-3.42,-2.26,-1.85,-1.97,-0.93,0.11,-0.46,-1.21,-0.91,-0.14,0.43,0.56,0.25,-0.15,-0.5,-0.96,-1.24,-0.9,-0.27,0.29,0.76,1.16,1.49,1.79,2.08,2.36,2.65,2.94,3.14,3.24,3.27,3.22,3.07,2.86,2.71,2.74,2.76,2.6,2.43,2.41,2.48,2.57,2.71,2.87,3.01,3.2,3.43,3.52,3.44,3.22,3.18,3.32,3.26,2.8,2.28,1.74,1.13,0.56,0.03,-0.29,-0.84,-2.55,-4.31,-5.44,-6.63,-7.16,-6.62,-5.68,-5.18,-4.99,-5.17,-6.01,-7.22,-8.48,-9.49,-10.21,-10.71,-10.86,-10.73,-10.5,-10.17,-9.81,-9.48,-9.09,-8.7,-8.25,-7.86,-7.52,-7.19,-6.86,-6.56,-6.21,-5.95,-5.79,-5.76,-5.84,-5.8,-5.7,-5.72,-5.78,-5.75,-5.67,-5.55,-5.34,-5.04,-4.68,-4.21,-3.65,-3.03,-2.34,-1.63,-0.92,-0.28,0.25,0.66,1.01,1.39,1.91,2.59,3.08,2.53,0.79,-1.1,-1.94,-2.06,-2.51,-3.11,-3.33,-3.57,-3.9,-3.29,-1.87,-0.12,0.66,-0.08,-0.88,-1.06,-2.66,-4.59,-4.29,-0.93,1.16,0.44,-0.42,-0.14,-0.03,-0.27,-0.31,-0.16,0.03,0.23,0.42,0.64,0.95,1.29,1.64,2.01,2.27,2.43,2.55,2.6,2.63,2.65,2.62,2.54,2.55,2.64,2.87,3,2.95,2.87,2.83,2.57,2.02,1.59,1.46,1.35,1.1,0.84,0.74,0.82,0.96,1.06,1.14,1.26,1.37,1.38,1.36,1.37,1.33,1.48,1.63,0.46,-2.52,-5.24,-5.81,-5.01,-4.4,-4.29,-4.2,-4.16,-4.27,-4.72,-5.14,-4.67,-4.45,-5.57,-6.32,-7.32,-8.29,-8.62,-8.1,-7.34,-8.75,-12.38,-14.82,-14.11,-11.72,-11.12,-11.91,-13.08,-14,-13.89,-12,-9.29,-8.73,-10.94,-12.62,-12.86,-11.75,-9.89,-8.76,-9.08,-10.37,-11.27,-11.64,-11.88,-12.47,-13.4,-14.03,-14.91,-15.18,-13.72,-12,-12.13,-13.79,-14.52,-14.25,-14.17,-13.78,-12.76,-11.56,-10.48,-9.63,-9.2,-8.92,-8.27,-7.22,-6.07,-4.8,-2.96,-0.67,1.78,3.72,5.04,6.01,6.99,8.29,10.2,11.47,11.52,10.74,10.16,8.08,5.53,3.6,2.63,-0.49,-5,-7.3,-7.76,-8.56,-9.66,-10.11,-10.04,-9.73,-9.27,-8.87,-8.63,-8.37,-8.02,-7.86,-7.91,-7.93,-7.81,-7.5,-7.31,-7.46,-7.52,-6.94,-5.75,-4.97,-5.26,-5.81,-5.92,-5.85,-6.02,-6.26,-6.32,-6.19,-5.49,-4.06,-2.76,-2.47,-2.89,-3.36,-3.59,-4.03,-4.94,-5.72,-6,-6.09,-6.13,-6.1,-6.09,-6.17,-6.24,-6.16,-6.08,-5.98,-5.66,-5.1,-4.34,-3.62,-3.2,-3.03,-2.68,-2,-1.03,-0.18,-0.03,-0.34,-0.1,1.12,2.63,3.6,3.81,3.61,3.22,2.44,1.17,0.06,-0.55,-0.95,-1.49,-2.09,-2.46,-2.73,-2.89,-2.86,-2.76,-2.75,-3.09,-3.29,-1.96,0.59,1.75,0.47,-0.29,-0.03,-0.16,0,0.58,0.94,1.45,1.31,-0.25,-1.28,-0.65,0.35,0.94,1.3,1.57,1.8,2.05,2.26,2.27,2.14,1.92,1.7,1.5,1.34,1.25,1.26,1.31,1.21,0.94,0.56,0.74,1.21,1.6,1.91,2.15,2.28,2.46,2.7,2.82,2.69,2.52,2.38,2.33,2.27,1.75,1.07,0.97,1.01,0.33,-0.55,-1.26,-1.76,-2.15,-3.57,-5.19,-5.88,-6.26,-6.01,-5.45,-5.36,-5.72,-6.07,-6.19,-6.42,-6.77,-7.35,-8.01,-8.67,-9.05,-9.21,-9.26,-9.17,-8.93,-8.56,-8.22,-7.79,-7.28,-6.91,-6.62,-6.43,-6.19,-5.95,-5.71,-5.41,-5.15,-4.9,-4.71,-4.55,-4.37,-4.23,-4.13,-4.03,-3.91,-3.84,-3.77,-3.59,-3.37,-3.21,-3.02,-2.62,-2.04,-1.43,-0.9,-0.42,0.13,0.8,1.55,2.3,2.97,3.45,3.35,2.34,0.43,-1.35,-2.18,-2.29,-2.65,-3.54,-4.15,-4.13,-3.98,-3.76,-3.11,-1.62,-0.19,-0.11,-1.19,-1.56,-0.4,-0.32,-2.12,-2.85,-1.53,0.59,1.52,1.32,0.69,0.23,0.12,0.04,0.13,0.45,0.86,1.19,1.39,1.6,1.87,2.15,2.41,2.61,2.79,2.92,2.98,2.94,2.83,2.69,2.54,2.43,2.39,2.36,2.3,2.21,2.02,1.59,1.04,0.77,0.96,1.24,1.3,1.29,1.35,1.48,1.55,1.51,1.41,1.35,1.25,1.08,0.89,0.74,0.61,0.47,-0.02,-1.55,-4.17,-6.31,-7.41,-6.49,-4.75,-4.44,-4.88,-4.31,-3.74,-4.21,-4.91,-4.69,-4.03,-2.53,-3.89,-4.31,-4.82,-5.57,-6.19,-6.37,-5.27,-5.25,-6.98,-9.37,-11.44,-9.92,-8.75,-7.34,-8.2,-9.51,-9.08,-6.56,-3.87,-2.55,-2.37,-3.07,-4.64,-5.81,-6.42,-8.45,-9.28,-9.72,-8.98,-9.8,-10.8,-11.4,-11.93,-13.28,-15.45,-15.65,-13.1,-11.04,-10.71,-11.35,-11.99,-12.19,-12.08,-11.55,-10.73,-10.04,-9.63,-9.17,-8.64,-7.86,-6.42,-4.39,-2.4,-0.44,1.37,3.11,4.76,6.11,7.04,7.71,8.25,8.91,9.73,10.57,11.39,11.27,9.05,5.59,2.71,0.8,-1.89,-5.39,-7.48,-8.24,-9.19,-10.33,-10.66,-10.01,-9.27,-8.85,-8.49,-8.07,-7.38,-6.75,-6.55,-6.57,-6.56,-6.31,-5.99,-5.94,-6.28,-6.82,-6.33,-5.39,-4.67,-4.31,-4.16,-4.02,-3.84,-3.69,-3.66,-3.62,-3.35,-2.76,-2.04,-1.57,-1.63,-2.1,-2.66,-3.29,-3.95,-4.5,-4.82,-4.62,-4.35,-4.53,-4.81,-4.97,-5.01,-5.07,-5.16,-5.15,-5.06,-4.87,-4.4,-3.58,-2.52,-1.6,-1.1,-0.83,-0.39,0.36,1.16,1.72,2.18,2.57,2.81,2.93,2.78,2.28,1.7,1.24,0.86,0.42,0.05,-0.26,-0.65,-1.16,-1.79,-2.34,-2.87,-3.29,-3.49,-3.55,-3.59,-3.66,-3.67,-3.08,-1.43,0.86,2.2,1.46,-0.42,-1.39,-1.4,-0.78,0.2,0.53,0.39,0.04,-0.42,0.07,0.96,1.44,1.53,1.54,1.61,1.58,1.46,1.27,1.09,0.92,0.71,0.48,0.31,0.23,0.29,0.39,0.35,0.17,0.26,0.67,1.12,1.48,1.81,2.14,2.4,2.58,2.7,2.69,2.68,2.9,2.93,2.36,1.72,1.6,1.67,1.46,1.12,0.64,-0.34,-0.72,-1.52,-2.52,-3.17,-3.72,-4.55,-5.31,-5.38,-5.14,-4.95,-4.46,-4.48,-5.15,-6.1,-6.86,-7.4,-7.95,-8.16,-7.92,-7.73,-7.61,-7.61,-7.59,-7.46,-7.21,-6.94,-6.68,-6.55,-6.3,-6.12,-5.95,-5.74,-5.56,-5.32,-5.06,-4.81,-4.61,-4.38,-4.16,-4.07,-4.05,-4.16,-4.42,-4.87,-5.58,-6.31,-6.27,-5.46,-4.42,-3.77,-3.44,-3.29,-3.32,-3.07,-2.97,-3.1,-3.2,-2.99,-2.65,-2.36,-2.19,-2.46,-2.88,-3.29,-3.42,-3.6,-4.26,-5.5,-6.81,-6.98,-5.75,-4.35,-3.77,-3.25,-2.25,-1.46,-1.3,-1.77,-1.9,-0.36,0.21,-1.84,-3.58,-2.29,0.68,1.51,0.08,-0.65,0.14,0.62,0.43,0.5,0.96,1.49,1.91,2.24,2.53,2.72,2.8,2.87,2.98,3.12,3.22,3.2,3.13,3.02,2.89,2.72,2.51,2.3,2.15,2.06,2.02,1.93,1.71,1.53,1.47,1.48,1.49,1.54,1.65,1.75,1.77,1.66,1.42,1.17,1.02,0.87,0.6,0.21,-0.12,-0.44,-1.14,-2.13,-2.46,-2.33,-3.82,-7.31,-8.56,-6.21,-5.12,-6.18,-6.68,-5.56,-3.66,-1.83,-0.25,-0.4,-6.16,-5.91,-6.24,-6.53,-6.66,-6.65,-6.48,-6.2,-5.91,-5.87,-6.36,-7.18,-7.49,-7,-6.06,-5.63,-5.95,-6.34,-6.59,-6.94,-7.36,-7.83,-8.3,-9.33,-10.65,-9.89,-6.55,-3.5,-2.93,-4.64,-7.17,-9.11,-9.13,-9.34,-10.74,-11.97,-11.71,-10.38,-9.22,-8.77,-8.97,-9.23,-9.1,-8.63,-7.89,-7.59,-7.35,-7.02,-6.31,-5.46,-4.24,-2.68,-1.02,0.45,1.63,2.7,3.95,5.34,6.78,8.25,9.51,10.09,9.71,9.49,9.13,9.05,7.65,4.1,-0.86,-4.4,-5.82,-6.6,-7.24,-7.86,-9,-8.66,-10.07,-9.2,-8.19,-7.6,-7.08,-6.7,-6.4,-6.13,-5.84,-5.69,-5.64,-5.53,-5.3,-5.07,-4.95,-4.81,-4.37,-3.67,-3.06,-2.7,-2.43,-2.13,-1.79,-1.47,-1.19,-0.96,-0.8,-0.71,-0.68,-0.81,-1.12,-1.6,-2.24,-2.83,-3.16,-3.3,-3.44,-3.65,-3.82,-3.87,-3.8,-3.71,-3.68,-3.6,-3.44,-3.22,-2.94,-2.59,-2.08,-1.47,-0.85,-0.31,0.25,1,1.82,2.46,2.9,3.29,3.55,3.43,3.09,2.72,2.29,1.79,1.41,1.18,0.89,0.5,0.1,-0.21,-0.35,-0.51,-0.78,-1.27,-1.96,-2.72,-3.27,-3.44,-3.43,-3.26,-2.96,-2.57,-2.12,-1.31,-0.16,0.14,-1.11,-2.58,-2.88,-1.09,0.42,0.59,1.42,3.76,5.57,5.46,4.36,3.56,2.93,2.35,1.88,1.51,1.18,0.92,0.7,0.34,-0.15,-0.64,-0.96,-0.9,-0.83,-0.78,-0.73,-0.59,-0.33,0.03,0.45,0.95,1.53,2.17,2.76,3.23,3.61,3.92,4.1,4.24,4.44,4.4,3.93,2.78,1.76,1.46,1.4,1.03,0.28,-0.5,-1.17,-1.7,-2.45,-3.37,-3.93,-4.12,-4.17,-4.45,-4.99,-5.44,-5.74,-5.59,-5.44,-5.86,-6.44,-6.44,-6.29,-6.44,-7.18,-8.6,-9.54,-9.13,-8.1,-7.46,-7.54,-7.6,-7.47,-7.3,-7.19,-7.15,-6.85,-6.57,-6.16,-5.81,-5.44,-5.14,-4.94,-4.78,-4.83,-5.08,-5.37,-5.58,-5.82,-6.48,-7.61,-8.18,-9.04,-10.02,-10.69,-10.37,-9.6,-9.32,-9.56,-9.61,-8.91,-7.76,-7.09,-7.17,-7.59,-7.8,-7.4,-7.21,-7.29,-7.15,-6.94,-7.51,-8.84,-10.35,-10.21,-7.2,-4.1,-3.45,-4.69,-4.65,-3.03,-2.7,-3.37,-3.41,-2.82,-2.57,-3.35,-4.32,-3.91,-0.56,3.99,5.27,2.57,-0.13,-0.81,-0.15,0.73,1.39,1.92,2.32,2.61,2.85,3.03,3.19,3.3,3.36,3.43,3.48,3.52,3.54,3.5,3.32,3.1,2.92,2.86,2.9,2.98,3.08,3.21,3.34,3.44,3.48,3.43,3.33,3.19,3.01,2.85,2.67,2.4,1.9,1.34,0.93,0.62,0.09,-0.58,-0.83,-0.58,-0.89,-2.71,-4.87,-5.2,-4.62,-4.84,-6.17,-6.96,-6.57,-6.16,-5.9,-5.5,-4.05,-2.67,-3.05,-4.51,-5.6,-4.3,-5.48,-5.92,-5.84,-5.48,-5.1,-4.85,-4.69,-4.57,-4.39,-4.21,-4.19,-4.26,-4.36,-4.38,-4.49,-4.71,-5.03,-5.35,-5.69,-6.1,-6.34,-6.56,-6.75,-6.89,-6.67,-5.86,-5.2,-4.9,-5.03,-5.55,-6.33,-6.84,-7.21,-7.25,-7.43,-7.67,-7.73,-7.54,-7.12,-6.7,-6.39,-6.18,-6.02,-5.78,-5.41,-4.97,-4.46,-3.75,-2.72,-1.42,-0.06,1.07,1.88,2.48,3.23,4.09,4.93,5.55,5.85,5.97,5.96,5.53,4.34,2.42,-0.25,-3.11,-5.14,-5.82,-5.89,-6.07,-6.45,-6.59,-6.72,-7.29,-8.11,-8.39,-7.89,-6.94,-6.02,-5.47,-5.35,-5.25,-4.97,-4.57,-4.19,-3.89,-3.61,-3.32,-2.96,-2.55,-2.14,-1.65,-1.11,-0.64,-0.31,-0.06,0.14,0.26,0.32,0.36,0.41,0.45,0.4,0.17,-0.17,-0.52,-0.85,-1.19,-1.49,-1.67,-1.8,-1.97,-2.14,-2.2,-2.11,-1.94,-1.76,-1.52,-1.17,-0.78,-0.43,-0.08,0.3,0.74,1.2,1.66,2.14,2.66,3.13,3.39,3.44,3.42,3.59,3.94,4.06,3.57,2.94,2.49,2.33,2.18,1.78,1.32,0.94,0.64,0.43,0.3,0.23,0.16,0.07,0.09,0.32,0.78,1.37,1.92,2.35,2.79,3.41,4.12,4.48,3.99,2.4,0.99,0.68,1.21,1.75,2.07,2.55,3.52,4.61,5.06,4.69,3.8,2.82,2.08,1.61,1.26,0.85,0.48,0.18,-0.07,-0.37,-0.66,-0.84,-0.9,-0.91,-0.94,-1.01,-1.1,-1.12,-1,-0.72,-0.38,0.02,0.47,0.96,1.45,1.91,2.33,2.73,3,3.05,2.91,2.66,2.29,1.66,0.75,0.1,0.01,0.08,-0.32,-1.33,-2.55,-3.51,-3.96,-4.08,-4.46,-4.83,-4.89,-5.01,-4.98,-5.89,-6.86,-7.15,-7.31,-7.32,-7.92,-8.85,-9.21,-9.41,-9.86,-10.01,-10.1,-9.24,-8.12,-7.42,-8.06,-9.46,-9.94,-9.51,-9.07,-9.07,-9.19,-9.22,-9.27,-8.8,-8.36,-8.08,-8.01,-7.53,-6.32,-5.74,-6.03,-6.35,-6.23,-6.44,-7.29,-8.27,-8.75,-9.15,-9.31,-8.25,-5.6,-2.62,-1.11,-0.76,-0.62,-1.19,-2.34,-3.73,-5.03,-6.31,-7.79,-9.07,-9.47,-8.56,-6.38,-4.83,-5.8,-7.96,-8.38,-6.37,-5.13,-5.6,-6.18,-5.86,-5.27,-5.15,-4.94,-4.27,-3.44,-2.47,-0.53,2.59,5.49,6.51,4.8,2.2,-0.14,-1.14,-0.74,0.73,2.08,2.86,3.17,3.29,3.35,3.44,3.56,3.69,3.75,3.75,3.71,3.65,3.7,3.73,3.76,3.72,3.7,3.75,3.84,3.89,3.89,3.91,3.97,4.07,4.14,4.14,4.08,3.92,3.71,3.5,3.35,3.16,2.59,1.61,0.79,0.33,0.04,-0.18,-0.27,-0.15,-0.12,-0.63,-2.04,-4.23,-6.14,-7.33,-7.72,-8.01,-8.34,-8.07,-7.88,-6.81,-5.8,-5.21,-4.69,-3.97,-3.34,-3.36,-2.38,-2.77,-3.14,-3.32,-3.29,-3.08,-2.77,-2.47,-2.29,-2.22,-2.17,-2.06,-1.95,-1.94,-2.06,-2.32,-2.57,-2.79,-2.97,-3.14,-3.36,-3.62,-3.86,-3.98,-3.99,-3.96,-4,-4.15,-4.33,-4.45,-4.5,-4.52,-4.64,-4.59,-4.47,-4.38,-4.35,-4.3,-4.11,-3.82,-3.5,-3.23,-3.01,-2.76,-2.51,-2.3,-2.09,-1.76,-1.24,-0.53,0.33,1.24,2.1,2.76,2.97,2.72,2.17,1.62,1.31,1.22,1.05,0.62,-0.06,-1.14,-2.45,-3.77,-4.81,-5.43,-5.81,-6.13,-6.37,-6.48,-6.48,-6.37,-6.74,-7.09,-6.94,-6.19,-5.1,-4.14,-3.62,-3.37,-3.16,-2.89,-2.51,-2.06,-1.59,-1.12,-0.64,-0.2,0.13,0.44,0.86,1.36,1.74,1.86,1.78,1.68,1.64,1.62,1.56,1.46,1.34,1.24,1.14,0.97,0.73,0.47,0.25,0.09,-0.02,-0.1,-0.17,-0.22,-0.22,-0.15,0.04,0.26,0.5,0.73,0.95,1.25,1.67,2.2,2.74,3.19,3.59,3.96,4.24,4.35,4.33,4.24,4.08,3.98,4.02,4.15,4.12,3.81,3.36,3.03,2.9,2.76,2.57,2.36,2.13,1.96,1.93,2,2.15,2.4,2.8,3.33,3.99,4.68,5.33,6.03,6.77,7.5,8.11,8.49,8.27,7.83,7.32,5.19,5.28,4.37,3.86,3.26,2.32,1.51,1.16,1.01,0.8,0.51,0.27,0.11,-0.09,-0.32,-0.55,-0.75,-0.93,-1.03,-0.99,-0.8,-0.58,-0.5,-0.63,-0.86,-1.06,-1.16,-1.13,-1.01,-0.83,-0.61,-0.35,-0.04,0.29,0.64,0.94,1.06,0.88,0.4,-0.17,-0.6,-0.87,-1.12,-1.35,-1.33,-0.88,-0.31,-0.09,-0.46,-1.22,-2.27,-3.34,-4.06,-4.33,-3.99,-3.56,-3.83,-5.53,-8.32,-10.63,-10.76,-9.33,-8.51,-9.05,-10.52,-11.16,-10.89,-10.87,-11.03,-10.92,-10.58,-10.09,-9.75,-9.65,-9.62,-9.63,-9.69,-9.75,-9.69,-9.15,-8.08,-6.21,-4.41,-4.08,-5.45,-6.84,-6.67,-5.98,-6.34,-7.05,-7.72,-7.73,-7.07,-5.95,-4.52,-3.34,-2.72,-2.46,-1.72,-0.04,1.68,1.98,0.86,-0.43,-0.81,-0.55,-0.45,-1.18,-2.91,-4.33,-4.51,-3.57,-2.44,-1.74,-1.41,-1.29,-1.23,-1.14,-0.99,-0.67,-0.29,-0.09,-0.17,0.08,0.99,1.88,2.02,1.88,2.79,4.79,6.52,6.09,3.46,0.57,-1.04,-0.66,0.79,2.1,2.88,3.1,3.25,3.41,3.55,3.65,3.77,3.88,3.91,3.86,3.75,3.67,3.62,3.65,3.75,3.87,4.17,4.42,4.45,4.22,3.98,3.95,4.12,4.31,4.38,4.36,4.28,4.06,3.72,3.37,3.12,2.91,2.5,1.77,1.33,1.31,1.39,1.25,0.83,0.07,-1.32,-3.51,-5.75,-7.47,-7.91,-7.12,-5.6,-4.3,-3.64,-3.15,-2.65,-1.99,-1.29,-0.89,-0.89,-1.2,-1.6,-1.9,-2.12,-0.43,-0.52,-0.63,-0.78,-0.85,-0.86,-0.84,-0.78,-0.67,-0.54,-0.38,-0.27,-0.24,-0.23,-0.24,-0.24,-0.23,-0.26,-0.44,-0.64,-0.8,-0.94,-1.09,-1.29,-1.49,-1.64,-1.73,-1.79,-1.84,-1.89,-1.9,-1.85,-1.8,-1.76,-1.7,-1.61,-1.4,-1.11,-0.79,-0.5,-0.19,0.18,0.61,1.06,1.41,1.61,1.63,1.57,1.48,1.41,1.4,1.51,1.72,1.92,1.96,1.77,1.42,1.03,0.63,0.34,0.34,0.59,0.71,0.04,-1.28,-2.62,-3.51,-4.02,-4.33,-4.45,-4.38,-4.28,-4.27,-4.4,-4.46,-4.42,-4.23,-3.9,-3.56,-3.32,-3.14,-2.8,-2.26,-1.64,-1.03,-0.46,0.12,0.67,1.15,1.5,1.7,1.9,2.25,2.78,3.27,3.53,3.48,3.23,2.94,2.71,2.54,2.42,2.36,2.35,2.34,2.26,2.14,2,1.86,1.72,1.6,1.52,1.46,1.46,1.49,1.59,1.73,1.93,2.17,2.48,2.85,3.27,3.71,4.11,4.43,4.65,4.94,5.21,5.39,5.29,5.05,4.83,4.65,4.46,4.29,4.2,4.27,4.37,4.3,4.11,3.88,3.67,3.5,3.31,3.05,2.85,2.76,2.76,2.8,2.88,2.97,3.11,3.28,3.5,3.62,3.3,2.62,2.21,2.55,3.35,3.89,3.79,2.18,0.8,0.44,0.7,0.78,0.31,-0.44,-0.97,-1.07,-1,-1.02,-1.16,-1.21,-1.26,-1.29,-1.24,-1.21,-1.21,-1.23,-1.17,-1.01,-0.85,-0.77,-0.82,-0.98,-1.15,-1.16,-1.1,-1,-0.87,-0.79,-0.76,-0.71,-0.63,-0.45,-0.2,0.16,0.56,0.72,0.43,-0.22,-0.89,-1.41,-1.77,-2.04,-2.08,-1.72,-1.25,-1.04,-1.16,-1.56,-2.17,-2.93,-3.72,-3.97,-3.61,-3.31,-4,-5.49,-6.47,-6.45,-6.14,-6.02,-6.9,-6.68,-6,-5.94,-6.18,-6.6,-7,-7.13,-7.11,-7.25,-7.05,-6.38,-5.78,-5.35,-4.91,-4.35,-3.8,-3.39,-3.14,-3.07,-3.72,-5,-5.98,-5.95,-5.18,-4.66,-5,-5.58,-5.9,-5.64,-4.92,-3.98,-3.05,-2.23,-1.5,-1.06,-1.01,-1.33,-1.93,-2.67,-3.25,-3.42,-3.19,-2.7,-2.1,-1.7,-1.76,-2.04,-2.27,-2.3,-2.19,-2.12,-2.17,-2.04,-1.32,-0.27,0.45,0.82,0.78,0.33,-0.44,-1.14,-1.24,-0.46,0.73,1.74,2.07,1.48,0.18,-1.01,-1.1,0.07,1.49,2.48,2.96,3.22,3.39,3.52,3.64,3.71,3.74,3.64,3.61,3.65,3.69,3.71,3.74,3.8,3.8,3.79,3.72,3.64,3.66,3.89,4.11,4.24,4.44,4.76,4.83,4.57,4.09,3.48,2.89,2.42,2.11,1.81,1.33,0.56,-0.67,-2.45,-4.32,-5.54,-6.15,-6.6,-7.13,-7.6,-7.75,-7.45,-6.85,-6.19,-5.5,-4.82,-4.16,-3.35,-2.24,-1.14,-0.35,-0.07,-0.11,-0.28,-0.51,-0.71,-0.77,-0.7,-0.53,0.04,0.1,0.17,0.22,0.22,0.19,0.16,0.16,0.15,0.15,0.15,0.17,0.21,0.28,0.38,0.52,0.62,0.63,0.58,0.47,0.35,0.28,0.25,0.19,0.12,0.07,0.03,0.02,0.08,0.18,0.28,0.35,0.43,0.5,0.59,0.76,0.97,1.24,1.6,2.05,2.54,3,3.34,3.57,3.76,3.86,3.81,3.61,3.3,2.92,2.52,2.18,1.94,1.81,1.73,1.6,1.4,1.31,1.4,1.53,1.41,0.8,-0.35,-1.84,-3.26,-4.29,-4.92,-5.21,-5.34,-5.51,-5.17,-4.72,-4.39,-4.03,-3.63,-3.3,-3,-2.76,-2.5,-2.2,-1.8,-1.3,-0.75,-0.19,0.31,0.75,1.16,1.56,1.95,2.29,2.54,2.74,3.04,3.49,4.01,4.44,4.61,4.5,4.26,4.02,3.79,3.5,3.19,2.95,2.94,3.2,3.51,3.68,3.68,3.55,3.41,3.32,3.3,3.34,3.41,3.51,3.64,3.79,3.98,4.14,4.3,4.38,4.46,4.55,4.66,4.82,5.17,5.5,5.64,5.53,5.32,5.23,5.13,5.03,4.94,4.87,4.82,4.79,4.75,4.7,4.66,4.58,4.43,4.25,4.09,4,3.93,3.88,3.85,3.83,3.8,3.73,3.66,3.67,3.68,3.45,2.91,2.45,2.58,3.44,4.18,3.99,2.69,1.09,-0.13,-0.8,-1.13,-1.65,-2.12,-2.57,-2.89,-2.9,-2.61,-2.33,-2.16,-2.06,-1.91,-1.79,-1.76,-1.82,-1.92,-1.78,-1.55,-1.43,-1.39,-1.4,-1.5,-1.54,-1.43,-1.23,-1.01,-0.89,-0.94,-1.15,-1.38,-1.55,-1.66,-1.7,-1.44,-0.74,0.38,1.28,1.04,-0.16,-1.27,-1.85,-2.13,-2.58,-3.05,-3.05,-2.71,-2.16,-1.62,-1.26,-1.3,-1.58,-1.55,-0.92,0.12,1,1.18,0.51,-0.54,-1.43,-1.93,-1.95,-1.61,-1.28,-1.39,-2.02,-2.6,-2.74,-2.55,-2.26,-2.07,-2.2,-2.37,-2.41,-2.23,-1.91,-1.65,-1.61,-1.75,-1.83,-2.01,-2.47,-3.21,-3.91,-4.22,-4.11,-3.93,-3.83,-3.79,-3.7,-3.55,-3.41,-3.35,-3.46,-3.74,-3.94,-4.02,-4.07,-4.14,-4.29,-4.53,-4.73,-4.83,-4.92,-5,-4.96,-4.85,-4.56,-3.87,-2.65,-1.2,0.02,0.52,0.2,-0.11,0.39,1.41,2.05,1.68,0.49,-0.41,-0.49,-0.57,-0.93,-1.32,-1.41,-0.96,-0.22,0.46,1.03,1.53,1.97,2.34,2.65,2.87,3.01,3.11,3.23,3.36,3.49,3.62,3.65,3.57,3.47,3.46,3.63,4.01,4.48,4.56,4.22,3.55,2.91,2.62,2.73,3.12,3.54,3.91,4.11,4.14,3.95,3.59,3.07,2.31,1.29,-0.16,-2.03,-3.94,-5.23,-5.47,-5.02,-4.2,-3.39,-2.79,-2.5,-2.51,-2.72,-2.87,-2.7,-2.33,-1.95,-1.7,-1.66,-1.66,-1.36,-0.71,0.02,0.52,0.67,0.53,0.28,0.05,-0.08,-0.14,-0.13,-0.08,-0.02,-0.33,-0.12,0,0.02,-0.04,-0.12,-0.21,-0.23,-0.21,-0.16,-0.1,-0.06,-0.03,0,0.09,0.21,0.28,0.31,0.32,0.34,0.41,0.5,0.57,0.59,0.64,0.74,0.88,1.08,1.28,1.45,1.57,1.65,1.67,1.71,1.81,1.98,2.25,2.56,2.88,3.21,3.56,3.87,4.07,4.15,4.11,3.99,3.8,3.61,3.43,3.21,2.94,2.56,2.15,1.73,1.34,1.01,0.69,0.3,-0.2,-0.86,-1.66,-2.48,-3.25,-3.9,-4.29,-4.5,-4.53,-4.44,-4.39,-4.36,-4.3,-4.22,-4.17,-4.16,-4.28,-4.36,-4.26,-3.81,-2.97,-2.11,-1.34,-0.72,-0.25,0.2,0.66,1.16,1.71,2.16,2.47,2.66,2.75,2.91,3.26,3.75,4.31,4.79,4.98,4.98,4.86,4.69,4.6,4.52,4.39,4.2,4,4.01,4.22,4.54,4.8,4.86,4.84,4.84,4.87,4.92,4.9,4.87,4.83,4.82,4.87,4.94,4.98,4.95,4.91,4.91,4.96,5.09,5.33,5.56,5.66,5.61,5.43,5.3,5.16,5.03,4.93,4.85,4.78,4.75,4.76,4.8,4.85,4.84,4.78,4.72,4.7,4.81,4.92,5.03,5.12,5.22,5.46,5.89,6.37,6.69,6.48,6.04,5.76,5.88,6.43,5.76,4.49,2.7,0.42,-1.17,-2.54,-3.52,-3.99,-3.71,-2.64,-1.48,-0.6,-0.33,-0.65,-1.06,-1.42,-1.67,-1.79,-1.88,-1.96,-2.02,-2.06,-2.14,-2.21,-2.28,-2.32,-2.15,-2.16,-2.2,-2.19,-2.07,-2.01,-1.89,-1.69,-1.49,-1.53,-1.86,-2.38,-2.99,-3.52,-3.43,-3.74,-4.5,-5.46,-5.49,-3.8,-1.52,0.43,0.86,-0.43,-2.4,-4.32,-5.73,-6.11,-5.85,-5.41,-4.96,-4.62,-3.73,-2.28,-0.91,-0.06,0.15,0.17,0.19,0.23,0.25,0.17,0.08,-0.04,-0.22,-0.47,-0.79,-1.16,-1.59,-2.03,-2.31,-2.38,-2.38,-2.49,-2.96,-3.83,-4.68,-5.28,-5.36,-5.18,-4.97,-4.86,-4.9,-4.96,-5.08,-5.32,-5.57,-5.68,-5.74,-5.73,-5.67,-5.59,-5.52,-5.47,-5.39,-5.29,-5.14,-4.82,-4.45,-4.07,-3.69,-3.42,-3.25,-3.21,-3.33,-3.61,-3.44,-2.63,-1.48,-0.45,-0.57,-1.61,-2.42,-2.62,-2.05,-1.52,-1.37,-1.43,-1.47,-0.93,-0.09,0.49,0.75,0.85,1.21,1.76,2.32,2.78,3.02,3.1,3.1,3.04,2.97,2.95,3.03,3.16,3.29,3.36,3.39,3.38,3.33,3.23,3.15,3.14,3.11,2.94,2.31,1.27,0.28,-0.42,-0.64,-0.38,0.05,0.55,1.06,1.56,2.07,2.29,1.85,0.35,-1.54,-2.68,-2.88,-2.1,-0.65,0.35,0.76,0.65,0.21,-0.18,-0.53,-0.96,-1.53,-2.1,-2.16,-1.77,-1.09,-0.39,-0.05,0.02,-0.05,-0.16,-0.31,-0.59,-1,-1.44,-1.81,-1.92,-1.81,-1.58,-1.28,-1.03,-0.85,-0.71,-0.55,-1.27,-1.24,-1.2,-1.14,-1.03,-0.9,-0.78,-0.73,-0.75,-0.73,-0.66,-0.55,-0.39,-0.22,-0.12,-0.06,-0.02,-0.01,0.03,0.13,0.26,0.33,0.38,0.43,0.49,0.61,0.77,0.94,1.1,1.24,1.36,1.45,1.53,1.61,1.73,1.92,2.16,2.41,2.59,2.75,2.87,2.96,3.01,3,2.96,2.92,2.92,2.93,2.87,2.72,2.49,2.21,1.91,1.6,1.28,0.92,0.53,0.08,-0.43,-0.96,-1.48,-1.92,-2.31,-2.64,-2.89,-3.08,-3.19,-3.15,-3.04,-2.92,-2.78,-2.68,-2.59,-2.49,-2.41,-2.29,-2.14,-1.99,-1.86,-1.74,-1.62,-1.37,-0.99,-0.49,0.09,0.64,1.15,1.58,1.95,2.33,2.73,3.24,3.79,4.36,4.86,5.2,5.44,5.55,5.53,5.48,5.41,5.33,5.26,5.2,5.17,5.16,5.17,5.19,5.24,5.3,5.4,5.5,5.56,5.58,5.54,5.47,5.41,5.38,5.46,5.51,5.53,5.55,5.54,5.52,5.49,5.52,5.59,5.68,5.69,5.61,5.41,5.22,5.07,4.93,4.82,4.74,4.7,4.7,4.72,4.78,4.83,4.89,4.98,5.1,5.27,5.47,5.71,5.96,6.21,6.46,6.76,7.28,8.08,9.13,9.84,9.88,9.27,8.14,8.12,8.05,7.95,7.27,6.13,5.11,3.81,2.98,2.6,2.76,2.68,2.36,1.71,0.98,0.32,-0.23,-0.6,-0.85,-1.02,-1.11,-1.16,-1.2,-1.26,-1.31,-1.35,-1.38,-1.38,-1.35,-1.3,-1.24,-1.22,-1.26,-1.34,-1.38,-1.26,-1.08,-0.97,-1.52,-2.26,-2.95,-2.98,-2.41,-1.56,-0.94,-0.77,-1.03,-1.65,-2.18,-2.27,-1.86,-1.1,-0.36,0.2,0.51,0.64,0.72,0.81,0.99,1.25,1.48,1.61,1.64,1.58,1.45,1.3,1.16,1.02,0.81,0.43,-0.12,-0.81,-1.52,-2.17,-2.63,-2.88,-2.92,-2.8,-2.6,-2.37,-2.2,-2.25,-2.61,-3.49,-4.48,-5.28,-5.62,-5.52,-5.24,-4.91,-4.71,-4.7,-4.8,-4.93,-4.99,-4.98,-4.88,-4.77,-4.65,-4.5,-4.29,-4.08,-3.89,-3.72,-3.55,-3.31,-3,-2.63,-2.28,-1.96,-1.71,-1.29,-0.57,0.48,1.87,2.65,2.74,1.68,0.49,-0.46,-0.85,-0.8,-0.72,-0.68,-0.61,-0.38,0.01,0.5,0.94,1.38,1.86,2.46,3.13,3.77,3.85,3.55,3.09,2.72,2.68,2.8,2.97,3.06,3.07,3.02,2.98,2.98,2.99,2.97,2.89,2.71,2.38,1.79,1,0.2,-0.28,-0.29,-0.09,0.06,-0.11,-0.55,-0.97,-1.1,-0.84,-0.44,-0.27,-0.51,-1.12,-1.62,-1.65,-1.02,-0.22,0.24,0.21,-0.53,-1.39,-2.08,-2.23,-1.8,-1.15,-0.41,0.07,0.23,0.16,-0.13,-0.6,-1.13,-1.75,-2.29,-2.75,-3.11,-3.29,-3.35,-3.35,-3.31,-3.19,-2.95,-2.6,-2.19,-1.91,-1.72,-1.61,-1.48,-1.36,-2.62,-2.63,-2.53,-2.34,-2.08,-1.84,-1.61,-1.39,-1.17,-0.95,-0.72,-0.52,-0.37,-0.3,-0.23,-0.16,-0.09,-0.01,0.08,0.15,0.17,0.17,0.22,0.3,0.38,0.47,0.56,0.64,0.68,0.76,0.87,0.89,0.9,0.93,0.98,1.07,1.2,1.36,1.51,1.64,1.74,1.8,1.81,1.86,1.96,2.11,2.28,2.4,2.45,2.32,2.13,1.89,1.67,1.5,1.37,1.28,1.18,1.05,0.86,0.65,0.41,0.16,-0.09,-0.3,-0.46,-0.56,-0.61,-0.59,-0.54,-0.47,-0.4,-0.33,-0.24,-0.09,0.18,0.54,1.16,1.8,2.46,2.96,3.32,3.56,3.67,3.73,3.74,3.71,3.73,3.83,4.05,4.31,4.6,4.91,5.17,5.39,5.55,5.67,5.76,5.87,5.99,6.12,6.15,6.13,6.04,5.91,5.77,5.61,5.43,5.27,5.13,5.11,5.16,5.28,5.42,5.54,5.62,5.74,5.8,5.8,5.74,5.67,5.59,5.47,5.29,5.08,4.9,4.79,4.76,4.82,4.88,4.9,4.85,4.78,4.7,4.66,4.61,4.57,4.55,4.56,4.6,4.68,4.78,4.91,5.09,5.34,5.67,6.15,6.77,7.54,8.17,8.68,9.09,9.03,9.07,9.18,8.72,7.81,6.58,6.72,7.07,7.56,8.39,7.88,6.04,4.69,4.05,4.06,4.19,4.01,3.49,2.68,1.91,1.19,0.68,0.26,-0.05,-0.2,-0.31,-0.38,-0.44,-0.51,-0.59,-0.71,-0.82,-0.91,-0.98,-1.01,-1.03,-1.02,-0.99,-0.95,-0.86,-0.77,-0.69,-0.65,-0.66,-0.72,-0.73,-0.55,-0.16,0.47,0.96,1.28,1.25,1.12,0.9,0.61,0.26,-0.12,-0.48,-0.7,-0.78,-0.39,0.09,0.64,0.92,0.98,0.81,0.54,0.32,0.17,0.17,0.23,0.32,0.27,0.01,-0.45,-1.32,-2.18,-2.99,-3.52,-3.82,-3.89,-3.81,-3.69,-3.54,-3.29,-3,-2.67,-2.44,-2.37,-2.44,-2.71,-2.92,-3.07,-3.12,-3.17,-3.25,-3.41,-3.53,-3.62,-3.6,-3.55,-3.49,-3.47,-3.49,-3.55,-3.54,-3.5,-3.41,-3.23,-3.04,-2.84,-2.47,-1.95,-1.28,-0.31,0.84,2.17,3.63,4.88,5.89,6.08,5.86,5.18,4.21,3.05,1.76,0.84,0.26,0.03,0.21,0.48,0.8,1.05,1.36,1.75,2.46,3.16,3.81,4.2,4.39,4.41,4.22,3.92,3.54,3.08,2.71,2.44,2.34,2.26,2.2,2.09,1.98,1.87,1.66,1.29,0.73,-0.13,-1.01,-1.89,-2.27,-2.02,-1.12,0.57,2.19,3.68,3.76,3.43,2.71,2.15,1.82,1.7,1.54,1.26,0.87,0.28,-0.37,-1.08,-1.79,-2.53,-3.31,-4.2,-5.1,-5.98,-6.55,-6.76,-6.64,-6.65,-6.89,-7.36,-8.09,-8.48,-8.44,-7.81,-7.1,-6.36,-5.97,-5.57,-5.17,-4.76,-4.35,-3.96,-3.59,-3.24,-2.92,-2.69,-2.53,-2.44,-2.45,-2.51,-2.82,-2.56,-2.26,-1.89,-1.51,-1.13,-0.78,-0.49,-0.26,-0.15,-0.06,-0.01,0.05,0.1,0.19,0.28,0.34,0.38,0.4,0.39,0.37,0.37,0.38,0.41,0.46,0.52,0.57,0.6,0.61,0.6,0.59,0.6,0.62,0.66,0.71,0.76,0.79,0.87,0.92,0.98,1.05,1.15,1.28,1.43,1.6,1.77,1.91,2,2.02,1.99,1.91,1.82,1.66,1.6,1.57,1.59,1.61,1.64,1.68,1.72,1.77,1.84,1.94,2.03,2.13,2.2,2.23,2.24,2.21,2.19,2.19,2.3,2.52,3.02,3.61,4.32,4.92,5.44,5.7,5.84,5.84,5.8,5.75,5.75,5.74,5.74,5.7,5.65,5.56,5.45,5.35,5.3,5.3,5.34,5.43,5.54,5.63,5.7,5.74,5.75,5.77,5.8,5.85,5.93,6.02,6.08,6.05,5.94,5.76,5.55,5.4,5.32,5.37,5.47,5.63,5.83,6.07,6.17,6.22,6.15,6.06,5.95,5.75,5.55,5.35,5.2,5.11,5.17,5.27,5.41,5.5,5.54,5.47,5.32,5.09,4.75,4.42,4.17,4,3.91,3.98,4.08,4.23,4.42,4.62,4.9,5.24,5.68,6.08,6.39,6.26,5.68,4.59,3.38,2.23,1.44,1.2,1.43,1.64,1.65,1.12,0.33,-0.59,-1.02,-1.24,-1.17,-1.15,-1.17,-1.24,-1.23,-1.12,-0.88,-0.6,-0.3,-0.05,0.17,0.28,0.33,0.3,0.2,0.08,-0.07,-0.21,-0.32,-0.38,-0.42,-0.41,-0.4,-0.4,-0.4,-0.4,-0.38,-0.33,-0.26,-0.14,-0.03,0.07,0.13,0.18,0.23,0.31,0.45,0.51,0.51,0.38,0.21,0.05,-0.08,-0.19,-0.18,-0.33,-0.61,-1.31,-2.07,-2.79,-3.05,-3,-2.38,-1.74,-1.12,-0.9,-0.88,-1.25,-1.64,-2.05,-2.28,-2.47,-2.57,-2.66,-2.75,-2.86,-3,-3.19,-3.34,-3.46,-3.39,-3.23,-2.94,-2.68,-2.46,-2.46,-2.56,-2.76,-2.95,-3.12,-3.17,-3.15,-3.07,-2.9,-2.7,-2.46,-2.25,-2.05,-1.97,-1.91,-1.91,-1.85,-1.71,-1.21,-0.45,0.59,1.88,3.16,4.18,4.89,5.32,5.51,5.64,5.65,5.54,5.38,4.38,3.17,1.56,0.55,-0.12,0.31,1.09,2.28,3.13,3.78,3.82,3.57,3.09,2.56,2.14,1.98,2.04,2.21,2.38,2.5,2.54,2.48,2.37,2.28,2.25,2.3,2.32,2.3,2.08,1.71,1.25,0.76,0.28,-0.16,-0.52,-0.81,-0.67,-0.35,0.27,0.99,1.73,2.41,2.99,3.45,3.61,3.6,3.1,2.23,1.03,-0.3,-1.55,-2.56,-3.21,-3.65,-4,-4.4,-4.9,-5.12,-5.17,-4.8,-4.29,-3.64,-3.14,-2.76,-2.68,-2.81,-3.13,-3.77,-4.49,-5.27,-5.82,-6.18,-5.96,-5.63,-5.22,-4.79,-4.36,-3.91,-3.47,-3.04,-2.79,-2.61,-2.63,-2.69,-2.78,-2.86,-2.94,-2.99,-2.94,-3.66,-3.55,-3.43,-3.28,-3.12,-2.92,-2.68,-2.39,-2.09,-1.78,-1.5,-1.23,-0.98,-0.75,-0.55,-0.34,-0.21,-0.09,-0.05,-0.05,-0.11,-0.17,-0.22,-0.23,-0.2,-0.16,-0.1,-0.08,-0.05,-0.06,-0.07,-0.04,0,0.06,0.13,0.21,0.33,0.5,0.69,0.91,1.11,1.3,1.45,1.59,1.68,1.76,1.82,1.88,1.89,1.89,1.88,1.87,1.88,1.83,1.73,1.65,1.55,1.5,1.48,1.6,1.75,2.03,2.32,2.62,2.91,3.17,3.39,3.55,3.73,3.9,4.19,4.54,5.02,5.55,6.03,6.5,6.75,6.97,7,7,6.91,6.81,6.66,6.51,6.37,6.26,6.16,6.09,6.02,5.98,5.95,5.99,6.03,6.14,6.24,6.34,6.42,6.45,6.43,6.36,6.24,6.09,5.95,5.81,5.77,5.75,5.84,5.93,6.02,6.06,6,5.9,5.72,5.54,5.38,5.33,5.33,5.43,5.57,5.66,5.74,5.71,5.67,5.5,5.29,4.98,4.63,4.22,3.84,3.48,3.25,3.08,3.02,3.01,3.03,3.05,3,2.94,2.78,2.6,2.39,2.19,2.01,1.86,1.71,1.61,1.51,1.31,1.06,0.5,-0.12,-0.77,-1.34,-1.19,-0.8,0.32,1.4,2.4,2.97,3.14,2.88,2.38,1.82,1.23,0.88,0.56,0.59,0.65,0.9,1.15,1.36,1.54,1.65,1.73,1.79,1.81,1.82,1.78,1.72,1.59,1.45,1.23,1.02,0.78,0.57,0.4,0.25,0.16,0.08,0.03,-0.01,-0.05,-0.05,-0.05,-0.01,0.03,0.1,0.17,0.21,0.23,0.19,0.11,-0.01,-0.22,-0.49,-0.86,-1.3,-1.51,-1.65,-1.19,-0.64,0.31,1.25,2.07,2.72,2.84,2.68,2.01,1.11,-0.02,-1.04,-1.99,-2.53,-2.95,-2.99,-2.98,-2.89,-2.81,-2.75,-2.68,-2.57,-2.42,-2.23,-2.03,-1.83,-1.72,-1.65,-1.74,-1.89,-2.13,-2.38,-2.5,-2.58,-2.39,-2.19,-1.95,-1.76,-1.65,-1.58,-1.54,-1.51,-1.47,-1.3,-1.1,-0.55,0.06,1.03,2.02,3.08,4.06,4.79,5.3,5.4,5.24,4.81,4.2,3.49,2.62,1.7,1.06,0.46,0.42,0.46,1.02,1.63,2.36,2.99,3.43,3.63,3.58,3.33,2.96,2.44,1.88,1.35,0.82,0.64,0.51,0.75,1,1.25,1.34,1.18,0.89,0.45,0.1,-0.2,-0.31,-0.35,-0.25,-0.13,0.05,0.24,0.4,0.55,0.69,0.82,0.98,1.1,1.21,1.24,1.22,1.23,1.26,1.2,1.12,0.24,-0.75,-2.51,-4.21,-5.76,-6.87,-7.26,-7.19,-6.66,-6.34,-6.14,-6.24,-6.44,-6.65,-6.87,-6.74,-6.59,-6.32,-6.13,-6.2,-6.31,-6.5,-6.67,-6.8,-6.78,-6.66,-6.56,-6.47,-6.4,-6.35,-6.22,-6.07,-5.8,-5.53,-5.27,-5.03,-4.83,-4.65,-4.47,-4.31,-4.14,-3.99,-3.85,-3.75,-4.68,-4.47,-4.26,-4.05,-3.84,-3.63,-3.43,-3.24,-3.06,-2.88,-2.71,-2.58,-2.48,-2.4,-2.35,-2.31,-2.28,-2.24,-2.21,-2.17,-2.11,-2.04,-1.98,-1.94,-1.92,-1.9,-1.88,-1.85,-1.8,-1.71,-1.59,-1.47,-1.35,-1.24,-1.16,-1.07,-0.99,-0.88,-0.72,-0.54,-0.32,-0.1,0.14,0.37,0.61,0.84,1.04,1.23,1.36,1.47,1.58,1.7,1.77,1.82,1.88,1.93,2,2.09,2.24,2.42,2.62,2.9,3.18,3.48,3.79,4.14,4.49,4.85,5.21,5.52,5.84,6.18,6.49,6.78,7.02,7.21,7.36,7.44,7.47,7.42,7.31,7.15,7,6.81,6.65,6.54,6.44,6.37,6.31,6.31,6.32,6.36,6.4,6.41,6.43,6.39,6.34,6.26,6.16,6.05,5.94,5.81,5.68,5.55,5.44,5.39,5.39,5.47,5.61,5.72,5.78,5.73,5.55,5.28,4.94,4.6,4.32,4.09,3.94,3.82,3.7,3.58,3.42,3.28,3.15,3.06,3.01,2.96,2.92,2.86,2.75,2.63,2.45,2.26,2.04,1.82,1.66,1.5,1.43,1.36,1.35,1.33,1.29,1.24,1.1,0.93,0.67,0.37,0.19,0.13,0.3,0.69,1.27,1.93,2.45,2.77,2.78,2.43,1.63,0.56,-0.32,-0.98,-1.27,-1.28,-1.1,-0.76,-0.59,-0.51,-0.6,-0.84,-1.04,-1.12,-1.07,-0.79,-0.48,-0.16,0.15,0.35,0.54,0.63,0.71,0.71,0.71,0.68,0.65,0.6,0.54,0.48,0.41,0.36,0.31,0.31,0.33,0.38,0.47,0.54,0.56,0.53,0.42,0.27,0.09,-0.07,-0.19,-0.28,-0.36,-0.47,-0.61,-0.85,-1.15,-1.51,-1.92,-2.27,-2.6,-2.84,-3.04,-3.2,-3.32,-3.41,-3.39,-3.36,-3.27,-3.17,-2.98,-2.82,-2.82,-2.82,-3.1,-3.39,-3.76,-4.13,-4.43,-4.69,-4.88,-5.04,-5.15,-5.26,-5.35,-5.48,-5.55,-5.55,-5.45,-5.25,-4.97,-4.61,-4.27,-3.95,-3.69,-3.48,-3.26,-3.03,-2.69,-2.24,-1.65,-0.92,-0.21,0.54,1,1.19,1.11,0.61,0.09,-0.5,-0.98,-1.23,-1.39,-1.28,-1.14,-0.8,-0.43,0.12,0.68,1.35,2.01,2.51,2.99,3.26,3.49,3.61,3.69,3.61,3.47,3.2,2.84,2.45,2.02,1.63,1.25,0.85,0.43,-0.07,-0.6,-1.14,-1.59,-1.85,-1.92,-1.72,-1.31,-0.86,-0.39,-0.23,-0.26,-0.71,-1.45,-2.22,-3.05,-3.58,-3.58,-3.19,-2.04,-0.91,0.18,1.04,0.76,0.29,-1.35,-3.05,-5.02,-6.91,-7.33,-7.54,-8.23,-9.01,-8.94,-8.58,-8.17,-7.8,-7.65,-7.62,-7.61,-7.6,-7.48,-7.23,-7.02,-6.87,-6.76,-6.69,-6.67,-6.72,-6.84,-6.98,-7.11,-7.25,-7.36,-7.48,-7.47,-7.32,-7.05,-6.71,-6.45,-6.26,-6.11,-6.01,-5.91,-5.83,-5.72,-5.59,-5.45,-5.27,-5.09,-4.89,-4.47,-4.37,-4.25,-4.13,-4.01,-3.88,-3.75,-3.61,-3.5,-3.38,-3.28,-3.18,-3.08,-2.99,-2.91,-2.84,-2.79,-2.74,-2.69,-2.64,-2.58,-2.53,-2.48,-2.46,-2.46,-2.48,-2.52,-2.59,-2.64,-2.66,-2.68,-2.6,-2.51,-2.39,-2.21,-2.02,-1.77,-1.52,-1.25,-0.96,-0.68,-0.44,-0.2,0.02,0.24,0.45,0.66,0.87,1.07,1.25,1.43,1.62,1.79,1.95,2.09,2.23,2.37,2.54,2.73,2.97,3.22,3.5,3.8,4.1,4.42,4.74,5.03,5.3,5.53,5.7,5.87,5.97,6.06,6.13,6.16,6.2,6.2,6.2,6.21,6.22,6.23,6.24,6.25,6.28,6.31,6.36,6.37,6.39,6.38,6.35,6.29,6.19,6.07,5.95,5.83,5.69,5.61,5.55,5.5,5.5,5.49,5.49,5.49,5.46,5.39,5.33,5.22,5.1,4.99,4.89,4.79,4.72,4.66,4.6,4.55,4.5,4.46,4.4,4.32,4.23,4.12,3.97,3.8,3.63,3.45,3.29,3.15,3.02,2.92,2.84,2.76,2.7,2.64,2.56,2.47,2.38,2.26,2.11,1.96,1.77,1.58,1.38,1.17,1.01,0.88,0.75,0.75,0.75,0.79,0.87,0.93,0.93,0.91,0.76,0.55,0.31,0.15,0.03,0.1,0.3,0.69,1.13,1.5,1.79,1.95,1.98,2.05,2.07,2.02,1.9,1.79,1.37,0.95,0.51,0.07,-0.37,-0.63,-0.87,-1.01,-1.01,-1,-0.8,-0.6,-0.35,-0.06,0.24,0.53,0.82,1.04,1.24,1.42,1.5,1.58,1.6,1.56,1.49,1.33,1.12,0.87,0.57,0.26,-0.06,-0.37,-0.66,-0.93,-1.2,-1.47,-1.74,-2,-2.25,-2.49,-2.69,-2.86,-3.05,-3.24,-3.43,-3.71,-4,-4.34,-4.71,-5.09,-5.57,-6.05,-6.66,-7.37,-8.14,-8.84,-9.51,-9.94,-10.25,-10.39,-10.32,-10.19,-10.02,-9.86,-9.75,-9.76,-9.87,-10.03,-10.26,-10.51,-10.71,-10.89,-11,-10.99,-10.98,-10.85,-10.7,-10.5,-10.18,-9.88,-9.5,-9.14,-8.68,-8.11,-7.55,-7.05,-6.53,-6,-5.46,-4.86,-4.17,-3.47,-2.76,-2.1,-1.48,-0.95,-0.48,-0.12,0.17,0.37,0.52,0.62,0.72,0.84,0.95,1.19,1.47,1.78,2.13,2.49,2.74,2.97,3.12,3.14,3.16,3.03,2.89,2.68,2.4,2.12,1.55,0.98,0.35,-0.37,-1.1,-1.95,-2.82,-3.68,-4.4,-5.26,-5.67,-5.89,-6.05,-6.44,-7.05,-6.97,-6.32,-5.55,-4.97,-4.55,-4.59,-5.25,-6.08,-7.2,-8.35,-9.18,-9.87,-10.32,-10.16,-9.97,-9.58,-9.15,-8.83,-8.65,-8.47,-8.47,-8.46,-8.39,-8.27,-8.14,-7.88,-7.62,-7.47,-7.4,-7.38,-7.47,-7.56,-7.64,-7.68,-7.67,-7.52,-7.28,-7.02,-6.79,-6.6,-6.42,-6.26,-6.11,-5.98,-5.87,-5.75,-5.63,-5.5,-5.35,-5.2,-5.04,-4.9,-4.75,-4.62,-4.68,-4.59,-4.49,-4.4,-4.35,-4.3,-4.24,-4.18,-4.13,-4.07,-3.99,-3.93,-3.87,-3.83,-3.78,-3.69,-3.59,-3.48,-3.4,-3.33,-3.25,-3.21,-3.16,-3.13,-3.11,-3.09,-3.08,-3.07,-3.05,-3.01,-2.94,-2.84,-2.71,-2.55,-2.39,-2.19,-1.98,-1.78,-1.57,-1.37,-1.17,-0.96,-0.76,-0.54,-0.33,-0.1,0.12,0.32,0.53,0.74,0.95,1.15,1.34,1.51,1.68,1.86,2.06,2.25,2.46,2.67,2.88,3.1,3.32,3.54,3.78,4.01,4.23,4.45,4.66,4.87,5.07,5.27,5.44,5.6,5.76,5.85,5.92,5.98,5.99,5.99,5.97,5.93,5.89,5.84,5.77,5.71,5.66,5.62,5.58,5.56,5.56,5.56,5.58,5.6,5.63,5.65,5.65,5.66,5.64,5.62,5.59,5.56,5.51,5.47,5.41,5.34,5.27,5.2,5.12,5.04,4.96,4.88,4.8,4.72,4.63,4.54,4.43,4.33,4.21,4.08,3.95,3.82,3.69,3.56,3.42,3.28,3.13,2.96,2.8,2.63,2.45,2.26,2.08,1.91,1.73,1.58,1.45,1.32,1.21,1.11,1.02,0.94,0.86,0.79,0.73,0.67,0.63,0.61,0.6,0.6,0.63,0.65,0.72,0.82,0.94,1.12,1.37,1.67,1.96,2.34,2.73,2.93,3.05,3.1,2.82,2.55,2.21,1.56,0.82,0.18,-0.38,-0.95,-1.13,-0.92,-0.71,-0.22,0.43,1.08,1.54,1.96,2.39,2.1,1.81,1.48,1.01,0.53,0.19,0.15,0.11,0.23,0.55,0.86,1.05,1.19,1.3,1.17,0.96,0.74,0.47,0.19,-0.07,-0.23,-0.38,-0.5,-0.51,-0.53,-0.54,-0.5,-0.49,-0.49,-0.51,-0.57,-0.73,-0.96,-1.21,-1.69,-2.26,-2.84,-3.59,-4.38,-5.17,-5.83,-6.56,-7.32,-8.11,-8.91,-9.69,-10.38,-11.06,-11.72,-12.3,-12.88,-13.39,-13.83,-14.27,-14.56,-14.79,-15.01,-15,-14.95,-14.9,-14.47,-14.04,-13.54,-12.81,-12.07,-11.34,-10.66,-9.98,-9.5,-9.25,-9,-8.87,-8.76,-8.59,-8,-7.28,-6.48,-5.47,-4.42,-3.44,-2.61,-1.79,-1.12,-0.68,-0.26,0.1,0.44,0.77,1.06,1.3,1.53,1.58,1.51,1.45,1.33,1.2,1.08,0.96,0.79,0.61,0.36,-0.01,-0.42,-1.04,-1.73,-2.44,-3.24,-4.05,-4.84,-5.56,-6.28,-6.8,-7.15,-7.5,-7.79,-8.05,-8.31,-8.49,-8.65,-8.81,-9.01,-9.21,-9.34,-9.24,-9.13,-8.94,-8.59,-8.25,-7.89,-7.53,-7.18,-7,-6.87,-6.75,-6.79,-6.88,-6.94,-7,-7.07,-7.1,-7.12,-7.14,-7.17,-7.16,-7.15,-7.12,-7.03,-6.93,-6.81,-6.68,-6.58,-6.51,-6.49,-6.47,-6.54,-6.65,-6.76,-6.81,-6.83,-6.85,-6.73,-6.59,-6.45,-6.32,-6.19,-6.06,-5.92,-5.79,-5.67,-5.58,-5.48,-5.39,-5.3,-5.22,-5.13,-5.04,-4.95,-4.86,-4.77,-4.79,-4.72,-4.66,-4.59,-4.53,-4.47,-4.41,-4.36,-4.31,-4.26,-4.22,-4.16,-4.1,-4.04,-3.95,-3.87,-3.78,-3.69,-3.61,-3.52,-3.44,-3.35,-3.28,-3.21,-3.16,-3.12,-3.08,-3.02,-2.96,-2.9,-2.8,-2.69,-2.56,-2.41,-2.21,-2,-1.8,-1.55,-1.29,-1.04,-0.79,-0.56,-0.32,-0.12,0.07,0.25,0.43,0.58,0.73,0.88,1.03,1.18,1.34,1.5,1.67,1.85,2.02,2.22,2.4,2.59,2.79,2.98,3.17,3.36,3.53,3.71,3.86,4,4.14,4.26,4.34,4.41,4.49,4.54,4.58,4.61,4.63,4.64,4.66,4.68,4.72,4.75,4.78,4.82,4.86,4.9,4.94,4.99,5.03,5.07,5.1,5.13,5.15,5.15,5.15,5.15,5.11,5.08,5.04,4.97,4.89,4.82,4.74,4.67,4.59,4.53,4.48,4.44,4.41,4.4,4.4,4.4,4.4,4.39,4.38,4.36,4.3,4.25,4.19,4.08,3.98,3.88,3.78,3.67,3.57,3.47,3.39,3.3,3.21,3.12,3.03,2.93,2.82,2.72,2.61,2.49,2.38,2.26,2.15,2.03,1.91,1.8,1.68,1.57,1.46,1.37,1.27,1.19,1.13,1.09,1.05,1,0.95,0.91,0.85,0.76,0.67,0.58,0.39,0.2,0.01,-0.21,-0.46,-0.71,-0.96,-1.22,-1.49,-1.76,-2.09,-2.41,-2.73,-3.03,-3.32,-3.61,-3.83,-4.01,-4.18,-4.32,-4.37,-4.43,-4.47,-4.39,-4.32,-4.24,-3.84,-3.32,-2.8,-1.96,-0.77,0.44,1.63,2.75,3.87,4.98,5.35,5.62,5.9,5.65,5.11,4.57,4.02,3.47,2.93,2.36,1.64,0.91,0.18,-0.35,-0.85,-1.35,-1.89,-2.5,-3.1,-3.67,-4.17,-4.68,-5.16,-5.26,-5.34,-5.41,-5.11,-4.68,-4.24,-3.81,-3.42,-3.02,-2.67,-2.48,-2.28,-2.1,-2.15,-2.25,-2.34,-2.6,-2.96,-3.31,-3.64,-3.92,-4.2,-4.48,-4.71,-4.94,-5.18,-5.41,-5.66,-5.9,-6.09,-6.24,-6.38,-6.43,-6.21,-5.99,-5.74,-5.07,-4.37,-3.67,-2.83,-1.94,-1.05,-0.31,0.25,0.81,1.32,1.63,1.93,2.24,2.48,2.72,2.95,3,2.94,2.87,2.65,2.16,1.66,1.15,0.54,-0.07,-0.69,-1.1,-1.46,-1.83,-2.18,-2.51,-2.83,-3.26,-3.96,-4.65,-5.39,-6.56,-7.77,-8.97,-9.95,-10.85,-11.74,-12.24,-12.27,-12.29,-12.2,-11.54,-10.89,-10.23,-9.48,-8.71,-7.94,-7.41,-7.02,-6.62,-6.39,-6.43,-6.48,-6.54,-6.74,-6.94,-7.14,-7.27,-7.38,-7.48,-7.51,-7.48,-7.44,-7.36,-7.17,-6.98,-6.8,-6.65,-6.51,-6.36,-6.24,-6.12,-6.01,-5.94,-5.92,-5.9,-5.89,-5.92,-5.97,-6,-6.01,-6.02,-6.02,-5.99,-5.94,-5.89,-5.83,-5.75,-5.68,-5.61,-5.54,-5.48,-5.41,-5.35,-5.29,-5.23,-5.17,-5.1,-5.04,-4.97,-4.91,-4.85,-5.61,-5.57,-5.52,-5.47,-5.42,-5.35,-5.28,-5.2,-5.12,-5.03,-4.91,-4.79,-4.67,-4.55,-4.4,-4.24,-4.09,-3.94,-3.79,-3.64,-3.49,-3.34,-3.2,-3.07,-2.95,-2.83,-2.7,-2.6,-2.5,-2.4,-2.3,-2.21,-2.12,-2.03,-1.94,-1.85,-1.75,-1.65,-1.55,-1.44,-1.32,-1.2,-1.07,-0.94,-0.79,-0.64,-0.48,-0.32,-0.16,0.01,0.17,0.34,0.5,0.67,0.83,0.98,1.14,1.28,1.4,1.54,1.66,1.77,1.87,1.98,2.08,2.17,2.24,2.33,2.4,2.47,2.54,2.6,2.66,2.71,2.76,2.81,2.85,2.9,2.94,2.97,3.01,3.05,3.08,3.12,3.15,3.19,3.22,3.26,3.3,3.33,3.37,3.41,3.45,3.49,3.53,3.58,3.62,3.67,3.71,3.76,3.81,3.87,3.92,3.97,4.04,4.1,4.16,4.22,4.28,4.33,4.38,4.43,4.46,4.47,4.48,4.48,4.47,4.42,4.37,4.31,4.26,4.16,4.07,3.96,3.87,3.76,3.65,3.54,3.43,3.33,3.23,3.13,3.03,2.93,2.84,2.74,2.65,2.54,2.44,2.33,2.23,2.12,2,1.87,1.75,1.62,1.49,1.34,1.19,1.04,0.89,0.73,0.57,0.42,0.25,0.1,-0.05,-0.21,-0.35,-0.49,-0.61,-0.73,-0.85,-0.95,-1.01,-1.08,-1.15,-1.2,-1.21,-1.21,-1.2,-1.19,-1.11,-0.97,-0.84,-0.71,-0.53,-0.22,0.08,0.38,0.68,0.96,1.25,1.54,1.82,1.86,1.78,1.71,1.64,1.42,0.96,0.5,0.03,-0.42,-0.88,-1.32,-1.77,-2.22,-2.39,-2.46,-2.54,-2.61,-2.6,-2.54,-2.48,-2.42,-2.48,-2.86,-3.25,-3.65,-4.04,-4.53,-5.02,-5.51,-6.01,-6.45,-6.87,-7.25,-7.62,-7.67,-7.3,-6.93,-6.54,-6.17,-5.87,-5.57,-5.3,-5.02,-5.07,-5.18,-5.29,-5.42,-5.62,-5.88,-6.14,-6.4,-6.62,-6.77,-6.92,-7.06,-7.19,-7.01,-6.83,-6.64,-6.44,-6.09,-5.67,-5.25,-4.83,-4.38,-3.92,-3.44,-2.97,-2.51,-2.04,-1.57,-1.09,-0.63,-0.41,-0.24,-0.06,0.11,0.03,-0.2,-0.43,-0.67,-0.98,-1.5,-2.01,-2.52,-3.04,-3.59,-4.15,-4.71,-5.27,-5.68,-6.02,-6.36,-6.7,-6.96,-7.1,-7.23,-7.35,-7.48,-7.53,-7.57,-7.62,-7.66,-7.68,-7.68,-7.68,-7.69,-7.64,-7.56,-7.47,-7.38,-7.28,-7.12,-6.97,-6.82,-6.66,-6.57,-6.47,-6.38,-6.3,-6.3,-6.35,-6.4,-6.45,-6.52,-6.61,-6.7,-6.78,-6.87,-6.89,-6.91,-6.93,-6.95,-6.91,-6.86,-6.82,-6.76,-6.72,-6.67,-6.62,-6.59,-6.58,-6.65,-6.72,-6.79,-6.86,-6.93,-6.99,-7.06,-7.13,-7.16,-7.19,-7.21,-7.22,-7.19,-7.14,-7.08,-7.02,-6.96,-6.88,-6.79,-6.7,-6.61,-6.52,-6.43,-6.34,-6.24,-6.16,-6.08,-5.99,-5.92,-5.84,-5.78,-5.73,-5.67,-6.36,-6.31,-6.25,-6.18,-6.12,-6.06,-5.99,-5.89,-5.8,-5.7,-5.61,-5.52,-5.41,-5.3,-5.18,-5.07,-4.96,-4.85,-4.77,-4.69,-4.61,-4.53,-4.45,-4.39,-4.36,-4.33,-4.29,-4.25,-4.22,-4.19,-4.16,-4.13,-4.09,-4.06,-4.03,-3.96,-3.9,-3.84,-3.79,-3.72,-3.64,-3.53,-3.42,-3.31,-3.2,-3.09,-2.95,-2.81,-2.67,-2.53,-2.39,-2.25,-2.11,-1.96,-1.82,-1.69,-1.54,-1.4,-1.27,-1.13,-0.99,-0.85,-0.71,-0.58,-0.44,-0.31,-0.16,-0.03,0.11,0.25,0.38,0.53,0.67,0.8,0.94,1.08,1.21,1.35,1.48,1.62,1.75,1.88,2,2.14,2.26,2.39,2.51,2.63,2.75,2.86,2.99,3.09,3.19,3.29,3.4,3.5,3.59,3.67,3.76,3.84,3.92,4,4.06,4.11,4.16,4.21,4.26,4.3,4.31,4.32,4.32,4.32,4.33,4.32,4.28,4.24,4.21,4.17,4.14,4.08,4.02,3.97,3.91,3.85,3.8,3.75,3.7,3.65,3.61,3.56,3.53,3.5,3.47,3.44,3.41,3.39,3.35,3.32,3.29,3.26,3.23,3.19,3.13,3.08,3.02,2.96,2.9,2.83,2.74,2.65,2.57,2.49,2.4,2.31,2.22,2.13,2.03,1.94,1.85,1.77,1.68,1.6,1.51,1.43,1.36,1.29,1.22,1.15,1.08,1.01,0.96,0.91,0.86,0.81,0.76,0.73,0.7,0.67,0.65,0.63,0.6,0.61,0.6,0.6,0.61,0.61,0.62,0.64,0.66,0.68,0.7,0.73,0.75,0.79,0.82,0.85,0.89,0.92,0.94,0.97,0.99,1.02,1.04,1.03,0.98,0.94,0.89,0.85,0.8,0.66,0.51,0.36,0.21,0.06,-0.11,-0.3,-0.48,-0.67,-0.86,-1.05,-1.2,-1.33,-1.45,-1.58,-1.71,-1.84,-1.85,-1.86,-1.87,-1.88,-1.9,-1.87,-1.78,-1.7,-1.6,-1.52,-1.42,-1.3,-1.17,-1.04,-0.9,-0.77,-0.64,-0.53,-0.44,-0.33,-0.23,-0.13,-0.07,-0.05,-0.02,0,0.02,0.04,-0.03,-0.11,-0.19,-0.27,-0.35,-0.45,-0.61,-0.76,-0.92,-1.08,-1.24,-1.41,-1.58,-1.75,-1.93,-2.1,-2.28,-2.41,-2.54,-2.67,-2.81,-2.94,-3.05,-3.12,-3.19,-3.26,-3.34,-3.41,-3.46,-3.5,-3.55,-3.59,-3.64,-3.69,-3.74,-3.8,-3.85,-3.9,-3.96,-4.01,-4.07,-4.13,-4.19,-4.25,-4.3,-4.34,-4.37,-4.4,-4.42,-4.46,-4.49,-4.53,-4.56,-4.6,-4.64,-4.67,-4.72,-4.76,-4.81,-4.85,-4.9,-4.94,-4.99,-5.04,-5.09,-5.14,-5.19,-5.27,-5.37,-5.49,-5.6,-5.71,-5.82,-5.92,-6.03,-6.13,-6.24,-6.35,-6.44,-6.51,-6.58,-6.63,-6.7,-6.77,-6.8,-6.81,-6.83,-6.84,-6.86,-6.87,-6.86,-6.84,-6.82,-6.79,-6.78,-6.76,-6.72,-6.69,-6.66,-6.62,-6.6,-6.56,-6.52,-6.48,-6.44,-6.4,-6.39,-6.36,-6.33,-6.31,-6.27,-6.25,-6.21,-6.18,-6.14,-6.1,-6.06,-6.02,-5.97,-5.93,-5.88,-5.83,-5.79,-5.74,-5.68,-5.63,-5.57,-5.51,-5.46,-5.4,-5.34,-5.28,-5.21,-5.15,-5.09,-5.02,-4.94,-4.87,-4.78,-4.71,-4.63,-4.56,-4.47,-4.39,-4.31,-4.23,-4.12,-3.99,-3.86,-3.73,-3.59,-3.46,-3.3,-3.14,-2.98,-2.81,-2.65,-2.49,-2.31,-2.12,-1.94,-1.76,-1.57,-1.39,-1.2,-1.01,-0.82,-0.63,-0.45,-0.27,-0.1,0.07,0.25,0.42,0.59,0.75,0.91,1.07,1.23,1.38,1.52,1.64,1.77,1.9,2.03,2.15,2.25,2.34,2.44,2.54,2.64,2.71,2.77,2.84,2.9,2.96,3.02,3.07,3.1,3.14,3.18,3.22,3.25,3.27,3.29,3.32,3.33,3.36,3.37,3.38,3.39,3.4,3.41,3.43,3.43,3.44,3.45,3.46,3.46,3.47,3.48,3.48,3.49,3.5,3.51,3.52,3.54,3.55,3.57,3.58,3.6,3.63,3.66,3.69,3.71,3.74,3.78,3.82,3.87,3.91,3.95,3.99,4.05,4.11,4.16,4.22,4.28,4.34,4.4,4.47,4.53,4.6,4.66,4.73,4.79,4.86,4.92,4.99,5.05,5.11,5.16,5.22,5.28,5.33,5.38,5.42,5.46,5.5,5.55,5.58,5.61,5.63,5.65,5.67,5.7,5.71,5.72,5.72,5.72,5.72,5.73,5.73,5.72,5.7,5.69,5.68,5.67,5.65,5.63,5.62,5.6,5.58,5.55,5.53,5.5,5.48,5.45,5.43,5.4,5.37,5.33,5.3,5.27,5.24,5.2,5.16,5.12,5.08,5.04,5,4.95,4.9,4.86,4.8,4.76,4.71,4.65,4.59,4.54,4.48,4.42,4.36,4.31,4.24,4.18,4.12,4.06,4,3.94,3.88,3.82,3.76,3.7,3.64,3.59,3.53,3.47,3.41,3.36,3.3,3.24,3.19,3.14,3.07,3.02,2.96,2.91,2.85,2.79,2.73,2.67,2.61,2.54,2.48,2.41,2.34,2.27,2.2,2.13,2.06,1.97,1.89,1.81,1.73,1.64,1.56,1.47,1.37,1.28,1.19,1.09,0.99,0.89,0.79,0.68,0.58,0.47,0.36,0.25,0.14,0.03,-0.09,-0.2,-0.32,-0.44,-0.56,-0.67,-0.79,-0.92,-1.04,-1.16,-1.29,-1.41,-1.53,-1.65,-1.78,-1.91,-2.03,-2.15,-2.27,-2.4,-2.52,-2.64,-2.76,-2.88,-3,-3.11,-3.23,-3.34,-3.46,-3.57,-3.68,-3.78,-3.88,-3.99,-4.09,-4.2,-4.29,-4.38,-4.48,-4.57,-4.66,-4.75,-4.83,-4.91,-4.99,-5.08,-5.15,-5.23,-5.3,-5.37,-5.44,-5.51,-5.58,-5.63,-5.7,-5.76,-5.82,-5.88,-5.93,-5.98,-6.02,-6.08,-6.12,-6.17,-6.2,-6.23,-6.27,-6.3,-6.33,-6.35,-6.38,-6.39,-6.41,-6.43,-6.45,-6.45,-6.46,-6.47,-6.47,-6.48,-6.47,-6.45,-6.44,-6.42,-6.4,-5.72,-5.71,-5.69,-5.68,-5.66,-5.64,-5.62,-5.6,-5.58,-5.55,-5.52,-5.5,-5.47,-5.43,-5.4,-5.36,-5.33,-5.29,-5.25,-5.21,-5.16,-5.12,-5.07,-5.02,-4.98,-4.92,-4.87,-4.82,-4.76,-4.71,-4.65,-4.59,-4.53,-4.46,-4.4,-4.33,-4.27,-4.2,-4.13,-4.06,-3.99,-3.92,-3.84,-3.77,-3.69,-3.61,-3.53,-3.45,-3.37,-3.29,-3.21,-3.13,-3.04,-2.96,-2.87,-2.78,-2.69,-2.6,-2.51,-2.42,-2.33,-2.24,-2.15,-2.05,-1.96,-1.87,-1.77,-1.67,-1.58,-1.48,-1.38,-1.29,-1.19,-1.09,-0.99,-0.89,-0.79,-0.69,-0.59,-0.49,-0.39,-0.29,-0.19,-0.09,0.01,0.11,0.21,0.31,0.41,0.51,0.61,0.71,0.81,0.91,1.01,1.1,1.2,1.3,1.4,1.49,1.59,1.69,1.78,1.88,1.97,2.07,2.16,2.25,2.34,2.44,2.53,2.62,2.71,2.79,2.88,2.97,3.05,3.14,3.22,3.3,3.39,3.47,3.55,3.62,3.7,3.78,3.85,3.93,4,4.07,4.14,4.21,4.28,4.34,4.41,4.47,4.53,4.6,4.66,4.71,4.77,4.83,4.88,4.93,4.98,5.03,5.08,5.13,5.17,5.21,5.26,5.29,5.33,5.37,5.4,5.44,5.47,5.5,5.53,5.56,5.58,5.6,5.63,5.64,5.66,5.68,5.69,5.71,5.72,5.73,5.74,5.74,5.75,5.75,5.75,5.75,5.75,5.74,5.73,5.73,5.72,5.71,5.69,5.68,5.66,5.64,5.62,5.6,5.58,5.55,5.52,5.5,5.47,5.43,5.4,5.36,5.33,5.29,5.25,5.21,5.16,5.12,5.07,5.02,4.98,4.92,4.87,4.82,4.76,4.71,4.65,4.59,4.53,4.46,4.4,4.33,4.27,4.2,4.13,4.06,3.99,3.92,3.84,3.77,3.69,3.61,3.53,3.45,3.37,3.29,3.21,3.13,3.04,2.96,2.87,2.78,2.69,2.6,2.51,2.42,2.33,2.24,2.15,2.05,1.96,1.87,1.77,1.67,1.58,1.48,1.38,1.29,1.19,1.09,0.99,0.89,0.79,0.69,0.59,0.49,0.39,0.29,0.19,0.09,-0.01,-0.11,-0.21,-0.31,-0.41,-0.51,-0.61,-0.71,-0.81,-0.91,-1.01,-1.1,-1.2,-1.3,-1.4,-1.49,-1.59,-1.69,-1.78,-1.88,-1.97,-2.07,-2.16,-2.25,-2.34,-2.44,-2.53,-2.62,-2.71,-2.79,-2.88,-2.97,-3.05,-3.14,-3.22,-3.3,-3.39,-3.47,-3.55,-3.62,-3.7,-3.78,-3.85,-3.93,-4,-4.07,-4.14,-4.21,-4.28,-4.34,-4.41,-4.47,-4.53,-4.6,-4.66,-4.71,-4.77,-4.83,-4.88,-4.93,-4.98,-5.03,-5.08,-5.13,-5.17,-5.21,-5.26,-5.29,-5.33,-5.37,-5.4,-5.44,-5.47,-5.5,-5.53,-5.56,-5.58,-5.6,-5.63,-5.64,-5.66,-5.68,-5.69,-5.71,-5.72,-5.73,-5.74,-5.74,-5.75,-5.75,-5.75,-5.75,-5.75,-5.74,-5.73,-5.73]},{"header":{"discipline":0,"disciplineName":"Meteorological products","gribEdition":2,"gribLength":73503,"center":7,"centerName":"US National Weather Service - NCEP(WMC)","subcenter":2,"refTime":"2018-06-25T00:00:00.000Z","significanceOfRT":1,"significanceOfRTName":"Start of forecast","productStatus":0,"productStatusName":"Operational products","productType":3,"productTypeName":"Control Forecast products","productDefinitionTemplate":1,"productDefinitionTemplateName":"Individual ensemble forecast at a point in time","parameterCategory":2,"parameterCategoryName":"Momentum","parameterNumber":3,"parameterNumberName":"V-component_of_wind","parameterUnit":"m.s-1","genProcessType":4,"genProcessTypeName":"Ensemble Forecast","forecastTime":0,"surface1Type":103,"surface1TypeName":"Specified height level above ground","surface1Value":10,"surface2Type":255,"surface2TypeName":"Missing","surface2Value":0,"gridDefinitionTemplate":0,"gridDefinitionTemplateName":"Latitude_Longitude","numberPoints":65160,"shape":6,"shapeName":"Earth spherical with radius of 6,371,229.0 m","gridUnits":"degrees","resolution":48,"winds":"true","scanMode":0,"nx":360,"ny":181,"basicAngle":0,"subDivisions":0,"lo1":0,"la1":90,"lo2":359,"la2":-90,"dx":1,"dy":1},"data":[3.39,3.49,3.58,3.68,3.78,3.87,3.97,4.06,4.15,4.24,4.33,4.42,4.51,4.59,4.68,4.76,4.84,4.92,5,5.08,5.15,5.22,5.3,5.37,5.43,5.5,5.57,5.63,5.69,5.75,5.81,5.87,5.92,5.97,6.03,6.08,6.12,6.17,6.21,6.25,6.29,6.33,6.37,6.4,6.43,6.46,6.49,6.52,6.54,6.57,6.59,6.6,6.62,6.64,6.65,6.66,6.67,6.67,6.68,6.68,6.68,6.68,6.67,6.67,6.66,6.65,6.64,6.62,6.61,6.59,6.57,6.55,6.52,6.49,6.47,6.44,6.4,6.37,6.33,6.3,6.26,6.22,6.17,6.13,6.08,6.03,5.98,5.93,5.87,5.81,5.76,5.7,5.63,5.57,5.51,5.44,5.37,5.3,5.23,5.16,5.08,5,4.93,4.85,4.77,4.68,4.6,4.51,4.43,4.34,4.25,4.16,4.07,3.98,3.88,3.79,3.69,3.59,3.49,3.39,3.29,3.19,3.09,2.98,2.88,2.77,2.67,2.56,2.45,2.34,2.23,2.12,2.01,1.9,1.79,1.68,1.56,1.45,1.34,1.22,1.11,0.99,0.88,0.76,0.64,0.53,0.41,0.3,0.18,0.06,-0.05,-0.17,-0.29,-0.4,-0.52,-0.64,-0.75,-0.87,-0.98,-1.1,-1.21,-1.33,-1.44,-1.56,-1.67,-1.78,-1.89,-2,-2.12,-2.23,-2.34,-2.44,-2.55,-2.66,-2.77,-2.87,-2.98,-3.08,-3.18,-3.29,-3.39,-3.49,-3.58,-3.68,-3.78,-3.87,-3.97,-4.06,-4.15,-4.24,-4.33,-4.42,-4.51,-4.59,-4.68,-4.76,-4.84,-4.92,-5,-5.08,-5.15,-5.22,-5.3,-5.37,-5.43,-5.5,-5.57,-5.63,-5.69,-5.75,-5.81,-5.87,-5.92,-5.97,-6.03,-6.08,-6.12,-6.17,-6.21,-6.25,-6.29,-6.33,-6.37,-6.4,-6.43,-6.46,-6.49,-6.52,-6.54,-6.57,-6.59,-6.6,-6.62,-6.64,-6.65,-6.66,-6.67,-6.67,-6.68,-6.68,-6.68,-6.68,-6.67,-6.67,-6.66,-6.65,-6.64,-6.62,-6.61,-6.59,-6.57,-6.55,-6.52,-6.49,-6.47,-6.44,-6.4,-6.37,-6.33,-6.3,-6.26,-6.22,-6.17,-6.13,-6.08,-6.03,-5.98,-5.93,-5.87,-5.81,-5.76,-5.7,-5.63,-5.57,-5.51,-5.44,-5.37,-5.3,-5.23,-5.16,-5.08,-5,-4.93,-4.85,-4.77,-4.68,-4.6,-4.51,-4.43,-4.34,-4.25,-4.16,-4.07,-3.98,-3.88,-3.79,-3.69,-3.59,-3.49,-3.39,-3.29,-3.19,-3.09,-2.98,-2.88,-2.77,-2.67,-2.56,-2.45,-2.34,-2.23,-2.12,-2.01,-1.9,-1.79,-1.68,-1.56,-1.45,-1.34,-1.22,-1.11,-0.99,-0.88,-0.76,-0.64,-0.53,-0.41,-0.3,-0.18,-0.06,0.05,0.17,0.29,0.4,0.52,0.64,0.75,0.87,0.98,1.1,1.21,1.33,1.44,1.56,1.67,1.78,1.89,2,2.12,2.23,2.34,2.44,2.55,2.66,2.77,2.87,2.98,3.08,3.18,3.29,2.83,2.92,3.01,3.1,3.19,3.28,3.37,3.46,3.54,3.63,3.72,3.8,3.89,3.97,4.06,4.15,4.23,4.31,4.39,4.47,4.56,4.63,4.71,4.79,4.87,4.94,5.02,5.09,5.17,5.24,5.3,5.38,5.44,5.51,5.58,5.64,5.7,5.76,5.82,5.88,5.94,5.99,6.04,6.1,6.15,6.21,6.24,6.29,6.33,6.37,6.42,6.46,6.49,6.52,6.55,6.58,6.61,6.64,6.66,6.68,6.7,6.72,6.74,6.74,6.76,6.76,6.77,6.78,6.78,6.77,6.77,6.77,6.76,6.76,6.74,6.72,6.7,6.68,6.66,6.64,6.61,6.57,6.54,6.51,6.48,6.44,6.39,6.34,6.3,6.25,6.2,6.14,6.08,6.02,5.96,5.9,5.83,5.76,5.68,5.61,5.54,5.46,5.38,5.29,5.2,5.11,5.03,4.94,4.84,4.74,4.65,4.55,4.45,4.35,4.24,4.13,4.02,3.91,3.8,3.69,3.57,3.45,3.34,3.22,3.09,2.97,2.85,2.72,2.6,2.48,2.35,2.22,2.09,1.97,1.83,1.71,1.57,1.44,1.31,1.17,1.04,0.91,0.78,0.64,0.51,0.38,0.25,0.11,-0.02,-0.16,-0.29,-0.42,-0.56,-0.69,-0.82,-0.95,-1.08,-1.21,-1.34,-1.47,-1.6,-1.73,-1.85,-1.98,-2.1,-2.23,-2.35,-2.48,-2.6,-2.72,-2.84,-2.95,-3.07,-3.19,-3.3,-3.42,-3.53,-3.64,-3.75,-3.86,-3.98,-4.07,-4.18,-4.28,-4.38,-4.49,-4.58,-4.68,-4.77,-4.86,-4.96,-5.05,-5.13,-5.21,-5.3,-5.38,-5.46,-5.54,-5.61,-5.68,-5.75,-5.82,-5.89,-5.97,-6.04,-6.12,-6.19,-6.27,-6.35,-6.39,-6.44,-6.48,-6.53,-6.58,-6.62,-6.63,-6.65,-6.67,-6.69,-6.7,-6.72,-6.74,-6.77,-6.79,-6.81,-6.83,-6.84,-6.85,-6.85,-6.86,-6.87,-6.88,-6.87,-6.87,-6.87,-6.87,-6.86,-6.85,-6.83,-6.82,-6.8,-6.79,-6.77,-6.74,-6.71,-6.69,-6.66,-6.63,-6.6,-6.56,-6.52,-6.48,-6.44,-6.4,-6.35,-6.31,-6.25,-6.2,-6.15,-6.1,-6.04,-5.98,-5.92,-5.86,-5.8,-5.74,-5.67,-5.6,-5.53,-5.46,-5.39,-5.32,-5.24,-5.17,-5.09,-5.01,-4.94,-4.85,-4.77,-4.69,-4.6,-4.52,-4.44,-4.35,-4.27,-4.18,-4.09,-4,-3.91,-3.82,-3.73,-3.64,-3.54,-3.45,-3.36,-3.27,-3.18,-3.08,-2.99,-2.9,-2.8,-2.71,-2.61,-2.52,-2.42,-2.33,-2.24,-2.14,-2.04,-1.95,-1.85,-1.75,-1.66,-1.56,-1.47,-1.37,-1.28,-1.18,-1.08,-0.99,-0.89,-0.8,-0.7,-0.6,-0.51,-0.42,-0.32,-0.22,-0.13,-0.03,0.06,0.15,0.26,0.35,0.44,0.53,0.63,0.72,0.82,0.91,1,1.09,1.19,1.28,1.37,1.46,1.56,1.65,1.74,1.83,1.93,2.02,2.11,2.2,2.29,2.38,2.47,2.56,2.65,2.74,2.46,2.56,2.67,2.76,2.87,2.97,3.06,3.15,3.24,3.32,3.41,3.5,3.56,3.63,3.68,3.75,3.81,3.87,3.94,4,4.07,4.13,4.2,4.27,4.35,4.42,4.5,4.57,4.65,4.72,4.81,4.88,4.96,5.04,5.13,5.2,5.28,5.37,5.45,5.53,5.62,5.71,5.81,5.9,6,6.1,6.13,6.17,6.2,6.23,6.27,6.33,6.41,6.49,6.57,6.66,6.73,6.78,6.8,6.82,6.84,6.86,6.88,6.88,6.88,6.88,6.88,6.89,6.89,6.9,6.91,6.93,6.93,6.95,6.95,6.94,6.94,6.94,6.93,6.92,6.9,6.88,6.86,6.84,6.82,6.79,6.75,6.71,6.67,6.63,6.59,6.53,6.47,6.41,6.35,6.3,6.23,6.15,6.07,6,5.92,5.84,5.75,5.65,5.56,5.46,5.37,5.27,5.16,5.04,4.93,4.82,4.7,4.58,4.46,4.33,4.2,4.07,3.95,3.81,3.67,3.53,3.39,3.25,3.11,2.96,2.81,2.66,2.52,2.36,2.21,2.06,1.91,1.75,1.6,1.45,1.3,1.14,0.98,0.83,0.68,0.53,0.37,0.22,0.06,-0.09,-0.24,-0.39,-0.54,-0.69,-0.83,-0.98,-1.14,-1.28,-1.42,-1.56,-1.7,-1.85,-1.99,-2.12,-2.25,-2.39,-2.52,-2.65,-2.78,-2.9,-3.03,-3.15,-3.27,-3.39,-3.5,-3.62,-3.73,-3.84,-3.95,-4.06,-4.16,-4.26,-4.36,-4.47,-4.56,-4.66,-4.75,-4.84,-4.93,-5.02,-5.12,-5.19,-5.27,-5.35,-5.44,-5.51,-5.59,-5.65,-5.72,-5.79,-5.85,-5.92,-5.97,-6.02,-6.08,-6.13,-6.18,-6.23,-6.26,-6.31,-6.34,-6.38,-6.42,-6.45,-6.48,-6.5,-6.54,-6.56,-6.59,-6.61,-6.64,-6.66,-6.68,-6.7,-6.72,-6.73,-6.75,-6.76,-6.77,-6.79,-6.8,-6.8,-6.81,-6.82,-6.82,-6.82,-6.82,-6.81,-6.81,-6.81,-6.8,-6.78,-6.77,-6.75,-6.73,-6.71,-6.69,-6.65,-6.62,-6.58,-6.55,-6.51,-6.48,-6.45,-6.43,-6.4,-6.37,-6.34,-6.26,-6.18,-6.09,-6.01,-5.93,-5.85,-5.78,-5.71,-5.65,-5.58,-5.52,-5.45,-5.37,-5.3,-5.23,-5.16,-5.09,-4.97,-4.86,-4.75,-4.64,-4.52,-4.42,-4.32,-4.23,-4.13,-4.04,-3.94,-3.85,-3.75,-3.65,-3.56,-3.46,-3.36,-3.26,-3.17,-3.07,-2.98,-2.88,-2.78,-2.68,-2.58,-2.48,-2.39,-2.29,-2.19,-2.09,-1.99,-1.89,-1.79,-1.69,-1.59,-1.49,-1.4,-1.3,-1.2,-1.11,-1.02,-0.93,-0.84,-0.75,-0.66,-0.58,-0.5,-0.42,-0.34,-0.27,-0.19,-0.13,-0.06,0.01,0.07,0.14,0.2,0.26,0.32,0.38,0.44,0.5,0.57,0.62,0.69,0.75,0.81,0.88,0.94,1,1.07,1.14,1.2,1.26,1.34,1.41,1.48,1.54,1.62,1.69,1.76,1.83,1.9,1.98,2.05,2.13,2.22,2.3,2.38,2.61,2.65,2.69,2.73,2.78,2.82,2.87,2.93,2.98,3.04,3.12,3.2,3.28,3.37,3.48,3.59,3.7,3.81,3.92,4.02,4.13,4.24,4.33,4.39,4.47,4.54,4.6,4.63,4.66,4.68,4.71,4.69,4.67,4.66,4.65,4.7,4.76,4.83,4.89,4.96,5.04,5.12,5.21,5.29,5.37,5.45,5.52,5.6,5.67,5.72,5.79,5.86,5.92,5.98,6.03,6.09,6.13,6.17,6.21,6.25,6.29,6.32,6.35,6.39,6.42,6.45,6.48,6.52,6.55,6.59,6.66,6.72,6.78,6.84,6.86,6.87,6.89,6.91,6.91,6.92,6.92,6.92,6.9,6.85,6.8,6.74,6.7,6.68,6.65,6.61,6.59,6.54,6.49,6.44,6.39,6.35,6.31,6.27,6.22,6.15,6.02,5.89,5.76,5.63,5.53,5.41,5.3,5.2,5.07,4.95,4.83,4.71,4.58,4.44,4.32,4.18,4.05,3.9,3.76,3.62,3.47,3.32,3.17,3.02,2.87,2.71,2.56,2.4,2.24,2.08,1.92,1.76,1.59,1.43,1.25,1.06,0.89,0.71,0.55,0.39,0.23,0.07,-0.09,-0.26,-0.42,-0.59,-0.76,-0.92,-1.08,-1.25,-1.41,-1.56,-1.71,-1.86,-2,-2.15,-2.28,-2.42,-2.56,-2.7,-2.83,-2.97,-3.11,-3.23,-3.34,-3.46,-3.58,-3.69,-3.79,-3.89,-3.99,-4.09,-4.19,-4.28,-4.36,-4.45,-4.54,-4.62,-4.71,-4.79,-4.87,-4.95,-5.03,-5.1,-5.17,-5.24,-5.3,-5.36,-5.41,-5.46,-5.49,-5.52,-5.55,-5.57,-5.59,-5.6,-5.6,-5.61,-5.63,-5.64,-5.66,-5.67,-5.68,-5.7,-5.71,-5.72,-5.74,-5.77,-5.81,-5.84,-5.87,-5.9,-5.93,-5.96,-5.99,-6.02,-6.05,-6.07,-6.1,-6.13,-6.15,-6.18,-6.2,-6.22,-6.24,-6.26,-6.28,-6.29,-6.31,-6.32,-6.33,-6.34,-6.36,-6.39,-6.42,-6.44,-6.46,-6.43,-6.4,-6.37,-6.34,-6.26,-6.17,-6.09,-6,-5.94,-5.88,-5.81,-5.75,-5.7,-5.67,-5.62,-5.59,-5.54,-5.46,-5.39,-5.31,-5.22,-5.12,-5.01,-4.9,-4.79,-4.69,-4.59,-4.5,-4.41,-4.32,-4.24,-4.16,-4.07,-3.99,-3.88,-3.76,-3.64,-3.52,-3.4,-3.26,-3.12,-2.99,-2.85,-2.7,-2.55,-2.41,-2.26,-2.11,-1.96,-1.82,-1.67,-1.52,-1.38,-1.24,-1.1,-0.97,-0.85,-0.72,-0.6,-0.49,-0.38,-0.29,-0.19,-0.09,-0.02,0.06,0.13,0.2,0.27,0.33,0.4,0.46,0.53,0.6,0.66,0.72,0.77,0.78,0.78,0.79,0.8,0.8,0.78,0.78,0.77,0.76,0.74,0.72,0.7,0.69,0.69,0.69,0.68,0.68,0.71,0.73,0.76,0.79,0.84,0.9,0.96,1.01,1.08,1.16,1.24,1.32,1.41,1.51,1.62,1.72,1.82,1.9,1.98,2.06,2.13,2.2,2.26,2.31,2.37,2.42,2.47,2.52,2.56,1.75,1.81,1.87,1.93,1.97,2,2.05,2.05,2.01,1.98,1.94,1.95,1.95,1.95,2.03,2.11,2.21,2.28,2.33,2.38,2.46,2.56,2.66,2.77,2.9,3.04,3.17,3.23,3.26,3.3,3.36,3.46,3.56,3.65,3.75,3.83,3.93,4.02,4.11,4.2,4.29,4.37,4.46,4.54,4.61,4.69,4.77,4.89,5.01,5.13,5.15,5.16,5.17,5.21,5.26,5.32,5.38,5.42,5.48,5.52,5.57,5.62,5.67,5.71,5.76,5.81,5.85,5.9,5.94,5.99,6.04,6.08,6.13,6.17,6.22,6.26,6.3,6.33,6.37,6.4,6.42,6.44,6.46,6.47,6.47,6.48,6.47,6.45,6.44,6.42,6.38,6.35,6.31,6.23,6.16,6.1,6.07,6.05,6.02,5.93,5.82,5.72,5.61,5.49,5.36,5.24,5.12,4.99,4.86,4.73,4.59,4.47,4.32,4.17,4.02,3.88,3.74,3.59,3.45,3.29,3.14,2.98,2.82,2.65,2.49,2.32,2.15,1.99,1.82,1.65,1.48,1.31,1.14,0.97,0.79,0.62,0.45,0.28,0.11,-0.06,-0.23,-0.4,-0.57,-0.74,-0.91,-1.11,-1.31,-1.51,-1.67,-1.8,-1.93,-2.08,-2.24,-2.4,-2.55,-2.7,-2.83,-2.98,-3.1,-3.22,-3.33,-3.44,-3.54,-3.64,-3.73,-3.81,-3.88,-3.97,-4.03,-4.09,-4.16,-4.22,-4.28,-4.33,-4.39,-4.44,-4.49,-4.55,-4.61,-4.67,-4.74,-4.8,-4.85,-4.92,-4.97,-5.03,-5.08,-5.12,-5.17,-5.21,-5.27,-5.31,-5.36,-5.41,-5.48,-5.55,-5.62,-5.7,-5.78,-5.85,-5.94,-6.06,-6.17,-6.27,-6.28,-6.28,-6.29,-6.27,-6.24,-6.22,-6.19,-6.15,-6.11,-6.06,-6,-5.93,-5.86,-5.91,-5.95,-6,-6.03,-6.06,-6.08,-6.1,-6.12,-6.15,-6.17,-6.19,-6.22,-6.24,-6.26,-6.27,-6.3,-6.29,-6.26,-6.23,-6.22,-6.23,-6.25,-6.26,-6.26,-6.25,-6.24,-6.22,-6.18,-6.16,-6.12,-6.08,-6.04,-6,-5.95,-5.91,-5.86,-5.8,-5.75,-5.68,-5.62,-5.55,-5.49,-5.42,-5.35,-5.27,-5.19,-5.1,-5.01,-4.92,-4.85,-4.79,-4.73,-4.63,-4.49,-4.36,-4.21,-4.06,-3.91,-3.76,-3.62,-3.48,-3.33,-3.19,-3.05,-2.91,-2.77,-2.65,-2.52,-2.38,-2.24,-2.11,-1.97,-1.83,-1.69,-1.56,-1.42,-1.28,-1.14,-1,-0.87,-0.74,-0.61,-0.49,-0.39,-0.27,-0.17,-0.07,0.03,0.13,0.23,0.33,0.44,0.58,0.73,0.86,0.94,1.02,1.1,1.22,1.33,1.45,1.55,1.63,1.71,1.77,1.78,1.79,1.8,1.73,1.67,1.6,1.5,1.39,1.29,1.18,1.08,0.98,0.89,0.85,0.8,0.76,0.78,0.8,0.83,0.89,0.96,1.03,1.1,1.18,1.25,1.32,1.39,1.45,1.51,1.55,1.57,1.59,1.61,1.61,1.61,1.61,1.66,1.7,0.93,0.92,0.91,0.9,0.89,0.88,0.87,0.88,0.9,0.93,0.99,1.05,1.13,1.23,1.33,1.42,1.53,1.63,1.72,1.8,1.88,1.95,2.02,2.08,2.14,2.22,2.29,2.36,2.43,2.51,2.59,2.67,2.75,2.84,2.94,3.05,3.14,3.23,3.32,3.41,3.5,3.59,3.66,3.73,3.82,3.91,4,4.07,4.15,4.22,4.3,4.38,4.45,4.52,4.59,4.66,4.71,4.78,4.83,4.89,4.94,5,5.05,5.1,5.16,5.23,5.29,5.35,5.42,5.49,5.56,5.64,5.7,5.77,5.84,5.91,5.97,6.04,6.09,6.15,6.2,6.24,6.29,6.32,6.33,6.36,6.38,6.39,6.37,6.34,6.3,6.25,6.22,6.19,6.16,6.08,5.99,5.88,5.76,5.63,5.5,5.38,5.25,5.12,4.98,4.85,4.73,4.6,4.47,4.34,4.2,4.07,3.92,3.78,3.63,3.47,3.31,3.15,2.99,2.81,2.65,2.47,2.29,2.11,1.93,1.76,1.58,1.41,1.25,1.07,0.89,0.71,0.52,0.34,0.15,-0.02,-0.2,-0.38,-0.55,-0.72,-0.89,-1.05,-1.21,-1.36,-1.51,-1.66,-1.8,-1.95,-2.09,-2.23,-2.37,-2.51,-2.64,-2.77,-2.9,-3.02,-3.12,-3.22,-3.3,-3.37,-3.45,-3.54,-3.63,-3.71,-3.7,-3.69,-3.69,-3.71,-3.73,-3.75,-3.77,-3.79,-3.81,-3.83,-3.85,-3.88,-3.91,-3.93,-3.96,-3.99,-4.02,-4.05,-4.08,-4.11,-4.14,-4.16,-4.18,-4.2,-4.22,-4.22,-4.23,-4.23,-4.23,-4.22,-4.22,-4.21,-4.2,-4.19,-4.18,-4.19,-4.18,-4.18,-4.19,-4.19,-4.21,-4.22,-4.24,-4.27,-4.3,-4.34,-4.38,-4.43,-4.5,-4.59,-4.68,-4.74,-4.77,-4.82,-4.81,-4.81,-4.81,-4.83,-4.86,-4.89,-4.93,-4.98,-5.04,-5.13,-5.23,-5.33,-5.45,-5.56,-5.67,-5.77,-5.87,-5.95,-6.02,-6.09,-6.13,-6.16,-6.19,-6.18,-6.16,-6.15,-6.11,-6.08,-6.03,-5.99,-5.93,-5.87,-5.81,-5.75,-5.68,-5.6,-5.52,-5.42,-5.32,-5.2,-5.06,-4.92,-4.76,-4.59,-4.41,-4.24,-4.04,-3.86,-3.68,-3.5,-3.33,-3.18,-3.03,-2.89,-2.78,-2.69,-2.6,-2.54,-2.49,-2.44,-2.39,-2.35,-2.3,-2.22,-2.13,-2.04,-1.9,-1.75,-1.59,-1.41,-1.22,-1.03,-0.82,-0.61,-0.4,-0.17,0.05,0.28,0.51,0.74,0.96,1.18,1.39,1.56,1.72,1.87,1.98,2.08,2.16,2.22,2.27,2.3,2.31,2.32,2.29,2.25,2.2,2.13,2.04,1.94,1.82,1.7,1.6,1.51,1.42,1.36,1.32,1.28,1.24,1.18,1.12,1.05,0.98,0.9,0.83,0.76,0.7,0.65,0.61,0.58,0.55,0.53,0.5,0.48,0.46,0.43,0.41,0.4,0.39,0.4,0.41,0.43,0.47,0.51,0.56,0.63,0.7,0.75,0.8,0.85,0.88,0.9,-0.61,-0.59,-0.58,-0.55,-0.51,-0.46,-0.37,-0.28,-0.17,-0.04,0.08,0.2,0.32,0.43,0.54,0.62,0.71,0.78,0.84,0.9,0.97,1.03,1.1,1.16,1.23,1.31,1.4,1.49,1.59,1.7,1.81,1.92,2.02,2.12,2.21,2.3,2.37,2.44,2.51,2.57,2.63,2.7,2.78,2.87,2.96,3.06,3.17,3.28,3.38,3.49,3.6,3.69,3.78,3.88,3.98,4.07,4.16,4.26,4.35,4.44,4.52,4.6,4.67,4.74,4.8,4.87,4.97,5.09,5.16,5.15,5.14,5.17,5.21,5.25,5.28,5.31,5.38,5.44,5.48,5.48,5.5,5.6,5.7,5.8,5.88,5.97,6.06,6.17,6.29,6.37,6.37,6.3,6.23,6.17,6.14,6.07,5.94,5.78,5.61,5.43,5.25,5.05,4.85,4.65,4.47,4.29,4.13,3.97,3.82,3.68,3.54,3.42,3.3,3.17,3.03,2.88,2.73,2.59,2.42,2.24,2.08,1.92,1.73,1.53,1.32,1.11,0.9,0.69,0.48,0.27,0.06,-0.14,-0.33,-0.52,-0.71,-0.88,-1.05,-1.21,-1.36,-1.51,-1.65,-1.78,-1.9,-2.02,-2.12,-2.23,-2.33,-2.43,-2.52,-2.61,-2.7,-2.79,-2.87,-2.95,-3.03,-3.11,-3.16,-3.22,-3.27,-3.31,-3.35,-3.37,-3.39,-3.41,-3.42,-3.44,-3.45,-3.46,-3.48,-3.49,-3.51,-3.52,-3.54,-3.56,-3.58,-3.61,-3.62,-3.64,-3.65,-3.66,-3.67,-3.67,-3.67,-3.67,-3.66,-3.64,-3.63,-3.62,-3.59,-3.56,-3.54,-3.5,-3.47,-3.42,-3.38,-3.33,-3.29,-3.25,-3.2,-3.16,-3.11,-3.08,-3.05,-3.02,-2.99,-2.97,-2.95,-2.94,-2.92,-2.92,-2.92,-2.93,-2.93,-2.95,-2.97,-2.99,-3.03,-3.07,-3.12,-3.18,-3.25,-3.32,-3.4,-3.48,-3.57,-3.65,-3.75,-3.83,-3.93,-4.04,-4.16,-4.28,-4.41,-4.56,-4.71,-4.86,-5.01,-5.17,-5.3,-5.46,-5.64,-5.76,-5.81,-5.87,-5.9,-5.93,-5.85,-5.74,-5.62,-5.49,-5.34,-5.11,-4.87,-4.66,-4.49,-4.3,-4.09,-3.88,-3.66,-3.44,-3.22,-3.01,-2.8,-2.61,-2.42,-2.23,-2.06,-1.89,-1.72,-1.56,-1.41,-1.25,-1.09,-0.92,-0.73,-0.54,-0.35,-0.17,0.01,0.15,0.28,0.38,0.46,0.53,0.6,0.66,0.74,0.83,0.95,1.09,1.23,1.41,1.59,1.77,1.96,2.14,2.3,2.46,2.61,2.74,2.89,2.99,3.09,3.17,3.22,3.25,3.26,3.25,3.24,3.24,3.23,3.21,3.16,3.08,2.9,2.71,2.42,2.1,1.75,1.4,1.04,0.79,0.57,0.41,0.34,0.27,0.26,0.25,0.24,0.23,0.23,0.23,0.23,0.25,0.25,0.26,0.23,0.2,0.13,0.07,0,-0.07,-0.13,-0.18,-0.23,-0.26,-0.3,-0.34,-0.39,-0.43,-0.47,-0.5,-0.52,-0.55,-0.56,-0.59,-0.6,-0.61,-0.61,-0.61,-1.52,-1.51,-1.48,-1.44,-1.4,-1.3,-1.18,-1.04,-0.89,-0.75,-0.61,-0.48,-0.37,-0.26,-0.17,-0.07,0.03,0.16,0.31,0.46,0.64,0.82,1.01,1.18,1.33,1.45,1.56,1.67,1.76,1.83,1.88,1.95,2.01,2.08,2.12,2.18,2.23,2.25,2.25,2.25,2.26,2.27,2.37,2.46,2.49,2.53,2.62,2.72,2.78,2.83,2.99,3.17,3.29,3.41,3.62,3.84,4,4.14,4.24,4.32,4.41,4.49,4.52,4.5,4.5,4.54,4.57,4.6,4.63,4.65,4.67,4.68,4.67,4.65,4.66,4.69,4.75,4.76,4.76,4.77,4.81,4.87,4.94,5.02,5.08,5.07,5.08,5.27,5.45,5.61,5.77,5.9,6.04,6.16,6.28,6.33,6.35,6.15,5.89,5.65,5.41,5.18,4.93,4.66,4.4,4.14,3.89,3.65,3.42,3.21,3,2.83,2.69,2.58,2.49,2.4,2.32,2.22,2.11,1.97,1.8,1.61,1.38,1.15,0.89,0.64,0.38,0.12,-0.13,-0.37,-0.61,-0.84,-1.05,-1.25,-1.42,-1.6,-1.73,-1.86,-1.97,-2.08,-2.17,-2.25,-2.34,-2.42,-2.51,-2.6,-2.7,-2.79,-2.88,-2.97,-3.06,-3.14,-3.21,-3.28,-3.33,-3.39,-3.45,-3.5,-3.54,-3.59,-3.63,-3.68,-3.72,-3.75,-3.79,-3.85,-3.89,-3.9,-3.92,-3.95,-3.99,-4.02,-4.06,-4.09,-4.12,-4.14,-4.17,-4.19,-4.21,-4.21,-4.21,-4.21,-4.19,-4.17,-4.15,-4.12,-4.09,-4.05,-4.01,-3.96,-3.91,-3.85,-3.78,-3.71,-3.64,-3.57,-3.49,-3.42,-3.35,-3.28,-3.22,-3.16,-3.11,-3.06,-3.01,-2.96,-2.92,-2.87,-2.83,-2.79,-2.75,-2.71,-2.67,-2.63,-2.6,-2.57,-2.55,-2.53,-2.52,-2.51,-2.51,-2.52,-2.54,-2.55,-2.58,-2.61,-2.66,-2.71,-2.77,-2.83,-2.9,-2.97,-3.05,-3.14,-3.22,-3.29,-3.37,-3.45,-3.54,-3.65,-3.79,-3.88,-3.98,-4.08,-4.17,-4.24,-4.31,-4.32,-4.29,-4.24,-4.2,-4.13,-4.03,-3.91,-3.77,-3.63,-3.48,-3.31,-3.14,-2.96,-2.78,-2.59,-2.39,-2.17,-1.96,-1.73,-1.48,-1.2,-0.91,-0.56,-0.22,0.16,0.53,0.83,1.13,1.26,1.38,1.31,1.19,0.96,0.67,0.32,-0.06,-0.41,-0.73,-0.93,-1,-0.89,-0.64,-0.39,-0.18,-0.06,-0.07,-0.16,-0.3,-0.35,-0.25,0.04,0.51,1.09,1.72,2.34,2.81,3.16,3.3,3.36,3.27,3.14,2.96,2.75,2.46,2.16,1.83,1.5,1.25,0.99,0.76,0.54,0.51,0.51,0.58,0.67,0.72,0.76,0.66,0.5,0.23,-0.1,-0.47,-0.84,-1.16,-1.43,-1.57,-1.58,-1.51,-1.35,-1.18,-1.01,-0.92,-0.9,-0.93,-0.99,-1.06,-1.14,-1.21,-1.27,-1.3,-1.32,-1.33,-1.31,-1.3,-1.29,-1.28,-1.29,-1.31,-1.33,-1.37,-1.4,-1.44,-1.48,-2.17,-2.17,-2.17,-2.11,-2.06,-1.97,-1.87,-1.75,-1.62,-1.48,-1.34,-1.18,-1,-0.81,-0.66,-0.52,-0.3,-0.1,0.11,0.32,0.56,0.8,1.06,1.33,1.59,1.84,2.09,2.34,2.6,2.85,3.11,3.34,3.56,3.75,3.91,4.02,4.08,4.08,4.05,3.98,3.92,3.87,3.93,4.02,4.22,4.42,4.55,4.66,4.64,4.59,4.46,4.31,4.15,4.04,3.99,4.08,4.24,4.48,4.74,4.9,5.04,4.98,4.92,4.9,4.89,4.87,4.87,4.88,4.88,4.88,4.88,4.88,4.86,4.84,4.79,4.74,4.68,4.63,4.66,4.7,4.81,4.93,5.08,5.2,5.31,5.34,5.34,5.22,5.08,4.84,4.59,4.51,4.49,4.81,5.19,5.72,6.13,6.33,6.29,6.02,5.68,5.3,5.03,4.8,4.58,4.36,4.08,3.79,3.48,3.18,2.9,2.64,2.37,2.12,1.88,1.69,1.54,1.44,1.36,1.26,1.16,1,0.82,0.6,0.37,0.12,-0.12,-0.35,-0.59,-0.81,-1.03,-1.24,-1.43,-1.6,-1.75,-1.9,-2.02,-2.12,-2.23,-2.33,-2.42,-2.51,-2.59,-2.67,-2.73,-2.8,-2.85,-2.91,-2.97,-3.02,-3.07,-3.12,-3.17,-3.21,-3.26,-3.31,-3.37,-3.45,-3.52,-3.6,-3.66,-3.72,-3.79,-3.86,-3.9,-3.94,-4.01,-4.09,-4.17,-4.24,-4.31,-4.37,-4.42,-4.46,-4.5,-4.53,-4.55,-4.56,-4.56,-4.58,-4.6,-4.54,-4.49,-4.45,-4.41,-4.35,-4.28,-4.21,-4.13,-4.05,-3.95,-3.86,-3.76,-3.67,-3.58,-3.49,-3.4,-3.31,-3.23,-3.14,-3.07,-2.99,-2.91,-2.83,-2.76,-2.7,-2.62,-2.57,-2.52,-2.47,-2.42,-2.38,-2.35,-2.3,-2.27,-2.24,-2.21,-2.19,-2.17,-2.17,-2.18,-2.19,-2.21,-2.24,-2.26,-2.29,-2.31,-2.32,-2.34,-2.35,-2.35,-2.36,-2.36,-2.36,-2.37,-2.38,-2.41,-2.45,-2.49,-2.56,-2.63,-2.71,-2.79,-2.87,-2.95,-3.02,-3.08,-3.12,-3.15,-3.16,-3.17,-3.17,-3.16,-3.15,-3.12,-3.09,-3.03,-2.96,-2.86,-2.75,-2.62,-2.49,-2.32,-2.13,-1.92,-1.63,-1.3,-0.9,-0.48,-0.12,0.24,0.38,0.49,0.39,0.24,-0.09,-0.4,-0.67,-0.67,-0.4,-0.03,0.41,0.82,1.23,1.35,1.42,1.29,1.17,1.16,1.15,1.16,1.21,1.34,1.54,1.77,1.96,2.11,2.3,2.52,2.72,2.91,2.8,2.66,2.34,2.07,1.91,1.81,1.81,1.87,1.99,1.93,1.77,1.51,1.22,1.28,1.39,1.91,2.41,2.83,3.05,2.67,2.1,1.21,0.42,-0.28,-0.74,-1.06,-1.35,-1.64,-1.89,-2.13,-2.11,-2.08,-1.89,-1.73,-1.62,-1.58,-1.63,-1.68,-1.73,-1.62,-1.42,-1.19,-0.96,-0.95,-0.98,-1.29,-1.6,-1.95,-2.25,-2.39,-2.46,-2.42,-2.36,-2.28,-2.23,-2.19,-2.17,-2.16,-2.17,-3.01,-2.9,-2.81,-2.75,-2.8,-2.9,-3.04,-3.01,-2.76,-2.27,-1.72,-1.08,-0.48,0.09,0.52,0.9,1.15,1.32,1.45,1.58,1.75,2,2.26,2.53,2.71,2.84,2.89,2.91,2.92,2.97,3.06,3.18,3.31,3.44,3.57,3.71,3.86,4.06,4.29,4.53,4.68,4.78,4.65,4.45,4.19,4.07,4.05,4.33,4.66,5.05,5.07,4.95,4.55,3.97,3.31,3.1,3.05,3.23,3.67,4.14,4.23,4.61,5.4,5.63,5.72,5.74,5.74,5.7,5.42,5.19,5.18,5.19,5.2,5.2,5.18,5.14,5.12,5.13,5.16,5.21,5.28,5.33,5.36,5.32,5.29,5.29,5.27,5.27,5.29,5.01,4.57,3.69,2.87,2.19,2.27,2.73,3.86,4.84,5.62,5.6,5.34,4.85,4.44,4.09,3.97,3.87,3.73,3.53,3.31,3.09,2.88,2.69,2.48,2.26,1.96,1.65,1.31,1.01,0.73,0.53,0.38,0.26,0.15,0.05,-0.07,-0.21,-0.36,-0.54,-0.73,-0.95,-1.16,-1.38,-1.61,-1.82,-2.01,-2.18,-2.33,-2.44,-2.55,-2.63,-2.7,-2.75,-2.79,-2.83,-2.87,-2.91,-2.94,-2.98,-3.01,-3.05,-3.09,-3.12,-3.16,-3.2,-3.25,-3.31,-3.39,-3.49,-3.59,-3.68,-3.74,-3.8,-3.85,-3.91,-3.98,-4.1,-4.24,-4.39,-4.53,-4.65,-4.75,-4.81,-4.85,-4.87,-4.87,-4.85,-4.82,-4.78,-4.72,-4.65,-4.59,-4.52,-4.44,-4.36,-4.28,-4.2,-4.08,-3.96,-3.83,-3.71,-3.61,-3.49,-3.38,-3.27,-3.16,-3.07,-2.96,-2.86,-2.77,-2.67,-2.59,-2.5,-2.42,-2.34,-2.28,-2.21,-2.16,-2.09,-2.01,-1.96,-1.9,-1.84,-1.81,-1.79,-1.77,-1.75,-1.72,-1.7,-1.69,-1.67,-1.67,-1.66,-1.66,-1.66,-1.67,-1.68,-1.7,-1.72,-1.75,-1.77,-1.82,-1.86,-1.9,-1.94,-1.99,-2.04,-2.09,-2.14,-2.19,-2.24,-2.3,-2.35,-2.42,-2.48,-2.54,-2.61,-2.68,-2.74,-2.8,-2.86,-2.91,-2.94,-2.97,-2.97,-2.97,-2.95,-2.94,-2.92,-2.9,-2.86,-2.83,-2.66,-2.41,-1.91,-1.43,-0.98,-0.97,-1.15,-1.76,-2.27,-2.74,-2.53,-2.15,-1.46,-0.53,0.46,1.32,1.98,2.42,2.19,1.84,1.61,1.31,0.94,0.87,0.83,0.79,0.72,0.66,0.89,1.29,1.97,2.68,3.29,3.33,3.13,2.68,2.62,2.78,3.44,4.06,4.63,4.57,4.34,3.91,3.55,3.25,3.11,2.95,2.74,2.42,2.06,1.75,1.56,1.53,1.68,1.86,1.93,1.8,1.52,0.92,0.25,-0.47,-1.01,-1.42,-1.55,-1.64,-1.71,-1.91,-2.19,-2.57,-2.86,-3.03,-2.77,-2.39,-1.94,-1.74,-1.76,-2.06,-2.39,-2.69,-2.52,-2.06,-1.15,-0.3,0.38,0.37,0.03,-0.97,-1.88,-2.66,-2.96,-3.13,-3.1,-3.08,-3.07,-3.09,-3.11,-3.12,-3.08,-3.11,-3.35,-3.63,-4,-4.54,-4.67,-4.3,-2.5,-0.38,1.92,3.19,3.25,2.12,0.8,0.19,0.32,1.74,2.93,3.76,3.19,2.42,1.57,1.07,0.86,0.92,1.08,1.2,1.3,1.61,1.89,2.12,2.36,2.61,2.88,3.14,3.34,3.51,3.61,3.73,3.88,4.11,4.36,4.6,4.58,4.42,4.14,3.53,3,2.59,2.45,2.45,2.54,2.63,2.65,2.62,2.51,2.27,1.95,1.86,1.79,1.74,1.94,2.27,2.75,3.4,4.07,4.74,5.24,5.62,5.85,5.86,5.81,5.69,5.56,5.43,5.32,5.24,5.15,5.04,4.95,4.86,4.79,4.81,4.82,4.79,4.7,4.56,4.38,4.25,4.07,3.85,3.16,2.19,0.95,-0.17,-0.72,-0.69,0.33,1.54,2.87,3.52,3.88,3.97,3.94,3.82,3.62,3.37,3.11,2.84,2.62,2.41,2.22,2.02,1.82,1.6,1.36,1.11,0.86,0.61,0.38,0.17,0,-0.16,-0.29,-0.42,-0.55,-0.68,-0.85,-1.02,-1.22,-1.43,-1.65,-1.87,-2.08,-2.28,-2.48,-2.66,-2.81,-2.93,-3.03,-3.11,-3.17,-3.24,-3.3,-3.36,-3.42,-3.48,-3.54,-3.6,-3.65,-3.7,-3.73,-3.77,-3.8,-3.85,-3.9,-3.95,-4.02,-4.09,-4.17,-4.22,-4.27,-4.31,-4.34,-4.37,-4.41,-4.46,-4.52,-4.59,-4.63,-4.64,-4.63,-4.63,-4.62,-4.6,-4.55,-4.49,-4.42,-4.34,-4.26,-4.17,-4.06,-3.95,-3.82,-3.69,-3.55,-3.42,-3.28,-3.15,-3.02,-2.89,-2.77,-2.66,-2.54,-2.42,-2.29,-2.14,-2,-1.87,-1.74,-1.61,-1.48,-1.35,-1.23,-1.11,-0.98,-0.86,-0.75,-0.65,-0.56,-0.48,-0.43,-0.39,-0.35,-0.33,-0.33,-0.35,-0.38,-0.42,-0.45,-0.48,-0.5,-0.53,-0.57,-0.64,-0.72,-0.82,-0.91,-1,-1.07,-1.13,-1.18,-1.21,-1.25,-1.29,-1.35,-1.41,-1.48,-1.56,-1.64,-1.73,-1.84,-1.95,-2.06,-2.19,-2.31,-2.44,-2.56,-2.67,-2.77,-2.86,-2.93,-2.99,-3.05,-3.11,-3.18,-3.25,-3.31,-3.38,-3.54,-3.98,-4.67,-5.21,-5.4,-5.22,-4.27,-3.06,-1.7,-1.15,-1.32,-2.17,-2.99,-3.37,-3.29,-2.84,-2.55,-2.47,-2.23,-1.8,-1.16,-0.4,0.26,0.75,0.76,0.78,0.84,1.09,1.37,1.65,1.82,1.95,2.04,2.06,1.95,1.73,1.53,1.52,1.71,2.22,2.79,3.39,3.87,4.11,4.08,3.75,3.38,3.02,2.87,2.81,2.82,2.82,2.82,2.84,2.93,2.99,3,2.72,2.31,1.77,1.31,0.97,0.76,0.64,0.45,0.16,-0.26,-0.67,-1.08,-1.49,-1.96,-2.46,-2.82,-2.88,-2.6,-1.88,-1.29,-0.92,-1.23,-1.54,-1.76,-1.14,-0.29,0.72,1.41,1.68,1.57,0.92,0.29,-0.34,-0.92,-1.44,-1.9,-2.23,-2.49,-2.68,-2.81,-2.91,-2.98,-3.01,-3.05,-3.05,-3.25,-3.46,-3.67,-3.89,-3.81,-3.46,-2.72,-1.38,0.12,1.62,2.05,1.92,1.47,1.17,1.06,0.86,0.47,-0.16,-0.6,-0.82,-0.83,-1.03,-1.32,-1.62,-1.45,-0.9,0.02,0.99,1.71,2.25,2.55,2.86,3.16,3.47,3.74,3.96,4.16,4.34,4.52,4.69,4.83,4.96,5.08,5.2,5.3,5.38,5.43,5.43,5.29,5,4.84,4.62,4.6,4.59,4.5,4.32,4.05,3.71,3.33,2.98,2.8,2.82,3.32,3.95,4.57,5.13,5.66,6,6.16,6.25,6.03,5.68,5.31,4.97,4.7,4.47,4.31,4.09,3.88,3.73,3.6,3.51,3.44,3.39,3.36,3.34,3.36,3.38,3.38,3.34,3.14,2.91,2.73,2.79,2.59,2.22,1.62,0.49,-0.47,-1.1,-0.53,0.54,1.8,2.74,3.11,3.1,2.73,2.3,1.95,1.69,1.52,1.35,1.16,0.96,0.74,0.54,0.32,0.1,-0.12,-0.33,-0.54,-0.73,-0.91,-1.09,-1.27,-1.44,-1.6,-1.75,-1.91,-2.08,-2.23,-2.38,-2.51,-2.64,-2.77,-2.89,-3.01,-3.12,-3.25,-3.37,-3.49,-3.58,-3.66,-3.71,-3.74,-3.77,-3.8,-3.84,-3.89,-3.95,-4.01,-4.08,-4.17,-4.26,-4.35,-4.43,-4.52,-4.58,-4.63,-4.67,-4.69,-4.69,-4.68,-4.66,-4.64,-4.62,-4.6,-4.57,-4.54,-4.5,-4.44,-4.37,-4.32,-4.22,-4.13,-4.04,-3.95,-3.85,-3.76,-3.68,-3.58,-3.48,-3.37,-3.26,-3.16,-3.06,-2.96,-2.86,-2.77,-2.66,-2.57,-2.47,-2.37,-2.24,-2.1,-1.96,-1.8,-1.62,-1.42,-1.21,-0.99,-0.76,-0.54,-0.31,-0.14,0.01,0.11,0.19,0.26,0.33,0.38,0.43,0.46,0.46,0.44,0.41,0.37,0.32,0.26,0.18,0.09,0,-0.1,-0.22,-0.33,-0.45,-0.58,-0.7,-0.83,-0.94,-1.03,-1.1,-1.16,-1.22,-1.29,-1.36,-1.44,-1.52,-1.58,-1.62,-1.64,-1.67,-1.71,-1.77,-1.84,-1.91,-2.01,-2.17,-2.39,-2.61,-2.79,-2.92,-3.01,-3.19,-3.38,-3.61,-3.85,-4.08,-4.23,-4.06,-4.32,-4.6,-4.78,-4.32,-3.27,-2,-0.81,-0.09,0.45,0.87,1.16,1.03,0.5,-0.51,-1.26,-1.69,-1.67,-1.17,-0.68,-0.26,-0.06,-0.07,-0.04,0.4,1.56,2.58,3.17,2.58,1.5,0.19,-0.78,-1.09,-1.08,-0.79,-0.32,0.18,0.67,0.99,1.04,0.91,0.59,0.45,0.47,0.74,1.25,1.88,2.58,3.21,3.64,3.88,3.85,3.71,3.5,3.23,2.89,2.45,1.91,1.4,0.96,0.62,0.36,0.07,-0.34,-0.85,-1.37,-1.85,-2.2,-2.48,-2.71,-2.88,-2.99,-3.04,-3.09,-3.29,-3.75,-4.24,-3.94,-2.75,-1.06,0.69,1.37,1.27,0.56,-0.01,-0.27,-0.31,-0.28,-0.32,-0.46,-0.71,-1.11,-1.54,-1.97,-2.26,-2.42,-2.47,-2.47,-2.58,-2.78,-1.92,-1.79,-1.79,-1.93,-2.22,-2.59,-2.98,-3.34,-3.58,-3.6,-3.21,-2.61,-1.74,-0.59,0.59,0.98,0.59,-0.4,-1.59,-2.12,-1.77,-1.22,-1.02,-1.64,-2.02,-1.57,-0.46,0.82,1.63,1.86,1.87,1.9,2.27,2.87,3.5,4.07,4.51,4.82,5.06,5.25,5.4,5.55,5.72,5.93,6.14,6.38,6.6,6.81,7,7.17,7.3,7.4,7.5,7.58,7.65,7.64,7.38,7.07,6.77,6.08,5.1,4.08,3.25,2.94,3.28,3.81,4.43,5.14,6.27,7.35,7.91,7.62,6.23,5.08,4.43,4.07,3.8,3.49,3.17,2.92,2.71,2.54,2.34,2.11,1.89,1.72,1.71,1.87,2.11,2.34,2.38,1.81,1.34,1.06,0.96,0.88,0.83,0.77,0.67,0.46,0.11,-0.36,-0.76,-0.94,-0.74,-0.19,0.48,1.13,1.6,1.59,1.34,1,0.71,0.5,0.33,0.12,-0.14,-0.42,-0.7,-0.96,-1.21,-1.43,-1.63,-1.82,-2,-2.17,-2.32,-2.47,-2.59,-2.71,-2.82,-2.92,-3,-3.08,-3.17,-3.3,-3.44,-3.63,-3.7,-3.6,-3.63,-3.68,-3.73,-3.78,-3.82,-3.88,-3.94,-4,-4.07,-4.12,-4.19,-4.28,-4.38,-4.48,-4.6,-4.72,-4.84,-4.96,-5.05,-5.1,-5.1,-5.07,-5.02,-4.96,-4.89,-4.83,-4.75,-4.68,-4.59,-4.51,-4.42,-4.33,-4.23,-4.08,-3.95,-3.86,-3.81,-3.78,-3.77,-3.74,-3.67,-3.51,-3.35,-3.22,-3.15,-3.16,-3.16,-3.13,-3.07,-2.96,-2.81,-2.62,-2.39,-2.13,-1.83,-1.51,-1.17,-0.84,-0.53,-0.26,-0.04,0.16,0.33,0.5,0.68,0.88,1.07,1.26,1.42,1.55,1.66,1.74,1.75,1.69,1.6,1.5,1.41,1.3,1.19,1.1,1.01,0.88,0.75,0.61,0.45,0.28,0.11,-0.04,-0.18,-0.3,-0.42,-0.54,-0.67,-0.81,-0.99,-1.17,-1.44,-1.7,-1.9,-1.98,-1.98,-2,-2.09,-2.26,-2.37,-2.52,-2.64,-2.75,-2.97,-3.4,-3.29,-2.86,-2.72,-2.8,-3.03,-3.3,-3.53,-3.68,-3.98,-4.2,-4.26,-4.14,-4.04,-4.17,-4.28,-4.22,-3.88,-2.99,-1.84,-0.65,0.4,0.58,0.15,-0.43,-0.75,-0.34,0.39,0.89,1.05,0.82,0.2,-0.38,-0.68,-0.42,0.94,2.48,2.92,2.15,0.52,-0.37,-0.21,0.45,1.2,1.58,1.9,2.24,2.54,2.63,2.6,2.85,3.12,3.26,3.44,3.35,3.13,2.87,2.69,2.74,2.91,3.06,3.14,3.12,3.09,3.02,2.86,2.58,2.15,1.69,1.23,0.77,0.32,-0.1,-0.46,-0.79,-1.09,-1.4,-1.7,-1.94,-2.1,-2.16,-2.19,-2.3,-2.57,-3.15,-4.05,-4.64,-4.4,-3.11,-0.97,0.53,1.25,1.28,0.82,0.49,0.34,0.33,0.41,0.45,0.32,0.08,-0.26,-0.65,-1.04,-1.38,-1.64,-1.8,-1.88,-1.96,-1.97,-1.94,-0.07,0.15,0.19,0.06,-0.22,-0.57,-0.85,-1.04,-1.29,-1.52,-1.63,-1.86,-2.34,-2.86,-3.13,-2.47,-1.09,-0.25,-0.29,-1,-1.91,-2.3,-2.29,-2,-1.33,-0.37,0.64,1.38,1.66,1.69,1.66,1.74,1.99,2.43,3.01,3.59,4.13,4.64,5.12,5.54,5.88,6.12,6.31,6.43,6.53,6.62,6.73,6.87,7.03,7.21,7.4,7.55,7.68,7.81,7.95,8.06,7.96,7.64,7.08,6.17,4.83,3.11,1.66,1.54,3.2,5.26,6.45,6.3,5.6,6.46,7.55,7.06,5.51,4.16,3.45,3.04,2.65,2.21,1.78,1.37,0.99,0.62,0.28,0.05,-0.05,-0.06,-0.1,-0.24,-0.43,-0.62,-0.75,-0.81,-0.87,-0.97,-1.12,-1.33,-1.65,-2.05,-2.35,-2.08,-1.21,0.19,1.42,1.56,1.16,0.47,0.02,-0.08,0.33,1.14,1.81,1.89,0.97,0.19,-0.35,-0.7,-0.95,-1.18,-1.48,-1.8,-2.1,-2.37,-2.54,-2.65,-2.86,-3.21,-3.42,-3.58,-3.72,-3.84,-3.96,-4.1,-4.11,-4.08,-4.03,-4.04,-4.09,-4.1,-4.1,-4.22,-4.35,-4.43,-4.48,-4.54,-4.59,-4.57,-4.52,-4.25,-4.19,-4.27,-4.4,-4.53,-4.63,-4.7,-4.76,-4.84,-4.94,-5.04,-5.11,-5.13,-5.12,-5.09,-5.05,-4.99,-4.86,-4.68,-4.57,-4.44,-4.29,-4.2,-4.09,-3.96,-3.89,-3.79,-3.68,-3.58,-3.5,-3.42,-3.35,-3.25,-3.15,-3.09,-3.06,-3.04,-3.02,-2.96,-2.87,-2.73,-2.57,-2.41,-2.22,-2.01,-1.76,-1.47,-1.19,-0.93,-0.71,-0.49,-0.25,0.04,0.37,0.74,1.14,1.52,1.87,2.17,2.41,2.6,2.75,2.86,2.98,3.02,3,2.93,2.79,2.68,2.54,2.38,2.21,2.02,1.83,1.61,1.38,1.15,0.96,0.76,0.56,0.38,0.22,0.08,-0.07,-0.22,-0.37,-0.52,-0.65,-0.78,-0.93,-1.11,-1.39,-1.7,-2.11,-2.62,-3.02,-3.27,-3.15,-3,-2.96,-2.98,-3.02,-3.05,-3.08,-3.12,-3.12,-3.12,-3.14,-3.23,-3.09,-2.93,-2.88,-2.91,-2.98,-3.04,-3.13,-3.41,-3.64,-3.95,-3.75,-3.28,-2.73,-2.11,-1.5,-1.42,-1.8,-2.07,-1.94,-1.52,-1.11,-0.99,-0.76,-0.81,-1.55,-2.9,-3.85,-3.13,-0.67,2.77,4.66,4.73,3.51,1.82,0.44,-0.05,0.22,0.93,1.75,2.44,2.74,2.58,2.2,1.97,1.62,1.38,1.25,1.21,1.22,1.21,1.3,1.43,1.6,1.79,2,2.18,2.23,2.2,2.09,1.95,1.84,1.71,1.5,1.21,0.86,0.52,0.18,-0.16,-0.46,-0.7,-0.77,-0.79,-0.87,-1.01,-1.07,-0.88,-0.55,-0.78,-2.21,-3.49,-3.83,-2.83,-0.88,0.7,1.69,2.09,1.78,1.25,0.86,0.71,0.8,0.81,0.6,0.26,-0.11,-0.46,-0.75,-0.91,-0.95,-0.89,-0.8,-0.71,-0.58,-0.36,1.46,1.54,1.58,1.59,1.52,1.31,0.9,0.32,-0.29,-0.77,-1.11,-1.39,-1.86,-2.42,-2.77,-2.81,-2.58,-1.95,-1.23,-0.83,-0.96,-1.5,-2.17,-2.56,-2.39,-1.74,-0.96,-0.38,-0.06,0.11,0.28,0.55,0.98,1.54,2.23,3.07,4.05,5.08,5.96,6.57,6.99,7.29,7.6,7.88,7.95,8,7.92,7.78,7.66,7.59,7.55,7.56,7.72,8.16,8.79,8.66,7.9,6.96,6.31,5.98,5.75,5.32,4.53,4.47,4.32,4.01,3.34,2.7,2.46,2.64,2.92,2.93,2.63,2.24,1.82,1.36,0.87,0.34,-0.22,-0.77,-1.28,-1.74,-2,-2.14,-2.18,-2.18,-2.12,-1.94,-1.74,-1.75,-1.87,-1.81,-1.25,-0.3,0.49,0.45,-0.26,-0.65,0.17,2.12,4.05,5.02,5.37,5.06,4.02,2.45,0.88,-0.11,0.16,0.65,0.8,0.44,-0.38,-1.4,-2.33,-3.11,-3.8,-3.97,-3.95,-3.8,-3.69,-3.62,-3.61,-3.69,-3.82,-3.98,-4.14,-4.22,-4.17,-4,-3.79,-3.61,-3.57,-3.7,-3.84,-4,-4,-3.95,-3.78,-3.82,-3.9,-3.96,-4.03,-3.75,-3.9,-4.53,-4.76,-4.83,-4.67,-4.58,-4.68,-4.82,-4.89,-4.82,-4.74,-4.73,-4.76,-4.83,-4.9,-4.95,-4.98,-4.97,-4.83,-4.75,-4.75,-4.66,-4.51,-4.3,-4.05,-3.85,-3.68,-3.56,-3.45,-3.32,-3.18,-3.05,-2.97,-2.93,-2.92,-2.94,-2.97,-3,-3.03,-3.04,-3.03,-2.97,-2.87,-2.74,-2.61,-2.42,-2.15,-1.78,-1.37,-0.97,-0.59,-0.22,0.15,0.52,0.88,1.24,1.57,1.87,2.2,2.49,2.72,2.94,3.15,3.35,3.53,3.68,3.8,3.84,3.82,3.75,3.63,3.48,3.33,3.16,3,2.81,2.63,2.42,2.18,1.86,1.46,1.04,0.64,0.28,0.02,-0.12,-0.22,-0.32,-0.43,-0.55,-0.65,-0.73,-0.85,-1.44,-1.88,-2.18,-2.43,-2.55,-2.75,-2.9,-3.2,-3.59,-4.06,-4.34,-4.22,-3.93,-3.92,-4.29,-4.57,-4.06,-3.96,-3.94,-4.36,-4.65,-4.57,-4.56,-4.8,-4.98,-5.03,-4.08,-3.59,-3.34,-3.15,-3.02,-3,-2.99,-2.75,-2.58,-2,-0.73,0.7,1.51,1.35,0.54,-0.24,-0.69,-1.05,-1.73,-2.37,-2.1,-0.81,0.97,2.51,3.38,3.7,3.71,3.11,1.79,0.22,-0.91,-1.19,-0.71,-0.17,-0.15,-0.5,-0.8,-0.81,-0.53,-0.07,0.41,0.86,1.27,1.75,2.17,2.38,2.41,2.44,2.5,2.63,2.81,3.05,3.33,3.45,3.32,2.96,2.47,2.01,1.55,1.06,0.54,0.06,-0.28,-0.53,-0.86,-1.36,-2.07,-2.93,-3.94,-5.01,-5.59,-4.93,-3.29,-1.59,-0.6,-0.24,0.18,1.09,1.96,2.1,1.38,0.76,0.47,0.32,0.16,0.03,0.05,0.24,0.38,0.36,0.3,0.3,0.39,0.57,0.83,1.12,1.32,2.62,2.4,2.19,1.99,1.8,1.65,1.49,1.31,1.07,0.81,0.51,0.16,-0.27,-0.7,-1.06,-1.27,-1.1,-0.88,-0.56,-0.19,0.16,0.41,0.45,0.1,-0.68,-1.53,-1.95,-1.78,-1.11,-0.26,0.4,0.92,1.51,2.31,3.28,4.35,5.48,6.69,7.8,8.61,9.07,9.19,9.15,8.97,8.66,8.23,7.82,7.58,7.48,7.53,7.59,7.7,8.14,8.89,9.14,8.24,6.34,3.87,2.49,1.39,0.21,0,0.7,1.77,2.53,2.82,2.82,2.67,2.41,2.05,1.64,1.23,0.84,0.44,0.02,-0.45,-0.93,-1.4,-1.87,-2.26,-2.66,-3.11,-3.41,-3.5,-3.65,-3.72,-3.17,-1.42,0.92,2.82,3.27,3.18,2.81,2.09,1.24,1.05,2.01,3.66,5.19,5.96,5.91,5.16,4.06,3.38,3.25,3.1,2.87,2.23,1.17,-0.26,-2.03,-4.06,-5.61,-6.29,-6.25,-5.84,-5.25,-4.55,-4.46,-4.57,-4.73,-4.75,-4.7,-4.58,-4.49,-4.34,-4.29,-4.38,-4.55,-4.68,-4.75,-4.82,-4.84,-4.55,-4.43,-4.02,-3.4,-3.03,-3.34,-3.95,-4.2,-3.83,-3.49,-3.82,-4.33,-4.39,-4.3,-4.28,-4.46,-4.83,-4.93,-4.75,-4.79,-4.79,-4.79,-4.8,-4.78,-4.72,-4.6,-4.46,-4.28,-4.05,-3.91,-3.81,-3.69,-3.56,-3.46,-3.35,-3.23,-3.14,-3.1,-3.09,-3.1,-3.11,-3.11,-3.11,-3.14,-3.17,-3.22,-3.28,-3.33,-3.34,-3.31,-3.22,-3.06,-2.81,-2.46,-2.02,-1.52,-1,-0.48,0.02,0.46,0.81,1.14,1.51,1.9,2.29,2.63,2.94,3.22,3.5,3.72,3.82,3.86,3.86,3.88,3.89,3.92,3.95,4.04,4.12,4.18,4.2,4.16,4.07,3.91,3.7,3.46,3.2,2.96,2.75,2.56,2.31,1.92,1.39,0.77,0.24,-0.12,-0.32,-0.41,-0.44,-0.39,-0.36,-0.33,-0.29,-0.28,-0.37,-0.58,-0.94,-1.34,-1.79,-2.32,-2.87,-3.48,-3.54,-3.65,-3.83,-3.77,-3.57,-3.57,-3.82,-3.88,-3.73,-3.39,-3,-3.35,-2.87,-2.75,-2.95,-3.65,-3.94,-3.38,-2.76,-3.09,-4.12,-4.36,-4.23,-4.47,-4.46,-4.52,-4.52,-4.29,-4.16,-4.14,-4.13,-3.27,-1.44,0.35,0.62,-0.56,-2.05,-2.85,-1.99,-0.4,1.1,2.33,2.9,2.97,2.66,2.17,1.66,1.17,0.82,0.63,0.47,0.18,-0.27,-0.76,-1.2,-1.59,-1.8,-1.62,-1.19,-0.79,-0.43,0.15,0.95,1.63,1.98,2.3,2.81,3.4,3.82,4.02,4.06,3.89,3.55,3.13,2.73,2.36,1.95,1.43,0.77,-0.04,-0.96,-1.91,-2.78,-3.43,-3.78,-4.18,-4.75,-5.24,-5.21,-4.45,-3.48,-2.77,-2.25,-1.56,-0.42,1.14,2.64,3.25,2.59,1.69,0.93,0.38,0.04,-0.03,0.19,0.56,0.92,1.27,1.58,1.86,2.15,2.43,2.65,2.79,2.78,1.73,1.61,1.65,1.74,1.82,1.82,1.74,1.62,1.44,1.22,1,0.76,0.52,0.32,0.17,0.07,0.03,0.17,0.48,0.8,0.88,0.65,0.3,0,-0.22,-0.43,-0.67,-0.88,-1,-0.94,-0.66,-0.06,0.86,2.03,3.16,4.05,4.74,5.49,6.43,7.42,8.19,8.55,8.62,8.52,8.34,8.01,7.44,6.94,6.54,6.33,6.47,7.09,8.15,8.64,7.43,4.46,2.29,1.24,1.06,1.54,2.25,2.81,3.04,3.08,2.95,2.68,2.2,1.59,0.95,0.3,-0.31,-0.75,-1.13,-1.43,-1.63,-1.82,-1.99,-2.23,-2.47,-2.73,-2.71,-2.41,-1.96,-1.61,-1.56,-1.67,-1.36,-0.35,0.94,1.85,2.36,3.07,3.83,3.99,3.45,2.55,1.92,1.71,1.55,1.68,1.85,1.83,1.87,1.7,1.26,0.63,-0.15,-1.06,-2.06,-2.87,-3.63,-4.32,-5.15,-5.76,-6.02,-5.14,-4.66,-4.68,-5.11,-5.58,-5.76,-5.68,-5.44,-5.07,-4.65,-4.43,-4.69,-4.91,-4.97,-4.7,-4.41,-4.35,-4.36,-4.28,-4.1,-3.91,-3.89,-3.96,-4,-3.83,-3.4,-3,-2.76,-2.71,-2.64,-2.55,-2.57,-2.79,-3.16,-3.59,-3.91,-4,-3.93,-3.84,-3.79,-3.74,-3.65,-3.54,-3.38,-3.2,-3.08,-2.9,-2.74,-2.62,-2.59,-2.64,-2.73,-2.86,-3.01,-3.12,-3.22,-3.23,-3.23,-3.24,-3.28,-3.33,-3.38,-3.4,-3.38,-3.3,-3.15,-2.92,-2.6,-2.18,-1.64,-0.98,-0.24,0.53,1.25,1.87,2.36,2.79,3.13,3.4,3.61,3.78,3.93,4.06,4.21,4.38,4.52,4.58,4.55,4.43,4.24,4.04,3.88,3.78,3.69,3.69,3.9,4.23,4.53,4.75,4.78,4.65,4.38,4.03,3.66,3.28,2.89,2.48,2.11,1.81,1.55,1.27,0.96,0.65,0.45,0.37,0.35,0.31,0.25,0.19,0.14,0,-0.4,-1.01,-1.76,-2.56,-3.13,-3.45,-3.91,-4.26,-4.08,-3.77,-3.61,-3.42,-2.98,-2.45,-2.03,-1.85,-1.84,-1.97,-2.33,-2.7,-2.86,-2.8,-2.59,-2.34,-2.62,-2.96,-3.27,-3.1,-2.82,-2.87,-2.86,-3.16,-3.51,-3.72,-3.25,-2.54,-2.03,-1.72,-1.44,-0.76,0.24,0.96,1.37,1.28,0.67,0.08,0.4,1.36,2.22,2.3,2.23,2.41,2.86,3.22,2.98,1.97,0.86,-0.09,-0.61,-0.76,-0.73,-0.8,-1.03,-1.36,-1.76,-2.43,-2.99,-2.77,-2.02,-0.89,0.41,1.45,1.73,1.56,1.76,2.57,3.32,3.53,3.32,3.02,2.83,2.79,2.83,2.85,2.78,2.57,2.14,1.38,0.41,-0.53,-1.21,-1.66,-2.07,-2.66,-3.44,-4.2,-4.49,-3.65,-2.04,-0.36,0.29,0.22,0.34,1.18,2.42,3.06,2.81,1.91,0.96,0.35,0.02,-0.11,0.01,0.4,0.93,1.49,2.01,2.39,2.56,2.64,2.62,2.53,2.33,2.03,3.03,3.04,2.99,2.89,2.76,2.63,2.5,2.34,2.11,1.85,1.65,1.53,1.41,1.21,0.96,0.82,0.89,1.16,1.48,1.72,1.8,1.73,1.55,1.3,1.05,0.86,0.74,0.69,0.74,0.9,1.11,1.34,1.56,1.81,2.25,2.92,3.77,4.63,5.36,5.99,6.51,6.75,6.71,6.61,6.55,6.46,6.2,5.65,4.98,4.5,4.71,5.89,7.06,6.41,4.39,3.1,3.47,4.6,4.95,4.29,3.42,2.86,2.61,2.44,2.05,1.28,0.35,-0.53,-1.2,-1.48,-1.65,-1.97,-2.4,-2.86,-2.98,-3.1,-3.33,-3.68,-3.93,-3.69,-2.5,-0.96,-0.08,-0.23,-0.9,-1.43,-1.71,-1.72,-1.23,-0.26,0.67,1.25,1.48,1.41,1.26,1.35,1.55,1.56,1.3,0.94,0.59,0.22,-0.22,-0.85,-1.64,-2.44,-2.94,-3.24,-3.24,-3.66,-4.23,-4.84,-5.5,-6.05,-6.32,-6.29,-6.3,-6.49,-6.71,-7.06,-7.11,-6.63,-6.21,-5.59,-4.5,-4.11,-4.17,-4.27,-4.42,-4.97,-4.97,-4.81,-4.78,-4.81,-4.85,-4.82,-4.6,-4.17,-3.58,-2.87,-2.18,-1.76,-1.63,-1.6,-1.51,-1.42,-1.44,-1.62,-1.88,-2.15,-2.36,-2.45,-2.47,-2.44,-2.39,-2.34,-2.31,-2.29,-2.23,-2.15,-2.08,-2.04,-2.08,-2.14,-2.27,-2.44,-2.59,-2.74,-2.81,-2.83,-2.81,-2.78,-2.74,-2.73,-2.72,-2.73,-2.74,-2.75,-2.74,-2.77,-2.83,-2.68,-2.08,-0.92,0.51,1.87,2.98,3.8,4.36,4.71,4.93,5.06,5.2,5.26,5.39,5.39,5.32,5.22,5.1,4.97,4.81,4.62,4.41,4.18,3.93,3.69,3.53,3.42,3.29,3.21,3.44,3.94,4.35,4.5,4.42,4.2,3.89,3.54,3.17,2.81,2.47,2.18,1.94,1.78,1.64,1.47,1.3,1.13,0.94,0.69,0.34,-0.07,-0.4,-0.62,-0.95,-1.68,-2.43,-2.94,-3.3,-3.67,-4.05,-4.14,-3.65,-3.16,-3.19,-3.92,-4.74,-4.89,-4.53,-3.85,-3.61,-3.41,-3.51,-3.79,-3.83,-3.52,-2.88,-2.84,-3.52,-3.52,-4.06,-4.31,-4.22,-3.56,-3.33,-3.72,-4.37,-4.77,-4.73,-3.32,-1.98,-2.01,-3.43,-4.15,-3.52,-2.49,-1.75,-1.69,-1.32,0.01,1.27,1.46,0.88,0.23,-0.28,-0.23,0.6,1.93,3.02,3.58,3.58,2.88,1.45,-0.14,-1.24,-1.63,-1.56,-1.45,-1.54,-1.78,-2.09,-2.56,-2.99,-2.83,-1.79,-1.24,-1.13,-0.84,-0.16,0.84,2.09,3.13,3.49,3.26,2.96,2.89,2.99,3.15,3.22,3.12,2.93,2.7,2.29,1.54,0.48,-0.73,-1.93,-2.96,-3.89,-4.9,-5.53,-4.73,-2.63,-0.95,-0.09,0.1,0.09,0.51,1.53,2.41,2.34,1.53,0.7,0.06,-0.44,-0.77,-0.92,-0.91,-0.43,0.14,0.56,0.63,0.48,0.42,0.66,1.15,1.71,2.2,2.59,2.87,5.14,4.97,4.73,4.45,4.1,3.71,3.3,2.94,2.67,2.5,2.45,2.43,2.37,2.17,1.89,1.64,1.52,1.54,1.67,1.87,2.1,2.31,2.44,2.52,2.58,2.58,2.47,2.3,2.1,1.95,1.86,1.88,2,2.18,2.35,2.55,2.88,3.29,3.67,3.94,4.13,4.26,4.35,4.35,4.26,4.09,3.78,3.44,3.23,3.09,3.09,3.55,3.72,3.55,3.29,3.08,3.66,4.25,4.24,3.68,2.75,2.05,1.72,1.33,0.58,-0.43,-1.63,-2.68,-2.91,-2.48,-2.28,-2.55,-3.16,-3.88,-4.44,-4.68,-4.66,-3.88,-2.24,-0.88,-0.6,-1.09,-1.57,-1.66,-1.66,-1.54,-1.51,-1.61,-1.65,-1.34,-0.82,-0.42,-0.23,-0.17,-0.08,0,-0.1,-0.54,-1.12,-1.51,-1.77,-2.26,-2.37,-2.4,-1.95,-1.54,-1.48,-1.86,-2.49,-3.36,-3.86,-4.02,-4.35,-4.67,-5.1,-5.35,-5.58,-5.77,-5.97,-6.07,-6.04,-5.3,-4.69,-4.52,-4.44,-4.38,-4.6,-4.59,-4.61,-5.52,-5.03,-4.82,-4.81,-4.86,-4.91,-4.91,-5.13,-5.53,-5.53,-4.68,-2.95,-1.86,-1.59,-1.69,-1.9,-2.04,-2.17,-1.77,-1.51,-1.62,-1.82,-2.04,-2.21,-2.28,-2.24,-2.16,-2.1,-2.03,-2,-2.07,-2.16,-2.21,-2.27,-2.3,-2.33,-2.34,-2.32,-2.26,-2.12,-1.94,-1.72,-1.53,-1.48,-1.63,-1.91,-2.18,-2.41,-2.67,-2.89,-2.96,-2.74,-1.81,-0.11,1.71,3.12,4.45,5.79,6.6,6.76,6.73,6.7,6.57,6.52,6.88,6.31,5.53,5.26,5.03,4.78,4.49,4.22,3.96,3.73,3.29,2.84,2.47,2.26,2.11,1.89,1.78,2.17,2.82,3.19,3.29,3.24,3.1,2.9,2.69,2.49,2.35,2.3,2.33,2.3,2.1,1.73,1.26,0.83,0.41,-0.04,-0.52,-0.95,-1.35,-1.7,-2.06,-2.58,-3.14,-3.64,-3.91,-4.25,-4.57,-3.91,-3.71,-4.35,-4.63,-4.8,-4.66,-4.86,-5.25,-5.51,-5.58,-6.23,-5.78,-5.45,-5.84,-5.19,-4.29,-3.62,-3.47,-3.54,-3.84,-4.78,-4.64,-4.04,-2.5,-1.95,-2.9,-3.65,-3.56,-3.5,-3.24,-2.95,-3.16,-3.67,-4.05,-3.61,-2.64,-1.7,-0.6,0.86,2.14,2.5,1.84,1.72,2.17,2.13,2,2.64,3.32,3.43,3.47,3.49,2.99,2,0.72,-0.39,-1.06,-1.36,-1.54,-1.81,-2.11,-2.46,-2.9,-3.8,-4.13,-3.28,-2.31,-2.1,-1.82,-1.24,-0.63,-0.03,0.75,1.34,1.48,1.63,1.92,2.1,2.01,1.74,1.63,1.63,1.51,1.21,0.81,0.15,-0.88,-1.96,-2.46,-2.76,-3.62,-3.79,-2.7,-1.74,-1.78,-1.89,-1.23,-0.22,0.68,1.4,1.36,0.35,-0.47,-0.89,-1.33,-1.78,-1.91,-1.29,0.08,1.63,2.61,2.75,2.45,2.38,2.74,3.27,3.78,4.24,4.64,4.95,5.13,5.49,5.12,4.72,4.28,3.82,3.39,3.06,2.76,2.54,2.41,2.4,2.42,2.48,2.59,2.74,2.95,3.14,3.29,3.38,3.43,3.64,4.03,4.28,4.09,3.5,2.64,2.01,2.22,2.15,1.77,1.35,1.16,1.27,1.51,1.82,2.18,2.5,2.76,2.97,3.03,2.9,2.57,2.14,1.79,1.63,1.67,1.77,1.77,1.55,1.16,0.77,0.43,0.39,1.22,2.6,3.52,3.29,2.71,2.19,2.02,1.89,1.63,1.25,0.56,-0.55,-2.05,-3.26,-3.35,-2.72,-1.88,-1.94,-3.08,-4.33,-4.94,-5.2,-5.28,-5.13,-4.59,-3.38,-1.54,-0.31,-0.19,-0.25,-0.14,0.13,0,-0.15,-0.16,-0.11,-0.29,-0.69,-1.04,-1.16,-1.09,-0.99,-1.05,-1.19,-1.45,-1.8,-2.04,-1.88,-1.15,-0.79,-0.94,-1.45,-2.04,-2.62,-2.85,-2.49,-2.67,-3.35,-4.39,-4.98,-4.99,-5.04,-5.12,-5.16,-5.22,-5.18,-5.06,-5.26,-4.98,-4.63,-4.29,-4.12,-3.75,-3.65,-3.69,-3.73,-4.32,-5.04,-5.19,-4.9,-4.54,-4.75,-4.88,-4.66,-3.78,-2.36,-0.7,0.44,1.09,2.32,3.86,4.39,3.42,1.52,-0.04,-0.64,-1.1,-1.68,-2.25,-2.75,-3.13,-3.22,-3.02,-2.48,-2.42,-2.58,-2.44,-2.26,-2.28,-2.34,-2.26,-2.1,-1.97,-1.83,-1.67,-1.48,-1.27,-1.09,-1.01,-1.06,-1.26,-1.53,-1.83,-2.37,-2.94,-2.61,-1.01,0.4,0.72,1.17,2.54,4.52,6.99,9.61,10.21,9.36,8.14,7.47,7.07,7.69,6.61,5.92,5.29,4.84,4.54,4.08,3.24,2.13,1.06,0.4,0.37,0.21,-0.34,-0.48,-0.47,-0.48,-0.28,0.22,0.84,1.31,1.53,1.63,1.68,1.65,1.56,1.45,1.4,1.45,1.56,1.54,1.38,1.16,0.9,0.48,-0.15,-0.84,-1.62,-2.41,-2.84,-3.2,-3.21,-3.87,-4.81,-3.9,-1.18,-0.03,-2.51,-5.63,-5.65,-5.42,-5.25,-5.33,-5.91,-6.47,-6.85,-6.87,-6.68,-6.73,-7.11,-7.38,-7.09,-6.28,-5.49,-4.38,-4.01,-4.04,-4.08,-3.97,-3.39,-2.74,-3.15,-4.53,-5.19,-5.25,-4.89,-4.3,-4.36,-4.55,-4.64,-4.26,-3.64,-3.08,-2.96,-2.92,-2.41,-0.97,0.85,2.62,4.38,5.15,4.83,4.22,3.87,3.55,2.74,2.12,1.89,1.72,2.09,2.53,2.1,0.94,-0.07,-0.79,-1.28,-1.64,-2.14,-3.01,-3.69,-4.23,-4.63,-3.75,-0.87,1.04,0.64,-0.04,-0.35,-0.58,-0.14,0.46,0.81,1.46,2.07,2.3,2.2,1.99,2,2.32,2.41,1.98,1.36,0.74,-0.15,-1.15,-2.34,-3.91,-5.3,-4.89,-2.99,-1.4,-1.07,-0.9,-0.55,-0.66,-0.74,-0.62,-0.91,-1.75,-2.39,-2.52,-2.43,-2.1,-1.08,0.43,1.71,2.48,2.97,3.15,2.96,2.72,2.82,3.24,3.79,4.41,5.05,5.55,5.69,4.61,4.34,3.89,3.47,3.07,2.68,2.4,2.25,2.14,2.07,2.14,2.4,2.62,3.09,4.19,5.49,6.13,5.6,4.59,3.57,3.22,2.94,1.95,0.99,0.66,0.61,0.34,-0.2,-0.67,-0.62,-0.03,0.67,0.98,1.1,1.3,1.49,1.42,1.19,0.91,0.49,-0.12,-0.68,-0.94,-0.86,-0.68,-0.71,-1,-1.14,-1.13,-1.26,-1.52,-1.09,0.3,1.93,2.7,2.4,1.58,0.65,0.04,0.19,0.66,1.11,1.29,0.86,-0.3,-1.73,-2.86,-2.95,-2.37,-1.91,-2.35,-3.49,-4.31,-4.66,-5.12,-5.05,-4.88,-4.51,-2.61,0.82,3.15,3.27,2.45,1.92,1.85,1.87,1.91,2.47,3.14,3.28,2.78,2.05,1,0.83,1.38,1.3,0.92,0.82,0.72,0.73,0.91,1.04,0.94,0.71,0.19,-1,-2.33,-3.01,-2.84,-2.42,-1.93,-2.59,-3.96,-4.75,-4.96,-4.97,-5.12,-5.22,-5.35,-5.07,-4.64,-4.39,-4.09,-3.33,-1.7,0.26,1.42,1.43,0.8,-0.32,-1.77,-2.69,-2.46,-1.33,0.03,0.9,1.1,1.15,1.27,1.37,1.68,2.15,3.33,4.19,4.22,3.32,2.23,1.54,0.87,0.09,-0.54,-1.1,-1.47,-1.46,-1.25,-1.1,-1.04,-1.1,-1.23,-1.28,-1.62,-2.39,-2.65,-2.18,-1.86,-1.62,-1.41,-1.6,-1.78,-1.45,-1.17,-1.05,-1.7,-2.7,-3.06,-2.64,-2.15,-1.36,-0.46,0.01,0.01,0.12,1.22,3.36,6.33,9.83,11.37,10.66,9.43,8.8,8.84,8.57,8.27,7.99,7.18,5.82,4.08,2.47,1.15,-0.17,-0.39,0.71,1.77,1.38,-0.09,-1.05,-1.51,-2.58,-3.93,-4.43,-4.02,-3.27,-2.67,-2.33,-2.01,-1.66,-1.19,-0.64,-0.21,0.07,0.52,1.02,1.06,0.71,0.39,0.16,-0.73,-1.72,-2.06,-2.2,-2.93,-3.59,-3.6,-3.21,-2.77,-2.9,-3,-2.77,-2.94,-4.33,-5.88,-6.73,-6.26,-5.73,-5.34,-6.17,-7.38,-7.49,-6.53,-5.58,-5.9,-6.83,-6.79,-5.77,-4.87,-5,-5.62,-5.78,-5.21,-4.55,-3.94,-3.79,-4.13,-4.56,-5.28,-4.1,-1.73,-2.48,-4.43,-4.85,-4.71,-4.87,-4.84,-4.27,-3.13,-2.36,-2.5,-2.75,-1.2,2.07,4.78,5.6,5.24,4.6,4.28,3.33,1.49,-0.1,-0.06,1.08,1.62,1.59,2.67,3.35,2.6,0.93,-0.2,-0.85,-1.31,-1.67,-2.11,-2.84,-3.67,-4.57,-4.67,-3.23,-1.17,0.13,0,-1.55,-1.97,-0.73,0.24,0.73,1.32,1.46,1.08,1.08,1.54,2.31,3.05,3.22,2.95,2.26,0.98,0.14,0.01,-1.02,-3.03,-3.52,-2.08,-0.52,-0.08,-0.92,-1.34,-1.09,-1.26,-1.91,-2.31,-2.86,-3.13,-2.8,-1.94,-0.82,0.32,1.5,2.7,3.51,3.81,3.89,3.85,3.67,3.48,3.43,3.48,3.48,3.32,3.31,3.7,4.31,1.68,1.84,1.79,1.57,1.36,1.27,1.27,1.33,1.41,1.61,2.1,2.8,4.01,5.59,5.77,4.52,3.51,3.49,2.63,2.49,1.91,1.04,0.83,1.12,1.12,0.43,0.17,0.56,1.13,1.44,1.53,1.64,1.5,1.41,1.41,1.33,0.86,-0.58,-2,-1.97,-1.3,-0.98,-1.02,-1.28,-1.65,-2.08,-2.38,-2.34,-1.98,-1.43,-0.73,-0.1,0.37,0.72,0.78,0.92,1.16,1,0.56,0.06,-0.14,0.9,2.13,1.99,0.8,-0.41,-1.09,-1.98,-2.38,-1.9,-1.88,-2.83,-3.82,-4.28,-4.18,-3.01,-2.19,-1.42,0.63,2.94,3.65,3.22,2.57,2.03,1.46,0.82,0.89,1.47,1.89,2.47,2.23,1.56,1.35,1.81,2.33,2.36,2.39,2.51,2.41,1.91,1.06,0.11,-0.63,-0.85,-0.27,0.4,0.44,-0.09,-0.69,-0.62,-0.28,-1.33,-2.99,-4.09,-4.8,-5.05,-5.13,-5.16,-5,-4.22,-3.29,-2.58,-2.09,-1.85,-1.4,0.28,2.26,2.39,0.61,-0.51,0.81,2.5,1.82,0.76,1.43,2.03,1.34,0.45,0.24,0.43,0.6,1.17,1.96,2.07,1.64,1.51,1.71,1.81,1.67,1.09,0.11,-0.66,-0.63,0.25,1.22,0.94,-0.4,-1.11,-1.42,-2.47,-4.16,-4.59,-3.24,-2.41,-1.69,-1.51,-2.05,-2.56,-1.9,-0.46,-0.68,-0.8,1.36,3.55,3.9,3.43,2.37,1.28,1.42,1.84,0.7,-0.04,1.46,4.41,7.74,10.73,12.31,12.06,10.78,9.31,8.3,7.81,8.06,8.19,6.33,3.67,1.32,0.61,0.25,-0.06,0.1,0.56,0.42,-0.84,-2.05,-2.25,-2.01,-2.47,-3.23,-3.79,-3.73,-3.59,-3.23,-2.97,-2.18,-1.02,-0.23,-0.25,-0.31,-0.42,-0.73,-0.99,-2.1,-3.32,-3.33,-1.64,-1.21,-1.98,-2.95,-3.51,-3.73,-3.71,-3.46,-3.33,-3.65,-4.2,-4.81,-5.39,-5.23,-5.91,-7.41,-8.32,-8.03,-7.19,-5.3,-3.53,-3.83,-5.74,-6.04,-5.9,-5.65,-5.38,-4.96,-4.57,-4.43,-4.32,-4.54,-4.68,-4.38,-4.1,-4.12,-4.28,-4.26,-3.84,-3.22,-2.27,-1.93,-1.99,-2.91,-3.68,-3.87,-4.05,-4.2,-4.42,-3.04,-1.18,-0.98,-1.26,1.3,5.69,8.44,8.24,6.56,5.41,4.2,2.75,1.69,1.06,0.5,-0.4,-1.35,-0.95,1.03,3.05,3.75,2.85,1.12,-0.43,-1.3,-1.65,-1.92,-2.21,-2.73,-4.1,-5.62,-5.67,-3.3,-0.6,0.72,0.05,-1.3,-1.58,-0.9,-0.14,0.81,1.62,1.34,0.16,-0.07,1.23,2.58,2.82,2.15,1.09,-0.59,-2.15,-2.11,-1.88,-2.88,-3.19,-2.67,-2.23,-2.23,-2.55,-2.83,-2.69,-2.71,-2.83,-2.84,-2.24,-1.48,-1.1,-0.74,-0.3,0.17,0.75,1.42,1.99,2.35,2.6,2.81,2.91,2.9,2.84,2.77,2.67,2.42,2.01,1.62,1.5,1.36,0.96,0.71,0.6,0.6,0.69,0.87,1.27,1.83,2.52,3.22,4.02,5.72,6.96,5.06,1.87,1.54,2.49,2.43,1.47,0.77,0.41,-0.25,-0.96,-0.94,-0.16,1.08,2.21,2.88,2.79,2.55,2.44,2.58,2.41,1.8,1.36,0.9,-0.06,-0.97,-0.96,-0.63,-0.94,-1.45,-1.15,-0.43,-0.49,-1.19,-1.48,-1.08,-0.71,-0.91,-1.62,-2.32,-2.06,-0.83,0.62,1.46,1.49,1.3,0.76,0.08,1.14,2.53,1.83,-0.21,-0.71,-0.19,-0.99,-3.02,-4.02,-3.9,-4.01,-3.96,-3.87,-3.8,-3.06,-1.96,-1.04,-0.19,0.69,1.15,1.21,0.96,0.67,0.36,-0.06,0.14,1.06,1.6,1.25,0.4,0.36,0.94,1.25,1.3,1.4,1.77,2.05,1.81,1.11,0.22,-0.44,-0.13,0.73,0.77,-0.3,-1.16,-1.14,-1,-1.27,-1.64,-1.93,-2.57,-3.39,-4.13,-4.56,-4.6,-4.19,-4.05,-3.3,-2.49,-2.07,-2.01,-2.18,-0.97,1.46,1.85,0.37,-0.91,-0.96,-0.41,-0.58,-1.08,-0.64,-0.15,-0.73,-1.71,-1.95,-1.15,0.02,0.84,0.82,0.55,0.25,0.49,1.66,2.24,1.54,0.74,0.91,1.41,1.76,1.99,2.16,1.88,0.32,-1.45,-1.95,-2.22,-2.75,-3.28,-3.45,-2.2,-0.38,0.05,-0.77,-0.62,0.12,1.66,1.68,-0.5,-0.29,4,6.66,5.87,4.74,3.94,3.28,2.73,2.3,2.32,3.59,5.76,7.41,7.3,8.93,9.97,8.76,7.41,7.18,7.22,7.27,7.58,6.73,5.37,3.74,2.44,1.24,0.23,-0.51,-1.31,-1.8,-1.95,-2.31,-2.44,-2.05,-1.86,-2.56,-3.45,-3.31,-2.61,-2.17,-1.19,-0.26,0,0.01,-0.06,0.01,0.39,0.47,-0.4,-1.26,-1.05,-0.23,0.28,-0.13,-1.13,-1.67,-1.71,-1.68,-1.86,-2.17,-2.53,-3.13,-3.52,-3.78,-3.7,-3.9,-3.88,-4.1,-5.25,-6.8,-8.21,-8.84,-8.52,-7.08,-5.11,-3.09,-1.42,-1.98,-4.27,-5.36,-5.27,-4.67,-4.34,-4.11,-3.83,-3.86,-3.78,-3.48,-3.58,-3.77,-3.04,-1.56,-1.45,-2.31,-2.72,-2.71,-2.66,-3.08,-3.42,-4.24,-4.22,-2.82,-1.93,-1.56,-1.43,-2.24,-0.28,6.13,9.86,8.98,7.16,5.57,3.78,1.69,0.11,-0.77,-1.37,-1.6,-2.24,-1.62,0.49,1.48,1.23,1.59,2.51,1.56,-0.33,-1.43,-1.88,-2.19,-2.51,-3.19,-4.24,-4.46,-3.58,-2.43,-2.28,-2.97,-3.23,-2.22,-0.57,0.64,1.44,1.71,0.6,-0.19,1,1.41,0.54,1,1.1,0.49,-0.23,-1.3,-2.04,-1.9,-1.57,-2.2,-2.44,-2.59,-2.97,-3.16,-3.25,-3.02,-2.51,-2.46,-2.79,-3.42,-4.15,-4.85,-5.14,-4.8,-3.66,-1.87,0.03,1.72,3.21,4.32,4.92,5.1,4.95,4.58,4.02,3.34,2.72,2.3,2.05,1.76,1.85,1.59,1.3,0.98,0.7,0.6,0.95,1.52,2.14,2.91,3.62,4.55,7.29,8.75,5.55,2.95,2.44,1.98,1.38,1.07,0.61,-0.15,0.15,1.74,2.84,2.9,2.18,1.8,1.89,1.86,1.39,0.96,0.94,1.23,0.93,0.46,-0.18,-0.65,-0.73,-0.66,-1.03,-1.8,-1.76,-0.59,0.21,0.06,-0.78,-1.75,-1.41,-1.01,-1.36,-2.24,-2.66,-1.93,-0.51,0.43,1.27,2.27,2.41,1.62,1.63,2.72,2.92,0.41,-1.24,-1.08,-1.4,-2.25,-3.51,-4.2,-4.19,-4.12,-4.13,-3.84,-2.58,-1.98,-2.13,-1.97,-1.17,-0.72,-0.69,-0.11,0.81,1.14,0.76,0.21,0.19,0.57,0.68,0.4,0.23,0.38,0.66,0.85,1,1.18,1.19,1.17,1.16,1.38,1.48,1.46,1.3,1.67,2.18,1.19,-0.68,-1.35,-1.34,-1.66,-2.33,-3.25,-3.94,-4.08,-4.02,-4,-4.14,-4.14,-3.61,-3,-2.53,-2.66,-3.36,-1.65,1.55,2.17,0.1,-1.49,-1.2,-0.03,0.6,0.35,0.04,-0.7,-1.45,-1.72,-1.92,-1.82,-0.95,-0.45,-0.46,-0.41,-0.37,-0.57,-1.17,-0.36,1.88,3.52,3.44,2.58,1.98,1.41,0.98,0.7,-0.05,-1.44,-2.39,-2.7,-2.84,-2.92,-2.45,-2.16,-2.26,-1.73,-0.41,0.83,0.85,1.47,3.37,4.51,4.51,3.91,4.78,5.84,5.3,4.2,3.8,3.39,2.92,3.8,5.57,6.84,7.31,7.79,8.56,8.76,7.17,5.36,3.62,4.88,7.53,7.74,6.26,4.27,1.61,-0.26,0.17,0.81,-0.53,-1.31,-1.09,-0.97,-1.32,-1.38,-1,-0.02,0.44,0.48,0.81,1.13,1.03,0.6,0.34,-0.06,-0.93,-1.78,-2.09,-1.71,-1.31,-0.98,-0.42,-0.37,-0.29,0.14,0,-1.17,-2.05,-2.17,-1.7,-1.62,-1.74,-1.4,-1.17,-1.81,-3.22,-4.49,-4.88,-3.5,-0.71,-0.17,-2.78,-5.14,-5.84,-5.97,-6.33,-7.19,-8.43,-8.77,-9.2,-8.83,-8.06,-6.57,-4.61,-3.43,-2.84,-2.33,-1.7,-1.11,-0.36,0.37,0.9,1.25,1.65,2.06,2.18,1.85,0.94,0.12,-0.26,-0.58,-1.14,-1.71,-1.96,-2.16,-2.66,-2.07,0.09,2.9,6.85,9.38,9.15,7.33,5.89,4.67,3.54,2.56,1.77,0.77,-1.11,-2.67,-3.19,-3.05,-2.49,-1.57,-0.57,0.23,0.52,-0.08,-0.93,-1.47,-2.09,-2.44,-2.8,-4.03,-6.24,-8.51,-6.27,-2.8,-3.55,-5.26,-3.3,-1.03,-0.52,0.02,0.84,1.4,1.38,0.55,-0.24,-1.12,-2.04,-1.45,-1.18,-2.68,-4.81,-6.74,-8.28,-8.52,-5.44,-1.96,-0.79,-0.56,-0.6,-0.41,-0.62,-2.13,-3.8,-4.45,-5.6,-7.01,-8.01,-7.96,-6.64,-3.73,0.28,4.58,7.59,8.92,9.24,9.23,8.79,8.23,7.76,7.35,6.78,6.03,5.09,4.05,3.07,2.31,2.94,2.39,2.11,1.84,1.41,1.1,1.22,1.7,2.33,3.03,3.68,4.82,6.69,5.5,2.48,1.61,1.57,1.83,1.66,1.11,0.44,0.7,2.05,2.43,1.66,1.02,0.74,0.72,1.22,1.55,1.2,0.7,0.45,0.8,1.42,1.72,0.54,-0.99,-2.24,-3.13,-3.22,-2.57,-1.64,-1.66,-2.34,-2.12,-2.12,-1.88,-1.08,-0.12,-0.08,-0.43,-0.3,-0.05,-0.01,0.53,1.22,1.72,1.83,1.58,1.78,1.75,0.29,-0.67,-0.07,-0.7,-2.25,-3.3,-3.87,-4.18,-4.47,-4.71,-3.62,-2.89,-2.92,-2.53,-1.81,-1.61,-1.74,-1.85,-1.48,-0.36,0.61,0.58,0.32,0.54,0.74,0.6,0.37,0.16,-0.2,-0.51,-0.61,-0.43,-0.18,0.28,1.3,1.81,1.81,1.52,1.43,1.53,1.58,1.47,1.27,0.11,-1.67,-2.55,-2.68,-2.7,-2.62,-3.21,-3.88,-3.4,-3.15,-3.18,-2.63,-2.67,-2.26,-1.73,-1.55,-2.42,-2.73,-0.86,1.2,0.46,-0.93,-0.96,-0.81,-0.77,-1.01,-1.55,-1.82,-1.98,-2.01,-1.53,-1.27,-1.67,-1.63,-1.08,-0.77,-0.65,-0.39,-0.47,-0.41,-0.19,0.05,0.3,1.25,1.85,1.45,0.12,-0.24,-0.05,-0.76,-2.18,-3.22,-3.22,-2.87,-2.7,-2.61,-2.47,-2.46,-2.6,-2.54,-2.19,0.11,2.72,3.55,3.4,3.7,3.28,3.83,4.28,3.06,2.11,2.6,2.68,2.86,2.78,2.9,5.31,7.19,8.04,7.93,6.25,4.96,5.14,5.47,4.95,5.51,5.4,2.43,-0.65,-1.97,-1.08,-0.26,-1.07,-2.56,-2.85,-2.4,-2.07,-2.23,-2.54,-1.67,-0.5,-0.19,-0.6,-0.92,-1.12,-1.29,-1.23,-1.11,-1.36,-1.99,-2.27,-1.81,-1.11,-0.72,-0.6,-1.03,-1.39,-0.01,1.4,0.11,-1.88,-3,-2.93,-2,-1.42,-1.43,-1.66,-1.99,-2.47,-2.82,-3.91,-2.66,-0.83,-0.06,-1.42,-2.22,-1.98,-3.26,-5.1,-6.09,-6.39,-7.77,-8.85,-9.63,-8.95,-7.77,-7.07,-6.68,-5.79,-4.71,-3.7,-2.2,-0.52,1.06,2.18,2.61,2.48,2.47,3.08,3.88,4.12,3.95,3.19,2.39,1.76,1.99,2.62,2.99,3.5,5.62,7.62,7.15,5.9,6.24,7.31,7.13,6.3,5.35,4.03,2.71,1.82,0.63,-0.71,-1.47,-1.97,-2.6,-3.62,-4.23,-3.31,-2.78,-1.48,0.18,1.04,2.11,1.86,0.03,-1.77,-2.89,-4.51,-7.18,-9.49,-8.46,-2.63,-1,-3.05,-2.84,-0.85,-0.08,-0.15,-0.88,0.32,1.9,0.65,-0.9,-1.66,-1.73,-0.68,0.09,-0.78,-3.62,-8.17,-9.97,-6.29,-1.14,0.87,1.13,0.95,0.12,-0.99,-2.49,-4,-3.84,-3.62,-6.32,-8.67,-5.96,-2.01,0.24,4.85,8.38,8.6,12.86,17.36,15.64,12.81,11.6,10.62,9.78,9.1,8.32,7.4,6.52,5.61,4.72,3.81,3.62,2.82,2.08,1.61,1.59,1.76,1.82,2.07,2.54,3.06,3.81,4.62,3.7,2.56,1.27,0.62,1.64,1.5,0.65,-0.25,-0.75,0.83,4.16,3.38,1.11,0.11,-0.36,-0.01,0.52,0.09,-0.65,-0.73,-0.4,-0.27,-0.67,-1.82,-2.28,-2.02,-2.65,-3.27,-2.34,-1.67,-1.88,-2.3,-2,-1.23,-0.38,0.56,1.02,1.21,1.2,0.73,0.23,-0.06,-0.28,-0.25,0,0.55,1.08,0.59,-0.54,-0.88,-0.49,-0.14,-1.14,-2.49,-2.77,-3.13,-3.87,-4.62,-4.94,-4.6,-4.14,-3.65,-3.27,-2.87,-2.33,-1.42,-0.41,-0.19,-0.08,0.46,0.65,0.08,-0.49,-0.05,0.95,0.79,0.31,0.14,-0.37,-0.82,-0.8,0.13,1.34,1.39,1.36,1.69,1.56,1.63,2,2.08,1.45,0.74,-0.08,-1.37,-2.82,-2.98,-2.4,-2.45,-2.34,-2.69,-3.67,-3.78,-3.34,-2.67,-1.9,-1.77,-1.55,-1.18,-1.17,-0.59,0.74,1.17,0.9,0.41,-0.29,-0.12,-0.01,0.46,1.24,0.94,0.04,-0.49,-0.61,-0.47,0.15,0.01,-0.47,0.03,0.35,0.54,0.94,0.71,-0.22,-1.17,-0.95,-0.52,0.03,0.29,-0.19,-1.13,-1.46,-1.29,-1.23,-2.09,-2.77,-2.59,-2.34,-2.63,-2.66,-2.35,-1.85,-1.22,0.19,2.7,3.24,2.47,2.77,1.88,-1.06,-0.5,1.72,2.11,1.54,1.07,1.31,1.69,2.4,4.66,6.84,8.01,7.53,6.99,6.32,4.9,3.86,3.78,4.92,3.94,2.82,2.54,1.99,1.1,0.39,-0.04,0.12,0.62,0.93,-0.09,-1.08,-1.19,-1.14,-1.31,-1.7,-1.91,-1.57,-1.66,-2.04,-2.08,-1.14,-0.17,0.08,-0.08,-0.47,-0.9,-1.45,-2.09,-2.71,-2.87,-3.09,-3.34,-3.32,-2.57,-2.6,-4.3,-4.42,-2.73,-2.22,-1.97,-2.48,-2.76,-2.53,-2.84,-3.1,-2.89,-2.29,-1.73,-2.09,-3.43,-4.23,-5.33,-5.55,-5.19,-5.27,-5.52,-5.75,-5.77,-5.13,-3.57,-2.5,-2.07,-2.62,-3.38,-3.37,-2.87,-2.58,-1.84,-0.31,1.02,2.97,5.46,6.4,6.09,5.6,5.65,5.89,6.16,6.41,6.88,7.77,7.45,7.1,7.42,8.29,7.53,5.9,3.9,3.64,5.39,6.3,6.15,4.88,2.12,-0.76,-2.07,-2.5,-2.52,-2.26,-2.49,-2.87,-3.14,-3.67,-4.82,-5.91,-6.32,-5.65,-1.42,2.66,3.26,1.79,-0.89,-3.57,-5.54,-6.69,-7.93,-9.31,-7.21,-2.16,-0.24,-0.56,1.31,2.19,-0.99,-2.45,0.53,1.51,-0.8,-2.16,-1.56,0.04,0.51,-2.11,-7.4,-9.29,-5.64,-1.29,2.41,4.24,4.27,4.01,3.3,2.1,0.77,-0.69,-2.15,-2.57,-2.64,-4.29,-4.92,2.76,10.75,11.61,8.86,10.36,9.12,9,13.06,14.45,13.96,13.46,12.4,11.25,10.39,9.54,8.51,7.41,6.36,5.41,4.52,4.01,3.42,3.06,3.07,3.12,3,2.95,3.21,3.72,4.24,3.37,2.13,1.6,0.33,-0.56,0.15,0.39,-0.42,-0.99,-1.59,-1.56,0.31,1.07,-0.17,-0.71,-0.96,-1.13,-1.16,-1.14,-1.27,-1.72,-2.13,-1.81,-1.52,-1.71,-1.57,-1.16,-1.3,-1.34,-1.64,-2.05,-1.72,-0.75,0.36,1.11,1.36,1.64,1.91,1.76,1.58,1.12,0.18,-0.57,-0.91,-1.1,-1.02,-0.95,-0.37,0.64,0.64,-0.2,-1.05,-1.46,-1.47,-1.8,-2.61,-2.74,-2.64,-3.52,-4.48,-4.87,-4.68,-4.05,-3.33,-3.31,-2.76,-1.4,-0.33,0.03,0.09,0.48,0.71,0.4,-0.09,-0.21,0.28,1.33,1.73,0.94,-0.05,-1.1,-0.27,1.19,1.26,1.16,1.3,1.29,1.18,0.95,0.93,0.84,0.46,-0.23,-0.96,-1.44,-1.75,-1.98,-2.04,-2.17,-2.56,-2.84,-2.8,-2.86,-3.23,-2.85,-2.38,-1.95,-1.76,-1.31,-1.05,-1.25,-0.55,0.42,-0.17,-0.73,-0.86,-0.7,0.03,0.52,0.66,0.53,0.41,0.72,1.35,1.64,1.81,2.37,1.77,0.23,-0.53,-0.02,0.87,1.01,0.43,-0.49,-0.97,-1.04,-1.57,-1.37,-1.07,-1.28,-1.8,-2.23,-1.86,-1.65,-2.2,-2.46,-1.8,-0.99,-0.91,-1.69,-2.73,-2.75,-0.71,1.88,3.1,2.89,1.29,-0.24,-0.87,-1.64,-0.29,0.98,0.95,0.47,-0.47,-1.5,-0.21,3.43,7.33,8.91,7.7,6.99,5.9,4.85,4.47,3.81,2.74,2.05,1.65,1.87,2.45,2.16,0.97,0.22,-0.09,-0.81,-1.27,-1.42,-1.37,-1.33,-1.36,-1.37,-1.25,-1.51,-2.01,-2.34,-2.04,-1.29,-1.57,-1.91,-1.74,-1.39,-1.26,-2.11,-2.23,-2.33,-3.58,-4.67,-4.88,-4.12,-2.59,-2.12,-1.56,-0.87,-0.71,0.82,1.53,0.61,-0.27,-0.97,-0.88,0.13,-0.4,-2.5,-3.84,-3.79,-3.79,-4.19,-4.37,-4.58,-5.17,-5.53,-5.25,-4.8,-4.15,-3.66,-3.28,-3,-2.83,-3.15,-3.1,-2.92,-2.88,-2.87,-2.36,-1.73,-1.08,0.03,1.82,3.09,4.02,5.03,5.23,5.4,7.97,8.06,7.23,7.94,8.9,8.39,7.56,5.99,5.68,5.32,3.64,2.75,3.52,3.53,3.26,3.86,4.17,3.04,1.58,0.62,-0.47,-1,-0.45,-0.87,-2.37,-4.1,-5.35,-5.34,-4.43,-4.25,-4.19,-0.85,1.62,1.85,1.7,0.86,-1.46,-4.25,-5.62,-6.31,-6.99,-7.51,-7.44,-5.16,-1.83,-0.93,-0.57,-1.55,-3,-3.56,-2.81,-0.1,-1.39,-2.26,-0.51,0.21,-0.61,-2.97,-5.34,-5.15,-1.58,2.22,4.57,5.5,5.35,5.07,4.73,3.85,2.85,2.07,0.88,-0.92,-2.5,-3.21,-0.79,4.87,8.4,10.64,11.6,12.84,15.6,15.9,15.88,15.43,14.87,14.28,13.63,12.54,11.15,9.69,8.44,7.71,6.84,5.76,4.77,4.56,4.07,3.91,3.76,3.68,4.74,5.93,5.02,2.36,0.83,0.03,-0.77,-1.07,-0.3,-0.36,-1.21,-1.48,-1.62,-2.8,-6.32,-4.1,-1.14,-1.48,-2.03,-2.07,-2.25,-2.45,-2.53,-2.6,-2.07,-1.31,-0.54,-0.42,-0.31,-0.19,0.06,0.63,0.43,-0.42,-0.21,0.47,0.21,0.67,1.45,2.04,2.25,2.03,1.97,1.78,1.28,0.57,-0.02,-0.43,-0.96,-1.11,-0.79,-0.86,-0.64,-0.51,-0.66,-0.86,-1.56,-2.02,-2.02,-1.93,-2.12,-2.12,-2.62,-3.52,-4.45,-5.41,-5.34,-4.62,-3.56,-1.99,0.02,0.99,1.32,1.25,0.75,0.57,0.72,0.69,0.83,0.58,0.51,1.31,1.85,1.11,-0.32,-1.23,1.46,2.64,1.98,1.56,1.5,1.15,0.63,-0.18,-0.44,-0.24,-0.59,-1.15,-1.3,-1.15,-1.25,-1.58,-2.09,-1.95,-2.21,-2.63,-2.11,-1.95,-2.01,-1.6,-0.96,-0.65,-0.63,-0.72,-1.3,-2.2,-2.37,-2.25,-2.17,-1.65,-0.71,-0.16,0.01,0.16,0.24,0.2,0.4,0.1,-0.38,-0.01,0.18,-0.12,-0.2,-0.14,-0.67,-0.92,0.1,0.7,0.38,-0.25,-0.47,0.09,-0.23,-1.16,-1.44,-1.77,-1.89,-2.02,-1.84,-1.58,-1.61,-1.26,0.18,0.52,-0.52,-0.55,-0.01,0.48,2.33,2.72,1.17,-1.35,-2.98,-2.25,-1.5,-1.13,-0.33,-0.68,-1.34,-1.92,-1.61,-0.74,-0.35,1.03,4.81,7.51,6.33,5.99,4.65,3.86,3.54,3.04,2.63,2.86,3.44,3.29,2.36,1.83,0.64,-1.5,-3.31,-3.37,-3.36,-2.48,-1.1,-0.04,-1.36,-2.69,-2.83,-2.95,-3.39,-3.6,-3.28,-1.81,0.09,-0.34,-2.48,-1.3,0.12,-1.6,-2.07,-3.52,-3.48,-1.42,-1.31,-1.89,-1.35,-0.21,0.89,1.12,0.46,-0.42,-0.95,0.44,1.83,2.2,2.36,0.78,-1.36,-1.65,-2.63,-3.69,-3.67,-4.14,-4.66,-4.5,-4.08,-4.11,-3.91,-3.82,-4.12,-4.25,-4.36,-4.25,-3.75,-3.16,-2.61,-2.15,-1.69,-1.35,-1.1,-0.54,0.35,1.36,2.61,4.21,5.67,6.68,7.77,8.46,10.25,10.45,9.35,9.77,9.89,10.53,9.88,8.86,7.18,6.15,4.32,3.79,2.39,0.84,1.43,2.87,2.54,1.73,1.26,0.55,0.06,0.04,-0.51,-2.21,-3.93,-5.1,-5.48,-5.94,-5.1,-4.3,-4.73,-0.82,1.88,2.24,1.07,-0.97,-2.96,-4.6,-6,-6.78,-7.42,-7.77,-7.67,-8.6,-6.29,-0.37,-1.24,-4.37,-3.1,-0.26,-0.45,-1.28,-1.15,-1.58,-3.05,-0.81,2.18,1.57,0.89,1.27,2.52,4.21,5.42,6.11,6.22,5.79,5.13,4.48,3.91,3.39,2.82,1.63,0.16,-0.44,0.24,1.97,6.99,12.28,14.26,14.69,15.08,15.2,15.43,15.16,14.54,14.11,13.57,13.1,11.48,9.57,8.81,8.14,7.15,6.17,5.33,4.17,3.3,2.28,1.61,3.78,5.41,3.47,2.52,0.96,-1.07,-2.01,-2.73,-0.72,1.24,0.45,-1.36,-1.82,-2.66,-7.08,-7.72,-5.88,-4.87,-3,-3.23,-3.01,-3.01,-2.94,-2.38,-1.43,-0.22,1.12,1.9,1.76,1.58,1.32,2.47,2.22,0.98,1.08,1.11,1.01,1.12,1.29,1.6,1.73,1.41,1.22,1.19,0.88,0.46,0.01,-0.52,-0.75,-1,-1.23,-1.2,-1.32,-1.01,0.12,-0.15,-1.56,-1.68,-2.03,-2.88,-2.12,-1.86,-2.29,-2.76,-3.12,-3.65,-4.33,-5.04,-5.45,-4.57,-0.61,1.37,1.73,1.57,1.7,1.47,1.45,1.34,0.88,1.11,1.39,1.08,1.18,1.73,1.3,-0.37,-1.72,0.16,1.21,0.88,0.91,1.47,1.3,0.38,-0.24,-0.6,-1.02,-0.97,-0.92,-1.09,-1.34,-1.66,-2.02,-2.21,-2.12,-2.47,-2.53,-2.68,-2.25,-1.24,-0.31,0.11,0.1,-0.02,-0.39,-0.9,-1.16,-1.13,-0.8,-0.31,-0.12,-0.05,0.08,0.03,0.15,0.36,0.86,1.31,0.78,0.39,0.51,-0.34,-1.37,-2.02,-1.59,-0.71,-0.14,-0.4,-1.06,-0.99,-0.84,-0.35,-0.18,-0.42,-0.89,-1.54,-2.47,-2.68,-3.25,-3.54,-1.92,-0.13,-1.27,-3.31,-1.76,1.65,2.52,1.27,0.41,2.54,1.45,-1.03,-1.96,-2.71,-2.55,-1.03,0.61,0.34,0.39,1.76,1.88,1.6,-0.05,-1.28,3.38,7.42,6.17,5.32,4.67,3.45,2.9,3.12,3.26,2.97,2.98,3.34,3.21,2.79,2.22,-0.43,-3.43,-2.33,-0.96,-0.91,-1.32,-1.23,-1.78,-2.64,-3.24,-3.71,-4.53,-4.5,-2.81,-0.92,0.69,-0.06,-0.08,0.24,-0.87,-2.67,-2.6,-1.19,-1.1,-1.86,-3.33,-4.22,-2.54,-0.94,-1,-0.21,1.18,1.59,1.08,2.27,3.5,2.26,3.2,3.56,2.14,2.89,2.6,-0.17,-2.93,-3.87,-3.13,-3.27,-3.09,-3.31,-3.61,-3.7,-3.72,-3.14,-0.24,1.52,2.14,0.69,-1.28,-1.9,-2.24,-2.41,-1.87,-0.98,-0.12,1.16,2.87,4.09,5,6.25,6.68,6.81,7.05,8.52,10.53,9.56,10.96,12.07,11.65,9.72,8.18,7.34,6.36,4.42,2.78,2.15,2.26,2.14,0.94,0.44,-0.2,-1.9,-3.03,-3.22,-3.41,-3.95,-3.29,-3.15,-4.19,-5.29,-4.61,-2.99,-0.99,0.37,0.89,1.02,0.58,-0.75,-2.7,-4.44,-5.35,-5.74,-6.33,-7.06,-7.44,-7.38,-7.12,-7.6,-4.77,0.02,-1.2,-3.71,-2.48,-2,-3.58,-2.99,-4.13,-2.94,0.75,2.36,3.24,4.03,4.38,4.75,5.13,5.49,5.66,5.7,5.72,5.59,5.31,4.99,4.68,4.25,3.51,2.94,2.86,3.68,5.67,8.13,10.16,11.31,12.1,12.61,13.16,13.83,14.19,14,13.61,13.06,11.88,9.46,8.61,8.17,7.09,6.11,5.31,4.71,2.1,1.07,0.21,-0.13,0.74,2.18,1.39,0.21,-1.79,-2.57,-2.48,-2.19,-0.19,0.05,-1.03,-2.01,-2.34,-3.48,-7.42,-7.13,-7.3,-7.2,-3.56,-3.2,-3.1,-2.39,-1.89,-0.79,1.18,2.11,3.45,6.91,5.9,2.4,1.83,1.89,2.23,1.2,0.33,0.64,1.38,1.69,1.4,1.38,1.59,1.61,1.62,1.56,1.1,0.62,0.08,-0.56,-1.08,-1.2,-0.85,-0.69,-0.86,-0.46,0.36,-0.27,-1.5,-2.35,-2.35,-2.21,-1.57,-1.68,-2.09,-2.11,-2.61,-3.01,-2.92,-2.55,-2.58,-2.36,-0.5,1.47,2.21,2.06,1.97,2,1.63,1.4,0.98,0.59,1.15,1.58,1.24,1.36,1.02,-0.67,-1.35,0.34,0.94,0.55,0.32,0.62,0.58,0.25,-0.12,-0.7,-1.06,-1.16,-1.24,-1.43,-1.57,-1.65,-2.06,-2.4,-2.43,-2.26,-2.09,-2.13,-1.77,-1.18,-0.78,-0.76,-1.01,-1.39,-1.56,-1.58,-1.61,-1.42,-1.23,-1.2,-1.07,-0.85,-0.57,0.16,0.86,1.37,1.56,0.81,-0.36,-0.48,-0.09,-1.46,-2.19,-1.33,-1.17,-1.26,0.48,0.93,0.41,0.54,-0.29,-0.72,-0.55,-0.8,-1.63,-2.08,-2.56,-3.12,-4.06,-4.46,-3.14,-1.6,0.27,3.23,4.5,3.34,0.86,1.9,5.91,3.27,-0.36,-0.73,-0.44,1.23,2.52,2.24,1.87,2.56,1.18,-0.14,-0.16,-0.22,-0.32,2.29,6.73,7,5.22,4.43,3.9,3.28,3.13,3.14,3.3,3,2.21,2.64,3.39,2.97,1.86,1.17,1.3,1.64,0.72,-0.79,-1.57,-1.4,-1.23,-1.51,-1.86,-2.47,-3.46,-0.43,1.3,0.79,2.14,2.08,0.46,0.26,1.73,1.72,1.3,1.92,0.78,0.83,0.85,-0.82,-1.73,-0.91,2.72,3.93,3.08,2.49,2.23,3.17,3.69,3,4.32,4.17,2.89,1.66,1.55,2.28,-0.15,-1.32,-1.62,-2.56,-2.5,-2.25,-2.27,-2.21,-0.38,1.38,-0.07,-1.85,-2.83,-2.62,-1.98,-1.85,-1.84,-1.2,-0.4,1,2.63,3.15,3.71,4.76,5.86,6.79,6.8,6.86,5.96,7.35,11.04,12.46,11.46,10.76,9.55,8.44,7.03,5.69,4.83,3.86,2.69,1.55,0.8,0.45,-0.05,-0.73,-1.57,-2.96,-3.12,-2.21,-1.67,-1.91,-3.09,-2.9,-3.06,-3.21,-2.93,-1.93,-0.51,0.78,1.03,0.56,-0.52,-2.48,-4.03,-5.34,-5.77,-5.78,-5.92,-6,-5.88,-5.97,-6.34,-6.51,-6.23,-2.82,1.02,1.38,2.22,-0.03,-1.11,0.66,-0.69,1.56,5.7,7.32,7.67,7.23,6.86,6.69,6.79,7.2,7.61,7.96,8.18,8,7.61,7.42,7.32,7.01,6.53,6.29,6.5,7.04,7.71,8.02,8.1,8.43,9.01,9.76,10.72,11.77,12.65,12.68,12.31,11.81,11.01,9.91,8.84,7.77,6.42,5.21,4.11,3.05,1.85,0.24,-0.77,-1.61,-2.62,-2.2,-1.28,-2.24,-3.08,-2.28,-2.14,-1.68,-0.33,-0.31,-1.03,-1.91,-2.22,-1.72,-2.15,-5.26,-7.26,-7.99,-6.37,-3.79,-4.17,-3.99,-0.27,3.74,5.07,4.2,3.28,2.68,2.93,2.39,1.99,1.01,0.55,0.57,-0.87,-1.69,-0.11,1.46,1.63,1.6,1.76,1.68,1.35,1.25,1.08,0.86,0.69,0.01,-0.64,-0.2,0.18,-0.23,-0.88,0.15,0.58,-0.63,-1.48,-1.95,-1.47,-0.92,-0.53,-1.27,-2.05,-2.25,-2.1,-1.92,-1.62,-1.58,-1.43,-1.26,-0.57,0.56,1.29,1.05,1.23,1.41,1.27,0.99,0.75,0.81,1.2,1.42,1.03,1,0.01,-1.22,0.28,1.16,0.82,1.34,1.11,0.55,0.21,-0.06,-0.53,-0.87,-1.14,-1.35,-1.47,-1.44,-1.49,-1.98,-2.5,-2.62,-2.35,-2.18,-2.2,-2.37,-2.21,-2.04,-1.77,-1.43,-1.33,-1.7,-1.86,-1.83,-2.13,-1.96,-1.61,-1.54,-1.59,-1.2,-0.69,-0.55,-0.45,0.19,0.68,1.27,1.21,0.36,-0.48,-1.65,-2.31,-1.54,-1.31,-0.87,0.62,1.46,1.59,2.45,1.93,0.52,0.48,0.14,-0.37,0.77,0.07,-0.74,-0.97,-1.44,0.09,1.26,2.28,3.75,3.74,3.27,2.67,1.43,-0.12,-1.12,-0.86,2.03,3.34,0.49,2.14,2.3,-0.5,-0.79,2.4,4.09,3.31,2.62,2.87,3.26,3.3,3.35,3.17,3.03,3.26,3.58,3.43,2.43,2.04,2.19,1.86,2.22,3.01,3.98,4.79,4.7,3.92,3.18,2.83,2.63,0.91,-0.48,1.24,2.28,1.77,0.16,0.7,3.08,1.72,2.55,3.85,0.26,0.46,2.54,3.3,3.22,1.53,-0.36,-0.46,0.31,0.35,0.52,0.55,0.74,2.13,3.54,3.91,3.13,2.8,2.87,3.83,3.33,2.27,2.47,2.21,1.51,1.32,1.32,-0.56,-1.53,-1.61,-1.41,-1.59,-1.75,-1.58,-1.31,-1.52,-2.16,-2.84,-2.66,-2.22,-2.14,-1.51,-0.2,0.76,0.72,0.66,2.26,3.32,3.27,3.57,4.12,4.95,5.4,4.75,5.26,5.73,7.54,10.82,10.57,9.93,8.62,7.09,6.36,5.75,5.15,4.57,3.84,2.72,1.41,0.31,-0.38,-0.86,-1.14,-1.48,-2.76,-3.1,-3.55,-3.54,-3.35,-4.03,-3.61,-0.19,0.06,-2.1,-1.13,1.04,1.93,-0.1,-2.28,-2.87,-3.49,-5.1,-6.74,-7.19,-6.13,-4.55,-3.61,-3.63,-4.19,-5.44,-6.76,-6.89,-5.4,-2.46,0.77,2.51,2.3,2.79,5.23,6.34,6.62,6.7,7.19,7.49,7.14,6.79,6.28,5.72,5.34,5.36,5.91,6.63,7.23,7.7,8.04,7.97,7.44,6.89,6.46,6.14,5.81,5.45,5.22,5.13,5.4,6.27,7.43,8.57,9.86,10.9,11.18,11.16,11.02,10.57,9.71,8.69,7.5,6.33,5.21,3.81,2.79,2.29,0.06,-2.02,-4.04,-5.7,-7.29,-4.24,-2.85,-2.56,-2.26,-1.83,0.12,-0.3,-1.22,-0.54,-0.95,-1.3,-1.65,-3.39,-5.8,-7.27,-8.14,-7.1,-5.7,-3.62,-2.07,-0.56,2,4.15,4.22,4.36,4.06,3.15,2.58,1.8,0.91,0.22,-0.34,-0.66,-1.48,-0.99,1.42,1.81,1.64,1.74,1.91,1.58,1.5,1.42,1.12,1.01,0.78,0.4,0.08,-0.28,-0.39,-0.14,0.36,-0.32,-0.88,-0.97,-1.13,-0.58,-0.28,-0.49,-1.21,-1.69,-2.02,-1.38,-0.71,-0.79,-1.46,-1.4,-1.04,-0.63,-0.18,-0.32,-0.22,0.7,1.36,1.39,1.09,0.77,0.73,0.93,1.17,0.81,0.51,-0.52,-1.17,0.55,1.52,0.8,0,0,-0.29,-0.72,-0.94,-0.97,-0.8,-0.77,-0.92,-1.11,-1.53,-2.11,-2.74,-3.44,-3.63,-3.31,-3.36,-3.41,-3.35,-3.28,-2.77,-2.19,-1.96,-2.08,-2.26,-2.81,-2.72,-2.39,-2.01,-1.36,-0.83,-0.69,-0.89,-0.65,-0.23,0.73,1.44,1.14,0.6,-0.22,-1.09,-1.12,-1.11,-1.61,-1.61,-1.33,-1.73,-1.26,1.7,2.43,3.01,3.2,3.22,2.37,1.81,1.2,1.42,1.22,0.44,0.45,0.91,1.3,3.06,4.63,4.2,3.05,1.85,0.82,-0.07,-0.3,1.32,-0.18,-0.59,0.36,1.56,1.78,0.31,-0.71,2.55,5.62,3.79,1.98,1.5,0.97,0.78,0.9,1.04,1.43,1.95,2.04,2.34,2.76,2.53,1.6,1.37,1.84,2.46,2.72,2.82,3.04,3.39,3.82,3.18,2.25,1,-0.19,2.02,3.48,2.24,3.39,3.21,2.78,0.64,-1.2,2.29,2.08,2.57,2.94,1.97,1.77,1.74,1.1,-0.42,-2.34,-2.54,-1.09,-1.39,-2.11,-0.69,0.27,1,1.6,1.92,2.69,3.1,2.28,1.94,1.99,1.32,0.78,0.84,0.49,-0.53,-2.11,-1.65,0.51,1.03,0.86,0.68,-0.34,-0.62,0.42,0.36,-0.32,-0.74,-0.67,-0.34,-0.12,-0.86,-0.95,0.04,2.02,2.8,2.67,4.06,5.06,5.37,5.19,4.45,5.47,5.9,6.07,6.54,7.9,8.73,8.29,6.8,6.46,5.59,4.99,4.47,3.98,3.51,2.73,1.54,0.39,-0.36,-1.03,-1.34,-2.33,-3.31,-3.29,-2.83,-2.74,-2.25,-1.91,-2.04,-1.41,0.87,1.3,-0.13,-0.27,0.05,0.34,-0.43,-2.13,-3.71,-4.98,-6.33,-7.15,-6.39,-4.92,-3.61,-2.75,-2.97,-4.42,-5.68,-6.26,-6.31,-3.72,0.76,3.45,4.65,4.37,4.04,4.49,5.55,6.35,7,7.44,7.2,6.24,5.15,4.52,4.44,4.8,5.14,5.58,6.11,6.66,7.19,7.39,7.31,6.91,6.18,5.4,4.83,4.55,4.52,4.68,4.86,5.02,5.64,6.88,8.58,9.71,9.95,10,10.07,9.9,9.33,8.71,7.85,5.17,4.3,4.63,3.85,2.42,0.74,-2.18,-5.85,-8.33,-10.3,-10.29,-5.61,-3.22,-1.78,1.34,0.64,-0.71,-0.14,-0.55,-0.95,-0.92,-2.41,-2.49,-2.55,-5.9,-6.75,-4.41,-4.08,-3.61,1.35,3.77,4.59,4.9,3.96,2.98,3.1,3.13,2.35,1.58,0.75,-0.22,-1.27,-1.7,-2.22,-2.09,0.99,1.76,1.51,1.72,1.54,1.6,1.6,1.63,1.58,1.26,0.95,0.4,-0.01,0.2,0.52,0.18,-0.41,-0.68,-0.39,-0.14,-0.5,-0.19,-0.16,-0.54,-1.07,-1.46,-1.08,-0.34,-0.4,-1.12,-1.48,-1.54,-1.56,-1.58,-1.69,-1.29,-0.12,0.76,0.8,0.62,0.58,0.61,0.6,0.6,0.65,0.32,-0.1,-0.85,-1.31,-0.41,0.83,1,0.52,-0.18,-0.55,-0.79,-1.05,-0.65,-0.44,-0.82,-1.3,-1.89,-2.1,-2.59,-3.46,-4.14,-4.37,-4.21,-4.19,-3.84,-3.64,-3.15,-2.19,-1.61,-1.91,-1.91,-2.26,-3,-2.08,-1.9,-1.48,-0.33,0.89,1.46,1.61,1.97,1.53,2.04,1.9,1.37,1.15,0.19,-0.79,-0.84,-0.25,0.48,0.38,-0.1,-1.7,-0.11,5.21,6.47,5.72,5.06,4.14,2.71,1.15,0.2,-0.45,-1.5,-1.93,-0.93,0.41,1.52,3.12,4.52,3.67,0.49,-0.46,-0.37,-1.24,-1.15,0.06,-0.65,-0.68,0.24,1.62,1.68,0.92,0.75,1.27,1.7,0.15,-0.65,-0.61,-0.64,-0.28,0.1,0.36,0.51,0.72,1.23,1.6,1.94,2.3,2.52,2.71,2.38,2.31,2.59,3.11,3.21,3.15,3.37,2.91,2.66,3.05,3,2.12,1.03,1,0.56,-0.35,-1.26,1.21,3.39,0.85,2.76,3.44,1.34,1.42,1.35,1,0.4,-0.6,-2.53,-3.98,-2.78,-2.27,-2.57,-2.86,-2.58,-0.17,0.22,0.93,1.36,0.38,0.66,1.41,0.26,0.65,2.08,1.88,2.11,2.68,1.61,1.69,1.95,2,1.66,1.74,1.28,1.22,0.78,-0.01,0.21,-0.33,-1.34,-1.62,-1.4,-0.82,-0.23,1.33,2.97,2.84,3.05,4.92,5.6,4.66,4.01,4.38,5.15,5.68,5.99,6.44,6.8,6.79,7.36,5.82,5.3,4.64,4,3.42,3.03,2.81,2.57,1.98,0.82,-0.18,-0.96,-1.44,-1.91,-2.4,-2.08,-1.85,-2.22,-2.07,-1.38,-1.36,-1.23,-0.98,-0.67,-1.55,-2.02,-2.28,-1.75,-0.07,0.97,-0.89,-3.18,-5.02,-5.61,-5.53,-5.09,-4.59,-4.21,-3.65,-3.31,-3.57,-3.84,-3.44,-1.29,2.01,4.41,5.08,4.76,4.53,4.78,5.14,5.57,6.5,6.99,6.58,6.01,5.5,5.36,5.37,5.55,5.82,6.12,6.26,6.31,6.46,6.56,6.56,6.13,5.54,4.95,4.53,4.05,3.53,3.07,2.94,3.34,4.3,6.01,7.75,8.47,8.7,8.78,8.74,8.52,7.78,7.16,3.14,0.89,2.85,4.75,3.2,1.43,0.62,-1.82,-5.52,-8.25,-9.49,-10.06,-10.3,-7.79,-2.28,0.35,-1.21,-2.72,-1.4,-1.68,-1.64,-1.49,-1.56,-1.23,-3.56,-6.95,-4.96,-0.23,0.55,1.34,2.73,3.44,3.78,3.62,3.01,2.78,2.44,2.36,2.07,1.5,0.81,0.06,-1.1,-2.32,-2.29,-2.35,0.24,2,1.98,1.96,1.95,1.86,2.01,2.16,1.73,0.95,0.74,0.37,0.13,0.69,0.53,-0.19,-0.38,-0.41,-0.18,0.29,0.16,-0.42,-0.9,-0.88,-1.19,-1.35,-0.74,-1.01,-1.71,-1.78,-1.76,-1.93,-2.41,-2.27,-1.26,-0.3,0.36,0.58,0.41,0.54,0.46,0.09,0.22,0.13,-0.26,-0.07,-0.4,-1.22,-1.82,-1.27,0.38,0.75,0.27,0.22,0.21,-0.19,-0.55,-0.45,-0.7,-1.53,-1.73,-1.51,-1.89,-2.47,-3.35,-3.97,-4.83,-4.96,-5.03,-5,-3.79,-3.61,-2.65,-1.81,-1.51,-1.48,-1.3,-1.77,-1.83,-0.52,0.52,1.6,2.34,2.05,2.61,2.12,2.02,2.37,1.39,0.51,0.84,0.12,-0.14,0.61,1.09,1.25,-0.31,0.68,5.38,7.66,7.33,6.19,5.29,4.33,3.16,2,0.78,-0.14,-1.18,-1.94,-1.82,-1.6,-1.77,-0.35,3.86,3.47,1.77,0.64,-1.24,-2.27,-1.94,-0.65,1.05,1.24,0.89,1.53,1.81,0.7,-0.6,-1.28,-1.59,-2.56,-3.28,-2.15,-1.34,-1.22,-1.24,-0.95,-0.69,-0.19,0.4,0.89,1.49,2.09,2.56,2.99,2.9,3.13,3.61,3.36,3.53,3.67,3.81,3.2,3.28,3.35,3.06,3.7,2.18,-1.84,-3.62,-0.26,3.09,4.99,2.96,0.28,1.94,2.19,0.96,1.14,1.69,2.11,1.4,0.1,-1.11,-3.08,-5.02,-5.08,-4.52,-4.37,-2.3,-1.16,-0.76,0.39,-0.12,-1.97,0.65,0.98,0.81,0.71,0.72,1.7,1.51,1.18,2.9,2.4,2.8,3.88,3.25,3.03,2.55,2.59,2.71,1.82,1.39,0.81,0.48,0.49,0.35,0.67,1.97,2.84,2.18,2.04,3.32,2.95,4.07,4.69,3.93,4.09,4.04,5.11,5.36,5.77,6.13,5.93,5.41,4.36,3.35,2.48,3.01,2.2,1.46,1.44,1.94,2.27,2.25,1.4,-0.05,-1.09,-1.58,-1.86,-1.17,-1.48,-2.34,-2.48,-2.75,-2.89,-2.63,-2.02,-1.44,-1.14,-1.11,-1.15,-1.52,-2.7,-2.06,-0.39,-1.17,-3.14,-3.43,-3.86,-4.48,-4.83,-4.96,-4.71,-4.19,-3.54,-2.71,-1.86,-0.68,0.67,1.97,3.1,3.84,4.19,4.28,4.52,5.29,6.43,7.15,6.98,6.58,6.18,5.82,5.39,5.17,5.31,5.61,5.77,5.8,5.98,6.08,6.18,5.91,5.46,5.05,3.92,2.57,1.78,1.58,1.63,1.8,2.41,3.89,5.88,7.08,7.34,7.44,7.31,6.95,6.51,5.83,3.68,2,0.7,-1.22,1.52,3.77,1.48,0.27,-0.9,-4.12,-6.49,-8.21,-8.93,-9.24,-7.84,-2.57,-1.54,-3.15,-2.38,-0.98,-1.33,-3.15,-2.53,-2.39,-3.54,-5.02,-4.67,-0.32,0.49,-0.36,-0.11,1.38,2.11,2.44,2.05,1.76,1.96,2.14,2.07,1.95,1.4,0.83,0.02,-1.32,-2.61,-1.68,-1.28,0.17,2.07,2.22,2.65,2.43,2.43,2.47,2.01,1.69,1.48,0.44,0.11,0.35,0.34,-0.55,-0.46,-0.28,-0.2,0.32,0.4,-0.54,-1.05,-1.43,-1.55,-1.53,-1.65,-1.88,-2.58,-2.85,-2.68,-2.75,-3.03,-2.83,-1.82,-0.03,0.15,-0.15,-0.1,0.05,0.16,0.01,-0.24,-0.57,-0.6,-0.6,-0.81,-0.77,-0.48,-0.39,-0.24,0.11,-0.24,-0.01,0.19,-0.72,-0.17,-0.01,-0.35,-0.77,-1.12,-1.25,-1.92,-2.67,-3.13,-4.2,-4.69,-6.04,-5.75,-5.77,-5.02,-3.14,-2.11,-1.8,-2.38,-2.37,-2.09,-1.15,-0.91,0.17,0.53,0.55,0.77,1.55,2.24,2.48,2.3,2.21,2.28,1.51,0.35,-0.11,-0.04,0,0.4,0.76,0.6,2.43,6.02,7.04,6.31,5.84,5.67,4.95,3.61,2.29,1.02,-0.26,-1.27,-2.18,-2.68,-2.59,-2.92,-2.98,0.55,4.75,2.73,1.17,-1.46,-0.95,-0.62,-2.05,1.88,3.29,2.98,2.38,1.22,-0.29,-1.82,-3.12,-4.11,-5.13,-5.71,-4.31,-2.67,-2.05,-2.08,-2.24,-2.49,-2.35,-2.08,-1.79,-1.19,-0.43,0.51,1.69,2.59,2.73,3.15,5.03,5.8,4.46,4.65,6.27,5.65,4.19,6.23,4.54,4.87,5.45,3.98,4.45,5.88,4.38,3.11,2.55,1.29,0.62,0.77,1.05,1.15,0.91,0.38,0.11,-1.06,-2.98,-4.18,-5.36,-6.06,-5.97,-5.77,-5.71,-2.89,1.04,3.38,3.49,0.65,1.06,2.09,1.37,0.21,0.87,1.39,1.75,2.11,2.38,2.22,1.73,1.05,0.26,-0.56,-1.2,-0.8,0.06,0.83,0.69,0.09,-0.21,-0.17,0.5,1.69,2.31,2.36,1.8,3.72,4.64,4.38,4.5,4.31,4.11,4.11,4.51,4.89,4.97,5.43,5.2,4.83,4.66,4.05,3.24,1.09,0.04,-0.52,-1.17,-0.96,0.22,1.26,2.61,2.81,0.89,-1.06,-2.03,-1.71,-1.3,-2.21,-3,-3.02,-2.92,-3.15,-2.83,-2.68,-2.36,-1.85,-1.53,-1.43,-2,-2.09,-1.95,-1.92,-2.05,-1.2,-0.57,-1.22,-1.66,-3.22,-4.45,-4.84,-4.47,-3.52,-2.58,-2.22,-1.5,-0.46,0.86,1.78,2.11,2.45,3.52,4.8,5.4,5.61,5.34,5.12,5.22,5.36,5.03,4.77,4.78,5.09,5.61,6.08,6.29,6.33,6.26,5.89,5.29,4.06,2.35,1.17,1.1,0.85,0.34,0.15,0.29,1.96,4.39,5.71,6.01,6.05,5.91,5.6,5,4.24,3.04,1.06,0.22,0.68,1.56,1.37,1.75,3.96,2.5,0.15,-2.81,-5.15,-7.08,-8.51,-8.89,-8.69,-3.75,-2.82,-2.86,-1.36,-1.67,-1.93,-1.26,-2.61,-2.58,-2.62,-5.49,-1.24,1.84,0.03,-0.41,0.4,1.97,1.55,1.52,1.78,2.1,2.52,2.73,2.49,2.01,1.47,0.66,-0.03,-0.27,-0.8,-0.9,0.75,1.43,2.03,2.31,2.81,3.4,2.47,2.15,2.04,1.93,1.73,0.78,0.37,0.05,-0.18,-0.68,-0.33,0.11,0.99,1.03,-0.51,-1.51,-1.89,-2.28,-2.32,-2.03,-2.49,-3.07,-3.68,-3.54,-3.3,-3.26,-3.16,-2.43,-1.54,-0.96,-0.13,-0.24,-0.51,-0.34,0.22,0.15,-0.71,-0.93,-0.8,-1.56,-2.65,-1.58,-0.06,0.42,-0.48,-0.75,-0.65,-0.58,-0.49,-0.4,0.51,1.09,0.39,-0.61,-1.11,-1.59,-2.11,-2.32,-3.77,-4.58,-5.14,-6.79,-4.87,-3.45,-1.65,-3.26,-3.67,-3.48,-3.01,-3.9,-2.81,-0.5,0.84,0.41,0.13,0.15,0.02,0.26,0.11,0.4,1.16,1.48,1.97,1.57,1.67,0.93,0.89,1.03,1.43,1.07,1.74,3.96,4.44,5.38,4.18,5.9,6,3.87,2.6,1.49,-0.15,-1.57,-2.33,-3,-3.46,-3.53,-3.16,-1.99,0.69,3.31,1.97,0.24,0.49,-0.2,-1.38,0.2,2.02,4.45,2.13,-0.48,-1.99,-3.56,-4.72,-5.83,-7.09,-7.68,-6.84,-5.21,-3.55,-3.09,-3.35,-3.56,-3.67,-3.86,-3.79,-2.85,-1.57,-0.26,1.14,2.42,3.23,3.2,2.86,4.05,5.03,3.45,4.01,6.44,7.97,5.64,5.21,6.59,5.22,5.93,5.09,5.12,4.98,4.36,3.66,3.08,2.32,1.53,0.99,0.48,-0.08,-0.1,-1.14,-2.11,-2.64,-4.12,-4.64,-6.02,-7.31,-8.74,-8.47,-4.16,-0.92,1.19,4.21,5.99,2.36,0.39,3.83,2.75,0.25,0.99,0.71,0.13,2.12,2.07,1.62,-0.33,-1,-1.43,-1.62,-0.56,1.76,1.85,0.64,1.27,2.57,2.4,1.86,2.41,2.42,1.99,2.01,2.83,3.15,3.35,3.53,3.74,3.69,4.29,4.33,4.68,4.47,4.53,4.76,4.66,4.44,4.09,3.71,2.76,1,-0.35,-2.25,-4.08,-4.37,-3.99,-2,4.28,4.32,2.72,0.09,-1.97,-2.7,-3.78,-3.96,-3.69,-3.7,-3.58,-3.12,-2.99,-2.91,-2.52,-2.46,-2.06,-1.52,-1.77,-1.72,-2.15,-2.5,-2.19,-1.41,-0.26,-0.47,-1.59,-2.13,-2.35,-2.83,-3.6,-3.68,-3.16,-2.77,-1.7,-0.96,-0.73,-0.36,1.27,2.9,3.45,3.5,3.02,2.2,2.1,2.74,3.35,3.72,4.52,5.66,6.63,7.26,7.5,7.37,7.12,6.67,5.99,4.86,3.33,2.32,1.87,0.94,-0.23,-1.08,-1.62,-1.63,0.38,3.25,4.69,4.99,4.9,4.63,4.27,4.18,2.34,0.94,0.31,1.04,2.06,-0.29,-0.05,-0.91,-0.86,4.8,3.94,1.53,-1.75,-4.61,-6.96,-8.42,-8.66,-8.54,-3.76,-0.9,-0.98,-0.29,0.79,0.59,0.95,0.79,0.25,-0.26,0.71,1.88,1.29,0.33,-0.02,0.39,0.57,1.63,2.61,2.39,2.27,2.53,2.77,2.46,1.97,1.25,0.57,0.06,-0.18,-0.3,-0.65,-0.41,0.39,2.06,2.76,2.87,2.92,2.51,2.51,2.13,1.78,1.05,0.31,-0.27,-0.48,-0.63,-1.2,-0.55,0.67,0.1,-0.44,-0.97,-1.61,-1.96,-2.43,-2.61,-2.51,-2.74,-3.36,-3.48,-3.67,-3.36,-3.08,-2.64,-2.54,-2.54,-1.83,0.07,0.13,0.66,0.57,0.22,-0.4,-0.72,-0.91,-1.33,-1.88,-1.92,-1.24,-0.2,0.42,0.37,-0.82,-0.01,0.26,0.35,-0.23,-0.61,-0.41,0.16,0.06,-0.35,-1.04,-1.96,-2.31,-2.73,-3.89,-3.82,-2.88,-2.3,-1.09,-1.79,-2.18,-4.05,-3.51,-3,-2.14,-0.18,1.1,0.69,0.64,0.71,0.7,-0.2,-0.71,0.92,1.88,2.23,2.18,2.39,2.2,1.62,1.41,0.75,0.55,-0.02,-0.15,1.49,2.59,3.84,2.41,2.57,4.89,4.15,2.84,3.48,1.26,-0.52,-1.98,-2.95,-3.51,-3.53,-3.28,-2.48,-0.88,0.52,1.45,0.8,-0.34,-0.29,0.23,4.16,4.19,0.79,-0.35,-1.86,-3.43,-4.19,-5.6,-7.07,-8.13,-8.81,-8.76,-7.68,-5.92,-4.72,-3.81,-3.44,-3.98,-4.37,-4.47,-4.19,-3.24,-1.67,-0.01,1.38,2.76,4.22,5.29,5.39,4.51,4.58,5.14,4.49,3.98,5.75,6.4,6.61,7.36,7.69,7.52,6.92,6.23,5.51,4.83,4.22,3.44,2.83,2.32,1.67,0.75,-0.7,-1.07,-1.72,-2.94,-3.01,-4.54,-5.56,-6.95,-8.99,-9.7,-6.47,-4.21,-1.23,1.12,3.35,5.11,5.63,0.65,4.61,8.01,2.6,2,1.14,2.05,1.83,1.46,0.92,-1.32,-1.42,0.42,1.99,2.39,3.3,2.85,2.89,2.38,2.21,1.61,1.04,0.9,1.68,1.95,2.09,3.2,3.06,3.49,3.6,2.5,2.02,3.27,3.59,4.07,3.51,3.7,4.53,3.91,3.9,3.6,3.27,3.08,2.01,-0.18,-2.3,-3.21,-3.18,-0.56,1.24,4.16,4.51,3.06,-0.43,-2.94,-4.32,-4.48,-3.07,-3.14,-3.11,-3.19,-3.22,-2.98,-3.2,-3.07,-2.72,-2.95,-2.73,-2.77,-2.55,-2.85,-3.46,-3.36,-1.95,-2.17,-1.35,-0.36,-2.03,-1.91,-1.85,-2.71,-3.86,-4.09,-3.94,-3.81,-3.17,-1.18,0.87,1.49,0.91,0.17,0.35,1.87,3.91,5.37,6.26,6.82,7.34,7.82,8.2,8.81,9.19,9.02,8.34,7.38,6.1,4.68,3.8,3.37,1.7,-0.61,-1.75,-2.35,-3,-3.03,-0.41,2.54,3.6,3.92,3.87,3.64,3.11,2.91,2.44,-0.24,-1.14,-0.13,1.94,3.16,-0.14,-1.45,-1.76,-0.01,3.94,3.32,1.03,-2.23,-4.97,-5.7,-4.19,-3.57,-2.57,-1.44,-0.72,-0.72,-1.24,-1.02,-0.59,-0.32,-0.35,-0.56,0.22,0.78,-0.07,-0.69,-0.85,-0.56,-0.23,0.39,1.94,2.24,2.07,2.29,2.49,2.35,2.38,2.05,1.26,0.35,0,-0.17,-0.34,-0.3,-0.62,-0.07,1.37,2.36,1.96,2.07,2.18,1.44,0.94,1.13,0.55,0.15,0.09,-0.29,-1.23,-2.04,-0.66,0.06,-0.44,-0.89,-1.6,-1.86,-2.02,-2.6,-3.17,-3.31,-3.28,-3.56,-3.09,-2.83,-3.19,-3.02,-2.86,-2.75,-2.04,-0.78,0.72,-0.01,0.82,0.57,-0.71,-1.43,-1.32,-1.2,-0.57,-0.51,-0.24,0.26,0.6,-0.02,0,1.07,1.3,0.44,-0.24,-0.29,0.07,-0.39,-1.15,-1.76,-2.07,-1.8,-1.21,-2.47,-2.52,-3.84,-4.81,-3.53,-1.19,-2.02,-3.12,-3.08,-2.79,-1.76,0.28,1.14,0.75,-0.1,-0.31,0.55,0.54,1.1,1.14,1.08,2.82,2.71,2.68,2.49,2.58,2.23,2.14,1.99,1.21,0.64,0.11,-0.1,2,1.82,1.4,1.31,1.11,2.1,2.35,2.93,3.08,0.78,-0.98,-2.38,-3.03,-3.21,-2.97,-2.38,-1.67,-1.13,-0.74,-0.75,-0.79,-0.27,1.06,3.54,2.64,1.02,-1.01,-2.8,-4.35,-5.85,-6.86,-7.71,-8.58,-9.45,-9.83,-9.15,-7.36,-5.11,-4.07,-3.23,-2.91,-3.02,-3.45,-3.53,-3.17,-2.4,-0.9,1.03,2.18,2.97,4.25,5.24,5.96,5.97,5.42,4.84,6.03,6.19,6.79,6.95,7.17,7.87,8.25,8.37,8.14,7.53,6.63,5.75,5.03,4.53,3.89,2.72,1.57,0.68,-0.77,-1.82,-2.27,-3.2,-3.63,-4.84,-6.29,-7.96,-10.19,-9.05,-6.96,-5.67,-2.05,0.58,2.64,4.54,6.02,6.5,4.08,6.66,4.59,1.97,1.9,2.08,1.69,1.37,0.96,-1.49,0.77,5.22,5.16,4.82,3.41,1.31,2.56,2.87,2.63,2.23,1.32,0.73,1.11,1.97,1.98,1.75,2.1,3.18,2.95,1.92,2.61,3.35,2.68,3.53,4,2.33,3.56,3.59,3.51,3.12,2.5,1.83,1.32,1.06,0.1,-0.3,0.21,0.1,-1.07,-0.05,3.33,1.42,-1.65,-3.71,-3.69,-3.73,-3.94,-3.95,-3.89,-4.09,-4.16,-4.11,-3.91,-4.57,-4.27,-3.63,-3.51,-3.53,-3.06,-3.42,-3.32,-3.44,-3.11,-3.52,-1.38,-0.2,-1.42,-2.34,-3.37,-4.74,-5.18,-5.15,-4.73,-3.86,-3.21,-2.63,-1.31,0.86,3.09,5,5.83,5.82,5.8,5.95,6.18,6.56,7.05,7.26,7.53,8.42,9.12,8.89,7.82,6.5,5.35,4.87,3.47,0.95,-1.13,-2.41,-3.22,-4.12,-4.2,-1.21,1.5,2.15,2.65,2.86,2.72,2.63,2.35,1.97,0.74,-0.9,-0.24,1.42,1.12,0.46,0.23,-0.75,-2.93,0.7,3.09,0.76,-2.31,-4.55,-4.4,-2.67,-2.71,-2.22,-1.5,-0.85,-0.62,-1.38,-1.88,-0.71,0.18,0.16,-0.31,-0.54,-0.6,-0.68,-0.96,-0.96,-0.63,0,0.44,1.08,1.7,1.95,2.02,2.27,2.18,2.11,2.29,2.18,1.15,0.16,0.12,-0.11,-0.49,-0.57,-0.32,-0.47,-0.71,0.5,0.9,-0.15,-0.22,0.49,1.43,1.51,0.83,0.16,-0.18,-0.84,-1.87,-2.3,-0.53,0.34,-0.85,-1.45,-2.02,-2.78,-3.16,-3.38,-3.75,-3.66,-4.12,-4.22,-3.96,-3.47,-3.04,-2.78,-2.93,-1.54,-1.16,0,0.65,1.66,1.66,-0.75,-1.79,-1.97,-2.6,-0.83,1.1,1.7,1.72,1.21,1.51,2.08,1.97,1.29,0.1,-0.83,-0.99,-0.46,-0.98,-1.06,-1.21,-1.89,-2.37,-2.84,-2.33,-1.11,-1.47,-0.08,-0.23,-2.44,-2.72,-1.32,-1.31,-0.67,-1.35,-1.26,0.55,0.78,1.48,1.08,0.33,-0.02,0.62,2.41,3.05,2.69,2.37,2.94,3.26,3.82,3.69,3.29,3.16,1.79,1.35,1.32,0.06,0.52,1.68,1.4,0.8,1.12,1.22,0.52,0.73,2.14,2.6,0.81,-0.74,-2.33,-3.14,-3.37,-3.45,-3.32,-2.64,-1.63,-1.28,-1.57,-1.86,-0.24,1.92,2.12,-0.04,-1.13,-2.86,-4.17,-5.33,-6.7,-7.79,-8.67,-9.48,-9.75,-9.22,-7.66,-5.76,-4.82,-3.27,-1.93,-0.95,-0.55,-0.82,-0.87,-0.78,-0.37,0.66,1.39,1.98,3.21,2.91,3.67,4.52,5.97,6.75,7.57,8.08,9.2,9.38,9.1,9.02,9.16,9.28,8.93,8.46,8.03,7.66,6.98,5.76,4.79,4.16,3.13,1.85,0.77,-0.65,-2.21,-2.98,-3.53,-4.24,-5.25,-6.98,-8.55,-10.49,-9.72,-8.25,-6.44,-2.83,-0.41,2.09,4.13,5.91,6.96,6.53,5.49,4.6,2.57,1.57,0.93,1.71,2.21,-0.21,-2.38,2.65,5.95,4.73,4.25,2.83,2.63,2.7,3.79,3.27,2.66,1.71,0.98,1.73,1.16,1.25,0.91,2.11,3.28,3.51,3.37,2.83,2.35,3.85,3.24,3.16,2.71,3.09,3.16,2.78,2.81,2.75,1.91,0.35,-0.6,-0.92,-0.73,-0.85,-1.48,-1.13,-0.4,1.19,-0.19,-3.04,-4.53,-3,-3.28,-4.16,-4.41,-4.61,-4.74,-4.83,-4.5,-4.39,-4.4,-3.92,-3.13,-3.54,-3.37,-3.73,-3.82,-3.24,-3.09,-2.95,-0.46,1.4,-0.86,-3.82,-4.86,-5.73,-6.51,-6.49,-6.26,-5.91,-3.9,-0.54,2.63,4.74,6.14,6.51,6.5,6.73,6.18,5.5,5.27,5.6,6.06,6.27,6.17,6.6,7.75,8.28,7.8,6.76,5.91,5.01,2.94,0.02,-1.84,-3.03,-4.02,-5.21,-4.82,-1.54,0.33,0.74,1.46,1.75,1.88,2.19,2.49,2.47,1.73,-0.46,-1.36,-1.23,-1.17,-1.37,-1.59,-1.39,-1.55,-0.76,1.92,-0.86,-1.62,-2.04,-2.2,-2.48,-2.25,-2.47,-2.66,-2.09,-1.27,-0.64,-0.59,-0.68,-0.18,-0.06,-0.2,-0.14,-0.65,-0.59,-0.45,-0.35,-0.1,0.15,0.39,0.56,1.44,1.86,1.96,2.09,2.13,1.79,1.48,1.91,1.6,0.45,-0.18,-0.1,-0.39,-0.75,-1.11,-1.2,-1.13,-1.28,-1.38,-0.98,-1.25,-1.82,1.26,1.64,0.89,-0.15,-0.97,-0.93,-0.76,-1.72,-2.45,-1.01,0.92,0.02,-1.36,-2.7,-3.51,-3.83,-3.95,-4.14,-3.93,-3.95,-4.02,-3.66,-4.14,-3.74,-2.75,-2.12,-1.4,-0.97,-0.57,-2.48,-1.94,-2.14,-1.58,-1.46,-2.21,-0.19,1.06,1.23,1.58,1.56,1.15,0.71,0.52,0.64,0.05,-0.14,-0.46,-1.08,-0.91,-0.1,-0.08,-0.22,-0.96,-1.47,-1.37,-1.18,-2.83,-4.77,-5.27,-4.76,-4.54,-2.68,-1.21,-0.63,-1.28,-1.01,-0.91,-1.72,-1.23,1.22,2.07,1.01,1.63,3.49,3.33,4.17,3.35,1.89,2.09,3.04,2.96,3.62,4.22,3.99,1.95,1.13,0.24,-0.3,-0.05,0.32,0.08,-0.11,-0.82,-0.91,-3.83,-2.34,0.43,2.31,1,-0.79,-1.69,-1.95,-1.63,-1.52,-2.41,-3.09,-2.26,-1.02,-0.6,1.04,2.74,0.41,-1.01,-1.26,-2.26,-3.7,-5.36,-6.54,-7.63,-8.29,-8.97,-9.39,-9.01,-7.57,-5.73,-4.35,-1.7,0.55,0.47,0.26,-0.05,-0.38,0.09,1.02,1.9,2.68,3.09,3.41,3.76,3.66,3.53,3.71,4.41,5.69,7.15,8.43,10.22,11.43,12.26,12.8,12.37,11.28,10.53,9.71,8.97,8.02,7.33,6.45,5.36,4.42,3.43,2.12,0.91,-0.26,-1.74,-2.97,-3.72,-4.62,-5.75,-7.26,-8.82,-10.27,-10.49,-9.08,-8.05,-5.15,-3.11,0.85,4.63,6.9,7.51,7,6.37,5.11,2,0.05,-0.34,0.54,1.62,3.55,3.41,4.75,6.55,4.59,3.56,2.94,1.96,1.64,2.6,4.1,2.7,2.03,1.88,1.21,-0.44,0.61,1.82,2.88,3.16,3.37,3.05,2.87,1.26,1.45,2.03,1.36,0.73,1.88,2.5,2.35,2.05,1.48,0.91,0.36,-0.62,-1.17,-1.63,-2.13,-1.63,-1.17,-1.51,-1.38,-2.5,-3.15,-3.96,-4.12,-4.07,-3.79,-3.89,-4.66,-4.54,-4.09,-3.81,-3.01,-2.8,-3.4,-2.45,-2.16,-2.02,-2.08,-2.59,-2.76,-1.69,1.06,0.06,-1.57,-1.42,-3.76,-6.76,-7.64,-8.22,-7.88,-5.65,-2.38,0.63,3.06,5.6,7.41,8.31,8.44,7.66,6.73,6.13,6.07,5.99,5.66,5.25,5.28,5.56,6.18,6.76,7.06,6.49,5.51,4.39,1.9,-0.6,-2.56,-3.69,-4.86,-6.32,-5.27,-2.06,-0.92,-0.38,0.25,0.79,1.22,1.4,1.56,1.83,1.66,1.14,0.37,-0.16,-0.37,-1.4,-3.26,-2.1,-0.55,0.07,1.62,1.07,-2.63,-1.66,-2.38,-3.03,-2.91,-2.18,-2.36,-2.05,-2.17,-1.97,-1.62,-1.13,-0.86,0.16,0,-0.51,-0.35,-0.97,-0.96,-0.57,0.51,0.71,0.86,1.17,1.73,2.7,2.14,1.82,1.82,1.78,1.45,0.95,1.12,0.75,-0.23,-0.53,-0.72,-1.44,-1.91,-1.97,-1.7,-2.21,-2.34,-2.68,-2.6,-2.98,-3.49,-0.61,0.5,0.2,-0.28,-0.72,-0.9,-0.75,-1.47,-1.82,-1.35,-0.3,-1.19,-2.42,-3.38,-3.95,-4.17,-4.1,-4.31,-4.17,-3.94,-3.46,-3.91,-4.03,-3.22,-2.36,-2.6,-1.09,0.74,-0.61,-0.99,-0.08,-0.67,-2.23,-0.58,0.23,0.1,0.04,-1.62,-0.95,0.38,1.1,1.77,1.03,0.19,-0.32,-0.44,-0.07,0.45,1.27,-0.54,-0.62,-1,-0.52,-0.72,-0.67,-0.8,-1.26,-2.05,-1.19,-1.16,-1.53,-0.46,-0.33,-0.03,-0.48,-1.53,-1.77,-2.52,-1.4,0.29,1.2,1.84,2.8,3.06,3.34,2.9,2.71,2.91,2.25,2.34,2.2,3.7,4.41,4.17,2.43,0.83,0.75,0.61,1.64,1.34,-0.78,-1,-0.7,-0.66,-6.26,-1.91,0.49,-1.88,-1.8,-2.13,-2.33,-2.58,-2.58,-2.25,-1.93,-2.01,-1.69,-0.63,0.41,-0.57,-2.08,-1.94,-1.59,-2.07,-2.72,-3.85,-4.88,-5.84,-6.49,-6.92,-7.31,-7.2,-6.58,-5.36,-3.57,-1.29,0.51,0.66,0.47,0.41,0.16,0.31,1.23,2.06,3.08,3.73,3.86,4.08,4.35,4.38,3.91,3.2,2.97,3.24,4.52,6.87,9.68,11.99,13.93,14.38,13.95,12.8,11.62,10.46,9.4,8.49,7.68,6.7,5.64,4.69,3.86,2.51,1.26,0.16,-1.04,-2.46,-3.63,-4.64,-5.83,-7.05,-8.5,-9.69,-10.21,-9.13,-7.67,-5.85,-3.04,1.56,5.42,7.46,8.05,7.33,6.26,4.99,2.32,0.78,0.96,0.12,-1.09,-0.42,0.66,3.7,3.35,4.37,5.28,2.96,1.56,2.82,2.19,3.09,2.6,1.67,0.69,-0.69,-2.12,-0.18,1.46,2.71,3.37,2.86,2.45,2.48,1.93,-0.01,-1.1,0.96,1.62,2.01,1.61,1.22,1.26,1.19,1.37,1.66,1.41,-0.13,-1.38,-1.49,-1.78,-2.03,-2.49,-3.08,-3.61,-4.29,-4.51,-4.88,-4.01,-3.44,-3.64,-3.56,-4.45,-3.88,-3.11,-2.93,-2.66,-0.12,1.11,-0.55,-0.89,-1.6,0.77,2.54,-0.34,-4.94,-5.29,-1.76,-1.94,-5.61,-7.82,-8.23,-7.14,-5.7,-4,-1.5,2.32,3.96,6.29,9.97,9.83,8.25,7.07,7.01,7,5.92,5.69,5.4,4.82,4.69,5.01,5.42,5.45,5.51,4.68,2.94,0.6,-1.36,-3.23,-4.37,-5.58,-6.96,-5.03,-2.95,-2.56,-2.1,-1.47,-0.38,0.12,0.22,0.37,0.57,0.8,0.85,0.53,-0.05,-0.64,-1.29,-2.2,-2.48,-1.32,-1.42,-0.4,-1.18,-2.8,-1.39,-2.51,-3.26,-3.02,-3.01,-2.66,-2.41,-1.82,-2.59,-2.17,-2.59,-2.1,-1.2,0.03,0.58,0.37,-1.15,-1.77,-1.41,-1.38,-0.89,-0.57,-0.12,1.14,1.46,0.35,0.23,0.77,1.06,0.98,0.6,0.45,0.7,0.1,-0.87,-1.3,-1.82,-1.96,-2.32,-2.55,-2.71,-2.88,-3.39,-3.42,-2.82,-3.07,-3.24,-3,-0.69,-0.06,0.02,-0.39,0.01,-0.14,-1.05,-1.99,-1.82,-1.65,-2.33,-3.89,-4.45,-4.43,-4.78,-4.78,-4.91,-4.63,-4.26,-3.38,-4.93,-4.12,-2.66,-2.6,-2.45,-0.46,-0.67,-0.93,-0.16,1.81,5.62,6.2,2.24,2.65,1.57,-2.17,-0.98,0.39,-0.28,-0.32,0.08,0.27,-0.96,0.32,-1.15,-2.23,-1.18,-1.46,-0.97,-0.3,0.18,-0.4,-0.22,-0.51,-1.08,-1.06,-1.48,-1.45,-0.44,-0.19,-0.22,-0.98,-2.16,-1.36,0.86,-1.25,-2.3,-1.49,-0.55,0.15,1.92,3.23,3.76,2.42,2.3,2.5,3.83,3.85,3.29,3.33,4.25,4.43,4.67,3.17,2.16,1.57,0.75,-0.05,-1.24,-1.31,-1.18,-1.02,-1.76,-6.94,-1.74,-2.83,-5.79,-5.39,-4.22,-3.8,-3.64,-3.32,-3.07,-2.85,-2.82,-2.92,-2.8,-3.18,-2.66,-1.78,-1.32,-1.38,-2.07,-2.8,-3.64,-4.39,-5.18,-5.88,-6.35,-6.23,-5.63,-4.67,-3.15,-1.63,-0.22,0.62,1.71,2.11,1.88,1.83,2.13,2.87,3.86,4.69,5.39,5.9,5.75,4.97,4.07,3.42,3.25,2.89,2.7,2.72,4.04,7.81,11.62,14.35,15.48,15.03,13.76,12.6,11.21,9.91,8.51,7.52,6.73,5.95,4.95,3.99,2.85,1.61,0.51,-0.66,-1.95,-3.24,-4.23,-5.55,-6.5,-7.68,-8.85,-9.62,-9.1,-6.85,-4.67,-2.3,0.71,3.89,6.57,7.63,6.83,5.58,3.97,1.44,-1.55,-0.86,-2.83,-0.76,-1.79,-1.7,0.22,2.39,5.12,4.32,2.58,1.5,1.3,1.51,1.7,1.25,0.96,0.32,-0.75,-1.9,-2.17,0.62,2.66,2.35,1.66,1.07,0.92,0.56,0.07,0.28,1.12,1.78,0.81,1.13,1.69,1.55,1.63,1.16,0.55,-0.07,0.3,-0.65,-1.65,-2.27,-2.16,-2.22,-2.98,-3.39,-3.65,-3.86,-3.6,-3.13,-3.69,-3.78,-3.44,-3.91,-2.85,-2.67,1.56,1.63,-2.06,-3,-0.78,-1.31,-2.94,-1.41,-3.32,-5.86,-7.02,-4.63,-1.11,-3.59,-4.1,-4.45,-4.37,-5.99,-5,-3.93,-2.28,0.47,4.12,5.13,4.59,4.87,6.15,6.87,6.92,7.27,6.54,6.02,5.67,4.97,4.62,4.36,4.28,4.2,3.36,1.14,-0.78,-2.61,-4.22,-5.26,-6.35,-7.47,-5.2,-4.05,-4.34,-3.71,-2.99,-1.94,-1.61,-1.01,-0.48,-0.28,-0.1,0.04,0.1,-0.02,-0.41,-0.82,-1.4,-1.82,-1.85,-1.94,-1.48,-2.12,-2.88,-1.6,-3.03,-2.84,-2.41,-2.91,-3.11,-3.19,-3.03,-2.28,-2.33,-2.05,-1.26,-1.31,-1.08,1.04,0.78,-0.34,-1.88,-2.86,-1.44,-1.37,-1.09,-0.78,0.86,1.11,0.48,1.49,0.64,0.45,1.06,1.15,0.33,-0.42,-0.95,-1.54,-2.29,-2.87,-2.63,-2.27,-2.1,-2.86,-3.03,-3.16,-3.53,-3.35,-2.97,-4.06,-3.16,-3.48,-3.26,-1.77,-0.65,-0.13,-0.2,-0.71,-1.72,-2.43,-2.64,-2.59,-2.79,-3.89,-4.08,-4.83,-4.91,-5.51,-5.13,-4.98,-4.18,-3.87,-3.89,-3.03,-2.68,-2.6,-2.02,-2.23,-0.75,0.59,0.54,2.84,6.71,3.05,1.33,5.74,3.66,-0.81,0.95,0.66,-1.9,-1.98,-2.17,-1.54,0.58,0.05,0.18,-2.47,-0.45,0.03,-0.25,0.25,0.35,0.19,0.02,-0.47,-1.58,-1.6,-1.16,-1.7,-2.57,-3.07,-2.91,-2.58,-2.42,-1.9,-2.02,-1.28,-0.56,-1.06,-1.23,0.36,2.58,3.75,2.59,0.5,1.21,2.53,3.35,3.05,3.51,2.07,1.9,3.67,4.02,2.7,1.77,0.7,-0.47,-1.07,-0.68,-0.65,-0.39,0.76,-2.63,-7,-1.97,-8.3,-7.33,-6.67,-5.68,-4.85,-4.88,-4.97,-4.72,-3.99,-3.85,-3.91,-3.79,-3.08,-2.13,-1.4,-1.18,-1.02,-1.25,-2.07,-3.2,-4.2,-4.78,-5.1,-4.88,-4.45,-3.57,-2.37,-0.91,0.21,1.17,1.98,2.59,2.73,2.81,2.96,3.27,3.84,4.47,5.12,5.89,6.52,6.87,6.81,5.76,4.23,3.19,2.49,1.93,1.8,2.5,6.11,10.82,13.76,15.32,15.5,14.27,13.26,12.1,10.51,9.03,7.91,6.83,6.13,5.32,4.16,3.02,1.81,0.75,-0.48,-1.86,-3.18,-4.17,-5.6,-6.52,-7.4,-8.21,-8.62,-8.23,-6.89,-4.72,-2.12,0.45,3.06,5.48,6.21,5.2,4,2.57,-0.06,-2.66,-2.01,-4.44,-5.68,-0.76,-1.57,-1.82,2.63,5.5,4.97,3.08,1.31,0.85,1.2,0.65,0.75,0.91,0.13,-1.96,-4.09,-4.22,-1.75,1.32,1.48,1.26,1.38,0.42,0.47,0.6,0.66,0.43,0.69,0.88,1.76,1.69,1.76,1.8,1.36,0.07,-0.27,-1.47,-4.24,-2.19,-2.11,-2.99,-3.42,-3.17,-2.69,-2.49,-3.06,-3.03,-3.08,-2.88,-2.61,-2.86,-2.49,-1.86,-1.14,1.39,-0.95,-1.04,0.92,1.94,-1.09,-5.45,-6.53,-6.88,-6.18,-5.2,-2.05,-1.83,-1.03,-2.14,-3.86,-2.82,-3.22,-4.32,-4.36,-2.68,2.14,7.96,11.69,11.2,10.03,9.46,8.31,7.66,8.12,7.53,6.44,5.41,4.34,3.63,3.59,2.93,1.41,-0.26,-2.06,-3.7,-5.2,-6.15,-7,-7.19,-4.79,-4.63,-5.33,-4.83,-4.21,-3.38,-3.11,-2.02,-1.1,-0.59,-0.33,-0.02,0.08,0.29,0.25,-0.31,-1.13,-1.99,-2.44,-2.09,-2.44,-1.95,-2.76,-2.48,-2.58,-2.74,-2.05,-2.31,-2.9,-3.33,-3.42,-1.95,-1.88,-0.64,-1.24,-1.57,-2.37,-2.73,-2.27,-1.3,-0.66,-0.8,-1.87,-0.9,-0.44,0.04,0.54,2.62,1.89,0.1,0.16,1.03,0.88,1.45,1.07,0.24,-1.38,-2.34,-2.96,-3.24,-2.73,-3.03,-3.94,-5.46,-2.55,-1.61,-2.08,-2.21,-1.86,-3.58,-4.68,-2.41,-3,-3.3,-1.59,-1.69,-2.37,-0.98,-0.6,-1.9,-3.01,-3.12,-3.08,-3.35,-3.54,-3.73,-4.63,-4.16,-2.66,-2.47,-3.42,-2.92,-3.82,-3.52,-3.24,-3.38,-3.15,-2.8,-2.48,0.4,0.51,-1.29,2.28,5.8,3.01,-0.33,-0.17,-0.45,1.7,3.74,1.47,-0.92,-1.89,-1.34,-0.43,-1.3,-0.7,0.53,0.6,-1.39,2.58,0.95,-0.55,-1.81,-1.69,-0.9,0.13,0.85,-0.58,-1.86,-2.14,-2.15,-3.51,-3.33,-2.06,-0.81,-0.93,-2.46,-2.69,-2.08,-1.89,-1.49,1.54,3.07,2.11,-0.46,-0.02,0.18,3.08,4.59,4.69,3.83,2.72,0.57,1.09,1.63,1.96,1.71,0.43,-0.1,-0.42,-0.41,0.02,0.07,1.01,-6.37,-7.25,-4.75,-6.43,-9.07,-7.87,-6.19,-5.3,-5.07,-4.61,-4.15,-4.1,-3.88,-3.41,-2.92,-2.26,-1.5,-0.81,0.01,0.26,-0.44,-1.47,-2.54,-3.33,-3.66,-3.54,-3.34,-2.78,-1.85,-0.63,0.55,1.62,2.27,2.59,2.98,3.38,3.43,3.58,3.8,4.2,4.86,5.67,6.07,6.44,6.68,6.47,5.84,4.81,3.77,3.11,2.07,1.24,1.68,4.58,10.12,13.57,14.97,15.59,15.1,13.77,12.21,10.88,9.55,8.26,7.37,6.47,5.42,4.45,3.13,1.75,0.56,-0.48,-1.42,-2.61,-3.96,-5.34,-6.44,-7.47,-7.98,-7.93,-7.37,-6.27,-4.39,-2.05,0.26,2.64,3.9,3.81,2.8,1.68,0.73,-2.06,-4.31,-2.49,-4.58,-6.79,-4.37,-0.17,-0.55,3.66,4.17,3.25,1.88,1.52,0.39,-0.23,-0.02,1.13,0.21,-0.48,-1.6,-3.43,-4.67,-3.11,-0.99,-0.24,-0.37,-0.31,-0.31,-1.02,-2,-1.31,0.5,1.75,2.05,1.5,0.82,0.53,-1.34,-3.65,-3.92,-1.91,-1.76,-4.51,-6.07,-5.77,-2.65,-3.43,-3.41,-2.94,-2.96,-2.65,-2.55,-2.62,-1.77,-1.25,-0.45,0.85,1.58,0.6,-0.34,-0.89,-1.88,-2.04,-2.29,-4.36,-7.72,-6.17,-3.5,-3.93,-4.86,-3.93,-1.12,-2.22,-2.58,-1.97,-1.01,-1.76,-3.94,-1.68,2.71,6.76,10.77,14.42,15.86,12.92,10.56,9.25,9.25,8.69,7.75,5.97,4.86,4.08,3.31,1.54,-0.14,-1.34,-3.01,-4.73,-5.96,-6.98,-7.59,-6.66,-3.8,-4.57,-5.82,-5.64,-5.19,-4.25,-3.86,-2.96,-2.04,-1.09,-0.52,-0.12,0.44,0.88,0.95,0.69,0.2,-0.69,-1.68,-2.46,-3.12,-3.68,-4.32,-3.73,-2.68,-2.46,-2.86,-1.92,-2.06,-2.79,-2.93,-4.17,-1.71,-0.78,-1.81,-2.08,-1.8,-0.42,-1.12,-1.82,-0.3,0.31,0.22,0.02,-0.46,-0.18,-1.08,-0.08,0.96,-0.07,0.45,0.34,-0.21,-0.02,1.92,1.33,-0.44,-3.82,-5.94,-6.24,-4.12,-3.37,-4.19,-4.57,-2.04,-1.12,-1.41,-1.5,-1.99,-2.62,-4.48,-1.68,-0.41,-0.98,-0.84,-1.59,-2.29,-3.02,-3.75,-2.64,-1.95,-2.59,-3.4,-3.53,-3.56,-3.69,-3.73,-3.58,-3.4,-3.39,-2.09,-2.28,-2.07,-3.11,-2.92,-2.92,-3.15,-1.56,-0.12,-1,2.2,2.93,2.89,4.55,7.24,4.19,3.53,3.9,-0.92,-2.01,-5.84,-5.36,-3.79,-2.83,-0.17,-0.13,-0.92,-0.41,-2.08,-2.89,-1.52,-0.13,0.42,0.08,0.12,0.19,0.12,-1.31,-1.41,-1.78,-1.63,-1.27,-1.99,-2.67,-3.74,-4,-3.71,-3.49,-1.92,-0.48,-0.12,-0.5,-0.32,1.42,1,-0.09,-0.9,-0.84,0.43,4.39,5.21,4.74,3.61,2.57,0.91,-0.18,4.44,4.12,1.66,1.2,-0.02,-0.31,-0.58,-0.33,1.11,-1.75,-7.24,-7.05,-3.22,-4.23,-8.74,-7.6,-5.16,-4.77,-5.24,-5.26,-2.94,-1.54,0.13,1.16,1.94,2.44,2.61,2.75,2.31,1.91,0.9,-0.49,-1.85,-2.66,-3.13,-3.16,-2.94,-2.55,-1.84,-0.75,0.42,1.47,2.3,2.72,3.03,3.41,3.71,4.02,4.49,4.85,5.2,5.45,5.77,6.04,5.77,5.41,5.12,4.15,3.16,2.19,1.32,0.52,0.76,3.36,9.58,13.59,15.83,15.85,14.72,13.93,13.05,12.06,10.62,8.41,6.92,6.06,5.46,4.29,3.05,1.68,0.27,-0.78,-1.53,-2.38,-3.57,-4.74,-5.91,-6.91,-7.36,-7.08,-6.31,-5.42,-3.92,-2.21,-0.37,0.97,1.32,0.98,0.24,-0.42,-1.42,-4.21,-5.16,-3.11,-5.12,-7,-6.32,-1.03,1.07,1.49,0.9,-1.23,-0.22,-0.05,-1.32,0.09,0.17,0.13,1.01,0,-1.38,-3.12,-3.53,-4.04,-3.74,-3.86,-3.57,-3.09,-3.24,-4.29,-2.64,0.71,2.33,3.9,3.41,0.95,-1.06,-3.55,-3.91,-2.6,-1.06,-1.2,-2.45,-3.66,-2.37,-1.67,1.44,2.02,-0.33,-1.32,-1.9,-2,-0.74,0.35,-0.23,-1.07,-1.43,-2.49,-1.95,-2.89,-3.49,-3.27,-2.86,-2.23,-2.67,-3.2,-4.33,-3.15,-2.33,-1.64,-4.12,-6.35,-4.28,-2.11,-0.47,0.25,0.91,1.22,2.06,3.64,5.34,6.99,8.28,10.49,14.84,15.26,13.42,11.81,10.03,9.02,7.59,6.07,4.67,2.83,1.14,-0.65,-1.88,-3.36,-4.93,-6.15,-7.27,-7.95,-6.3,-2.09,-3.53,-5.57,-6.13,-5.94,-5.15,-4.33,-4.11,-3.09,-1.8,-0.65,0.12,0.77,1.43,1.8,1.7,1.19,0.52,-0.27,-1.01,-1.62,-2.32,-2.88,-2.79,-2.96,-3.91,-3.59,-2.87,-3,-1.89,-2.03,-2.41,-3,-1.55,-1.13,-0.06,-0.16,-0.26,-0.56,0.44,1.11,-1.17,-0.67,0.62,1.08,0.74,0.85,-0.39,0.23,-0.16,-1.91,-1.82,-2.01,-2.14,0.72,2.47,0.45,-1.86,-4.9,-5,-4.9,-0.37,-1.32,-3.54,-3.05,-0.78,-1.01,-0.02,0.73,-0.88,-4,-4.28,0.75,1.35,0.66,-0.98,-1.92,-2.65,-2.41,-2.27,-2.96,-2.61,-2.78,-3.25,-3.4,-4.3,-5.93,1.02,0.33,-2.66,-3.24,-2.23,-2.24,-2.48,-2.81,-2.99,-3.26,-3.63,-0.98,0.02,1.31,5.62,3.67,2.81,5.52,6.25,3.8,1.4,1.23,-2.32,-3.61,-4.55,-3.2,0.14,2.73,1.61,-0.84,0.19,-0.53,0.1,0.83,-2.02,-0.42,0.93,1.6,0.4,-0.03,1.22,0.13,-0.21,0.22,0.5,0.78,0.02,-1.29,-3.46,-4.94,-4.87,-3.16,-0.16,1.69,0.63,-0.88,-0.31,0.21,0.36,-0.37,-1.09,-0.9,2.14,4.77,4.35,3.82,4.38,2.45,0.57,1.78,2.11,3.31,0.93,0.26,0.23,-0.3,0.44,2.79,-0.15,-2.78,-7.3,-6.23,-2.08,-3.8,-3.88,-4.53,-3.92,-3.2,-2.69,-2.91,-1.38,1.8,4.55,5.37,5.07,5.04,4.77,4.5,3.81,2.62,1,-0.66,-1.72,-2.08,-2.08,-2.47,-2.7,-2.54,-1.94,-0.84,0.6,2.11,3.2,3.85,4.12,4.09,4.1,4.28,4.59,4.8,4.93,5.14,5.29,5.29,4.89,4.4,4.16,3.29,2.17,1.43,0.25,-0.92,-0.52,2.22,8.44,12.75,14.85,15.44,15.1,14.38,13.54,11.84,9.98,8.23,6.65,5.76,5.1,3.93,2.75,1.43,0.33,-0.82,-1.9,-2.55,-3.28,-4.29,-5.38,-6.35,-6.72,-6.66,-6.09,-5.23,-4.06,-2.8,-1.87,-1.55,-1.42,-1.57,-2.07,-2.7,-3.85,-6.07,-5.73,-4.15,-6.08,-7.81,-5.47,0.1,-0.79,0.09,1.32,2.22,2.91,2.77,1.35,0.38,0.29,-0.09,-1.2,-1.52,-1.38,-3.25,-3.93,-4.08,-5.34,-5.22,-4.78,-4.29,-3.8,-3.14,-0.34,0.51,2.43,3.89,4.73,2.07,-0.04,-0.69,0.24,1.74,1.9,1.37,0.14,-1.66,-2.06,-1.67,-0.8,-1.86,-3.15,-4.29,-3.61,-2.06,-2.09,-2.25,-2.98,-2.62,-2.39,-2.48,-3.09,-2.29,-1.12,-0.58,-0.4,-0.19,1.76,0.07,-2.26,-1.33,-1.74,-4.45,-4.68,-3.49,-0.69,1.63,2.55,2.49,2.81,3.74,4.83,5.39,5.45,5.08,5.21,7.36,11.39,13.16,11.58,10.37,9.68,8.22,6.94,5.52,3.29,1.12,-0.48,-1.97,-3.01,-4.18,-5.51,-7.04,-8.16,-6.81,-1.07,-1.5,-4.64,-5.79,-6.25,-5.81,-4.94,-4.72,-4.42,-2.95,-0.72,1.02,1.72,2.08,2.08,2.05,2.06,1.66,0.74,-0.38,-1,-1.28,-1.64,-1.97,-2.52,-3.53,-4.48,-3.47,-2.68,-2.22,-0.59,-1.41,-3.46,-4.05,-1.42,-1.66,-1.41,-3.87,-1.71,0.2,0.99,1.55,-0.24,-2.54,-2.41,-1.25,-0.52,0.27,0.39,0.13,-0.65,-0.78,-0.65,-0.34,1.83,3.73,1.88,-0.88,-3.93,-5.37,-4.57,-4.68,-0.83,-3.87,-5.02,-4.53,-4.23,-0.92,1.11,1.47,1.31,0.63,-0.11,1.01,1.04,0.42,-1.45,-2.9,-3.44,-3.21,-2.64,-2.92,-2.4,-2.82,-3.58,-3.62,-4,-2.24,3.88,1.86,-1.01,-2.48,-2.36,-1.54,-0.46,-0.12,-0.7,-0.39,0.18,0.24,1.37,2.5,5.55,5.07,3.36,3.52,2,0.49,1.31,0.45,2.74,3.02,1.76,-0.03,-0.1,-1.04,3.46,1.52,0.11,1.29,1.45,1.03,-0.19,-0.78,0.38,3.81,1.81,-0.11,-1.2,-0.18,-0.05,-0.29,-0.43,0.58,-0.49,-2.66,-4.5,-4.49,-5.12,-1.99,2.37,2.03,0.79,-0.13,-0.8,-0.35,0.49,1.12,1.04,2.15,4.52,5.9,6.1,5.07,5.92,4.62,2.14,1.5,2.08,1.24,0.62,-0.05,-0.77,1.07,2.85,0.31,-2.7,-5.46,-6.74,-5.74,-2.27,-1.61,-3.3,-3.43,-6.25,-5.13,-3.69,-1.55,0.29,3.08,5.28,5.48,5.58,5.78,5.25,4.41,3.12,1.57,0.05,-1.47,-2.29,-2.36,-2.43,-3.03,-3.5,-3.29,-2.69,-1.45,0.47,2.39,3.78,4.31,4.29,4.08,4.05,4.24,4.61,4.83,4.92,5.08,5.32,5.05,4.2,3.65,3.14,2.04,0.75,-0.4,-1.44,-1.81,-1.54,2.08,8.01,12.08,14.18,14.86,14.64,13.59,12.43,11.65,10.51,8.77,7.09,5.52,4.58,3.59,2.41,1.42,0.3,-1.15,-2.12,-2.82,-3.79,-4.38,-4.97,-5.89,-6.26,-6.14,-5.71,-5.16,-4.59,-4.09,-3.69,-3.42,-3.28,-3.41,-3.96,-4.62,-5.97,-7.36,-5.41,-5.34,-6.99,-8.29,-3.27,-1.67,-0.63,3.07,4.23,2.96,1.36,0.1,1.5,1.54,1.43,1.55,0.11,-1.27,-2.49,-1.07,-2.95,-1.92,-6.42,-7.21,-4.66,-5.08,-3.75,-1.59,-0.76,0.73,1.75,-0.42,2.98,3.27,2.75,2.87,1.56,1.59,2.04,1.82,-0.31,-4.53,-2.56,-1.21,-0.6,-4.2,-5.9,-3.76,-3.25,-2.39,-1.46,-2.32,-2.71,-2.44,-1.73,-2.33,-2.03,-1.06,0.68,2.18,2.19,1.55,0.42,-0.91,0.37,1.69,0.26,-0.96,-0.2,0.8,1.58,2.5,3.56,4.63,4.97,4.86,4.57,4.38,3.93,3.54,4.31,6.97,10.65,12.27,10.96,10.45,9.49,7.82,6.2,4.36,2.14,-0.14,-1.74,-2.75,-3.3,-4.6,-6.3,-7.43,-7.46,-4.31,0.68,-3.42,-4.58,-5.66,-5.94,-5.83,-5.07,-4.89,-4.03,-1.84,1.34,2.98,3.6,3.73,3.37,2.36,1.07,0.17,0.08,-1.03,-1.07,-0.52,-0.51,-0.91,-1.67,-3.12,-3.48,-1.81,0.96,0.91,0.38,-1.89,-4.32,-1.2,-0.42,-2.66,-2.53,-1.06,0.21,0.1,-0.34,0.85,-0.46,-4.19,-3.05,-4.07,-2.12,-1.56,-1.15,-2.37,-1.1,-0.46,0.79,1.18,1.53,-0.14,-2.52,-3.6,-4.53,-4.95,-4.91,-4.76,-0.45,-0.82,-2.63,-3.87,-3.38,-0.3,0.2,-1.26,-0.59,0.04,0.46,0.54,1.73,0.25,-2.29,-3.06,-3.65,-2.41,-1.82,-1.98,-2.56,-2.83,-3.36,-3.26,-2.43,0.22,3.14,1.02,-1.29,-2.37,-2.84,-1.35,-0.97,0.59,-1.86,-0.95,0.57,1.28,2.8,1.98,3.06,4.15,3.06,2.21,0.9,3.15,1.73,1.03,0.37,-0.96,-2.42,-0.86,1.08,2.25,-1.92,-2.75,-1.76,-2.9,-2.2,-2.11,-0.83,-0.9,3.27,4.65,3.59,1.94,1.18,-2.84,-3.24,-3.21,-2.4,-2.36,-3.03,-4.47,-4.91,-4.58,-4.2,-1.62,0.78,1.64,0.48,-0.03,-0.35,2.7,3.56,4.43,5.24,5.81,5.08,4.16,4.33,5.67,4.84,3.2,2.43,1.35,2.51,2.76,3.51,1.85,1.97,2.09,1.68,-0.32,-3.79,-5.96,-5.45,-3.4,-4.41,-2.66,-3.87,-3.13,-5.27,-4.5,-4.99,-2.95,-0.07,3.52,5.33,6.12,6.86,6.63,5.62,4.13,2.51,0.72,-0.88,-2.41,-3.69,-4.35,-4.97,-5.55,-6.31,-6.17,-4.05,-0.15,3.92,6.24,6.77,6.72,6.18,5.47,4.95,4.59,4.55,4.62,4.71,4.65,4.55,4.26,3.7,3.1,2.31,1,-0.23,-1.28,-2.16,-2.52,-1.83,2.98,8.7,11.81,13.84,14.42,14.2,13.4,12.75,11.76,10.1,8.76,7.38,5.78,4.35,3.2,2.15,1.29,0.27,-0.83,-1.84,-2.58,-3.52,-4.72,-5.39,-5.64,-5.87,-6.01,-5.78,-5.37,-5.05,-4.78,-4.67,-4.52,-4.58,-4.91,-5.43,-6.08,-7.27,-7.69,-5.07,-5.89,-7.25,-7.83,-1.96,-1.93,1.6,1.9,1.47,0.3,0.78,-0.64,-0.47,0.25,1.04,0.75,-2.29,-1.93,-1.35,-0.22,-3.65,-2.99,-4.58,-5.42,-4.53,-2.28,-4.44,-4.23,-3.17,0.17,-0.27,-0.65,3.24,2.55,2.31,2.66,2.81,1.5,1.47,0.56,-2.03,-4.5,-0.12,-1.03,-2.73,-3.88,-4.07,-2.34,-1.8,-1.49,-1.76,-2.34,-3.16,-2.97,-2.91,-2.38,-2.08,-0.72,3.06,2.71,2.73,2.56,1.05,0.25,1.21,1.57,0.87,0.42,0.5,1.02,2.37,4.17,5.44,5.73,5.56,5.51,5.34,4.84,4.3,4.29,5.4,7.63,11.02,12.61,10.47,8.46,7.46,6.38,4.97,3.19,0.97,-0.98,-2.33,-3.28,-4.2,-5.72,-6.82,-7.51,-7,-1.43,-0.36,-3.63,-4.18,-5.12,-5.71,-5.49,-5.01,-4.66,-3.53,-0.34,2.65,3.77,4.23,3.75,3.26,2.25,0.89,-0.07,-0.07,0.03,-0.36,0.43,0.46,-0.52,-0.03,0.27,-1.5,-1.15,0.66,-0.37,-0.45,-0.38,-1.11,-3.9,-3.41,-2.37,-1.96,-1.48,-2.32,-0.13,-1.32,-1.09,-0.53,-0.54,-4.47,-4.39,-0.5,-3.38,-2.2,-1.58,-1.65,-0.53,0.48,-0.12,-1.13,-2.14,-3.3,-4.26,-4.82,-5.25,-4.62,-1.75,-0.18,-0.88,-2.33,-3.45,-3.96,-0.79,-1.5,1.5,0.46,-0.82,-0.55,-2.09,-0.78,0.26,-0.25,-2.55,-4.09,-4.2,-4.92,-2.31,0.19,0.95,0.94,0.67,0.95,2.11,2.62,0.98,-1.96,-3.49,-1.42,-0.02,-0.63,-0.46,-0.92,-0.99,2.32,1.71,0.67,0.39,-0.28,1.6,4.24,3.6,3.62,0.75,0.58,-2.34,-4.67,-2.62,-1.66,-0.78,-2.72,-1.05,-0.26,-0.46,-0.37,-2.94,-0.06,-1.17,-0.25,9.09,7.03,6.58,4.18,1.25,-0.43,-1.41,-2.53,-3.47,-3.76,-4.92,-5.16,-3.62,-3.93,-4.06,-3.62,0.49,0.98,0.88,0.43,2.2,4.11,3.33,2.97,1.67,1.49,0.65,3.11,4.18,3.05,2.53,2.53,2.31,1.95,1.24,-0.37,-1.04,0.16,0.25,1.32,1.03,0.14,-1.21,-3.63,-6.46,-5.24,-2.96,-5.41,-2.6,-4.91,-5.57,-7.65,-5.49,-4.99,-1.21,3.76,5.09,6.57,7.29,6.99,6.19,5.09,3.4,1.37,-0.27,-1.91,-4.02,-5.72,-6.97,-8.24,-8.93,-6.1,-1.32,4.11,8.32,11.21,12.86,12.48,10.39,8.42,6.77,5.66,5.09,4.95,4.85,4.72,4.3,3.76,3.24,2.09,1.3,0.18,-0.82,-1.49,-2.67,-2.97,-2.56,-0.85,4.59,10.34,13.79,14.59,14.68,14.24,13.27,12.57,11.58,10.02,8.9,7.33,5.82,4.54,3.36,1.61,1.17,1.27,-0.42,-2.1,-2.79,-3.63,-4.69,-5.61,-6.14,-6.43,-6.52,-6.44,-6.21,-6.01,-5.87,-5.78,-5.72,-5.72,-6.04,-6.74,-7.66,-8.43,-7.76,-5.44,-6.25,-6.64,-8.89,1.19,-0.01,0.34,0.76,0.55,0.83,0.08,0.49,-0.66,-1.56,-0.72,-1.7,-1.82,-2.36,-1.01,-0.72,-2.63,-5.61,-4.97,-5.06,-6.61,-5.61,-5.39,-5.06,-1.96,0.07,-1.15,3.4,4.7,5.34,4.98,3.55,2.15,1.32,0.38,-1.71,-3.52,-5.15,-2.58,-2.54,-2.5,-2.74,-5.43,-3.86,-2.53,-2.85,-3.34,-3.72,-3.17,-1.56,-1.24,-0.4,2.61,3.83,5.77,4.43,3.04,2.07,1.11,0.45,0.14,-0.16,-0.17,0.41,1.41,3.38,5.13,6.21,6.64,6.82,6.47,5.95,5.29,4.6,4.17,4.24,5.81,8.95,11.11,10.71,8.66,7.02,6.19,4.73,3.14,1.39,-0.16,-1.69,-3.14,-4.43,-5.49,-6.72,-7.72,-8.14,-4.65,0.88,-0.87,-2.95,-3.71,-4.58,-5.06,-5.28,-5.43,-5.2,-2.81,0.47,2.68,3.89,4.14,3.44,2.63,1.86,0.97,-0.46,-0.84,-0.72,-0.79,-1.31,-1.88,-1.82,-1.47,-0.62,-2.97,-2.37,2.26,1.71,-0.51,-1.16,-2.33,-3.93,-3.67,-3.09,-2.94,-1.12,-0.21,-1.97,-0.6,-0.86,-2.79,-1.7,-0.19,-3.51,-4,-2.79,0.35,-0.18,0.9,-0.17,-1,-2.75,-3.44,-3.1,-4.31,-3.19,-1.86,-1.16,-0.05,-0.23,-1.48,-1.42,-1.32,-1.47,-0.74,2.02,0.67,-0.14,-0.68,-1.03,-1.17,0.19,-1.41,-0.81,-1.04,-2.92,-6.69,-6.49,-7.92,-3.83,-0.32,-1.2,-0.85,-0.08,0.79,-0.15,0.76,1.79,-0.31,-0.78,-1.55,-0.07,0.28,-0.68,-2.93,-1.85,0.78,-0.82,-3.25,0.29,2.45,0.35,-0.66,-1.31,-1.41,-1.39,0.15,-1.38,0.34,-0.18,-0.48,-1.01,-2.37,-0.8,-0.32,-2.11,-4.21,-2.47,-1.67,-2.59,2.68,3.43,1.66,2.44,2.85,1.3,-1.46,-3.04,-3.09,-3.49,-4.95,-1.28,1.06,-1.71,-2.36,-1.32,-1.33,-0.47,-0.05,0.32,1.76,2.37,0.82,1.28,1.64,2.94,3.08,5.56,6.27,4.16,3.34,2.9,2.24,1.32,-0.09,0.46,-2.07,1.88,1.6,2.3,3.29,2.17,0.78,-1.06,-3.15,-4.99,-4.54,-1.19,-4.56,-5.85,-5.77,-4.47,-3.61,-1.18,1.65,5.88,6.11,6.7,6.06,5.44,5.53,5.38,4.77,3.55,1.67,-0.43,-2.78,-5.28,-8.01,-10,-8.63,-3.59,0.98,4.13,7.08,9.55,11.9,12.58,12.97,11.37,8.82,6.8,5.55,4.86,4.59,4.5,4.2,3.65,2.94,1.97,0.48,-0.58,-1.46,-2.05,-2.64,-3.03,-2.83,-2.05,0.63,5.83,11.42,14.56,14.49,13.85,13.93,13.52,12.57,11.18,9.93,8.52,6.99,5.64,4.42,3.24,1.81,0.57,0.25,-0.63,-2.32,-3.28,-4.23,-5.23,-5.98,-6.47,-6.66,-6.66,-6.73,-6.66,-6.44,-6.53,-6.68,-6.72,-6.86,-7.35,-8.27,-8.99,-8.88,-7.78,-6.43,-6.91,-6.32,-5.36,-0.28,1.62,1.61,0.37,2.34,-0.64,-1.15,0.41,1.27,0.26,0.86,-0.83,-0.33,-2.31,-3.24,-4.17,-4.86,-3.31,-4.49,-5.67,-7.4,-4.57,-1.26,-1.39,-2.47,-4.72,-1.64,3.39,3.68,2.33,-0.97,-1.35,-0.17,0.45,0.09,-1.54,-2.42,-3.85,-2.49,-2.29,-2.65,-2.34,-2.95,-2.39,-2.25,-1.76,-2.03,-1.93,-0.69,0,-0.43,2.78,4.67,4.5,4.15,4.14,3.16,1.89,0.89,0.28,0.77,1.56,2.82,4.87,5.88,6.13,6.36,6.88,6.94,6.35,5.67,5.11,4.52,3.95,3.45,3.61,5.55,8.87,9.45,8.82,6.85,5.21,4.24,2.41,0.29,-0.88,-1.39,-2.29,-4.13,-5.71,-6.98,-7.61,-8.53,-7.87,-3.57,0.77,-0.3,-2.29,-3.14,-3.55,-4.22,-4.84,-4.86,-4.31,-1.99,-1.02,3.02,4.97,4.5,3.78,2.5,1.31,0.29,-0.36,-1.88,-2.73,-0.56,0.38,1.25,0.32,-0.06,-1.45,0.4,-1.58,1.49,0.48,0.65,0.17,-0.49,-1.8,-3.48,-4.76,-2.8,-0.46,-0.43,-2.89,-2.6,-3.16,-2.65,-0.87,-1.38,-4.61,-4,-5.49,-0.88,0.25,0.93,-0.47,-3.21,-5.72,-6.35,-2.96,-2.54,-1.02,-1.41,-2.63,-2.68,-1.99,-1.99,-2.7,-1.94,-3.05,-3.25,-2.54,-2.24,-1.2,-2.21,-1.88,-1.72,-1.55,0.34,-0.15,0.76,-0.19,-7.71,-7.7,-7.95,-6.25,-1.77,-0.35,0.53,2.37,3.21,3.65,3.63,1.84,0.5,-0.78,-2.23,-2.52,-2.61,-2.65,-1.26,1.17,0.81,1.52,1.24,2.09,-1.04,-4.03,-3.78,-2.69,-3.21,1.59,3.2,2.82,4.76,3.13,0.52,0.03,-1.11,-3.04,-0.01,3.26,0.27,1.13,2.5,3.12,2.31,-1.49,-0.14,2.14,3.19,-0.58,-1.65,-2.8,0.49,-0.86,-0.71,2.56,-1.23,1.32,1.96,1.1,0.62,2.69,2.26,2.8,3.13,3.13,1.84,2.23,1.6,2.3,4.42,6.69,4.48,2.96,3.75,3.31,1.75,0.64,1.47,-2.59,0.81,3.3,3.56,3.33,3.66,3.71,2.18,0.02,-2.19,-4.26,-3.64,-1.23,-4.44,-6.94,-7.12,-6.18,-3.31,-1.31,3.59,4.92,4.23,2.97,3.77,5.74,5.14,5.16,5.1,3.66,1.47,-0.89,-4.05,-7.33,-8.55,-6.3,-1.41,1.54,3.8,6.5,8.44,10.86,12.57,12.21,11.85,10.43,8.54,6.83,5.37,4.14,4.04,3.58,2.96,2.25,0.68,-0.42,-0.97,-1.5,-1.88,-2.22,-2.71,-3.24,-2.69,0.47,4.44,7.59,8.76,11,12.25,13.13,13.7,12.4,11.54,10.22,8.73,6.99,5.81,5.15,4.05,2.81,1.67,0.22,-0.97,-1.86,-2.44,-3.46,-4.33,-5.29,-6.04,-6.52,-6.85,-7,-7.04,-7.13,-7.13,-7.14,-7.22,-7.45,-7.94,-8.89,-9.74,-9.85,-8.57,-6.46,-5.97,-6.6,-6.56,-7.16,0.76,1.48,2.83,1.96,-1.59,-0.37,-1.25,-1.5,-0.09,-0.09,-1.26,-2.67,-2.41,-0.74,0.29,-1.25,-3.93,-2.21,-2.42,-1.6,-3.04,-3.42,-8.14,-8.67,-5.89,-3.65,0.67,2.99,3.45,1.67,0.62,-0.58,-0.22,0.29,0.12,0.55,-0.01,-1.91,-2.82,-2.24,-1.62,-2,-1.56,-1.3,-0.62,-0.37,-1.18,-1.14,-0.56,1.12,4.41,7.02,4.61,4.47,4.41,3.71,2.74,1.98,2.69,3.94,4.6,5.48,6.79,7.14,6.81,7.12,6.97,6.39,6.29,6.09,5.29,4.62,4.18,3.67,2.84,2.66,4.35,7.64,7.27,6.72,5.11,3.81,2.42,0.25,-1.76,-2.56,-2.63,-3.22,-4.95,-6.72,-7.99,-8.63,-8.95,-7.61,-3.45,2.1,0.76,-0.86,-2.74,-3.11,-3.67,-4.36,-4.28,-3.6,-2.67,-2.74,3.19,5.66,4.78,4.03,3.06,1.6,0.01,-1.11,-2.34,-2.55,-1.16,-0.89,-0.3,-0.19,-0.58,2.85,0.64,-0.37,-0.5,-0.16,0.19,-0.16,0.1,-0.9,-3.04,-4.66,-0.9,-1.28,-1.94,-2.25,-2.37,-3.01,-2.43,2.86,0.75,-5.43,-5.15,-6.72,-2.81,-0.37,-0.56,-0.93,-5.18,-9.46,-5.8,-3.73,-3.02,-1.7,-1.91,-2.73,-1.92,-3.03,-2.03,-2.86,-1.94,-2.82,-4.02,-4.18,-4.15,-2.36,-2.18,-1.57,-1.39,-1.38,-0.97,-1.9,0.08,-1.45,-4.54,-4.84,-4.54,-5.53,-3.77,2.19,1.85,2.73,2.54,2.71,2.23,0.44,-1.21,-2.74,-3.91,-4.62,-4.22,-1.12,0.47,1.94,-0.58,2.61,3.16,2.91,1.55,0.98,-1.01,0.22,1.41,1.12,2.91,0.85,1.64,2.51,2.79,0.34,-1.8,-1.59,2.25,2.19,-0.43,-1.53,-2.99,-4.53,-4.54,-2.96,-0.93,0.04,1.14,0.04,2.16,1.17,-0.8,1.21,0.74,1.01,1.39,1.51,0.33,-3.2,1.86,3.37,0.46,1.52,0.22,0.64,3.94,5.32,6.36,7.08,7.06,6.38,5.8,6.22,5.86,4.63,2.32,1.4,0.14,-2.57,-0.16,3.26,3.33,3.2,2.79,2.37,1.54,0.12,-1.86,-3.4,-1.88,-2.12,-1.14,-6.69,-6.57,-5.33,-3.23,1.46,4.37,2.27,-0.61,-0.89,4.5,8.11,9.16,8.44,7.41,5.27,1.96,-1.75,-4.69,-6.29,-5.52,-2.7,0.36,3.04,5.84,7.23,8.9,11.85,12.78,12.56,12.04,10.7,9.31,7.58,6.12,5.54,4.04,2.31,2.01,0.68,-0.54,-1.06,-1.57,-2.07,-2.7,-2.82,-2.85,-0.94,2.8,6.37,8.82,10.37,12.57,13.16,12.21,12.09,12.13,11.35,10.7,9.52,7.66,6.88,5.98,4.99,3.94,2.78,1.51,0.06,-1.14,-2.18,-3.09,-4.03,-4.6,-5.14,-5.83,-6.39,-6.87,-7.2,-7.34,-7.36,-7.33,-7.29,-7.67,-8.27,-9.22,-10.28,-10.79,-10.33,-8.11,-5.93,-5.85,-6.05,-6.75,-7.11,0.12,0.85,3.59,2.64,-0.69,-3.42,-2.3,-1.5,-0.75,0.02,0.01,-2.4,-0.97,-1.84,-1.69,-1.88,-2.5,-1.92,-3.64,-2.79,-5.17,-7.98,-8.52,0.48,0.49,2.55,4.74,3.74,2.64,2.28,1.2,0.28,0.83,1.4,2.55,1.65,0.47,-0.53,-0.38,-0.45,-0.51,-0.16,-0.45,0.15,1.31,-0.55,1.09,0.03,1.7,0.94,4.39,5.07,5.63,6.86,6.86,5.92,5.65,5.75,5.98,6.67,7.4,7.72,7.92,7.44,7.54,7.3,6.7,6.39,6.13,5.68,5,4.08,3.21,2.7,2.23,2.26,3.39,6.27,5.76,4.87,3.5,2.35,1.2,-0.94,-2.83,-3.5,-3.74,-4.32,-5.8,-7.62,-8.18,-8.66,-8.44,-6.51,-4,1.61,0.42,0.17,-1.93,-2.74,-3.31,-2.79,-3.72,-3.95,-3.07,-3.08,2.1,5.15,4.84,3.81,3.18,1.8,0.08,-1.35,-2.96,-1.47,-0.14,0.84,1.47,0.95,1.35,3.04,2.39,-0.02,-2.55,-2.04,-1.45,-0.84,-0.28,-1.01,-2.74,-3.62,-1.33,-2.12,-0.61,-1.12,-2.75,-0.34,0.4,2.64,-0.54,-3.53,-1.45,-4.39,-4.55,-0.56,-0.17,-2.45,-5.3,-8.68,-7.16,-3.96,-1.57,-1.24,-1.28,-1.13,-1.67,-1.77,-1.08,-2.21,-2.76,-3.25,-3.6,-3.06,-0.77,0.74,-0.9,0.44,0.5,-3.07,-1.77,-2.03,-1.66,-0.04,-3.4,-4.02,-3.62,-2.27,1.75,3.25,0.4,0.17,1.89,2.43,1.89,-0.09,-2.32,-3.69,-4.59,-4.86,-3.79,-2.57,-0.88,0.04,2.17,2.05,0.21,0.26,0.98,0.9,0.5,1.03,1.39,0.66,-0.5,-0.03,1.11,1.49,0.72,-1.88,-1.63,-0.97,-1.84,-2.38,-2.37,-0.88,-2,-4.98,-4,-1.61,1.67,2.21,0.97,-0.87,-2.23,-1.09,-0.76,0.34,0.34,0.21,2.55,1.15,-2.46,0.32,6.06,3.8,0.7,2.2,-1.14,3.41,5.4,5.24,5.01,6.76,6.62,5.29,6.07,6.44,5.46,3.66,2.3,1.02,0.74,-1.06,-1.68,2.86,3.22,2.87,2.12,1.02,-0.48,-1.59,-3.34,-2.45,-0.69,-2.95,-4.4,-3.35,-2.96,-2.32,1.06,2.73,2.13,0.23,-0.94,1.3,5.07,7.41,7.27,6.38,5.97,3.51,0.46,-2.59,-4.75,-4.94,-3.29,-1.06,1.35,3.41,4.52,6.31,9.5,12.03,12.38,11.72,10.7,9.9,8.41,6.92,5.61,4.71,2.61,1.46,0.63,-0.22,-1.23,-2.02,-2.49,-2.4,-2.28,-1.23,2.74,5.72,7.25,8.5,9.79,10.85,10.58,9.8,10.71,11.46,10.93,9.71,9.06,7.97,7.02,6.08,6.23,4.97,3.31,2.18,1.1,0.08,-1.06,-2.32,-3.01,-3.72,-4.63,-5.26,-5.82,-6.39,-6.91,-7.07,-7.21,-7.4,-7.45,-7.7,-8.24,-9.21,-10.38,-10.97,-11.14,-10.1,-8.44,-7.37,-7.05,-7.15,-7.07,-8.42,-3.04,2.18,0.2,-3.62,0.31,-0.8,-0.47,0.92,0.73,-0.06,-0.13,-3.39,-3.34,-1.19,-4.16,-3.17,-3.09,-3.85,-4.42,-3.35,-12.68,-9.17,-1.17,-0.72,-2.44,1.84,2.49,1.42,1.06,0.74,0.81,0.91,0.93,1.16,2.08,1.14,0.24,-0.7,-0.23,-0.4,-0.06,-0.07,-0.05,-0.34,-1.21,0.42,1.97,1.36,3.12,2.33,5.29,5.35,6.39,7.39,7.52,7.42,7.19,7.76,7.98,8.19,8.24,8.08,7.79,7.58,7.39,7.02,6.57,6.12,5.6,5.04,4.35,3.32,2.42,1.92,1.64,1.62,2.27,4.23,3.5,2.71,1.37,0.23,-1.26,-2.48,-3.48,-4.46,-4.7,-5.37,-6.29,-7.69,-8.2,-8.11,-7.68,-5.79,-4.32,-1.18,-0.62,0.63,-0.76,-1.68,-2.18,-1.85,-1.34,-2.57,-3.43,-1.3,1.33,3.86,4.51,3.41,2.8,1.95,0.31,-1.27,-2.58,-1.9,0.44,1.42,2.32,2.06,2.19,-0.29,1.44,0.21,-4.35,-1.74,-1.35,-2.53,-1.31,-0.58,-0.34,-0.95,-0.98,-0.82,-1.69,-1.33,-0.43,4.19,1.53,-1.22,0.39,-0.26,-1.14,-2.27,-3.57,-0.86,0.9,-1.59,-7.66,-6.22,-6.98,-4.98,-1.98,-2.09,-1.04,-1.2,-0.98,-0.68,-1.02,-0.6,-0.44,-1.97,-0.96,1.04,2.35,-0.04,0.08,-0.87,-1.17,-1.86,-1.39,-0.86,-1.02,-1.56,-0.13,-1.76,-1.5,0.88,-0.11,-0.49,-2.87,-1.73,-1.51,-0.34,0.54,-0.82,-1.77,-2.28,-2.66,-3.09,-0.7,4.41,1.9,3.1,1.18,1.48,-0.32,-2.1,-1.99,-1.83,-1.24,-2.29,-1.29,-0.55,-1.51,-1.3,3.69,2.08,-0.64,-2.62,-2.34,-2.16,0.25,-2.39,-2.91,-0.8,-2.1,-4.15,-4.05,-2.21,-0.03,0.84,2.58,-0.32,-1.54,-0.37,-1.14,-2.28,-4.01,-3,-1.43,-0.33,1.16,2.22,3.77,1.58,1.29,0.48,-0.32,5.34,5.75,5.55,4.27,5.28,4.78,5.2,6.07,6.34,5.33,4.53,3.14,1.18,0.14,-0.09,-0.61,0.91,4.17,4.91,3.28,3.03,3.05,0.54,-1.63,-1.95,-2.64,-3.48,-2.71,-1.43,-1.51,-0.02,1.79,1.89,0.73,-0.39,0.33,3.87,6.85,7.14,6.96,7.48,7.81,6.54,4.02,1.19,-0.72,-1.57,-0.54,0.94,2.46,4.04,5.99,8.38,10.31,11.27,10.77,9.42,8.31,7.51,6.7,5.59,4.52,3.23,1.91,0.89,-0.59,-1.55,-1.94,-2.37,-2.91,-1.92,2.22,5.43,7.05,8.13,8.74,9.4,9,8.01,7.14,6.97,8.54,9.27,8.67,7.94,7,6.48,6.04,5.28,4.64,3.85,2.78,1.21,-0.02,-1.08,-2.04,-3.24,-4.03,-4.66,-5.08,-5.6,-6.08,-6.39,-6.67,-7.05,-7.34,-7.61,-7.95,-8.47,-9.31,-10.2,-10.86,-11.12,-10.81,-10.03,-9.31,-9.13,-9.11,-9.06,-8.24,-7.42,-2.71,2.51,0.39,-1.23,-3.56,0.5,3.56,3.12,2.9,1.25,2.46,-1.6,0.91,-0.85,-3.52,-4.9,-3.86,0.04,1.32,-2.35,-3.1,2.89,1.76,2.71,3.76,1.4,-1.01,-1.44,-0.42,1.09,1.79,1.17,0.66,-0.5,-0.84,0.53,0.24,-0.11,0.22,-0.09,-0.12,0.2,1.19,-0.19,-0.25,-0.82,-1.01,-0.35,-0.88,3.5,6.06,5.43,7.1,7.77,7.79,8.42,8.45,8.02,8.17,8.34,7.82,7.59,7.68,7.68,7.33,6.77,6.12,5.53,4.98,4.49,3.79,2.94,2.07,1.31,0.68,0.34,0.26,0.84,0.57,-0.49,-0.52,-1.48,-2.21,-3.12,-4.04,-4.99,-5.63,-6.25,-6.74,-7.16,-7.06,-6.45,-5.14,-3.41,-3.24,-2.36,-1.65,-0.34,2.43,0.25,-0.69,-1.35,-1.2,-0.95,-0.9,0.06,1.21,3.04,3.99,3.6,1.99,1.84,0.84,-0.85,-2.15,-3.61,-2.36,4.46,3.73,1.18,0.53,0.08,-3.68,-7.13,-4.2,-1.22,-0.47,-1.23,-2.71,-2.59,-1.64,-2.09,-2.58,-1.7,1.02,-0.38,0.45,1.97,2.25,1.04,0.24,1.13,0.38,-1.52,-2.7,-2.25,1,-3.13,-3.94,-3.08,-4.16,-5.98,-3.42,-2.63,-1.51,-0.27,0.2,-0.01,1.58,2.22,1.95,-0.54,0.13,1.15,-0.27,-1.52,-1.82,-1.12,-0.71,-0.98,0.02,-0.75,-2.32,-1.78,-1.88,1.08,1.31,-0.75,-1,-3.38,-3.86,-1.59,0.6,1.05,-0.35,-1.52,-1.73,-2.65,-1.83,0.24,0.32,1.17,2.28,4.36,-1.32,-4.35,-4.37,-3.16,-1.24,-0.85,-0.23,1.13,-0.25,-1.54,-0.98,-1.37,-2.53,-2.18,-3.9,-4.87,-2.75,-3.07,-3.45,-2.12,-0.69,-0.1,-1.47,-1.64,-1.74,-2.28,-2.27,-1.38,-1.8,-0.85,-1.21,-0.81,-0.79,-1.63,-3.89,-5.26,-1.15,0.4,-0.75,-1.56,-1.16,-1.47,-1.23,-1.47,-0.05,3.36,5.19,5.05,3.91,4.37,4.49,6.63,7.01,6.03,4.62,3.24,1.31,-0.72,-0.17,-0.56,3.17,3.88,6.19,4.56,2.1,2.34,2.08,0.26,0.33,-0.44,0.11,-1.61,-2.15,-0.62,0.47,0.21,1.65,0.82,0.41,1.52,3.69,5.95,6.86,6.98,6.96,7.01,6.72,5.52,4.61,3.18,1.01,0.18,0.17,1.08,2.56,4.39,6.35,8.29,8.9,8.59,8.07,7.45,6.57,5.76,5.04,4.01,2.83,2.07,1.1,0.24,-0.32,-1.62,-2.48,-1.28,1.49,4.24,6.3,7.61,8.29,8.29,8.02,7.76,7.04,6.59,6.2,5.9,6.95,6.92,6.53,5.92,4.9,4.49,4.43,4.38,3.96,2.76,1.53,0.32,-0.81,-1.74,-2.61,-3.44,-4.2,-4.91,-5.41,-5.94,-6.35,-6.66,-7.01,-7.3,-7.67,-8.01,-8.47,-9.16,-10.04,-10.59,-10.64,-10.47,-10.25,-10.58,-10.53,-10.95,-10.68,-9.97,-9.18,-7.73,-2.1,1.54,3.38,1.09,0.93,-1.71,4.11,3.03,1.65,3.12,1.42,-0.1,-0.62,-1.1,-2.16,-3.7,-5.66,-4.09,-2.85,-1.35,6.65,4.94,4.57,3.99,5.03,5.56,3.62,-2.39,-4.15,-1.19,0.61,1.85,2.08,1.03,1.46,1.9,0.4,0.34,0.66,0.27,2.45,1.67,-0.81,-1.64,-1.27,0.11,2.98,5.02,3.25,6.41,6.04,5.48,7.57,8.12,8.21,8.24,8.3,8.31,7.87,7.41,7.31,7.39,7.37,7.01,6.6,6.03,5.47,4.9,4.37,3.7,2.87,2.13,1.26,0.4,-0.28,-1.02,-1.57,-2.06,-3.19,-3.51,-3.1,-2.61,-2.94,-3.57,-4.6,-5.71,-6.31,-7.25,-7.89,-7.79,-7.08,-6.3,-5.5,-4.71,-3.9,-2.25,-0.73,-0.77,3.56,1.17,-0.49,-0.62,-0.61,-0.48,-0.11,0.44,1.55,2.65,3.19,2.26,0.87,1.19,1.29,-0.17,-2.01,-2.76,-1.65,2.04,2.6,-1.5,-2.04,-3.23,-6.05,-5.61,-1.77,0.16,-1.16,-1.92,-2.32,-3.63,-3.52,-3.19,-1.23,0.39,1.24,0.71,2.04,2.9,2.54,1.88,0.89,1.03,1.28,-0.53,-2.22,-2.52,-1.87,-4.74,-3.03,-3.3,-3.42,-6.1,-4.57,-2.72,-1.11,-0.11,0.62,-0.05,-1.08,3.2,1.59,0.64,-0.22,-2.77,-4.08,-3.89,-3.86,-3.91,-3.33,-3.95,-1.05,-1.36,-0.51,-0.34,-2.57,-0.3,1.93,-1.77,-4.89,-5.83,-4.3,-0.3,2.22,-0.84,-3.28,-4.71,-3.11,-1.09,-0.42,-2.39,-2.38,-2.03,-2.9,-4.66,-5.09,-4.11,-4.19,-2.97,-1.14,-0.09,0.71,-0.89,1.46,0.24,-1.67,-0.99,0.37,-2.06,-4.06,-3.79,-2.36,-3.55,-1.7,-1.46,0.31,-0.14,-2.16,-3.46,-2.18,-2.68,-3.55,-3.74,-3.08,-1.42,-1.75,-0.73,-1.72,-2.37,-3.58,-0.05,3.53,0.38,1.23,-0.75,-1.29,0.74,0.12,-0.21,5.13,5.54,5.04,4.49,3.72,3.1,5.05,6.3,6.56,5.48,3.82,2.14,0.53,0.24,0.03,1.39,4.49,5.16,3.05,0.83,1.24,1.66,0.93,-0.11,0.77,1.31,0.86,2.62,3.38,2.87,1.22,0.49,1.17,1.91,2.38,3.94,5.76,6.21,6.21,5.97,5.59,5.19,4.57,3.91,3.62,2.84,2.18,1.94,1.86,2.53,3.49,4.72,6.12,6.34,6.04,5.9,5.52,4.78,4.25,3.77,3.6,2.79,1.94,1.75,1.58,0.59,-0.36,-0.02,1.4,3.41,5.29,6.23,6.2,6.3,7.11,7.25,6.82,6.35,5.99,5.4,4.73,4.43,4.98,5.14,4.45,3.01,2.23,3.93,4.33,3.88,2.76,1.42,0.39,-0.51,-1.47,-2.55,-3.44,-4.21,-4.88,-5.22,-5.48,-5.83,-6.18,-6.7,-7.29,-7.56,-8.06,-8.65,-9.03,-9.16,-9.19,-9.07,-9.22,-9.3,-9.69,-11.34,-11.64,-11.46,-10.31,-9.72,-9.56,-7.57,-3.04,-0.64,2.11,2.09,-0.13,-2.8,3.22,1.43,3.05,5.39,4.74,4.13,3.71,1.86,-1.09,-2.11,-1.61,-1.81,-0.15,0.64,4.02,3.26,2.27,2.18,4.21,4.75,4.5,4.37,2.3,0.72,0.13,0.95,3.35,3.53,3.68,2.46,1.9,0.26,-0.05,0.49,-0.58,-0.65,-0.91,0.17,0.79,3.61,3.62,2.76,5.96,6.31,6.41,7.23,7.82,7.72,8.03,8.22,8.09,7.53,7.19,6.98,6.76,6.69,6.71,6.58,5.82,5.05,4.37,3.91,3.67,3.07,1.95,0.92,0.02,-0.65,-1.53,-2.68,-3.73,-4.92,-6.46,-7.07,-5.81,-2.86,-2.34,-3.29,-4.87,-6.26,-7.58,-8.62,-8.86,-6.1,-3.57,-2.58,-2.3,-1.97,-1.45,-1.08,-0.52,2.1,4.04,1.61,0.57,1.1,-0.59,-0.23,0.5,1.27,2.18,2.33,1.89,0.83,0.72,1.03,1.14,-0.05,-1.97,-2.54,-1.4,0.63,0.83,1.35,-0.81,-2.34,-1,-1.24,-0.13,0.13,-0.67,-1.41,-3.61,0.43,1.02,0.49,0.33,-3.12,0.14,2.62,3.29,3.99,4.45,3.88,2.53,1.89,1.71,0.61,-1.26,-2.16,-3.09,-4.51,-3.2,-1.55,-1.18,-3.32,-4.82,-3.1,-2.19,-1.42,-1.18,-1.05,0.63,2.76,-0.46,-0.75,-1.65,-1.57,-2.22,-3.76,-4,-4.48,-3.79,-4.34,-2.64,-1.86,-0.57,-0.03,-1.22,-0.34,1.27,-1.72,-2.98,-3.75,-1.14,1.21,0.66,1.36,-0.95,-8.53,-5.73,-3.33,-3.21,-3.73,-3.76,-3.16,-2.76,-1.48,-2.19,-1.4,-1.97,-2.46,-1.79,-0.1,1.51,0.89,-0.04,0.19,0.38,-0.38,-0.75,-1.46,-2.88,-3.44,-1.64,-2.04,-1.19,1.25,0.66,-0.4,-1.38,-1.21,-0.72,0.07,-1.18,-0.09,-0.07,-0.15,-0.64,-0.63,0.07,-1.17,-1.68,1.87,1.43,1.84,2.29,2.45,3.44,2.66,1.59,5.61,5.77,6.1,5.3,4.11,3.93,3.77,3.68,6.01,5.71,4.87,2.99,1.51,-0.07,0.74,2.27,3.21,2.78,1.04,0.69,0.38,-0.15,-0.2,0.84,1.38,2.4,4.49,4.52,4.11,3.77,3.09,2.38,1.85,1.54,1.96,3.98,5.17,5.19,5.34,5.55,5.53,5.35,5.01,4.43,3.47,2.61,1.85,1.69,2.02,2.28,2.54,3.07,4.06,4.07,3.65,3.5,3.17,2.25,2.26,2.24,2.62,2.6,1.81,1.49,1,0.54,0.12,-0.01,1.14,3.85,5.51,5.27,4.94,4.39,5.73,6.9,6.29,5.57,4.93,4.49,4.17,4.01,3.93,3.98,3.69,3.16,3.77,4.99,4.89,4.49,2.9,1.52,0.44,-0.52,-1.38,-1.95,-2.69,-3.21,-3.76,-4.32,-4.84,-5.1,-5.64,-6.17,-6.65,-6.91,-7.47,-7.78,-7.5,-7.5,-7.27,-7.28,-7.68,-8.22,-8.92,-10.46,-11.6,-11.52,-10.86,-10.31,-9.79,-8.98,-6.98,-4.09,-0.76,2.75,3.92,2.06,1.55,2.09,1.02,2.99,4.51,3.86,3.8,2.81,1.29,0.77,-3.65,-4.55,-3.57,0.06,-1.49,-0.81,-6.76,0.29,7.09,9.4,7.82,5.73,4.41,4.12,2.79,3.03,3.08,2.87,2.46,1.23,0.58,0.74,0.79,0.03,-1.35,-0.98,-0.51,-0.97,0.89,2.79,3.41,5.87,7.08,6.99,6.38,6.33,6.95,7.18,7.74,8.08,7.54,7.12,7.13,7,6.6,6.65,6.38,5.95,5.18,4.25,3.49,3.17,4.22,3.33,1.94,0.61,-0.27,-1.06,-1.84,-3.17,-4.31,-5.23,-6.2,-7.43,-8,-7.24,-5.74,-2.5,-2.24,-4.28,-5.9,-7.22,-8.58,-7.33,-2.46,-1.76,-0.24,0.23,-0.26,-0.56,-0.88,0.65,2.97,2.86,1.46,0.46,1.03,0.3,-0.02,-0.25,0.18,1.06,1.08,0.57,0.08,0.36,0.39,0.46,-1.21,-2.77,-3.21,-2.19,-0.91,-1.09,-0.9,-1.04,-3.76,-3.54,0.8,2.19,1.96,1.42,-1.63,-2.66,1.74,2.37,2.96,3.19,5.04,3.81,0.81,0.92,2.89,4.02,4.04,3.7,3.3,2.56,1.29,-0.39,-0.43,-1.63,-3.73,-3.64,-2.75,-2.47,-2.4,-2.87,-2.75,-2.75,-2.29,-1.65,-1.16,-0.82,-1.33,0.96,1.08,-2.42,-2.64,-3.16,-3.71,-3.74,-3.3,-4.36,-5.25,-5.85,-2.57,-1.54,-0.72,0.84,0.44,-2.35,-2.5,-2.99,-1.77,1.99,-0.26,-3.95,-2.6,-6.22,-8.59,-5.83,-3.92,-4.29,-5.16,-4.45,-3.6,-3.86,-3.55,-0.69,-1.74,-3.64,-0.43,-1.37,-2.48,-1.4,1.23,0.23,2.08,2.87,1.87,1.97,0.47,-1.04,-0.66,0.1,1.09,2,3.63,4.97,3.48,2.53,2.43,2.66,1.47,0.04,0.07,2.36,1.15,-0.46,-0.23,-0.09,0.81,1.04,2.44,1.81,0.37,-0.12,-0.05,0.65,-0.53,1.99,7,5.85,5.55,4.74,3.3,3.63,3.83,3.68,4.82,5.1,4.24,3.12,1.69,1.25,1.28,2.46,3,0.66,0.22,-0.74,0.46,1.01,1.17,1.53,1.89,2.08,2.18,2.68,3.24,3.16,2.57,1.63,1.47,3.06,3.92,3.98,4.12,4.61,5.21,5.7,5.9,5.56,4.74,3.68,2.64,1.53,0.66,0.17,0.2,0.66,1.66,2.7,2.04,1.51,1.25,0.69,-0.09,-0.72,-0.94,1.84,2.84,2.08,0.97,0.29,1.1,2.11,3.35,4.75,5.06,5.2,4.71,4.6,4.24,4.15,6.05,5.98,5.16,4.48,3.79,3.05,2.74,3.09,3.5,3.32,2.78,4.04,3.82,3.45,3.41,2.69,1.8,1.11,-0.48,-1.25,-1.23,-1.64,-2.36,-3.31,-4.31,-5.15,-4.91,-4.83,-4.89,-4.69,-4.96,-5.54,-5.94,-6.37,-6.24,-5.86,-6.13,-6.69,-7.38,-8.37,-10.26,-11.18,-11.19,-10.78,-10.36,-10.16,-9.6,-8.49,-6.23,-4.34,-1.64,2.04,4.26,3.84,2.49,2.13,0.96,-0.57,2.93,4.91,4.2,-0.27,-1.69,-2.47,-0.63,0.02,2.3,1.59,-0.8,0.86,1.93,6.24,10.54,9.56,7.98,5.19,4.95,3.61,2.21,1.56,1.37,1.75,1.52,0.99,1.21,0.72,0.83,0.89,0.53,0.16,-0.65,1.44,2.1,3.71,6.65,7.23,7.46,6.91,6.32,6.38,6.5,7.13,7.22,6.81,6.42,6.79,6.77,6.34,6.1,6,5.57,5,4.02,3.84,4.11,4.41,3.44,2.18,1.12,0.12,-0.91,-2.12,-3.16,-4.43,-5.24,-5.95,-6.54,-7.31,-7.58,-7.02,-5.71,-4.87,-3.62,-4.14,-5.59,-6.77,-7.36,-5.81,-3.09,-1.99,0.12,0.62,-0.31,-0.88,0.48,2.33,4.43,3.29,1.96,-0.03,1.28,1.49,2,1.57,-0.06,-0.03,0.66,-1.37,-0.77,-0.85,-0.95,-1.15,-2.92,-4.07,-3.97,-2.96,-2.28,-0.2,-0.93,-3.7,2.01,3.88,2.45,2.33,2.38,3.06,2.03,1.26,4.79,3,0.28,0.67,2.09,-0.46,-0.85,0.12,1.73,0.36,1.98,4.14,4.13,2.65,0.35,-2.15,-3.03,-2.16,-4.26,-4.06,-3.57,-3.19,-3.08,-3.12,-2.84,-2.73,-2.6,-2.07,-1.83,-2.13,-0.91,-2.08,-0.83,-0.41,-3.68,-2.85,-2.24,-3.04,-2.83,-3.64,-4.8,-5.93,-4.65,-1.17,0.13,-0.31,-0.73,-0.03,-3.69,-1.06,-3.88,0.85,-0.77,-5.56,-2.6,-6.96,-10.74,-5.67,-5.45,-3.05,-4.99,-4.19,-2.6,-3.55,-2.1,-0.08,-0.1,1.74,0.85,-0.39,1.02,-0.35,-1.79,0.12,0.33,1.6,2.44,3.53,2.59,1.67,1.34,1.25,0.21,0.91,2.71,4.93,4.37,1.89,1.68,1.81,2.64,1.84,1.05,2.06,1.18,0.01,-0.3,-0.02,0.44,0.97,0.94,-0.04,-1.01,2.17,2.96,3.11,1.41,4.36,8.05,6.74,5.37,2.31,3.18,4.34,2.86,2.99,2.93,3.56,3.04,2.75,2.44,1.83,1.84,2.37,1.75,-0.05,0.15,-2.57,0.83,2.74,1.96,2.2,2.14,2.04,2.12,2.27,2,1.75,2.35,3.41,3.81,3.36,3.19,3.7,4.43,4.87,4.96,4.88,4.47,3.82,2.93,2.06,1.24,0.38,-0.36,-0.76,-0.7,0.09,0.75,0.07,-0.3,-0.51,-1.53,-2.04,-3.1,-3.26,0.21,2.63,3.4,2.15,2.84,4.58,5.02,5.04,4.44,4.46,4.53,4.5,4.49,4.33,4.27,4.58,5.53,4.74,4.06,3.45,2.85,2.11,1.99,3.95,4.33,3.33,2.57,2.85,2.68,2.2,2.24,1.73,0.83,-0.23,-1.2,-1.6,-2.24,-2.55,-1.93,-1.78,-2.34,-2.28,-2.31,-2.61,-2.93,-3.21,-4.19,-4.82,-5.22,-5.51,-5.93,-6.31,-6.79,-7.45,-8.25,-9.52,-10.11,-10.48,-10.29,-9.91,-9.81,-9.85,-9.27,-7.68,-5.57,-3.68,-2.03,0.34,3.11,3.88,2.6,3.2,2.11,0.73,3.61,5.74,5.68,2.75,-1.51,-3.36,-4.13,-3.89,-2.03,-0.85,-0.04,2.31,4.42,7.93,10.13,9.81,8.87,7.29,6.13,4.75,2.83,3.1,2.35,2.83,1.32,1.52,0.9,1.78,0.23,-1.47,-0.88,1.27,1.87,1.91,3.93,5.95,5.93,6.72,6.81,6.37,6.48,7.04,7.21,6.67,6.28,5.86,5.96,6.11,6.26,5.88,4.92,4.97,5.21,4.64,4.48,3.98,3.81,3.35,2.6,1.73,0.59,-0.47,-1.39,-2.7,-3.94,-5.01,-5.91,-6.2,-6.51,-6.72,-6.8,-6.43,-5.62,-4.8,-4.89,-5.29,-6.04,-6.54,-6.6,-5.76,-4.5,-1.59,-0.05,-0.62,-1.51,-0.34,2.76,4.13,4.17,2.58,1.99,1.83,1.58,1.27,2.31,0.07,-1.17,-0.9,-0.68,-0.4,-0.76,-2,-1.81,-3,-4.64,-5.61,-3.41,-3.4,-1.19,0.59,0.81,0.79,2.09,2.34,0.62,3.21,3.59,2.55,2.54,3.6,1.7,1.16,0.01,-1.28,-1.24,-2.08,-3.58,1.52,5.56,4.94,4.28,3.93,3.32,1.66,-2,-4.44,-3.79,-3.17,-4.08,-3.67,-3.09,-2.71,-2.99,-3.12,-3.26,-1.67,-0.52,-1.16,-1.8,-1.96,-1.09,-1.08,-4,-4.86,-4.48,-3.51,-3.64,-2.52,-1.99,-2.66,-3,-3.7,-3.69,-3.98,-1.7,-0.23,-0.96,-1.46,0.59,-0.54,-3.04,-1.28,-2.19,-0.42,-4.61,-7.14,-12.76,-10.05,-5.62,-3.5,-3.02,0.84,1.61,-1.09,0.97,1.13,1.13,-0.32,-0.35,0.34,-0.18,-2.12,-2.2,-2.83,0.5,0.83,1,1.58,3.3,4.07,2.05,2.24,1.39,2.17,4.22,3.95,5.14,4.8,4.62,3.13,2.37,1.61,2.02,1.52,0.98,1.26,0.8,0.69,0.75,-2.03,2.53,1.13,0.67,0.17,0.27,1.7,0.61,5.27,7.18,6.14,3.07,1.59,3.72,2.59,2.02,1.55,2.03,3.03,3.52,3.11,2.15,1.05,1.13,1.61,0.55,-0.26,-0.92,-0.66,1.88,3.23,3.3,3.01,1.78,0.58,0.85,1.14,1.99,2.51,2.81,3.06,3.29,3.34,3.43,3.54,3.64,3.73,3.46,3.02,2.39,1.67,0.94,0.39,-0.15,-0.79,-1.25,-1.53,-1.42,-0.96,-1.22,-1.49,-1.78,-2.86,-3.18,-3.27,-2.44,-0.95,-0.56,3.66,2.51,3.21,4.13,4.66,5.24,4.72,4.5,4.2,4.2,4.15,3.84,3.86,4.04,3.67,4.25,3.25,2.8,2.52,2.24,2.21,3.49,3.8,3.25,2.49,1.95,1.57,1.1,1.09,1.54,0.73,-0.05,-1.18,-1.92,-1.8,-1.25,-0.98,-1.03,-1.44,-2.17,-2.98,-3.42,-3.98,-4.4,-4.53,-4.98,-5.45,-5.87,-6.08,-6.06,-6.64,-7.32,-8.13,-8.74,-9.23,-9.29,-9.14,-8.93,-8.79,-8.76,-8.71,-7.91,-6.57,-4.85,-3.48,-2.09,-0.27,1.69,3.36,3.42,4.35,2.4,1.38,-0.57,4.53,5.5,3.38,0.88,-1.63,-1.54,-1.31,-3.85,-4.81,-3.07,-0.62,3.67,12,10.05,9.15,8.45,7.89,6.79,3.83,4.23,3.98,4,3.29,2,1.36,1.77,1.62,1.57,2.47,2.06,1.25,0.66,1.04,6.87,6.36,5.84,5.54,5.91,6.78,6.87,6.51,6.12,5.97,5.74,5.57,5.75,5.48,5.22,5.46,4.83,5.35,4.98,4.53,3.76,3.29,3.21,2.47,2.06,1.49,0.35,-0.98,-2.09,-3.18,-4.23,-4.98,-5.59,-6.17,-6.14,-6.21,-6.21,-5.91,-5.51,-5.26,-5.34,-5.97,-6.63,-6.73,-6.34,-4.97,-2.38,-0.6,-0.5,-0.64,-1.06,0.45,2.67,3.57,2.67,2.5,1.88,1.13,0.32,0.26,-0.45,-1.43,-2.13,-1.51,-0.2,-1.46,-2.48,-2.98,-3.07,-4.62,-6.49,-6.26,-0.7,-1.11,-0.37,-0.13,2.25,2.79,1.59,2.83,2.57,0.88,2.13,2.75,3.39,3.39,3.64,1.77,-1.71,-2.25,-2.57,-1.98,1.72,4.97,5.33,5.1,4.57,3.45,1.67,-0.45,-2.98,-5.03,-6.02,-4.64,-2.49,-1.89,-2.72,-3.25,-3.68,-3.2,-3.07,-2.94,-3.44,-2.98,-2.29,-2.5,-2.3,-3.44,-4.82,-5.88,-3.75,-4.12,-4.08,-3.24,-0.92,-1.57,-2.53,-2.92,-3.38,-4.3,-4.86,1.75,-0.23,-0.72,-0.43,-0.54,0.66,-0.25,-0.41,-1.69,-3.68,-3.42,-5.35,-3.89,-1.66,0.12,-1.2,1.53,1.17,-1.3,2.15,1.3,4.35,2.79,1.33,0.03,-2.25,-3.59,-1.41,-1.62,-2.03,-1.83,-0.76,-0.11,-0.08,0.23,2.81,3.7,3.75,4.07,4.23,4.33,3.11,2.44,1.55,0.58,-0.34,0.48,0.76,1.57,1.61,1.12,0.85,0.43,-0.21,-1.09,1.6,2.35,0.83,1.99,2.11,2.6,2.67,6.07,7.83,3.81,1.36,3.21,2.56,1.76,1.79,1.92,1.39,2.4,4.28,4.44,3.97,2.6,0.75,0.55,0.16,0.64,1.9,4.25,5.82,4.99,3.21,2.94,2.99,2.8,2.25,2.33,2.75,3.17,3.47,3.19,2.77,2.54,2.22,2.14,2.27,2.1,1.67,1.19,0.77,0.26,-0.38,-0.68,-1,-1.64,-2.2,-2.23,-1.9,-1.75,-2.12,-2.61,-3.21,-3.41,-4.16,-1.03,0.53,-1.35,1.33,3.38,3.01,3.81,4.09,4.08,4.47,4.57,4.11,3.85,3.84,3.49,3.24,3.29,3.04,3.05,2.89,2.19,2.14,2.08,1.89,2.12,2.84,2.43,1.64,1.28,0.96,0.7,0.65,0.65,0.47,-0.04,-0.8,-1.49,-2.21,-2.4,-1.75,-1.08,-1.01,-0.8,-1.13,-2.14,-3.03,-4.57,-4.19,-4.41,-4.84,-5.29,-5.48,-5.42,-6.08,-6.83,-7.47,-7.95,-8.42,-8.78,-8.74,-8.38,-8.21,-7.98,-7.78,-7.43,-6.68,-5.68,-4.51,-3.6,-2.58,-1.03,0.47,1.7,2.94,3.71,2.12,-0.73,3.06,3.09,5.56,3.96,2.37,0.31,1.03,-2.33,-5.66,-5.8,-4.59,-2.44,2.59,9.25,10.06,8.55,7.67,6.12,4.58,4.06,3.96,4.34,4.57,4.25,3.02,4.09,5.19,3.43,1.97,0.59,0.86,1.66,1.09,3.88,5.8,5.4,5.33,5.65,6.19,6.06,5.48,5.31,6.19,6.06,5.66,5.05,4.76,4.4,4.59,4.48,4.32,4.34,4.14,3.76,3.39,3.07,2.5,2.15,1.77,0.82,-0.18,-1.4,-2.35,-3.21,-3.96,-4.53,-4.97,-5.24,-5.33,-5.63,-5.84,-5.86,-5.55,-5.59,-5.71,-5.95,-6.14,-5.51,-3.79,-2.03,-1.11,-0.42,0.21,-0.17,-0.37,0.68,1.86,2.84,1.87,2.51,1.5,0.13,-0.66,-1.27,-1.7,-2.54,-2.73,0.68,-0.07,-1.56,-2.71,-3.55,-4.34,-5.46,-6.45,-3.53,-0.92,-3.94,0.92,2.62,3.65,2.41,1.56,2.04,1.83,0.73,2.28,2.5,2.66,2.42,2.1,2.11,1.96,2,1.41,2.78,3.7,4.62,4.5,3.65,1.72,1.36,-1.17,-3.77,-5.79,-6.36,-6.73,-5.49,-2.92,-3.23,-3.47,-3.6,-4.94,-3.21,-3.43,-4.06,-4.79,-2.63,-5.75,-2.27,-4.54,-4.92,-2.53,-4.5,-2.95,-2.34,-3.28,-1.39,0.54,-1.42,-1.72,-3.19,-3.9,-5.27,-5.6,2.44,0.51,-0.65,0,0.26,0.67,-0.09,-1.13,-4.08,-3.73,-3.37,-4.21,-6.04,-5.99,-4.28,-0.92,-0.01,-0.71,2.55,2.35,4.82,5.66,6.93,6.36,1.4,1.55,-0.56,-0.42,-1.02,-0.42,-1.72,-1.86,-2.19,-1.24,1.31,1.41,1.79,2.42,2.67,3.07,3.05,2.53,1.16,0.38,-0.12,0.26,0.22,1.04,0.62,1.2,0.11,0.7,0.48,0.17,-0.1,0.58,1.88,2.33,1.47,1.35,1.85,1.37,4.1,6.62,1.72,2,3.8,2.1,0.94,0.84,1.08,0.4,3.51,5.72,5.15,3.85,2.72,1.63,1,0.24,0.87,4.2,6.47,6.08,5.67,4.36,3.33,2.86,3.35,3.72,2.99,2.11,2.16,1.87,1.68,1.6,1.5,1.39,1.6,1.79,1.28,0.75,0.34,-0.28,-0.89,-1.24,-1.34,-1.72,-2.32,-2.9,-2.9,-2.4,-2.39,-2.87,-3.71,-4.01,-4.03,-3.5,-0.14,-0.94,-0.46,3.61,2.61,3.59,3.66,3.26,4.38,4.66,4.24,3.81,3.56,3.49,3.48,3.16,2.76,2.35,2.54,2.09,1.75,1.82,1.76,1.94,2.15,1.81,1.44,1.33,0.98,0.61,0.28,0.13,-0.18,-0.53,-0.91,-1.63,-1.97,-2.45,-2.39,-2.03,-1.96,-1.75,-1.71,-1.61,-1.31,-1.96,-2.8,-3.03,-3.47,-3.92,-4.7,-5.31,-5.91,-6.26,-6.55,-7.02,-7.56,-7.99,-8.28,-8.13,-7.89,-7.84,-7.66,-7.26,-6.55,-6.03,-5.35,-4.67,-4.02,-3.13,-1.84,-0.46,0.34,1.95,1.88,1.08,-0.23,-0.91,1.78,2.1,3.41,3.34,0.93,-1.09,-3.17,-4.33,-3.93,-4.19,-0.49,2.06,6.86,7.97,6.44,4.89,4.09,3.93,4.47,6.36,6.6,6.37,5.84,4.32,3.82,3.01,2.62,0.93,-0.31,-1.37,-1.04,2.38,2.97,2,4.49,4.54,4.96,5.47,5.04,4.66,5.6,5.37,4.88,4.54,4,4.12,3.73,3.72,3.16,3.81,4.09,3.76,3.16,2.79,2.41,1.78,1.25,1.04,0.46,-0.71,-1.27,-2.15,-2.93,-3.59,-4.08,-4.33,-4.49,-4.76,-5.05,-5.2,-5.55,-5.44,-5.45,-5.42,-5.84,-5.31,-3.69,-2.63,-1.56,-0.78,-0.32,-0.5,-0.79,-0.5,-0.11,1.2,1.68,1.19,1.14,0.27,-0.67,-1.25,-1.96,-3.05,-3.08,-1.24,-1.14,-1.22,-1.74,-3.43,-4.21,-5.05,-5.6,-5.66,-3.75,-1.69,3.67,2.64,1.84,2.65,1.37,-0.17,0.18,0.73,0.72,3.1,0.88,0.07,0.31,0.71,0.65,-0.26,-0.43,0.13,1.29,1.58,1.95,1.71,-0.27,-2.21,-2.62,-2.16,-4.27,-6.41,-7.13,-8.32,-7.22,-3.88,-3.41,-3.44,-2.77,-2.33,-0.77,-2.03,-4.05,-5.8,-4.63,-5.42,-3.75,-7.13,-2.94,-0.17,-3.26,-0.74,-1.33,0,1.42,-0.16,-1.54,-1.41,-3.07,-3.95,-4.69,-2.1,3,-0.02,-0.02,-0.08,-0.08,-1.45,-0.81,-0.41,-0.18,-3.21,-0.02,-0.82,-2.81,-3.18,0.38,0.73,-1.15,0.49,4.63,6.09,6.35,5.85,6.19,2.39,-0.68,1.91,0.47,-2.85,-3.19,-3.09,-0.26,0.63,-1.12,-1.62,-1.05,0.25,1.06,2.27,2.02,2.86,0.37,0.54,1,-0.25,-0.46,-0.79,-0.06,-0.8,-0.17,-0.27,-0.59,0.29,0.24,0.51,-0.08,2.06,3.37,2.63,1.54,3.14,1.19,1.92,4.24,4.89,0.36,3.16,2.56,2.23,1.06,0.77,0.11,2.37,6.25,5.83,5.39,4.37,2.94,1.6,0.25,1.05,3.33,3.92,2.81,2.45,1.12,1.28,2.23,2.05,1.06,0.85,0.58,0.9,1.1,0.96,1.45,1.8,1.93,1.71,1.6,1.29,0.63,0.15,-0.33,-0.75,-1.12,-1.46,-1.84,-2.25,-2.81,-3.16,-3.14,-2.94,-3.31,-3.58,-4.2,-4.04,-2.98,-2.05,-2.02,-0.95,2.14,1.63,3.55,3.66,3.92,3.86,4.54,4.27,4.14,4.04,3.74,3.43,2.75,2.06,1.86,1.74,1.86,1.31,1.03,1.19,1.67,1.67,1.49,1.39,1.27,0.65,0.11,-0.16,-0.57,-0.85,-1,-1.09,-1.64,-2.04,-2.91,-3.1,-2.26,-2.47,-2.3,-2.6,-2.84,-2.76,-2.75,-2.47,-2.46,-3.05,-3.77,-4.53,-5.14,-5.51,-5.69,-5.89,-6.33,-6.56,-6.85,-7.29,-7.63,-7.64,-7.56,-7.32,-7.04,-6.77,-6.43,-5.85,-5.19,-4.62,-3.98,-3.28,-2.21,-1.35,-0.33,0.53,0.61,0.36,-1.02,-2.01,-3.86,1.67,3.22,3.34,2.95,0.18,1.28,-1.79,-3.46,-3.11,-3.71,1.38,3.58,6.35,6.17,4.41,3.78,4.71,5.59,5.95,6.24,5.78,4.84,3.88,2.93,2.2,1.7,-0.36,-2.42,-1.31,-0.62,0.77,1.85,1.15,3.55,3.15,4,5.29,4.96,5.07,4.77,4.38,4.38,3.86,3.43,3.21,3.13,2.82,2.43,3.54,3.91,3.57,2.61,2.29,1.59,0.55,0.32,0.09,-0.44,-0.82,-1.9,-2.75,-3.19,-3.38,-3.55,-3.79,-4.03,-4.23,-4.69,-4.87,-4.61,-4.69,-5.11,-5.09,-5.04,-4.15,-2.96,-1.59,-1.08,-1.27,-1.4,-1.57,-1.53,-2.06,-1.64,0.96,0.29,-0.25,-0.43,-0.94,-1.38,-2.09,-2.8,-3.06,-2.41,-2.6,-3.09,-2.03,-3.58,-5.34,-4.08,-5.06,-5.46,-5.43,-2.98,-0.42,-0.09,0.59,0.07,0.79,-1.04,-1.36,0,0.94,-0.92,0.73,-0.56,-0.46,-0.55,-0.35,-0.69,-0.94,-1.61,-0.71,0.64,0.49,0.02,-0.78,-3.15,-4.32,-5.08,-5.47,-6.85,-7.99,-8.6,-7.18,-4.95,-3.9,-3.45,-2.69,-2.35,-0.71,-1.22,-1.83,-3.05,-4.5,-6.87,-4.53,-7.23,-7.27,-2.28,-1,-2.7,1.83,1.58,1.12,0.04,-0.27,-1.38,-1.46,-2.22,-3.14,-3.16,0.11,3.46,0.87,-1.14,-1.92,-2.09,-1.5,2.82,0.75,0.28,0.56,0.32,-1.03,-2.4,-4.11,0.99,0.99,0.98,0.33,5.38,8.5,6.25,5.23,4.24,4.05,2.45,1.03,-0.51,-0.63,-0.88,0.06,-0.29,-1.57,-0.12,0.35,-0.6,0.25,-0.33,-0.72,-0.32,0.08,0.11,-0.97,-0.25,-0.38,0.23,1.32,0.55,0.65,1.09,0.21,-0.46,0.6,0.5,0.21,1.99,3.08,6.44,3.28,2.34,3.7,0.95,1.81,3.42,4.66,0.91,4.87,2.79,1.08,0.68,0.55,1.36,6.2,5.93,5.52,5.58,4.44,3.69,2.98,2.17,3.19,3.15,2.47,1.62,0.82,0.53,0.53,-0.65,-1.2,1.16,2.23,1.14,2.92,1.63,1.38,2.04,2,1.53,1.06,0.86,0.51,-0.04,-0.31,-0.43,-0.69,-0.99,-1.57,-2.01,-2.42,-3.1,-3.66,-3.83,-3.83,-4.18,-3.81,-3.24,-3.31,-3.2,-2.29,-0.44,0.68,0.97,2.41,2.38,3.87,3.85,3.5,3.84,4.28,4.08,3.68,3.51,2.87,2.35,1.85,1.4,1.32,1.22,0.66,0.59,1.06,1.43,1.65,0.99,0.33,0.08,-0.18,-0.66,-0.9,-1.31,-1.01,-1.75,-2.26,-2.7,-3.64,-3.66,-2.63,-3,-2.93,-3.02,-2.98,-2.82,-3.08,-3.52,-3.87,-3.75,-3.58,-3.86,-4.11,-4.49,-4.85,-5.3,-5.51,-5.91,-6.26,-6.69,-7.15,-7.38,-7.45,-7.27,-7.17,-6.94,-6.76,-6.39,-5.73,-5.09,-4.55,-4.08,-3.48,-2.68,-1.9,-1.15,-0.32,-0.06,-0.32,-0.92,-1.71,0.48,3.11,-0.49,2.97,4.09,2.18,-0.45,-1.82,-3.16,-0.89,-1.21,0.17,-1.99,2.1,5.84,4.9,3.92,5.16,5.8,6.09,6.17,5.19,4.1,3.38,2.04,1.31,0.8,-0.5,-1.96,-2.33,-3.91,-4.18,-0.16,1.1,3.17,2.76,3.27,5.31,4.94,4.18,3.78,4.19,3.86,3.28,2.84,3.48,3.72,2.89,2.57,3.89,3.59,3.4,2.7,1.56,0.37,-0.19,-1.01,-0.79,-1.25,-1.56,-1.47,-1.62,-1.65,-2.24,-3.08,-3.63,-3.93,-4.23,-4.39,-4.54,-4.65,-4.69,-4.63,-4.63,-3.83,-3.21,-2.42,-2.26,-1.94,-2.45,-2.38,-2.49,-2.43,-2.76,-2.27,-0.53,-0.75,-1.62,-1.65,-1.89,-2.02,-2.21,-2.75,-2.73,-1.75,-3.25,-3.14,-3.46,-2.5,-5.82,-5.01,-5.15,-5.45,-5.97,-3.65,-3.14,-2.71,-2.38,-1.74,-1.25,-1.95,-1.57,0.96,0.27,-1.51,-3.61,-1.29,-1.76,-1.75,-2.71,-3.69,-2.81,-1.46,-0.71,-1.37,-1.76,-2.99,-3.73,-3.93,-4.08,-6.06,-6.03,-8.52,-8.99,-6,-5.55,-5.63,-4,-4.41,-3.78,-1.24,-1.32,-1.64,-1.65,-3.07,-4.11,-4.35,-5.56,-2.1,-10.64,-8.38,-2.04,-0.91,-0.47,2.3,0.63,0.2,-0.37,-0.97,-1.72,-2.69,-3,-2.35,-0.33,3.58,1.23,-1.42,-2.23,-2.8,-0.57,5.37,-7.39,-2.89,0.13,0.21,0.98,1.88,2.31,1.34,1.27,1.21,1.14,6.47,7.15,4.89,2.69,1.24,2.5,1.85,-0.5,0.08,0.52,0.24,-1.17,-1.47,-0.77,2.2,2.78,0.61,1.35,-0.12,-0.9,-1.14,1,-0.04,0.76,0.95,0.82,0.69,-0.08,0.62,0.64,0.7,-0.96,0.13,1.05,1.04,0.63,0.11,0.25,1.88,3.01,1.81,1.68,2.53,3.4,3.48,4.26,2.55,2.98,1.73,1.17,1.33,1.21,5.33,5.85,3.81,5.95,5.56,4.85,3.91,2.57,2.49,2.44,1.81,0.74,0.28,0.19,-0.44,-0.85,0.62,3.14,3.84,2.97,2.11,2.02,1.1,1.44,2.07,1.72,1,0.5,0.25,-0.28,-0.59,-0.41,-0.16,-0.39,-0.91,-1.65,-2.35,-2.8,-3.57,-4.23,-4.26,-3.78,-3.73,-4.11,-3.52,-1.85,-0.1,0.2,0.13,0.92,1.79,1.79,2.05,3.73,3.14,3.23,4.08,3.93,3.62,3.28,2.86,1.98,1.2,0.53,1.05,1.18,0.78,0.49,0.42,0.83,1.37,0.87,0.02,-0.12,0.47,0.3,-0.37,-0.88,-1.34,-1.78,-2.3,-2.72,-3.16,-2.73,-2.4,-3.19,-3.17,-3.41,-3.29,-2.78,-2.64,-2.76,-3.03,-3.72,-4.26,-4.26,-4.36,-4.56,-4.51,-4.83,-5.1,-5.6,-5.86,-6.19,-6.57,-6.87,-7.15,-7.23,-7.14,-6.97,-6.74,-6.39,-5.87,-5.3,-4.73,-4.36,-4.01,-3.36,-2.65,-2.25,-1.56,-0.68,-0.73,-0.81,-1.14,-1.44,-1.2,-1.05,0.55,3.65,3.49,2.74,2.2,0.72,-1.56,-2.83,-2.95,-3.68,-2.28,-0.33,3.39,5.58,4.14,4.27,5.23,5.33,5.15,4.43,3.75,3.09,1.95,1.29,0.54,-0.5,-1.07,-2.57,-4.78,-6.96,-2.6,0.24,2.49,2,4.33,3.91,2.51,3.12,3.64,3.19,3.09,3.11,3.12,3.1,3.17,3.3,3.79,3.58,3.05,2.82,2,1.03,0.03,-1.02,-0.43,-0.35,-0.88,-1.26,-1.39,-1.43,-1.82,-2.1,-2.4,-2.78,-3.2,-3.58,-3.8,-4,-4.34,-4.52,-4.39,-3.92,-3.88,-3.45,-2.88,-2.68,-3.12,-3.62,-3.67,-3.06,-3.1,-3.04,-2.13,-1.2,-1.21,-2.46,-2.39,-2.17,-2.4,-2.77,-1.64,-2.18,-3.37,-3.93,-4.25,-4.96,-6.17,-6.55,-6.18,-6.31,-5.27,-6.44,-5.86,-4.86,-3.53,-2.66,-2.33,-2.3,-2.55,-1.3,-0.64,-1.29,-3.8,-4.41,-4.94,-3.63,-3.53,-3.44,-2.96,-4.11,-4.5,-4.87,-3.19,-3.74,-3.56,-3.82,-5.35,-6.91,-8.32,-8.4,-8.46,-4.3,-3.65,-3.52,-4.58,-2.35,-1.64,0.21,1.35,0.68,-1.13,-1.61,-3.19,-4.19,-7.09,-7.1,-3.93,-6.14,-7.74,-5.19,-1.7,-1.1,-2.18,-0.16,-0.38,0.05,-0.64,-2.57,-2.69,-4.01,-3.29,-1.17,1.94,0.17,-0.53,-2.05,-2.8,-0.83,0.77,-5.5,-3.5,-1.3,1.99,0.36,1.54,2.1,2.32,2.45,2.92,2.86,4.85,4.19,3.14,1.52,1.73,0.89,-1.65,0.75,-0.93,-1.6,-1.64,0.61,1.57,0.5,-0.32,-0.54,-0.35,-0.22,1.69,2.08,1.97,2.25,1.08,0.9,0.35,0.51,0.3,1.32,1.26,1.62,0.6,0.65,0.7,0.35,0.94,0.4,0.25,0.88,0.31,1.13,1.84,1.59,0.56,2.47,2.55,2.79,1.47,2.87,1.9,1.04,0.86,2.11,4.05,1.68,2.83,6.75,5.9,4.12,3.21,2.53,2.09,1.37,0.1,-0.75,-0.49,-0.21,0.6,2.14,3.33,3.66,3.04,2.48,1.91,0.93,0.25,2.08,1.98,1.05,0.4,0.01,-0.59,-0.98,-0.87,-0.54,-0.14,0.17,-0.4,-1.67,-2.35,-3.16,-3.21,-3.63,-3.86,-3.66,-2.57,-1.2,-0.69,-0.57,-0.15,0.28,0.53,1.4,1.09,1.16,2.3,2.64,2.43,3.2,3.33,3.04,2.76,2.39,1.72,1.13,0.3,0.91,0.85,0.74,0.54,0.41,0.13,0.44,0.81,0.17,0.1,0.21,0.01,-0.34,-0.88,-1.56,-2.18,-2.47,-2.4,-2.17,-2.05,-2.29,-2.81,-3.29,-3.57,-3.52,-3.23,-3.1,-3.03,-3.08,-3.15,-3.51,-3.92,-4.46,-4.7,-4.9,-4.9,-5.03,-5.17,-5.42,-5.75,-5.95,-6.15,-6.37,-6.48,-6.59,-6.51,-6.38,-6.13,-5.7,-5.22,-4.85,-4.44,-4.02,-3.42,-2.74,-2.48,-2.09,-1.59,-0.83,-0.42,0.01,-0.57,-1.25,-1.13,-1.49,-1.65,0.85,2.26,0.59,2.61,2.22,0.56,-2.51,-4.41,-4,-6.43,-2.15,0.51,4.74,4.07,3.98,4.79,4.9,4.95,4.14,3.47,2.54,1.72,1.24,0.74,0.1,-0.81,-1.93,-2.73,-2.49,-1.58,-0.86,1.47,1.73,3.06,2.36,2.41,2.93,2.76,2.63,2.95,2.91,3.13,3.07,3.08,3.3,3.37,2.84,2.42,2.23,1.14,0.15,-0.24,-0.76,-1.69,-1.52,-1.51,-1.38,-1.18,-1.27,-1.77,-2,-2.12,-2.45,-2.89,-3.52,-3.69,-2.98,-3.36,-3.64,-3.81,-3.83,-3.49,-3.14,-2.99,-3.14,-3.53,-3.89,-4.33,-3.86,-3.58,-3.36,-2.73,-2.03,-1.92,-2.74,-2.96,-2.95,-2.26,-1.44,-2.61,-3.7,-4.62,-4.96,-5.67,-7.17,-7.85,-7.15,-6.53,-6.73,-6.11,-7.37,-6.84,-5.62,-4.1,-3.33,-3.38,-3.62,-3.09,-1.94,-1.3,-3.19,-3.92,-1.72,-2.15,1.39,2.25,4.11,-4.31,-4.57,-4.76,-3.69,-6,-3.92,-5.13,-6.53,-7.23,-7.38,-7.84,-7.54,-0.49,-1.18,1.27,-0.01,-1.4,0.08,0.13,0.46,1.02,-1.46,-1.79,-2.25,-3.7,-4.46,-7.26,-7.01,-6.49,-2.18,-10.22,-8.44,-4.36,-0.44,-2.61,0.44,0.8,-0.44,-2.03,-2.87,-2.42,-2.65,-3.05,-1.78,-0.63,-0.47,-1.03,-2.11,-2.26,-2.93,-3.91,-0.67,-3.81,-2.1,3.38,3.19,3.47,4.01,4.63,4.69,4.3,4.31,3.83,3.52,2.17,1.39,-0.08,-1.21,0.99,2.39,0.35,0.03,-1.06,0.31,1.9,2.02,1.74,1.76,1.72,3.34,3.54,2.93,2.88,1.2,2.15,1.93,2.29,1.08,0.73,2.65,2.53,0.15,0.85,1.06,0.35,0.38,0.64,0.8,0.97,0.63,0.39,1.15,2.98,3.47,1.09,0.98,1.63,1.16,1.35,0.66,1.18,1.26,1.82,3.31,3.23,0.25,5.47,5.58,4.16,3.21,2.19,1.62,0.56,-0.7,-1.59,-1.27,-0.56,1.83,2.81,3.1,3.4,3.26,2.78,2,1.14,0.49,0.29,1.6,1.27,0.32,-0.3,-0.79,-0.86,-0.83,-0.7,-0.5,-0.53,-0.49,-0.33,-0.39,-1.31,-2.1,-2.15,-2.54,-2.43,-2.08,-1.65,-1.28,-0.67,-0.63,-0.32,0.62,0.31,0.66,0.14,1.26,2.25,1.89,1.9,2.39,2.76,2.43,1.97,1.38,1.02,0.59,0.2,0.35,0.8,0.81,0.56,0.38,-0.11,-0.26,-0.5,-0.79,-1.17,-1.4,-1.06,-1.28,-1.63,-2.46,-2.85,-2.83,-2.78,-2.69,-2.51,-2.37,-2.6,-3.1,-3.65,-3.72,-2.94,-2.84,-2.74,-2.92,-3.33,-3.74,-4,-4.33,-4.76,-5.07,-5.27,-5.34,-5.35,-5.46,-5.55,-5.69,-5.83,-5.89,-5.99,-5.91,-5.75,-5.78,-5.54,-5.18,-4.73,-4.41,-4.11,-3.52,-3,-2.75,-2.57,-2.13,-1.49,-1.53,-0.94,-0.08,0.03,-0.42,-0.68,-1.1,-1.52,0.11,-0.78,1.18,2.17,0.84,0.62,-1.02,-2.19,-3.28,-2.82,-0.49,0.05,1.74,3.22,3.74,4.56,5.09,4.8,3.66,2.66,2.22,1.46,0.81,0.6,-0.03,-1.03,-1.77,-1.9,-1.25,-0.35,0.66,1.1,1.1,2.01,3.11,2.9,1.99,1.85,2.71,3.01,2.84,3.06,3.14,3.21,2.94,2.44,2.27,2.02,1.42,0.67,0.1,-0.71,-0.99,-1.21,-0.95,-0.94,-0.94,-1.51,-1.64,-1.58,-1.76,-2.28,-2.71,-3.14,-3.2,-3.23,-3.32,-3.27,-3.62,-3.75,-3.27,-2.85,-2.89,-3.12,-3.56,-3.99,-4.47,-4.66,-4.39,-3.78,-3.33,-2.48,-2.17,-2.39,-2.92,-3.12,-2.56,-2.63,-3.26,-4.04,-4.69,-5.4,-6.12,-7.29,-7.79,-8.02,-6.57,-6.79,-6.46,-5.26,-4.74,-5.33,-4.83,-4.33,-4.3,-4.32,-4.07,-3.61,-3.67,-3.31,-3.39,1.92,1.38,0.7,1.47,5.56,1.46,-4.75,-6.67,-4.61,-3.9,-3.77,-5.28,-2.89,-2.73,-5.2,-4.95,-7.08,-0.72,1.71,2.95,1.58,1.24,-0.22,-0.71,1.68,1.31,-1.18,-2.26,-2.48,-2.79,-4.06,-5.5,-7.52,-8.23,-8.56,1.5,-3.74,-5.99,-5.18,-0.18,-2.69,-0.99,1.63,-0.36,-0.02,-1.25,-1.35,-3.19,-2.97,-2.95,-1.51,-1.33,-1.63,-3.11,-2.71,-4.03,-6.43,-2.09,-0.76,-1.43,5.59,6.68,5.5,5.09,5.22,4.87,4.25,3.72,3.34,2.48,2.04,1.04,-1.09,-1.09,0.81,1.44,2.14,1.68,2.64,2.16,0.61,1.56,1.89,1.57,1.17,2.79,1.51,1.56,1.54,1.4,0.95,1.78,2.02,0.97,-0.3,2.78,3.5,1.44,1.45,0.75,0.47,0.71,0.4,0.88,1.23,1.46,2.46,2.31,3.02,1.89,0.21,1.11,1.48,3.56,2.03,2.06,2.57,3.48,2.85,2.66,3.08,0.87,4.37,4.45,2.8,1.43,0.88,0.06,-1.11,-1.86,-1.94,-1.96,1.64,3.11,3.21,3.15,3.02,2.61,2.1,2.19,1.07,0.7,-0.17,0.46,0.32,-0.58,-1.07,-1.41,-1.21,-0.78,-0.42,-0.58,-0.91,-1.19,-1.53,-1.85,-1.83,-1.93,-2.23,-2.48,-2.36,-1.96,-1.67,-1.29,-0.81,-0.7,-0.19,-0.2,-0.03,-0.14,-0.02,0.79,1.35,1.51,2.05,2.3,2.38,1.84,1.42,0.73,0.51,0.3,0.1,0.19,0.55,0.73,0.38,0.05,-0.18,-0.58,-1.26,-1.75,-2.08,-1.18,-1.04,-1.23,-1.52,-2.57,-3.01,-3.01,-2.59,-2.79,-2.9,-2.79,-2.78,-3.01,-3.05,-2.96,-3.26,-2.65,-2.63,-2.9,-3.38,-3.75,-4.31,-4.46,-4.76,-4.94,-5.28,-5.44,-5.67,-5.81,-5.72,-5.68,-5.7,-5.6,-5.55,-5.58,-5.46,-5.33,-5.24,-5.03,-4.71,-4.29,-3.87,-3.33,-3.03,-2.73,-2.49,-2.16,-1.91,-1.79,-0.5,0.29,0.1,0.06,-0.01,-0.55,-1.35,-1.98,-1.38,3.67,1.59,-0.11,0.37,1.55,1.24,0.21,-0.04,3.37,0.49,3.09,1.13,2.94,3.46,4.74,4.25,2.84,1.41,0.88,0.45,0.24,-0.01,-0.52,-1.23,-1.51,-2.13,-0.37,0.88,1.36,0.68,1.44,2.62,3.05,2.41,2.06,2.15,3.1,3.31,3.27,3.02,3.1,2.87,2.34,2.11,1.79,1.49,0.82,0.16,-0.53,-0.9,-0.87,-0.97,-0.97,-0.81,-0.73,-0.95,-1.17,-1.56,-1.7,-2.02,-2.28,-2.51,-2.85,-3.2,-3.49,-3.65,-3.64,-3.57,-3.41,-3.26,-3.29,-3.57,-3.99,-4.48,-4.95,-5.2,-4.49,-3.61,-3.06,-2.93,-2.98,-3.16,-3.34,-3.28,-3.42,-3.65,-4.3,-5,-5.57,-6.47,-7.45,-8.16,-8.53,-7,-6.2,-5.27,-5.66,-3.48,-3.66,-4.43,-4.45,-4.53,-4.36,-5.05,-5.08,-4.86,-3.56,-2.23,1.26,3.44,3.15,5.02,4.97,3.44,0.67,-3.81,-1.23,3.02,-0.81,-2.85,-1.71,1.02,-1.68,-2.65,-1.95,-1.79,2.72,4.27,1.62,-2.46,-3.06,-3.03,-1.31,0.24,-0.49,-1.34,-1.97,-2.55,-3.59,-4.57,-6,-6.84,-8.44,-7.34,-1.81,-2.7,-6.81,-5.04,-2.67,-0.8,0.98,0.58,0.81,-0.06,-2.24,-1.82,-3.23,-2.87,-3.31,-3.05,-1.95,-2.95,-4.16,-2.17,-2.75,-6.3,-2.99,2.34,2.31,7.55,6.83,6.51,6.1,5.53,4.86,3.78,2.96,2.43,1.87,1.04,0.3,-0.59,0.82,2.28,0.93,1.35,1.99,1.32,0.44,1.94,1.1,1.04,0.62,2.18,2.21,3.39,3.73,4.37,3.35,4.29,3.51,2.09,0.94,0.79,5.56,5.09,0.99,1.1,0.68,0.89,1.14,1.19,1.6,1.61,0.03,1.27,2.46,2.81,2.59,1.76,0.96,-0.02,4.67,5.36,6.98,6.42,4.99,4.22,3.73,2.87,1.84,3.42,2.47,0.02,-0.08,-0.13,-1.35,-2.36,-2.68,-2.27,0.62,2.99,3.25,3.68,3.31,3.11,2.4,1.7,1.21,1.3,0.43,-0.56,-0.43,-0.94,-1.6,-2.29,-2.17,-1.57,-0.71,-0.69,-0.64,-1.17,-1.72,-1.96,-1.73,-1.48,-1.8,-2.34,-2.65,-2.06,-1.59,-1.33,-0.94,-0.7,-0.28,-0.17,-0.97,0.22,-0.56,-0.18,0.82,0.87,1.38,1.47,1.64,1.65,1.72,1.17,0.54,0,-0.23,-0.11,-0.1,-0.03,0.32,0.08,-0.14,-0.53,-1.18,-2.04,-2.47,-1.56,-0.72,-1.2,-1.91,-2.48,-2.74,-3.14,-3.85,-2.61,-4.33,-3.44,-3,-2.79,-2.62,-2.81,-3.23,-3.5,-2.84,-2.62,-2.89,-3,-3.28,-3.99,-4.52,-4.68,-4.93,-5.31,-5.61,-5.86,-6.05,-5.98,-5.81,-5.62,-5.43,-5.42,-5.43,-5.34,-5.22,-5,-4.77,-4.54,-4.2,-3.66,-3.19,-2.96,-2.53,-2.11,-1.72,-1.32,-1.03,-0.73,-0.36,-0.08,-0.21,-0.27,-0.21,-1.25,-1.96,-1.27,-0.43,-0.38,-0.78,-1.45,0.16,0.77,0.21,-1.2,0.39,1.14,0.3,0.84,2.72,3.24,3.88,3.38,1.65,-1.08,-1.57,-1.48,-1.17,-0.89,-0.35,-1.17,-1.35,1.26,0.71,1.67,4.49,1.28,0.49,0.58,1.21,1.49,2.2,2.61,3.17,3.03,3.77,3.4,2.88,2.57,2.06,2.01,1.76,0.98,0.2,-0.27,-0.95,-1.21,-1.26,-1.26,-1.29,-1.19,-1.17,-1.07,-1.04,-1.14,-1.47,-1.86,-2.4,-2.87,-3.19,-3.51,-3.66,-3.71,-3.58,-3.51,-3.43,-3.39,-3.48,-3.8,-4.14,-4.45,-4.62,-4.36,-4.04,-3.98,-3.97,-3.62,-3.25,-3.6,-3.34,-3.43,-3.51,-4.14,-4.93,-5.63,-6.34,-7.23,-8.14,-8.6,-8.81,-6.91,-6.79,-5.42,-4.37,-4.37,-3.83,-4.53,-5.04,-5.14,-5.51,-5.5,-4.94,-3.01,-1.16,1.77,5.65,3.21,2.95,5.17,1.03,-2.03,-2.97,2.08,0.69,1.78,-1.03,2.01,3.13,2.57,2.23,0.96,0.49,0.39,-0.69,-1.3,-3.31,-4.12,-5.29,-2.6,-0.21,1.07,-0.7,-1.61,-1.76,-3.08,-4.69,-5.53,-5.45,-7.48,-9.65,-7.39,-2.28,-2.35,-1.89,-7.27,-5.17,-0.65,-0.95,3.13,1.8,0.34,-1.02,-2.98,-3.26,-3.34,-3.31,-3.03,-2.25,-3.21,-4.22,-3.23,-3.48,-1.46,2.81,5.23,6.75,6.89,6.85,6.8,6.51,5.71,4.66,3.62,2.72,1.68,1.07,0.76,-0.05,0.23,1.83,1.51,-0.42,0.47,1.03,1.52,2.13,2.31,3.26,1.9,0.88,2.4,1.41,2.48,5.22,5.88,6.06,5.4,4.63,3.69,0.47,1.37,8.35,6.25,2.32,1.17,1.25,1.69,1.45,1.77,1.68,0.95,1.41,3.09,4.84,9.14,6.87,3.14,7.14,6.44,7.4,8.66,7.86,7.16,5.67,4.5,3.24,2.42,2.53,2.25,0.65,-1.52,0.01,-1.49,-2.86,-3.36,-3.08,-1.06,1.37,2.93,3.82,3.64,3.27,2.54,2.02,1.4,0.76,0.38,-0.3,-0.85,-1.17,-1.34,-1.3,-1.4,-1.61,-1.44,0.01,0.78,0.46,0.13,-0.11,-0.39,-0.47,-0.49,-1.13,-1.25,-0.92,-1.34,-1.35,-1.28,-1.3,-1.32,-0.83,-0.83,-0.65,-0.1,-0.08,0.2,0.07,0.5,0.5,0.69,0.46,0.79,1.06,0.89,0.47,-0.13,-0.19,-0.18,-0.46,-0.15,0.11,0,-0.55,-1.12,-1.96,-2.39,-2.34,-1.5,-0.83,-1.54,-2.14,-2.89,-3.31,-3.45,-3.36,-4.31,-3.85,-4.28,-3.79,-1.64,-2.39,-2.89,-3.35,-3.38,-3.12,-3.13,-2.95,-2.9,-3.06,-4.01,-4.17,-4.74,-5.07,-5.4,-5.71,-5.95,-6.15,-6.1,-5.94,-5.63,-5.38,-5.26,-5.26,-5.19,-4.93,-4.73,-4.59,-4.51,-4.2,-3.73,-3.36,-2.88,-2.68,-1.6,-1.4,-1.14,-1.21,-1.83,-1.37,-0.79,-0.26,0.53,1.12,-0.34,-1.27,-1.56,-1.83,-2.29,-2.93,-2.51,-0.26,0.74,2.02,0.99,-1.16,-3.72,-1.31,0.54,2.23,3.23,3.34,2.73,0.82,-3,-5.29,-1.44,0.22,0.85,-0.34,-0.58,-0.19,0.04,1.06,1.82,3.15,3.63,0.86,-1.56,-1.59,0.08,1.89,1.92,1.36,3.21,3.62,2.86,2.25,1.85,1.3,1.06,0.93,0.1,-0.67,-1.24,-1.52,-1.75,-1.9,-1.71,-1.34,-0.98,-0.84,-0.88,-1,-1.21,-1.45,-1.74,-2.07,-2.45,-2.85,-3.02,-3.13,-3.43,-3.73,-3.88,-3.9,-3.9,-3.88,-4,-4.05,-4.39,-4.57,-4.41,-4.22,-4.03,-3.99,-3.76,-3.75,-3.47,-3.54,-3.65,-4.44,-5.04,-5.81,-6.42,-7.01,-7.84,-8.67,-9.64,-9.52,-7.4,-5.77,-5.61,-4.43,-4.29,-4.25,-5.25,-5.55,-5.98,-6.23,-5.46,-4.14,0.74,2.98,1.21,-1.21,-3.26,-2.18,-3.28,-1.57,0.12,-1.69,-1.17,1.34,3.09,1.52,4.45,2.88,3.55,0.93,-1.94,-0.6,-3.82,-3.55,-3.7,-3.39,-3.5,-6.46,-1.98,-0.1,0.14,-0.62,-1.47,-2.44,-4.05,-5.02,-5.74,-6.98,-7.51,-4.97,-3.03,0.57,-1.38,-2.45,-6.35,-3.96,-1.55,1.65,1.44,2.02,0.72,-1.57,-1.22,-1.09,-1.44,-1.8,-2.57,-3,-2.96,-2.86,-1.87,0.26,3.03,5.18,6.93,8.99,8.57,8.16,7.76,6.9,6.12,5.32,3.74,2.39,1.32,0.78,-0.1,0.24,1.71,2.16,1.43,1.8,2.5,2.77,2.76,2.25,1.81,2.08,1.67,2.19,1,1.27,4.71,5.29,5.07,5.02,4.61,4.59,6.15,5.05,0.91,4.38,3.99,1.13,1.28,0.64,1.33,0.94,1.17,1.19,1.3,1.11,4.63,8.46,10.8,4.73,4.13,7.6,8.58,7.57,7.62,8.03,7.35,5.63,4.07,2.22,1.33,2.23,1.76,0.44,-0.31,-1.2,-2.48,-3.4,-3.97,-2.3,-0.66,1.91,3.53,3.65,3.6,2.98,2.19,1.48,0.91,0.6,0.59,-0.67,-2.12,-1.97,-1.8,-1.51,-2.2,-1.54,0.23,1.46,1.55,0.94,0.48,0.14,-0.07,-0.01,-0.04,-0.44,-0.86,-1.28,-1.39,-1.49,-1.84,-1.63,-1.18,-0.86,-0.91,-0.74,-0.61,-0.36,-0.59,-0.55,0.14,0.83,0.75,1.09,1.66,1.28,0.01,-0.33,-0.15,-0.03,-0.33,-0.56,-0.14,-0.38,-0.66,-0.47,-0.84,-1.27,-1.75,-1.54,-1.14,-1.32,-1.54,-1.75,-2.38,-2.76,-2.54,-2.77,-3.14,-3.33,-3.7,-3.58,-4.05,-1.79,-3.66,-3.81,-3.72,-3.69,-3.77,-3.34,-3.14,-3.5,-3.6,-3.87,-4.47,-5.08,-5.37,-5.64,-5.94,-6.08,-6.05,-5.87,-5.52,-5.21,-4.97,-4.93,-4.93,-4.77,-4.5,-4.4,-4.35,-4.03,-3.68,-3.43,-3.76,-2.3,-1.87,-1.94,-1.6,-2.11,-3.33,-2.82,-0.97,0.01,0.98,0.61,0.42,-0.55,-1.52,-2.36,-3.22,-3.53,-2.81,0.67,1.47,3.61,0.25,2.14,-1.58,-3.6,-1.93,0.42,2.82,1.92,1.07,0.24,-2.96,-5.92,0.39,0.5,0.24,-1.31,-1.71,-0.84,0.29,0.87,0.9,1.34,4.16,3.36,3.92,1.73,1.45,-0.86,-2.86,-0.77,-0.24,2.91,3.2,1.83,0.7,0.39,0.15,-0.35,-0.86,-1.31,-1.7,-1.75,-1.9,-1.94,-1.73,-1.47,-1.23,-1.07,-1,-1.17,-1.39,-1.65,-1.89,-2.26,-2.69,-3.07,-3.4,-3.56,-3.69,-3.93,-3.81,-3.69,-3.78,-3.95,-4.2,-4.52,-4.48,-4.17,-4.1,-4.08,-4.17,-3.82,-3.52,-3.6,-3.62,-3.67,-4.24,-4.74,-5.29,-5.89,-6.45,-7.11,-7.95,-8.58,-9.52,-9.68,-5.85,-4.54,-4.97,-4.82,-3.63,-4.11,-4.99,-5.83,-6.1,-5.82,-3.78,1.18,3.29,1.35,0.87,0.38,2.92,2.75,3.48,3.3,2.03,10.29,7.88,4.28,3.66,0.83,1.67,2.45,0.69,-0.55,-1.58,-2.83,-4.33,-4.49,-4.79,-3.84,-2.05,-2.42,-1.16,-0.62,-0.19,-1.33,-2.1,-3.29,-4.3,-5.04,-5.71,-6.91,-6.65,-5.53,-1.23,4.9,1.79,-0.51,-3.5,-3.07,-1.77,0.22,1,3.14,1.5,0.83,-0.42,-1.36,-1.25,-1.72,-2.31,-2.67,-2.37,-0.76,3.2,2.09,3.83,5.39,8.88,9.6,9.16,8.74,8.05,7.6,6.85,5.65,4.62,2.23,1.84,1.13,0.89,1.28,1.28,1.41,0.95,3.14,3.79,2.46,2.04,1.63,1.02,2.05,2.42,1.2,1.2,6.75,5.47,4.7,5.39,4.95,5.16,6.74,7.89,7.27,4.31,2.12,2.17,0.52,1.21,0.68,1.77,1.25,1.13,1.37,1.5,1.82,4.49,8.56,9.67,2.54,1.79,7.6,7.98,7.41,6.98,7.89,7.14,5.2,3.29,0.64,-1.55,1.91,2.48,0.21,-0.81,-1.4,-1.98,-3.72,-2.8,-1.18,-0.12,2.81,3.34,3.53,2.84,2.17,1.57,1.23,0.81,0.59,0.44,-0.24,-0.8,-0.72,-1.64,-2.42,-3.17,-2.42,-0.3,1.39,1.52,0.83,0.09,-0.37,-0.03,-0.12,-0.24,-0.44,-0.85,-0.93,-0.72,-1.19,-0.98,-0.9,-1.34,-1.66,-1.8,-1.3,-0.68,-0.49,-0.97,-1.03,-0.43,0.31,0.36,0.26,0.6,0.45,-0.05,-0.64,-1.1,-1.07,-0.64,-0.2,0.05,-0.28,-0.38,-0.83,-1.35,-1.92,-1.99,-1.6,-1.55,-1.71,-1.84,-2.06,-2.28,-2.41,-2.76,-2.35,-1.28,-2.87,-5.31,-2.5,0.77,-5.76,-3.95,-3.74,-3.61,-3.85,-3.38,-2.82,-3.14,-3.63,-4.11,-4.28,-4.62,-5.03,-5.38,-5.57,-5.85,-6.06,-6.14,-5.96,-5.57,-5.3,-5.08,-5.01,-4.86,-4.4,-4.01,-3.98,-4.05,-3.98,-3.69,-3.51,-3.73,-2.25,-2.29,-1.46,-1.61,-2.71,-6.13,-5.31,-0.09,3.16,3.2,1.62,0.89,-0.19,-1.48,-2.48,-3.5,-3.96,-2.56,0.73,1.74,0.71,0.92,1.01,-1.49,0.98,2.43,0.22,-1.28,-0.56,-2.43,-2.02,-1.48,-1.8,0.74,0.88,-0.25,-1.65,-1.6,-0.55,0.07,0.7,1.3,0.24,0.18,2.22,2.2,2.86,1.77,-0.15,-1.27,-0.72,3.48,1.82,-0.31,-0.07,-0.22,-0.79,-0.64,-1.18,-1.35,-1.69,-2.05,-2.26,-2.3,-2.04,-1.62,-1.32,-1.23,-1.2,-1.22,-1.33,-1.56,-1.98,-2.43,-2.86,-3.09,-3.36,-3.66,-3.93,-4.14,-4.09,-4.3,-4.42,-4.25,-4.09,-4.02,-3.85,-3.81,-3.82,-3.88,-3.93,-3.64,-3.45,-3.38,-3.51,-3.68,-4.12,-4.85,-5.4,-5.49,-5.87,-6.33,-6.86,-7.41,-7.85,-8.78,-7.66,-4.67,-2.06,-4.02,-4.44,-4.36,-5.03,-6.03,-6.4,-5.79,-4.98,-1.07,4.41,3.78,3.41,4.26,4.05,5.63,5.5,5.4,5.11,5.37,6.16,4.77,2.21,0.18,1.62,2.63,3.62,1.52,-1.18,-1.56,-1.9,-3.81,-4.03,-0.4,-1.23,-1.29,0.1,0.4,0,-0.34,-1.71,-2.84,-4.96,-6.1,-6.41,-6.88,-6.07,-4.15,-2.56,1.07,0.34,0.18,1.82,0.63,-2.56,-1.44,-0.74,2.22,0.45,0.03,-1.51,-1.19,-0.63,-0.55,-0.43,3.09,1.56,3.48,3.99,5.84,0.04,8.48,10.62,10.04,9.59,9.17,8.73,8.35,7.71,6.85,6.23,3.94,2.57,2.34,2.01,2.02,1.23,1.11,1.5,1.71,2.92,2.94,2.43,2.09,1.03,0.72,1.62,1.3,1.42,6.31,5.75,5.22,5.28,5.28,5.07,5.37,6.39,6.68,6.5,5.99,2.17,2.01,0.89,1.11,1.18,1.33,1.05,0.62,0.07,2.02,2,2.43,7.35,5.55,2.32,3.88,7.29,8.21,7.82,6.06,7.31,6.69,4.62,2.2,-0.68,-3.03,0.22,0.93,-0.81,-1.7,-1.54,-1.78,-2.34,-0.09,0.91,1.52,1.82,3.18,3.04,2.06,1.54,1.09,0.91,0.96,0.62,0.03,-0.64,-1.16,-1.24,-2.91,-2.17,-2.34,-1.11,0.68,1.38,1.04,-0.04,-0.38,-0.13,-0.07,-0.13,-0.6,-0.68,-1.25,-1.54,-1.24,-1.27,-1.77,-1.75,-1.86,-1.89,-0.61,-0.14,-0.19,-0.62,-0.66,-0.99,-0.85,-0.55,-0.29,-0.39,-0.37,-0.34,-0.73,-1.37,-0.83,-0.62,-0.41,0.14,0.52,0.13,-0.83,-1.72,-1.71,-1.68,-2.09,-2.31,-2.4,-2.18,-2.26,-2.37,-2.49,-2.77,-2,-1.59,-1.57,-2.36,-3.52,-1.97,-2.72,-4.38,-3.54,-3.03,-2.63,-2.94,-2.75,-2.54,-3.36,-4.16,-4.7,-4.83,-5.03,-5.15,-5.19,-5.53,-5.63,-5.88,-6.06,-5.77,-5.45,-4.97,-4.87,-4.98,-4.94,-4.23,-3.88,-3.83,-3.74,-3.64,-3.63,-3.27,-3.3,-2.7,-1.34,-1.77,-2.47,-3.34,-7.43,-9.47,4.98,10.51,5.33,3.98,1.98,0.56,-1.13,-2.65,-3.77,-4.76,-3.45,2.03,3.16,0.61,0.53,-0.09,-0.51,1.73,0.91,0.38,1.34,-0.72,-2.06,-0.01,0.37,0.89,0.02,0.04,-1.13,-1.29,-0.63,-0.08,-0.01,-0.06,0.04,0.29,0.88,1.35,0.87,0.04,2.08,2.86,2.44,2.77,0.31,-1.31,-0.48,-0.23,0.02,-0.44,-1.83,-1.74,-1.66,-1.71,-1.92,-2.2,-2.27,-2,-1.59,-1.37,-1.41,-1.63,-1.79,-1.84,-2.15,-2.62,-3.03,-3.29,-3.54,-3.72,-4.03,-4.15,-4.14,-4.13,-4.13,-3.84,-3.66,-3.64,-3.56,-3.52,-3.48,-3.59,-3.62,-3.43,-3.33,-3.13,-3.48,-4.16,-4.76,-5.13,-5.15,-5.29,-5.98,-6.56,-6.94,-7.05,-6.83,-6.51,-5.73,-3.84,-1.6,-1.33,-2.46,-3.38,-5.44,-6.24,-6.39,-5.73,-6.45,-1.85,3,2.98,3.1,4.69,5.02,4.59,5.21,5.17,5.28,5.15,5.66,-0.36,-1.83,1.1,1.76,2.66,1.25,1.91,1.54,0.28,-2.84,-2.84,-3.17,-1.87,1.05,0.27,1.13,-1.2,-2.14,-1.65,-3.02,-1.98,-2.97,-4.12,-5.17,-6.06,-5.73,-5.44,-2.88,3.02,3.8,3.15,5.75,2.91,1.56,-1.11,-0.19,2.17,0.93,1.26,-0.78,-0.3,-0.3,0.52,1.21,3.18,3.34,2.54,3.47,4.33,3.02,3.12,10.01,8.93,9.22,9.13,8.79,8.4,8.02,7.29,6.63,5.71,4.45,4.01,2.82,1.97,1.3,0.7,1.58,3.79,2.78,3.72,2.47,1.88,1.6,0.79,0.52,1.37,1.52,5.13,5.62,5.59,6.23,5.95,5.57,5.85,6.72,6.73,6.98,7.07,7.04,2.48,2.64,3.24,0.76,0.76,1.74,1.37,1.08,2.68,4.09,2.61,1.57,2.52,0.51,4.14,6.7,6.87,6.72,6.41,6.38,6.38,5.69,3.92,1.56,-1.35,-2.73,0.25,-0.03,-2.14,-2.26,-2.34,-1.67,-1.33,-0.49,0.87,1.77,1.91,2.73,2.73,2.17,2.09,1.64,1.03,0.61,0.51,-0.5,-1.4,-1.57,-1.34,-0.46,-1.02,-2.25,-0.39,1.7,1.72,0.57,-0.08,-0.23,0.42,-0.01,-0.54,-0.05,-0.54,-0.78,-0.95,-0.92,-0.9,-0.66,-1.5,-2.02,-1.3,-0.31,0.35,0.21,-0.53,-0.81,-0.66,-0.87,-1.12,-1.18,-0.98,-0.61,-0.63,-0.6,-0.75,-1.18,-1.03,-0.47,0.15,0.16,-0.23,-0.98,-1.78,-2.15,-2.31,-2.55,-2.7,-2.36,-1.72,-2.16,-2.38,-2.59,-2.71,-2.14,-1.66,-1.94,-2.24,-2.54,-2.64,-2.88,-3.32,-3.3,-3.22,-3.31,-3.46,-3.82,-3.87,-3.81,-4.12,-4.43,-4.7,-5.07,-5.3,-5.23,-5.11,-5.26,-5.34,-5.61,-5.6,-5.36,-4.9,-5.27,-5.37,-4.63,-3.73,-3.56,-3.71,-4.08,-4.05,-3.88,-3.91,-3.34,-2.77,-2.58,-2.76,-3.6,-3.88,-4.92,-3.55,11.38,10.26,5.79,3.62,3.14,0.96,-1.23,-2.73,-4.12,-5.63,-5.62,4.28,3.97,1.83,0.01,0.94,-0.25,-0.2,0.59,0.22,-0.07,2.74,-0.65,-0.28,0.19,0.55,-0.97,-0.65,-2.05,-2.15,-0.73,0.23,0.38,-0.11,-0.78,-0.9,-0.57,-0.42,-0.46,0.27,0.63,1.08,1.36,1.36,0.39,-0.37,-0.7,-1.08,-1.2,-1.43,-1.98,-2.09,-1.74,-1.53,-1.46,-1.76,-1.81,-1.7,-1.67,-1.73,-1.9,-2.07,-2.09,-2.15,-2.37,-2.73,-2.97,-3.15,-3.42,-3.84,-3.94,-3.9,-3.76,-3.68,-3.81,-3.7,-3.52,-3.43,-3.36,-3.32,-3.43,-3.36,-3.34,-3.38,-3.43,-3.8,-4.13,-4.69,-5.31,-5.76,-6.95,-5.69,-5.91,-6.38,-6.08,-5.92,-5.51,-4.81,-3.15,-1.02,-0.39,-1.67,-2.36,-2.94,-1.95,-4.93,-3.55,-2.27,0.55,1.99,3.64,3.94,4.5,5.64,5.74,5.26,5.76,5.82,5.2,4.77,4.34,0.2,-0.26,-0.04,1.99,1.46,1.26,0.09,-1.03,0.17,2.12,2.4,1.86,2.28,1.87,1.28,0.75,1.39,0.54,-0.38,-1.84,-0.96,-1.61,-2.31,-2.99,-2.69,-1.97,0.22,5.61,5.54,5.77,6.01,7.27,7.57,3.2,0.05,1.88,1.43,1.27,1.56,-0.88,-1.94,-0.28,1.49,1.34,0.32,-0.73,0.91,-0.06,3.92,6.31,6.71,7.37,8.6,9.05,8.82,8.48,8.1,7.6,6.98,6.24,5.1,4.61,3.71,2.64,1.97,0.99,0.46,2.13,3.14,1.73,2.42,2.57,2.2,0.91,0.65,0.93,2.89,4.86,6.71,6.6,5.29,5.81,6.12,6.39,6.58,6.57,6.73,6.58,6.58,5.83,3.59,6.03,5.85,1.35,0.6,0.85,1.11,1.65,3.76,3.83,2.52,1.16,1.41,1.21,2.8,7.14,7.59,7.9,7.34,7.28,6.47,5.04,3.52,1.23,-1.51,-0.78,-0.36,-3.24,-0.81,-1.74,-3.62,-2.73,-0.12,-0.47,-0.16,1.13,2.01,2.14,2.27,2.22,2.89,2.11,1.19,0.65,0.04,-1.45,-1.26,-1.08,-1.01,-0.93,-0.77,-0.21,-0.24,0.55,0.8,0.05,-0.37,-0.62,0.06,0.29,0.21,-0.13,-0.18,-0.75,-1.42,-2.27,-1.48,-1.46,-1.34,-1.13,-0.6,-0.15,-0.24,-0.84,-1.15,-0.94,-1.35,-1.71,-1.78,-1.7,-1.28,-1.35,-0.99,-1.1,-1.5,-1.65,-1.31,-0.84,-0.41,-0.05,-0.21,-0.94,-1.69,-2.29,-2.56,-2.65,-2.92,-3.12,-2.64,-1.64,-1.69,-2.5,-2.85,-2.97,-2.75,-2.6,-2.85,-3.18,-3.33,-3.56,-3.69,-3.63,-3.85,-4.13,-4.66,-4.77,-4.08,-4.42,-4.37,-4.61,-4.22,-4.35,-4.81,-4.99,-4.79,-4.89,-5.26,-5.38,-5.27,-4.85,-5.07,-5.15,-4.48,-3.02,-2.6,-2.77,-3.11,-3.44,-3.44,-3.3,-3.32,-3.27,-2.87,-2.79,-2.82,-3.29,-2.98,-3.39,-1.9,2.99,5.37,4.98,4.15,2.74,1.52,-0.97,-3.27,-4.23,-5.31,-4.27,0.59,3.24,0.56,0.33,-0.35,-1.6,-0.58,0.39,0.59,1.35,3.4,1.28,0.35,0.32,-0.15,0,-1.35,-2.83,-2.34,-0.85,0.73,0.7,-0.46,-1.58,-1.65,-1.12,-0.71,-0.55,-0.41,-0.2,0.06,0.49,0.61,0.45,0.02,-0.25,-0.68,-1.15,-1.51,-2.09,-2.63,-2.54,-1.91,-1.48,-2.09,-2.38,-2.34,-2.06,-1.88,-1.96,-2.13,-2.09,-2.13,-2.37,-2.69,-3.05,-3.21,-3.22,-3.31,-3.43,-3.53,-3.58,-3.51,-3.28,-3.13,-3.22,-3.09,-3.1,-3.07,-3.05,-3.3,-3.48,-3.58,-3.64,-3.76,-4.16,-4.88,-5.36,-5.57,-2.64,-4.35,-5.32,-4.34,-4.82,-4.24,-3.88,-3.04,-1.47,0.04,0.07,-0.66,-1.62,-1.77,-0.63,1.28,1.18,2.62,4,3.5,3.53,3.15,4.1,4.07,3.59,5.07,4.47,4.99,4.8,4.53,4.26,3.35,2.36,2.01,1.78,1.03,1.35,1.16,2.69,2.81,2.06,1.43,2.5,3.57,3.94,4.83,3.07,2.83,0.04,-1.33,1.89,0.59,0.64,1.63,2.21,5.3,5.16,5.17,4.71,4.09,5.04,5.74,8.02,3.34,2.95,0.35,1.32,2.32,0.34,-1.45,-0.89,-1.76,1.42,3.05,2.75,2.04,0.89,0.03,4.73,8.66,9.36,8.01,8.82,9.82,9.71,9.54,8.97,8.31,7.55,6.86,5.86,4.89,3.81,3.12,2.23,1.23,1.1,2.22,2.11,2.18,1.48,2.51,2.87,1.51,0.8,0.1,0.36,2.19,2.8,5.69,6.36,5.78,5.97,6.65,6.87,6.98,6.72,6.64,6.47,5.99,6.21,5.49,4.71,2.71,1.24,-0.04,2.59,2.82,1.45,1.99,1.96,2.08,1.86,0.97,1.19,2.04,7.74,8.53,8.15,7.56,6.67,5.82,4.74,3.08,0.69,-2.07,-1.63,-1.13,-3.82,0.93,-0.08,-1.93,0.88,0.62,1.3,2.24,1.42,2.07,2.15,2.18,2.12,2.12,1.75,1.51,0.97,-0.06,-0.27,-1.18,-1.34,-0.55,-0.58,-0.69,-1.63,-1.51,-0.84,-0.39,-0.49,-0.45,0.99,0.85,0.89,0.64,0.59,0.06,-0.15,-0.65,-1.17,-1.07,-1.02,-1.23,-1.38,-0.51,-0.77,-1.18,-1.05,-0.99,-0.81,-1.21,-1.51,-1.63,-1.61,-1.68,-2.11,-1.93,-2.28,-2.13,-1.41,-1.31,-1.29,-0.97,-0.5,-0.28,-1.07,-1.58,-1.82,-2.19,-2.61,-2.99,-3.31,-2.67,-1.71,-1.57,-2.03,-2.31,-2.55,-2.74,-2.6,-3,-3.19,-3.14,-3.11,-3.3,-3.63,-4.16,-4.84,-5.52,-5.34,-5.09,-3.71,-3.82,-4.24,-4.33,-4.43,-4.36,-4.3,-4.45,-4.37,-4.86,-5.09,-4.88,-4.93,-4.67,-4.24,-3.04,-2.6,-2.51,-2.82,-3.17,-2.89,-2.61,-2.69,-2.53,-1.71,-2.03,-1.46,-2.21,-2.21,-1.77,-2.33,-1.33,1.09,4.07,4.23,4.86,3.87,1.46,-1.78,-3.05,-3.88,-4.4,-2.31,0.55,1.04,0.46,-0.27,-0.72,0.02,0,-0.23,0.51,1.75,1.69,1.1,-0.12,0.09,-1.1,-1.5,-2.44,-2.52,-0.74,0.19,-1.14,-0.31,-1.02,-1.8,-1.72,-1.41,-1.31,-1.15,-0.87,-0.73,-0.61,-0.61,-0.17,0.12,0.3,-0.07,-0.45,-0.79,-1.24,-1.61,-2.15,-2.58,-3.08,-3.12,-2.84,-2.44,-1.93,-1.69,-1.71,-2.03,-2.25,-2.39,-2.6,-2.59,-2.59,-2.71,-2.81,-2.84,-2.63,-2.45,-2.47,-2.71,-2.99,-2.9,-2.9,-2.74,-2.69,-2.69,-2.69,-2.86,-3.08,-3.28,-3.38,-3.41,-3.6,-3.78,-4.06,-4.07,-3.92,-3.94,-4.21,-4.58,-3.9,-3.93,-3.51,-3.09,-1.97,-0.59,-0.14,-0.79,-1.24,-1.64,-1.23,-0.61,-0.54,2.17,3.83,4.25,2.85,3.42,2.62,2.86,2.73,3.76,4.15,3.65,3.61,4.25,4.53,4.14,4.28,3.44,2.84,2.47,2.15,1.87,2.54,3.35,3.16,3.26,2.15,2.73,2.4,2.47,1.53,1.35,0.8,-0.95,-0.05,2.91,0.22,4.81,5.42,5.82,5.09,5.45,3.52,4.83,5.94,5.67,3.73,5.16,1.55,1.17,-0.88,-1.23,-1.26,0.44,-3.1,-0.79,2.19,2.14,1.91,2.07,3.18,2.97,4.04,8.6,10.5,10.89,7.2,10.85,10.15,9.84,9.61,9.21,8.45,7.46,6.56,5.55,4.24,3.32,2.56,1.69,1.61,2.08,2.22,2.37,2.16,2.56,2.35,1.66,1.84,1.32,-0.32,0.5,3.51,4.74,5.77,7.23,7.08,6.98,7.8,7.62,7,7.02,7.04,6.55,6.37,5.64,5.08,4.3,2.65,0.99,0.38,2.14,0.33,0.9,1.5,0.75,-0.02,0.08,0.08,-0.87,1.01,7.12,7.83,7.55,7.02,6.66,5.7,4.34,2.09,0.35,-1.71,-2.47,-0.63,-2.6,0.11,-0.56,1.88,1.48,0.83,1.37,2.89,3.44,3.73,3.73,3.78,2.89,2.5,2.22,1.77,1.13,-0.07,-0.86,-0.8,-0.82,-1.52,-1.5,-1.79,-1.71,-2.06,-1.71,-1.39,-1.48,-1.17,-0.48,0.27,1.4,1.52,1.28,0.83,0.15,-0.66,-0.77,-0.71,-0.68,-0.92,-1.29,-1.24,-0.99,-0.73,-0.9,-0.96,-1.02,-1.2,-1.45,-1.71,-2.11,-2.25,-2.43,-2.09,-1.67,-1.68,-1.35,-1.11,-0.46,-0.29,-0.51,-0.68,-0.72,-1.17,-2.04,-2.14,-2.33,-2.66,-2.75,-2.5,-1.77,-1.11,-1.36,-2.05,-2.5,-2.61,-2.84,-2.93,-3.04,-3.06,-3.11,-3.2,-3.51,-3.81,-4.49,-5.53,-5.98,-5.76,-4.38,-2.99,-3,-3.58,-4.07,-4.01,-3.87,-4.27,-4.37,-4.47,-4.77,-5.01,-4.85,-4.26,-4.07,-3.1,-2.78,-2.85,-3.42,-3.46,-3.16,-2.67,-2.2,-2.19,-2.25,-1.64,-1.31,-1.25,-0.98,-0.9,-2.1,-2.1,3.41,5.25,4.24,4.9,4.1,2.47,0.47,-1.57,-2.44,-2.56,-1.13,-1.22,-0.31,-0.17,-0.79,-0.17,1.05,0.68,0.14,0.19,0.39,0.08,-0.24,-0.26,0.48,2.37,0.95,0.84,0.95,-0.89,-0.59,-0.6,-0.36,-2.33,-2.37,-2.24,-2.01,-2.12,-1.99,-1.65,-1.69,-1.61,-1.37,-0.94,-0.31,-0.16,0.13,-0.41,-0.87,-1.03,-1.66,-2.55,-3.13,-3.22,-3.23,-2.99,-2.9,-2.43,-2,-2.03,-2.26,-2.44,-2.74,-2.64,-2.61,-2.74,-2.82,-2.86,-2.55,-2.16,-1.99,-2.27,-2.77,-2.97,-3.04,-2.93,-2.73,-2.86,-2.64,-2.53,-2.75,-2.8,-3.03,-3.17,-3.26,-3.29,-3.34,-3.53,-3.58,-3.35,-3.6,-1.26,-1.92,-3.47,-2.96,-2.37,-1.36,-0.52,-0.64,-1.2,-0.07,0.13,-0.54,1.79,1.22,0.59,1.48,2.94,3.18,3.16,3.56,4.76,3.32,2.33,3.68,4.05,4.82,4.72,4.71,4.09,4.3,4.18,3.57,2.16,1.28,0.34,1.36,1.82,1.23,1.16,0.73,-0.57,0.03,0.36,0.52,-0.13,0.44,0.34,-0.21,0.97,-0.74,1.55,6.17,7.21,7.01,6.23,4.34,4.69,5.28,4.72,2.84,3.78,0.68,0.78,-0.54,-1.53,-1.29,-2.03,-3,-3.37,1.57,3.34,4.43,3.97,2.06,1.97,1,4.87,11.39,10.79,9.75,11.75,10.35,10,9.39,9.22,8.66,7.87,7.01,6.04,4.82,3.87,3.28,3.17,2.94,2.52,2.27,2.01,1.75,1.37,0.8,1.06,0.94,1.63,0.59,0.08,0.96,4.49,5.26,7.1,8.09,7.97,7.99,7.96,7.85,7.18,7,6.68,5.75,4.62,5,4.7,3.52,2.54,0.61,0.55,0.8,0.99,0.84,1.14,-0.39,-0.64,1.24,1.01,-0.03,-0.52,6.2,7.02,6.85,6.79,6.15,5.34,3.58,1.07,0.02,-1.69,-3.1,-0.34,-3.2,-0.48,0.76,2.53,2.23,0.95,1.5,2.63,3.62,4.24,4.15,3.46,3,3.02,2.6,1.71,0.86,0.39,0.02,-0.88,-1.16,-1.65,-1.7,-1.77,-2.11,-2.02,-1.95,-1.73,-1.24,-0.34,0.16,0.6,2.11,2.65,2.21,1.03,0.65,-0.1,-0.64,-0.89,-1.14,-1.1,-0.46,-0.44,-0.62,-0.77,-0.94,-0.98,-0.76,-1.01,-1.19,-1.38,-1.61,-2.19,-2.23,-2.25,-1.9,-1.85,-1.52,-0.58,0.49,0.48,-0.13,-0.36,-0.76,-0.06,0.52,-0.65,-2,-2.39,-2.5,-2.45,-2.3,-2.24,-2.54,-2.6,-2.71,-2.82,-2.99,-3.34,-3.22,-2.67,-1.86,-1.84,-1.76,-2.75,-3.81,-5,-5.94,-6.38,-5.37,-3.85,-1.17,-1.13,-1.99,-2.84,-3.24,-3.79,-4.17,-4.6,-4.79,-4.79,-4.89,-4.77,-4.3,-3.59,-3.07,-2.97,-3.02,-2.74,-2.84,-2.64,-2.8,-2.65,-2.63,-2.24,-1.56,-1.55,-1.26,-0.49,-2.02,0.96,7.33,5.89,5.68,4.4,3.82,2.93,1.41,-0.4,-1.86,-3.29,-4.13,-2.18,-0.87,-1.61,-1.8,-0.83,0.01,0.08,-0.32,-0.65,-0.23,-0.47,-0.42,0.14,1.15,2.6,4,3.41,3.28,0.32,-1.27,-1.17,-0.93,-3.65,-3.08,-3,-3.23,-3.04,-2.75,-3.08,-3.72,-4.1,-3.24,-2.58,-1.57,-0.64,-0.33,-0.43,-0.99,-1.71,-2.04,-2.18,-2.67,-3.32,-3.35,-3.46,-2.92,-2.74,-2.44,-2.35,-2.35,-2.51,-2.62,-2.6,-2.5,-2.58,-2.72,-2.75,-2.52,-2.3,-2.4,-2.72,-2.91,-2.96,-2.97,-2.71,-2.79,-2.67,-2.54,-2.53,-2.48,-2.81,-3.19,-3.33,-3.46,-3.43,-3.39,-3.08,-2.87,-2.91,-1.96,-2.36,-2.42,-2.5,-2.07,-1.3,-0.4,-0.5,-0.98,-1.09,0.39,1.03,2.1,2.62,0.94,0.71,1.42,2.65,2.19,1.84,2.02,2.77,2.14,3.94,4.66,4.87,3.4,3.37,2.47,3.08,3.69,2.57,2.33,2.2,1.08,1.25,0.87,2.45,1.23,-0.9,-1.63,-2.09,-1.83,-0.71,-0.29,0.53,-0.13,1.08,2.48,1.65,1.41,3.46,4.35,4.22,3.75,2.22,3.03,2.25,3.47,3.16,2.92,2.1,1.17,-0.81,1.57,-0.28,-0.44,-1.69,-1.29,0.46,-2.43,4.38,4.98,4.94,0.65,7.68,0.44,5.07,14.89,13.02,7.76,7.78,9.22,9.55,9.62,9.32,8.44,7.46,6.33,5.23,4.33,3.62,2.9,1.96,1.6,1.48,1.18,0.93,0.45,0.62,0.84,0.53,1.38,0.87,0.51,0.13,1.95,5.22,6.62,7.25,7.8,8.83,8.86,8.31,7.96,7.45,7.19,6.44,5.21,4.16,4.58,4.72,3.91,2.93,1.2,-0.19,0.34,0.6,-0.85,0.45,0.6,1.54,1.41,0.97,0.17,-0.03,7.22,6.92,6.58,6.06,5.17,4.36,2.57,0.38,-0.3,-0.94,-0.78,-1.67,-2.62,-0.69,0.63,0.68,2.82,3.68,2.92,3.51,3.85,4.28,4.2,3.3,3.43,2.48,1.31,0.93,0.78,0.47,-0.07,-1.17,-1.51,-1.59,-1.16,-1.46,-1.72,-2.29,-2.42,-1.96,-1.28,-0.32,0.32,1.63,2.73,2.4,1.98,1.8,0.65,0,-0.6,-0.92,-1.08,-0.4,-0.77,-0.92,-1.01,-1.17,-1.23,-0.98,-1.24,-1.44,-2.01,-2.3,-1.81,-1.2,-1.12,-1.59,-1.51,-1.12,-0.13,1.14,1.62,1.48,0.97,0.47,-0.23,-0.42,-0.39,-0.21,-0.55,-1.69,-2.73,-2.36,-1.83,-2.45,-2.96,-3.44,-3.88,-4.28,-3.63,-3.15,-2.09,0.14,-0.68,-0.96,-2.28,-1.22,-2.76,-4.01,-5.23,-5.91,-5.76,-4.62,-2.67,-1.15,0.48,-0.69,-2.5,-3.59,-4.22,-4.61,-5.09,-5.48,-5.55,-4.88,-4.34,-3.22,-1.4,-0.36,-0.57,-1.41,-1.67,-2.06,-2.28,-2.63,-3,-2.92,-2.16,-1.37,-0.41,0.56,-0.11,6.12,8.03,7.27,6.16,5.59,4.39,3.13,2.11,0.6,-1.64,-2.78,-2.73,-2.91,-2.67,-2.88,-2.51,-1.88,-0.9,-0.75,-0.84,-1.05,-0.73,-1.11,-1.06,-0.78,0.06,1.35,1.18,1.32,1.9,2.2,-0.1,-0.44,-0.66,-3.75,-4.17,-3.83,-4.26,-3.62,-3.24,-3.53,-4.45,-5.3,-6.45,-4.18,-3.14,-2.4,-0.03,-0.08,-1.45,-2.39,-2.98,-2.97,-2.81,-2.1,-2.17,-2.66,-2.35,-2.54,-2.65,-2.37,-2.15,-2.32,-2.59,-2.75,-2.76,-2.73,-2.76,-2.67,-2.56,-2.67,-2.91,-2.98,-2.99,-3.19,-3.48,-3.49,-3.4,-3.36,-3.03,-2.68,-2.69,-3.42,-3.82,-4.03,-3.94,-3.67,-3.28,-3.33,-3,-2.64,-2.92,-3.05,-2.92,-2.66,-1.95,-1.14,-1.06,-1.17,-0.65,-0.16,0.84,1.16,1.44,1.71,1.07,1.08,1.36,1.48,0.27,0.32,1.12,1.4,0.5,2.4,3.69,3.95,3.38,1.8,1.72,1.62,1.5,1.64,1.21,0.77,0.95,0.89,1.07,1.86,0.79,1.32,-1.16,-0.57,0.1,0.27,0.52,-0.44,1.44,1.27,1.52,1.24,1.08,0.92,1.85,2.07,2.42,1.58,0.61,0.58,1.67,1.68,1.11,1.21,0.43,-0.87,-0.87,-0.29,-0.35,-0.52,3.33,1.98,-0.45,8.65,3.31,6.39,7.75,6.38,5.43,9.27,14.1,11.71,10.2,10.06,10.03,10.09,9.8,8.97,7.97,6.8,5.71,4.63,3.54,2.79,2.13,1.49,1.03,1.12,1.04,0.61,0.13,-0.28,-0.23,-0.86,-0.58,1.55,0.43,0.46,2.74,5.84,6.57,6.73,7.34,8.54,8.92,8.58,8.15,7.63,7.2,6.43,5.25,5.08,5.38,5.11,4.27,3.24,2.46,-0.15,0.14,-0.7,-1.12,-1.18,-0.45,0.96,1.56,0.36,-0.83,2.96,5.55,5.89,5.7,4.93,3.84,3.08,1.31,-0.21,-0.76,0.99,0.37,-1.41,-1.54,-0.48,0.81,0.77,4.87,4,4,3.82,3.33,3.35,3.29,3.03,2.54,2.38,2.06,1,0.3,-0.05,-0.12,-0.71,-0.96,-1.02,-1.12,-1.48,-1.72,-2.18,-1.99,-1.69,-1.22,-0.47,1.61,4.22,4.82,3.47,1.95,1.01,0.25,-0.12,-0.49,-0.92,-1.05,-0.96,-0.65,-0.5,-0.75,-0.71,-0.97,-0.92,-1.07,-2.34,-2.84,-2.08,-0.86,-0.67,-0.89,-0.86,-0.63,-0.29,0.16,0.68,0.85,0.74,0.9,0.4,0.24,-0.03,-0.17,-0.45,-1.01,-1.22,-1.4,-2.2,-2.74,-3.08,-3.52,-4.13,-4.87,-5.28,-3.1,0.48,3.96,4.05,2.47,-0.16,-2.3,-2.72,-2.03,-3.5,-4.13,-4.64,-4.56,-3.96,-3.01,-2.37,-1.57,0.13,-1.65,-3.68,-4.64,-5.2,-5.49,-5.93,-6.23,-5.81,-3.92,-1.48,0.56,2,2.21,-0.07,-1.07,-1.21,-1.61,-2.76,-3.25,-3.32,-2.47,-1.21,-0.36,1.49,3.82,7.24,7.24,6.12,4.95,4.04,3.3,2.23,1.37,0.37,-1.11,-2.2,-2.42,-2.7,-3.4,-3.07,-2.82,-3.27,-1.87,-1.52,-2.37,-2.08,-1.95,-1.96,-2.17,-1.1,-0.68,0.38,0.66,1.03,1.63,-1.23,-3.03,-0.13,-1.4,-2.73,-2.3,-4.19,-4.69,-3.98,-3.44,-3.45,-4.57,-5.77,-0.95,-0.07,-3.16,-3.32,-0.28,0.11,-1.63,-1.73,-3.35,-3.9,-1.68,-0.92,-1.5,-1.49,-2.43,-2.52,-2.41,-2.47,-2.39,-2.61,-2.75,-2.8,-2.93,-2.88,-2.85,-2.94,-2.87,-3.22,-3.3,-3.22,-3.24,-3.4,-3.3,-3.69,-4.03,-4.11,-3.96,-3.94,-4.16,-3.96,-4.12,-3.89,-3.46,-4.02,-3.54,-3.27,-3.25,-3.27,-3.41,-2.87,-1.94,-1.86,-1.42,-0.9,-1.1,-0.32,-0.17,2.09,3.37,1.41,0.72,0.96,0.97,0.73,1.36,0.16,0.09,0.4,-0.1,-1.45,2.31,2.26,1.78,2.7,1.89,1.63,1.59,1.65,1.09,1.52,0.59,0.07,0.32,-0.03,1.32,2.46,0.63,-0.63,1.03,1.75,0.96,1.05,0.19,1.45,1.75,1.49,1.37,1.4,1.55,2.3,1.85,1.36,1.08,0.83,1.39,0.99,0.18,0.63,0.85,1.78,0.17,0.28,0.21,-0.02,2.15,3.65,5.41,5.3,7.36,7.54,8.55,7.1,5.74,7.12,6.39,12.44,11.73,9.93,10,10.18,10.31,10.03,9.1,7.92,6.62,5.47,4.63,3.61,3.14,2.97,2.35,1.86,1.28,1.73,2.12,0.85,-0.04,-0.97,-1.53,-0.95,-1,0.25,0.29,2.16,6.3,7.39,6.39,5.69,6.24,8.51,9.06,8.66,7.98,7.68,7.29,6.58,6.22,5.97,5.54,4.84,3.99,3.14,2.72,-0.06,0.51,-0.79,-0.75,-0.99,-1.12,0.01,1.24,1.29,1.38,3.5,4.45,4.57,4.06,3.34,2.6,2.24,0.91,-2.03,0.27,0.49,0.36,-0.33,-1.99,0.22,0.25,2.53,3.08,5.36,4.72,3.88,3.46,2.78,1.96,1.59,0.91,2.14,1.14,0.54,0.21,-0.47,-0.85,-1.07,-0.64,-0.79,-0.85,-1.18,-1.08,-1.63,-1.64,-1.67,-0.93,1.07,2.29,5.75,5.29,4.42,3.12,1.68,0.41,-0.85,-1.45,-1.5,-0.98,-0.58,-0.1,0.25,-0.05,-0.4,0.5,0.34,-0.85,-2.33,-2.46,0.31,2.31,1.12,0.4,0.52,0.23,0.82,0.83,0.2,0.68,0.92,0.67,0.47,0.56,0.08,-0.46,-0.86,-1.17,-1.85,-2.21,-2.68,-2.75,-3.35,-3.74,-4.3,-5.14,-5.74,-2.62,1.02,5.97,4.32,2.68,-0.08,-2.22,-3.23,-2.94,-3.01,-3.07,-3.23,-3.65,-3.71,-3.52,-3.34,-2.38,-0.24,-0.46,-2.86,-2.89,-3.62,-4.01,-5.52,-6.17,-5.25,-3.13,0.45,0.26,4.88,2.94,1.46,1.19,-0.08,-1.2,-2.04,-2.57,-2.23,-1.46,-0.88,2.45,4.12,5.46,6.6,5.92,5.09,4.15,3.4,2.52,1.74,0.6,-0.29,-1.01,-1.89,-2.3,-2.74,-2.36,-2.22,-2.86,-3.31,-3.43,-2.37,-2.73,-2.31,-2.03,-1.07,-0.46,-1.05,-1.2,-0.73,0.36,1.17,1.16,0.79,3.86,0.9,-0.94,-1.27,-3.39,-3.32,-2.61,-3.3,-2.19,-2.42,-3.58,-1.45,-1.92,-1.23,-3.67,-0.08,-0.01,-1.07,-1.15,-1.85,-2.74,-2.69,-0.33,-0.96,-0.63,-1.11,-0.96,-1.32,-2.47,-3.02,-3.49,-3.52,-3.26,-3.25,-3.11,-3.21,-3.39,-3.17,-3.14,-3.49,-3.73,-3.73,-3.83,-3.78,-3.86,-3.93,-3.8,-3.66,-3.78,-3.52,-3.57,-3.59,-3.64,-3.32,-3.74,-3.59,-3.72,-3.85,-3.8,-3.63,-3.65,-2.59,-1.03,-1.65,-1.12,-0.4,-0.81,-1.22,0.5,1.17,1.45,0.8,-0.03,-0.31,0.73,0.4,0.11,0.44,0.23,0.48,-0.77,-0.95,2.26,2,2.49,3.12,1.05,1.26,1.01,1.44,1.51,1.34,0.21,-0.52,-0.81,-0.71,1.56,1.4,0.83,-0.88,-0.66,-0.18,0.69,-0.01,0.66,1.64,1.64,1.51,1.47,1.23,1.17,1.1,-0.04,1.04,0.48,0.26,-0.15,1.36,1.45,0.81,-0.28,0.13,0.61,0.31,0.74,0.56,4.09,1.36,2.55,3.92,7.15,5.66,6.77,6.4,6.38,8.21,9.15,11.74,10.61,10.4,10.05,9.99,10.11,9.12,8.03,6.89,5.69,4.77,3.82,3.68,3.15,1.83,1.88,2.15,2.36,2,1.83,1.35,-0.42,-2.06,-2.62,-2.01,-2.4,-1.04,1.77,4.37,5.31,5.01,6.36,5.32,5.42,8.4,8.35,8.11,7.9,7.32,6.92,6.85,6.6,5.9,5.74,5.25,4.09,2.37,1.28,0.71,-0.42,-0.61,-1.01,-0.38,-0.48,-0.45,-0.12,0.87,2.07,3.02,3.54,3.05,2.21,2.08,1.54,1.19,2.38,0.53,0.53,0.75,1.11,0.82,0.46,0.47,2.05,1.15,1.11,5.02,4.04,3.61,3.15,2.62,0.84,0.92,1.21,1.01,0.64,0.7,-0.12,0.4,1.03,1.37,0.16,-0.61,0.09,-0.65,0.08,0.79,-0.01,-0.03,0.15,1.84,3.19,5.16,4.91,3.89,2.81,1.66,-0.17,-1.81,0.64,-0.44,-0.65,-0.43,0.88,1.22,1.32,0.98,0.68,0.37,-0.91,-1.88,-1.63,4.2,4.74,3.24,2.79,2.49,1.91,0.78,0.56,1.37,1.53,1.28,1.32,1.33,-0.28,-0.59,-0.9,-1.24,-1.53,-1.65,-2.23,-2.83,-3.29,-3.37,-3.73,-4.39,-5.05,-4.94,-2.5,2.44,6.04,3.75,2.46,0.09,-3.03,-3.52,-4,-3.57,-2.25,-2.11,-2.8,-3.26,-2.87,-2.4,-1.86,-0.9,-0.98,-2.3,-3.34,-2.65,-2.24,-3.66,-1.55,0.53,-0.08,1.28,0.95,2.99,2.53,3.1,3.35,2.37,0.74,-0.87,-1,0.09,1.76,3.6,4.73,5.96,6.68,6.19,5.54,4.76,3.97,3.02,2.63,1.46,0.86,0.16,-0.12,-0.76,-0.92,-1.27,-0.63,-0.02,-1.22,-1.97,-2.37,-2.02,-2.2,-2.79,-2.38,-1.29,-0.43,0.83,-1.13,-1.17,1.77,3.04,2.05,2.02,3.06,2.27,1.43,-0.24,-1.84,-1.64,-0.7,-0.24,-0.02,-2.28,-1.47,-1.66,-0.7,-0.75,-0.48,0.32,-1.53,-0.72,-0.43,-1.23,-2.13,-0.99,-2.15,-1.16,-0.46,-0.01,0.14,-0.07,-1.13,-2.63,-3.53,-3.74,-4.08,-3.92,-3.73,-3.58,-3.29,-3.29,-3.02,-2.87,-3.04,-2.94,-3.13,-3.25,-3.31,-2.89,-2.7,-2.53,-2.56,-2.67,-2.8,-2.99,-2.74,-3.64,-3.67,-3.78,-3.74,-3.39,-3.49,-3.54,-3.45,-3.22,-2.68,-1.84,-1.69,-2.11,-1.8,-1.33,0.4,1.22,0.03,-0.86,-1.74,-0.7,-0.17,-0.65,0.42,-0.82,-0.76,-0.23,1.47,2.75,2.73,2.5,2.29,1.98,2.07,1.24,1.51,0.96,0.79,0.78,0.52,-0.12,-0.23,0.62,1.18,0.89,0.23,0.94,1.5,1.33,0.77,1.53,0.4,1.1,0.89,0.37,0.82,-0.25,-0.41,-0.54,0.59,0.7,1.59,1.03,0.82,0.48,0.23,0.36,-0.16,-0.19,0.45,0.45,-0.18,3.45,0.19,1.1,4.73,3.97,5.55,4.81,6.7,8.88,10.05,9.72,10.84,10.66,10.62,10.27,9.85,9.81,9.1,8.05,7.18,6.16,5.42,4.6,4.44,3.55,2.6,2.18,1.24,1.45,1.77,1.6,0.98,0.8,-0.26,-1.28,-2.03,-2.43,-2.22,-3.67,1.17,4.37,4.17,2.98,3.74,4.24,7.51,8.04,7.7,7.49,7.18,6.93,6.81,6.32,6.06,6.12,6.73,5.95,4.38,2.4,0.22,-1.22,0.17,0.24,0.46,0.32,0.03,-0.08,1.21,2.86,2.46,2.78,2.72,2.04,1.66,2.13,1.15,0.08,1.43,1.89,1.38,1.46,1.82,1.35,1.01,0.64,0.93,0.43,0.62,3.57,2.92,2.85,2.63,2.18,1.6,0.55,-0.41,-0.89,0.36,1.2,1.18,1.32,1.27,1.06,0.47,-0.1,0.57,0.76,1.54,1.16,0.69,2,2.01,2.24,3.44,4.93,4.59,3.54,2.17,1.18,0.1,-0.68,-1.39,-1.41,0.35,2.34,2.15,2.58,2.67,1.88,0.89,0.95,0.31,-0.8,0.32,4.19,5.05,5.46,4.38,3.1,2.4,2.27,2.13,2.82,2.74,1.91,1.56,1.33,1.13,-0.07,-0.81,-1.54,-2.12,-2.08,-2.29,-2.62,-3.45,-3.76,-3.76,-3.94,-3.76,-2.87,-0.31,4,4.89,3.37,2.28,0.34,-2.33,-3.49,-3.47,-3.55,-2.37,-2.74,-3.01,-1.47,-0.86,-0.29,0.66,0.12,-0.72,-1.34,-1.46,0.01,0.13,-1.38,1.05,2.15,0.09,1.4,1.06,2.49,3.57,4.05,4.62,3.74,2.56,2.09,4.06,5.17,5.91,6.98,7.54,7.02,6.51,5.83,5.36,4.84,4.33,3.97,3.31,3.38,3.17,2.32,1.58,1.33,1.37,0.95,0.8,0.51,-0.18,-0.25,0.48,0.88,0.94,1.48,0.92,-0.01,0.12,0.62,0.58,2.23,2.75,2.4,1.95,2.02,2.2,2.56,2.56,1.42,2.73,0.66,-0.43,0.86,0.37,0.23,-0.97,-0.88,-0.02,-0.43,0.04,-1.06,-1.68,-1.36,-1.07,-1.71,-2.46,-2.56,-2.32,-1.23,-0.66,-0.13,0,-0.64,-1.15,-1.08,-1.15,-1.5,-2.33,-3.31,-3.83,-3.76,-3.96,-3.76,-3.58,-3.47,-3.12,-2.83,-2.63,-2.61,-2.51,-2.42,-2.11,-1.94,-2.14,-2.49,-2.74,-2.46,-2.65,-3.38,-3.64,-3.92,-3.47,-4.4,-5.32,-4.64,-3.95,-3.1,-2.79,-2.2,-2.02,-2.04,-2.39,-0.1,2.26,1.86,0.52,-1.53,-1.67,-1.66,-0.59,0.13,0.35,1.02,1.45,1.58,2.63,2.98,1.95,1.73,1.91,1.63,2.83,0.86,1.15,0.37,-0.54,-0.65,0.23,0.67,0.16,1.03,0.75,0.02,-0.57,-0.35,-0.41,0.17,-0.12,0.26,0.07,-0.52,-0.08,-0.43,-0.59,-0.93,-1.13,-0.53,0.25,1.32,1.38,1.4,1.35,0.59,0.71,0.45,0.75,0.12,-1.03,-0.32,1.43,0.87,1.96,5.01,6.65,5.06,7.08,8.48,8.82,8.84,8.54,8.07,10.7,10.31,10.22,9.94,9.27,8.89,7.89,7.08,6.26,5.57,5.12,4.54,3.9,3.41,3.01,2.62,2.88,2.27,1.88,1.42,0.45,-0.41,-1.08,-1.42,-0.97,-0.38,0.31,0.38,1.2,2.33,2.34,0.45,4.97,7.35,6.99,6.97,6.73,6.74,6.7,6.7,6.26,5.95,5.85,6.63,5.91,6.49,4.81,2.58,-0.9,-2.74,-0.6,2.02,0.83,1.12,0.44,0.68,2.43,3.3,3.36,2.88,1.49,1.07,2.2,1.98,0.55,-0.66,0.49,2.16,2.46,-0.12,-1.43,0.83,-0.28,2.5,-0.63,0.12,0.27,1.9,2.88,2.55,2.14,1.57,1.08,-0.4,-1.7,-0.62,0.45,1.53,1.87,1.39,1.1,0.89,0.86,0.35,-0.36,0.01,1.83,2.27,2.8,2.62,3.22,4.02,4.48,4.07,3.35,2.59,1.63,0.6,-0.15,-0.66,-0.93,-0.61,0.84,3.36,4.62,4.42,3.95,1.8,0.78,1.18,0.57,-0.1,0.76,3.36,5.15,6.15,5.24,4.47,3.63,3.57,3.49,3.32,2.73,1.99,1.69,1.65,1.41,0.82,0.45,-1.24,-1.19,-1.51,-2.37,-2.9,-3.63,-3.99,-3.9,-3.01,-1,1.99,3.8,3.8,3.87,2.59,1.96,-0.09,-2.23,-2.81,-2.87,-2.8,-2.36,-2.14,-1.71,0.23,1.04,-0.5,-0.23,0.24,-0.77,-2.33,-2.15,-2.98,-2.94,-0.39,2.57,-0.38,1.54,-0.24,1.07,1.58,3.37,4.19,4.31,4.99,5.01,6.4,6.8,6.54,7.51,7.55,6.94,6.67,5.96,5.21,4.85,4.8,4.75,4.85,4.8,5.05,4.97,4.22,3.39,3.29,3.51,4.28,4.33,4.23,3.69,3.74,3.67,3.38,3.38,3.1,2.04,1.85,2.16,2.11,2.77,3.26,3.41,2.29,2.44,2.65,2.14,1.74,2.39,2.65,2.24,0.68,1.33,1.39,-0.18,0.38,-1.07,-0.33,-0.05,-0.52,-0.17,-1.05,-1.72,-2.61,-1.84,-1.59,-1.37,-1.36,-1.47,-1.33,-0.24,-0.56,-0.73,-0.86,-3.17,-3.25,-2.55,-1.99,-1.26,-1.35,-2.33,-3.61,-4.04,-3.72,-3.51,-3.31,-3.16,-3.12,-2.99,-2.72,-2.5,-2.1,-2.04,-2.22,-2.45,-2.63,-2.38,-2.4,-2.71,-2.93,-2.96,-3.14,-3.03,-1.84,-1.81,-1.56,-1.19,-2.29,-2.25,-2.03,-1.5,-0.19,2.13,3.44,4.03,4.12,3.15,2.65,1.68,1.1,-0.03,-0.04,0.06,0.5,0.6,1.94,2.01,1.85,1.75,1.66,1.79,1.88,2.05,3.02,3.72,3.26,2.05,0.09,0.3,0.15,0.42,0.46,0.19,-0.48,0.1,0.56,-0.14,-0.89,0.65,1.1,1.45,0.91,-0.41,-0.07,-0.03,0.51,-0.2,1.28,1.72,1.79,1.83,2.03,1.92,1.62,0.46,-0.13,-0.01,0.42,-1.79,0.8,2.06,0.55,-0.04,0.53,8.14,8.67,7.38,8.4,8.35,8.61,8.51,10.69,9.88,10.02,9.44,8.4,8.04,6.97,6.15,5.48,5.07,4.34,3.65,3.5,3.73,3.28,3.35,3.21,2.55,1.93,1.25,0.39,0.02,-0.41,-0.61,-0.23,0.4,0.55,1.07,1.09,1.1,1.43,0.47,1.05,3.94,5.1,5.6,5.87,6.18,6.11,6.73,6.49,6.13,5.84,5.48,5.67,5.99,6.88,4.15,1.91,1.02,-2.59,-0.42,0.45,0.53,2.69,1.8,1.54,2.47,1.59,1.16,0.3,0.41,1.54,2.48,1.58,0.15,0.02,1.32,0.14,1.87,1.81,-0.05,-1.13,1.16,2.48,1.64,-0.35,0.66,2.08,3,2.59,1.97,1.2,0.32,-0.2,-0.92,-0.25,0.52,1.16,1.34,1.45,1.03,0.62,0.57,0.49,0.59,1.45,2.81,3.52,3.57,3.58,3.72,3.9,3.68,2.81,2.85,2.32,1.12,0.36,0.08,-0.3,0.13,0.25,1.61,3.26,3.63,3.81,3.62,3.48,2.64,1.08,0.26,0.99,3.92,5.25,6.31,6.59,5.27,5.42,5.22,4.68,5.06,4.6,3.61,3.24,2.71,2.44,2.28,1.91,0.71,-0.02,-0.94,-1,-1.45,-1.8,-2.78,-3.54,-3.13,-0.49,1.14,1.18,1.04,2.57,2.76,2.21,0.98,-1.04,-2.02,-2.47,-2.85,-2.86,-2.51,-1.78,-0.71,-0.9,-0.61,0.73,0.1,0.14,-0.82,-0.9,-1.79,-2.64,-2.74,-2.7,-3.28,-2.28,-1.69,2.83,5.3,4.31,4.92,6.34,7.12,7.09,7.03,6.29,7.09,7.67,7.09,6.84,6.59,5.75,4.97,4.81,4.71,4.77,4.95,4.97,4.78,4.17,3.12,3.37,3.74,4.42,4.62,4.7,4.81,4.96,4.68,4.94,5.13,4.48,3.92,3.63,4.65,3.66,3.92,4.32,3.3,3.13,4.31,5.27,5.7,4.95,3.28,2.27,1.37,1.99,1.73,1.34,0.95,1.12,0.03,-0.06,-0.4,-1.22,0.12,0.58,-1.93,-2.3,-2.5,-2.18,-2.05,-0.42,-0.57,-0.01,-0.62,-0.44,-0.95,-0.47,-0.16,-1.12,-1.17,-2.36,-2.82,-1.81,-1.23,-1.59,-1.89,-2.25,-2.92,-3.19,-3.48,-3.32,-3.1,-3.2,-3.1,-2.45,-1.75,-1.12,-0.74,-0.79,-1.2,-0.44,0.06,-0.31,-0.99,-1.74,-1.69,0.46,2.55,3.6,4.14,2.68,0.69,-1.9,-2.34,-1.56,-0.19,1.53,4.06,5.5,5.44,4.97,4.76,4.58,3.63,3.26,3.1,3.23,2.2,1.6,1.35,1.33,1.49,1.31,1.04,1.15,0.9,0.6,4.94,4.04,3.71,3.54,3.18,3.33,0.91,0.4,0.5,-0.24,-0.6,0.57,0.76,0.42,0.6,0.49,-0.01,-0.02,-0.03,0.85,0.88,1.06,0.4,0.41,1,1.09,1.79,1.9,1.94,1.94,1.6,1.91,2.16,2.37,0.75,-1.37,-0.79,-0.44,0.72,0.18,2.61,6.38,8.29,9.71,9.12,8.9,8.46,7.89,7.87,9.11,8.82,8.66,7.86,7.37,6.72,5.95,5.42,5.01,3.79,3.43,3.72,3.76,3.13,2.74,2.24,2.04,1.88,1.33,-0.16,-0.2,-0.19,-0.09,0.44,0.59,0.56,0.32,0.38,0.73,0.97,1.06,1.32,1.81,2.8,3.38,4.15,5.06,5.28,6.14,6.28,6.21,6.24,5.47,5.52,4.37,2.45,1.59,0.88,1.53,2.29,1.5,-0.72,-0.61,0.18,0.93,1.88,2.73,1.43,1.49,0.96,-0.28,0.5,1.62,1.74,0.97,1.35,2.04,0.07,0.08,0.02,-1.14,-1.08,0.23,0.86,1.33,1.84,1.62,2.42,2.39,2.63,2.42,2.08,1.44,0.68,-0.11,-1.09,-1.19,0.38,0.51,1.47,1.47,1.1,0.88,0.8,1.51,1.45,2.06,3.03,3.11,3.16,3.42,3.39,3.49,3.25,1.79,2.66,2.02,1.54,0.83,0,-0.01,0.46,1.26,2.37,3,3.31,3.93,3.35,3.2,3.23,3.27,3.01,2.87,5.07,6.66,6.76,6.13,6.06,5.13,4.91,5.08,4.94,4.08,3.72,4.07,3.61,2.32,2.07,1.21,1.46,0.73,0.83,-0.74,-1.51,-1.25,-0.69,-0.54,-0.58,0.44,0.89,1.09,3.14,3.23,2.71,1.88,0.53,-0.88,-1.77,-1.98,-2.14,-2.72,-2.74,-1.62,-0.94,0.01,0.82,0.37,1.04,0.38,-0.08,-0.4,-1.41,-2.1,-2.9,-2.77,-1.42,0.45,4.6,6.99,7.05,7.17,7.43,7.25,7.28,7.5,7.55,7.48,6.89,6.64,6.46,5.96,5.2,4.46,4.33,4.49,4.04,4.33,4.59,4.5,3.65,2.39,2.31,2.73,3.86,4.76,4.94,4.92,5.58,5.34,5.29,5.53,6.01,6.26,5.51,5.86,5.85,6.22,6.53,6.17,5.39,6.2,7.1,7.27,6.98,6.15,5.48,4.47,3.3,2.75,2.4,2.18,2.21,1.23,0.61,0.79,-0.43,0.92,0.48,0.31,-0.57,-1.73,-1.91,-0.09,-0.25,0.02,1.31,-0.71,0.22,0.57,-0.31,-0.89,-1.92,-1.32,-1.56,-1.1,-0.89,-1.26,-0.78,-0.5,-1.24,-1.69,-1.58,-1.85,-2,-1.72,-1.28,-0.99,-0.74,-0.45,0.19,1.05,1.61,1.84,2.38,1.93,2.43,3.81,4.35,3.16,4.38,4.93,4.81,5.05,4.9,4.41,3.67,1.72,0.15,0.89,2.56,4.86,5.84,5.63,5.03,5.1,4.71,4.55,4.56,4.9,5.69,6.41,6.06,3.78,1.14,1.34,3.59,6.18,6.42,5.17,2.01,4.75,5.12,4.18,3.8,2.93,3.34,3.3,1.9,1.31,1.66,0.33,0.73,0.85,0.29,0.41,0.51,0.36,-0.15,-0.14,0.14,1.07,0.95,0.32,0.64,0.25,0.16,0.96,0.92,1.05,1.24,1.27,1.51,1.11,1.35,0.52,0.82,0.46,-1.32,4.21,5.56,5.03,5.54,8.25,9.16,9.68,9,8.48,7.06,5.96,7.86,7.34,7.4,7.2,6.83,6.27,5.83,5.3,5.12,4.55,4.07,4.19,3.87,3.09,3.29,2.85,2.5,1.64,1.08,0.83,0.92,0.65,0.51,0.03,-0.16,0.03,0.26,-0.02,-0.11,0,0.4,1.08,1.79,1.74,2.23,3.36,3.93,4.59,5.1,5.41,5.65,5.75,5.57,5.42,3.98,1.15,0.24,1.03,-3.75,0.08,0.92,3.13,0.87,-0.42,0.18,-0.09,2.5,4.41,3.99,2.99,1.61,1.08,0.94,1.02,1.94,1.94,0.88,0.29,0.02,-0.09,-1.6,-2.21,-0.72,0.06,0.77,1.4,1.73,1.8,1.67,2.55,2.54,2.01,1.34,0.92,-0.06,-0.63,-1.34,-1.56,0.04,0.88,1.45,1.31,1.62,1.38,0.58,1.32,1.59,2.08,2.81,2.93,2.97,2.92,3.23,3.25,2.56,2.32,2.08,1.57,1.34,0.7,-0.16,-0.44,0.46,2.15,2.18,2.23,3.18,3.45,3.62,3.92,3.78,4.29,5.06,5.51,6.37,6.79,6.43,6.71,6.26,5.72,5.66,5.39,5.27,5.14,5.67,5.32,5.12,4.29,2.98,3.51,2.58,2.16,2.66,2.97,3.28,2.56,1.84,1.83,3.19,2.33,2.48,3.3,3.66,3.32,2.68,1.56,0.11,-1.27,-1.4,-1.82,-2.36,-2.38,-1.98,-1,0.05,0.66,0.32,1.14,0.84,0.26,0.23,-0.29,-0.68,-1.97,-2.67,0.75,3.31,5.04,4.72,4.84,5.21,5.98,6.49,6.73,6.43,6.57,6.72,6.69,6.25,5.8,5.28,4.76,3.92,3.81,4.13,4.08,4.66,5.27,4.65,3.58,3.07,2.41,2.29,2.68,2.67,2.47,3.34,4.11,4.19,4.55,5.55,6.43,6.72,7.02,7.54,7.86,7.94,7.96,7.66,7.56,7.56,7.63,7.14,7.08,7.04,6.29,6.04,5.86,5.66,5.07,3.91,3.41,3.01,2.97,3.12,1.33,0.86,0.18,-0.2,-0.96,-1.58,-1.04,0.3,0.48,-0.33,-0.01,0.37,-0.48,0.32,-0.12,-1.04,-1.22,-1.19,-2.13,-0.86,-0.76,-0.84,-0.72,-0.67,-0.14,-0.02,-0.69,-1.4,-0.84,-0.19,1.21,1.74,2.15,2.16,2.18,2.61,3.02,3.25,3.27,3.05,4,4.82,4.74,4.85,6.19,6.29,6.23,6.4,6.58,6.07,5.42,4.76,4.73,4.74,4.55,4.61,5.62,5.31,4.95,5.26,5.02,5.01,5.9,6.3,6.42,6.94,7.69,7.86,7.92,7.09,7.21,7.58,7.74,7.26,6.67,6.2,5.8,5.11,4.82,4.34,3.6,3.02,2.88,3.27,2.17,0.87,1.68,1.54,0.26,0.25,0.15,0.07,-0.14,-0.21,0.82,0.38,0.23,-0.49,-0.16,-0.48,-0.08,0.77,0.95,1.01,0.71,0.79,1.25,1.4,0.46,0.86,0.5,-0.15,0.38,-0.34,6.05,6.75,5.88,6.09,7.81,8.62,7.97,5.59,5.11,4.23,7.8,7.21,7.19,6.86,6.22,5.55,5.31,5.41,5.25,4.93,4.35,4.26,4.31,3.61,2.91,2.55,2.08,1.76,1.28,1.16,0.83,0.88,0.71,0.36,-0.02,-0.24,0.27,0.65,0.45,0.02,-0.04,0.19,1.01,1.58,1.87,2.76,3.03,3.25,3.26,4.61,5.16,4.35,5.28,4.99,3.78,2.93,2.26,3.92,3.36,0.82,-1.31,0.37,1.43,3.29,0.62,1.06,0.96,4.12,4.3,3.05,2.52,1.9,1.93,2.37,3.61,3.27,1.27,0.21,0.26,0.35,0.19,-0.16,-2.31,-0.7,-0.01,0.51,0.87,2.26,2,1.31,2.47,2.36,2.15,1.91,1.28,0.24,-0.95,-0.62,0.86,0.5,1.34,0.93,1.89,1.12,0.8,0.88,1.44,1.6,2.8,2.41,2.85,3.19,3.09,2.86,2.47,1.94,1.46,1.18,0.79,0.41,-0.55,-1.21,-0.1,1.09,1.43,1.47,2.77,3.78,4.29,4.3,4.05,4.31,5,5.52,6.47,7.18,6.86,6.93,6.65,6.19,6.28,5.79,4.88,4.9,5.98,5.89,5.17,4.36,4.32,4.44,4.11,3.63,3.57,3.3,3.63,4.16,4.58,4.96,4.67,4.41,4.32,4.93,5.08,4.18,3.91,3.05,1.4,0.21,0.02,-0.78,-0.69,-0.66,-1.04,0.02,0.78,1.2,1.03,1.13,1.52,1.17,0.86,0.64,1.01,0.46,0.6,3.36,4.22,4.24,4.47,4.83,5.26,5.55,5.22,5.58,5.8,5.52,5.38,5.86,6.03,5.8,5.12,4.37,3.75,3.32,3.82,4,4.81,5.22,4.94,4.14,3.62,3.15,2.36,1.64,1.59,2.3,3.06,3.29,3.85,4.11,4.84,5.68,6.59,7.22,7.51,7.88,7.73,7.9,8.03,8.09,7.93,7.8,7.19,7.24,7.22,7.12,6.59,6.39,5.93,5.61,5,4.59,4.4,3.72,3.01,1.67,-0.33,0.06,1.02,-0.29,-1.27,-0.44,0.08,0.02,-0.41,0.53,0.99,0.42,0.46,0.09,0.36,-0.23,0.7,-0.3,-1.07,-0.97,-1.09,-1.11,-0.56,-0.48,-0.7,-0.22,0.22,1.02,1.04,1.26,1.78,2.64,3.13,3.32,3.53,3.92,4.33,3.86,3.8,3.6,4.4,4.8,4.17,3.9,3.95,4.14,4.37,4.67,5.09,5.24,5.9,5.91,5.68,5.19,4.81,5.15,4.43,4.36,4.3,4.57,4.39,4.18,5.43,5.87,6.02,6.65,7.24,8.07,8.07,8.07,7.99,7.4,7.33,6.71,6,5.65,5.27,4.61,4.3,4.66,3.92,3.67,2.3,2.28,2.58,2.55,3.26,0.77,-0.05,0.01,-0.07,0.18,-0.12,-0.61,-0.39,0.29,-0.49,0.36,0.63,0.66,0.8,0.52,0.34,-0.17,0.04,0.34,0.23,0.26,1.72,1.49,1.03,1.24,1.62,2.37,2.68,5.66,7.17,7.34,6.87,6.82,3.98,1.84,5.16,8.1,7.7,7.14,6.89,6.13,5.17,4.95,4.95,5.25,5.13,4.73,4.4,4.82,4.03,3.12,3.07,2.03,1.4,2.1,1.83,1.43,1.15,1.04,1.23,1.06,0.63,-0.09,-0.18,0.06,0.16,0.13,0.21,0.29,0.49,1.47,2.63,2.92,3.35,3.55,3.92,4.25,4.69,5.13,3.96,3.39,3.24,2.62,2.63,3.75,4.1,1.14,-0.85,-1.26,-0.48,1.31,1.83,5.25,1.63,1.4,4.38,3.7,1.26,2.11,3.61,3.14,3.97,0.67,0.08,0.33,0.26,-0.05,-0.01,-0.47,-0.91,-0.78,1.41,1.07,0.67,2.63,2.2,2.34,-0.19,1.61,2.28,1.18,0.42,0.06,0.68,1.28,1.03,1.08,1.65,1.32,1.39,1.31,1.29,1.4,1.66,2.37,2.86,3.45,2.87,2.67,2.58,2.62,2.25,1.59,1.33,0.95,0.63,0.57,0.53,-0.49,1.12,1.3,1.32,1.52,2.87,3.44,3.85,4.52,4.59,4.35,5.22,5.74,6.65,6.44,6.79,6.75,6.47,6.42,5.9,5.23,5.55,5.82,5.55,5.37,4.77,4.18,3.84,3.83,3.93,4.03,3.83,3.82,4.02,4.1,4.04,3.91,3.98,4.26,4.39,4.41,4.57,4.32,3.77,2.74,2.23,1.26,-0.24,-0.07,0.16,0.5,0.84,0.6,1.16,1.39,1.43,1.75,2.21,2.42,2.01,1.89,2.38,3.41,3.64,4.06,4.61,4.79,4.78,4.83,5.07,5.29,5.56,5.09,5.13,4.75,4.58,4.88,5.41,5.01,4.69,3.57,3.48,3.9,4.18,4.23,4.68,4.7,4.21,3.97,3.24,2.98,2.63,2.76,3.29,3.19,2.65,2.71,3.18,3.92,4.35,6.11,7.2,7.44,7.66,8.02,7.97,7.52,7.86,8.01,7.98,7.45,5.8,6.6,6.35,6.42,6.23,6.15,5.95,5.32,5.16,5.01,4.96,4.2,1.67,-0.9,0.14,0.97,0.07,0.81,-0.37,-0.19,-0.51,-0.96,-0.08,-0.03,-0.11,0.57,0.39,0.26,-0.78,-0.5,-0.61,0.41,0.12,-0.6,-0.13,-0.42,-0.44,-0.71,-0.46,-0.47,0.14,1.05,1.18,1.43,1.82,2.24,3.04,4.2,4.82,4.36,4.19,4.32,4.5,3.88,3.48,3.3,3.19,2.58,2.51,2.9,2.94,2.8,2.64,2.98,3.71,4.43,4.72,4.62,4.89,3.71,3.21,2.98,2.81,3.17,3.41,3.94,4.8,5.79,6.23,6.51,7.02,7.26,7.5,7.36,7.07,7.1,6.34,6.13,6.04,5.4,5.01,4.83,4.46,4.5,4,3.55,3.14,3.51,3.54,4.11,3.36,0.72,-0.02,-0.16,0.11,0.22,-0.26,-0.13,-0.9,-0.67,0.64,0.64,0.75,0.56,0.46,0.65,0.44,0.67,0.67,0.7,0.71,0.2,1.04,0.44,0.36,0.5,0.46,1.92,0.1,6.39,8.79,7.55,6.61,4.58,1.59,7.67,8.75,8.14,7.7,7.04,6.49,5.34,5.06,4.74,4.88,5.02,4.86,4.7,4.73,4.29,4.28,3.51,2.85,2.95,2.55,1.88,1.95,2.17,2.13,1.72,1.33,1.65,1.34,0.89,0.91,0.94,1.06,1.37,1.81,2.31,2.35,2.14,2.71,3.35,3.76,3.63,3.4,3.24,3.29,2.48,2.3,2.21,1.77,1.87,2.45,1.65,-0.13,2.7,1.29,0.31,-0.23,1.04,1.29,1.48,4.44,4.55,6.61,5.05,3.41,2.59,0.8,0.54,0.89,0.69,0.25,0.04,-0.34,-0.14,-0.31,-0.57,-1.08,1.58,0.69,1.1,1.9,1.98,2.39,1.81,-0.7,0.45,0.75,1.48,0.57,0.07,0.5,1.61,1.25,0.9,0.49,0.42,0.69,1.05,1.1,1.18,1.63,2.25,2.48,2.96,3.22,3.39,3.01,2.67,2.2,1.72,1.3,1.17,0.72,0.48,0.1,0.41,0.7,1.24,2.2,2.63,2.73,3.35,3.78,4.23,5.06,5.4,5.73,6.25,6.05,6.21,6.18,6.91,6.76,6.02,5.94,6.25,6.05,5.53,4.9,4.44,4.15,3.48,2.78,2.53,2.98,3.14,3.41,3.87,4.14,4.07,3.99,4.02,4.25,4.18,4.09,4.09,3.74,3.33,2.8,2.55,2.18,1.45,0.79,0.32,0.37,0.32,0.32,0.81,0.95,1.14,1.55,2.28,2.54,3.47,4.28,4.54,4.05,3.37,3.95,4.43,4.33,4.51,4.63,4.37,4.43,4.81,5.11,4.43,4.5,4.57,4.39,4.14,4.44,4.47,4.27,3.47,4.02,4.46,4.13,4.09,3.92,3.81,3.89,4.09,3.55,3.04,2.72,2.46,1.96,1.76,2.01,2.31,3.05,4.13,5.41,6.42,6.53,6.83,7.16,7.48,7.66,7.59,7.37,7.09,6.59,6.66,3.29,5.14,5.36,5.89,5.99,6.13,6.24,5.74,4.7,4.28,4.41,4.18,-1.36,0.06,0.24,-0.07,0.5,0.3,-0.03,-1.19,-0.95,-0.05,0.65,0.5,0.52,0.04,0.01,-0.33,-0.3,-0.61,-0.22,-0.31,-0.37,-0.01,-0.16,-0.34,-0.52,-0.31,-0.44,-0.63,-0.98,-0.18,0.21,0.55,1.24,2.32,2.95,3.6,4.1,4.19,4.23,4.05,3.46,3.38,2.72,2.35,1.85,0.93,0.9,1.54,1.75,1.9,1.99,2.11,2.66,3.42,4.09,4.58,3.77,2.52,2.51,2,1.66,1.64,1.89,2.01,2.54,3.36,4.71,5.16,4.56,4.2,4.6,5.19,5.52,5.48,5.92,5.88,5.48,5.28,5.06,5.19,4.77,4.44,3.84,3.58,3.56,4.46,4.43,3.92,3.66,0.64,0.61,0.16,0.25,0.2,0.4,-0.18,-0.03,0.32,0.5,0.2,-0.11,-0.28,-0.52,-0.29,-0.26,-0.05,0.54,0.77,0.96,-0.17,-0.54,-1.6,-2.08,-1.39,-0.17,3.17,3.18,3.63,7.16,8.28,6.14,2.65,7.96,9.04,8.32,7.61,7.12,6.71,6.16,5.44,5.19,4.79,5.03,4.97,4.61,4.48,4.89,4.4,4.02,4.13,3.89,3.26,3.04,2.17,2.1,2.26,2.83,2.55,2.18,2.41,2.34,2.05,1.84,1.08,0.98,0.93,1.2,1.3,1.58,2.18,2.69,2.89,2.72,2.83,3.03,3.03,1.85,1.03,0.59,0.51,0.89,0.77,0.86,-0.38,-1.54,-1.3,-0.31,0.1,0.24,-0.42,0.67,0.34,0.66,6.55,4.24,3.06,2.84,2.58,1.25,0.3,0.37,0.09,-0.04,-0.29,-0.37,-0.29,-0.17,-0.8,0.29,0.4,-1.23,0.5,2.47,1.28,3.19,0.63,0.78,2.14,3.96,2.42,1.81,1.76,2.63,1.73,1.2,0.49,-0.3,0.1,0.04,0.58,1.24,1.41,2.15,2.66,2.55,2.69,3.01,3.09,2.63,2.48,2.09,1.59,1.14,1.02,0.73,0.28,0.28,0.43,1.63,1.98,2.01,2.08,2.94,3.26,3.49,3.93,4.65,5.53,5.62,5.4,6.39,6.23,5.6,5.94,5.92,5.94,5.35,5.29,5.26,4.64,4.19,3.79,3.57,3.76,3.74,3.24,2.79,2.79,3.06,3.3,3.29,3.09,3.31,3.66,3.75,4.02,4,3.63,3.42,2.77,2.55,2.19,1.46,1.79,1.34,-0.43,-0.36,-0.13,0.05,0.25,0.35,0.63,1.33,2.2,2.79,2.97,3.65,3.8,3.21,3.19,3.56,3.72,4.02,4.06,4.3,4.77,4.77,4.11,3.74,3.27,3.47,4.07,4.46,4.1,4.09,4.02,3.75,3.78,4.45,4.66,3.55,3.53,3.46,3.44,3.25,3.38,3.91,3.87,3.27,2.3,1.96,2.17,2.91,3.46,3.83,4.27,4.96,5.35,5.72,6.26,6.88,7.31,7.45,7.34,7.02,6.46,6.12,6.6,3.4,6.12,5.75,5.8,5.93,5.77,5.55,5.36,5.49,4.77,3.94,0.43,-0.41,0.1,0.41,0.75,0.21,-0.6,-0.85,-0.92,-0.86,-0.43,0.38,0.53,0.36,-0.16,-0.08,-0.48,0.23,0.02,0,-0.13,-0.13,-0.16,0.2,-0.17,-0.32,-0.73,-0.53,-0.56,-1.29,-0.72,-0.56,-0.25,0.67,1.8,2.38,2.67,3.23,3.93,3.83,3.78,3.06,2.16,1.43,1.42,1.43,1.36,1.6,1.5,1.73,1.97,1.93,2.17,2.24,2.51,3.35,3.37,2.45,1.37,1.13,1.54,1.3,1.04,0.99,1.02,1.38,1.93,2.34,2.41,2.59,2.71,2.69,3.32,4.1,4.36,4.66,4.77,4.84,5.06,5.19,4.34,4.36,3.97,3.76,3.82,3.94,4.04,4.15,4.41,2.57,1.58,0.65,1.2,0.37,0.56,0.44,0.52,-0.03,-0.51,-0.69,-0.83,-0.41,-0.12,-0.32,-0.4,-0.43,-0.18,0.07,0.07,0.21,0.42,-0.37,-1.32,-1.98,0.44,-0.14,-0.01,-0.05,2.5,7.36,7.59,3.48,6,9.14,8.29,7.67,7.18,6.63,6.42,5.87,5.72,5.26,4.63,4.72,4.96,4.44,4.56,4.81,5.07,3.8,3.69,3.98,3.6,3.77,4.09,3.88,3.85,3.23,2.4,2.12,1.72,1.63,0.96,1.02,2.77,3.23,2.65,2.35,2.55,2.29,2.16,2.36,2.72,2.8,2.74,2.47,1.47,0.7,0.12,-0.13,0.32,0.45,1.36,1,-0.53,-2.58,-2.62,0.35,0.87,2,-1.96,0.23,0.55,1.06,2.97,5.88,5.69,4.69,1.98,-0.89,-0.53,-0.25,-0.48,-0.45,-0.42,-0.38,0.16,-0.03,-0.55,0.79,0.19,1.62,1.77,2.4,2.12,3.95,3.26,1.49,3,4.47,4.18,1.13,0.6,-0.33,0.37,0.39,0.91,1.54,1.51,0.91,1.82,2.64,2.9,3.69,3.46,3.85,4.2,4.62,4.6,2.95,2.55,2.77,2.94,1.87,0.45,0.11,-0.04,0.12,0.71,1.03,2.56,2.56,2.66,2.94,3.03,3.07,3.81,4.84,5.52,5.48,5.16,5.71,5.92,5.94,5.46,5.2,5.11,4.55,4.36,4.27,3.96,3.6,3,2.66,3.17,3.37,3.05,2.59,2.45,2.51,2.6,2.53,2.58,2.65,2.93,3.26,3.39,2.96,2.44,1.97,2.04,1.98,2.27,1.82,1.16,0.84,0.44,-0.01,-0.18,0.1,0.32,0.36,0.47,1.09,1.98,2.78,3.23,3.37,3.37,3.65,3.76,3.61,3.71,3.73,4.1,4.19,4.28,4.04,3.68,3.18,3.13,3.14,3.35,3.64,3.45,3.56,3.67,3.38,3.87,4.58,4.86,2.9,3.16,3.48,3.38,2.91,3.46,3.4,3.86,3.68,3.12,3.03,3.38,3.29,3.56,3.83,4.51,4.98,5.06,4.82,5.05,5.52,5.81,5.86,5.96,6.08,6,5.49,5.44,5.13,5.3,5.5,5.33,5.55,5.93,6.1,6.08,5.37,4.61,4.88,-1.12,0.61,-0.13,1.04,0.5,-0.18,-0.24,-0.78,-0.73,0.54,0.65,-0.31,-0.3,0.01,0.37,0.6,0.78,-0.29,-0.56,-0.45,-0.65,-0.62,-0.47,-0.75,-0.38,-0.54,-0.62,-1.04,-1.32,-1.08,-1.13,-1.28,-1.03,-0.37,0.62,1.21,1.29,1.04,1.16,2.11,3.11,3.35,2.75,1.54,0.62,0.27,0.51,1.86,2.32,2.14,2.38,2.67,2.54,2.57,2.41,2.25,2.7,2.59,2.3,1.32,1.12,0.65,0.51,0.79,1.12,1.25,1.3,1.16,0.84,1.19,1.59,2.7,3.25,3.58,3.78,3.49,3.8,4.03,4.2,4.04,4.52,3.94,3.69,3.76,4.02,4.36,4.34,4.35,4.29,4.29,1.01,1.17,0.35,1.02,1.21,1.17,0.38,0.19,0.74,0.5,0.93,0.29,-0.03,-0.22,-0.16,-0.54,-0.67,-0.53,0.23,1.68,-0.52,0.15,-1.22,-2.18,-0.33,0.13,0.45,-0.37,1.41,7.36,4.7,5.12,9.25,8.31,7.63,7.39,6.97,6.63,6.03,6.57,5.54,6.11,5.1,4.73,4.78,4.55,4.66,4.82,5.08,5.08,4.74,4.43,4.09,3.85,4.16,4.46,3.76,3.38,3.3,3.15,3.1,3.42,3.68,3.94,3.62,3.41,3.45,3.43,3.18,2.82,2.47,2.08,1.97,2.39,2.24,2.21,1.42,0,-0.12,-0.25,-0.28,-0.08,0.31,-0.28,-1.19,-2.19,-1.67,-0.6,0.45,0.62,0.27,-0.69,0.47,1.02,1.11,5.84,2.41,3.98,1.67,-0.39,-1.83,-0.22,-0.27,-0.75,-0.8,-0.9,0.38,2.52,-2.74,0.63,0.4,0.44,0.26,2.41,2.64,1.81,4.74,3.84,1.32,3.66,5.88,0.96,1.12,0.66,0.41,1.22,0.72,0.36,0.97,1.15,3.51,4.5,4.2,4.43,4.5,4.68,5.11,4.61,4.68,3.07,2.49,2.59,3.47,2.82,0.84,0.04,-0.48,0.27,0.5,0.89,1.34,2.13,2.35,2.5,2.67,3.22,3.85,4.53,4.8,5.07,4.99,5.17,5.8,5.65,4.72,4.2,4.1,3.95,3.26,3.31,3.28,2.87,2.76,2.9,2.13,2.13,2.07,2.13,2.53,2.4,2.31,2.21,2.15,2.14,2.23,2.07,1.68,2.08,1.98,1.62,1.56,1.32,1.2,0.8,0.61,0.62,0.95,0.32,0.3,0.19,0.01,0.06,0.35,0.77,1.34,1.98,2.62,3.13,3.41,3.36,2.98,3.05,3.14,3.17,3.39,3.54,3.35,2.89,2.81,2.83,3.23,2.56,2.81,2.96,2.75,3.48,4.33,3.64,3.99,4.98,5.02,3.05,3.19,3.58,4.09,3.94,3.6,3.24,3.25,3.37,3.45,3.74,3.63,3.86,4.36,4.73,4.85,4.88,4.91,4.96,5.06,5.16,5.28,5.34,5.32,5.03,5,4.97,4.71,4.63,4.84,5,4.93,5.01,5.41,5.6,5.64,5.52,5.34,3.19,1.52,-0.14,0.18,0.5,-0.17,-0.35,-0.22,-0.44,1.26,0.98,0.39,-0.09,-0.32,-0.51,0.47,0.24,-0.19,0.01,-0.17,-0.86,-0.71,-0.77,-0.91,-0.64,-0.35,-0.71,-0.72,-0.7,-1.11,-0.91,-0.84,-0.57,-0.06,0.71,0.51,0.15,-1.62,-1.37,-0.97,0.47,1.42,3.42,3.79,4.54,3.67,2.74,2.06,2.44,3.1,3.12,2.58,2.42,2.24,1.95,1.9,1.96,2.12,1.86,1.43,1.09,0.34,-0.07,-0.03,0.53,1.23,1.36,1.42,1.48,1.81,2.13,2.69,2.95,3.02,3.48,3.71,3.83,3.79,3.71,3.82,4.37,4.16,4.35,4.44,4.54,4.75,4.23,4.28,4.64,4.34,4.24,4.05,0.94,0.72,0.47,0.57,1,1.17,1.15,-0.4,-0.01,-0.17,0.49,0.35,0.04,-0.31,-0.77,-1.05,-0.62,-0.09,-0.28,0.76,-0.28,0.32,1.45,-0.01,1.1,3.23,2.48,3.54,7.28,4.2,9.36,8.56,7.92,7.65,7.33,6.68,6.67,6.69,6.64,6.19,6.16,5.64,5.2,4.59,4.22,4.69,4.55,4.87,5.04,5.27,5.72,4.79,4.09,3.52,3.57,3.42,3.41,3.28,3.06,3.2,3.1,2.54,3.08,2.86,2.83,3.2,3.14,2.72,2.67,2.4,2.15,1.84,1.72,1.85,1.24,-0.18,-0.77,-0.91,-1.56,-1.73,-1.2,-0.96,-1.42,-2.14,-1.72,-0.72,-0.08,0.86,1.65,-0.55,-1.2,-0.44,0.42,0.93,1.4,2.68,2.3,0.95,-0.8,-3.47,-1.5,-1.18,-1.28,-0.7,0.27,1.86,6.3,1.97,0.02,-0.33,-1.19,1.11,3.87,4.7,4.6,-0.91,5.51,2.63,1.22,3.63,6.23,3.38,1.77,0.49,2.26,-0.32,0.68,0.1,0.77,1.41,1.41,2.39,4.58,5.62,6.04,6.66,8.07,7.4,5.46,3.58,2.01,3.78,4.82,2.94,1.8,0.79,-0.12,-0.35,0.24,0.68,1.18,1.5,2,2.42,2.84,3.48,3.96,4.5,4.64,4.44,4.78,4.74,4.51,4.09,3.38,2.93,3.04,2.38,2.34,2.36,2.33,2.55,2.84,3.43,3.57,2.67,2.08,1.87,1.66,1.77,1.88,2.05,2.23,2.03,1.6,1.11,1.27,1.29,1.3,1.12,0.95,0.65,0.12,0.19,0.23,0.23,0.59,0.36,-0.06,-0.23,-0.09,0.12,0.56,1.04,1.68,2.1,2.27,2.74,2.89,2.86,2.56,2.27,2.15,2.13,2.27,2.46,2.55,2.29,2.59,3.13,3.06,2.53,2.99,3.09,3.13,4.36,3.76,4.06,5.25,4.87,3.29,3.26,3.36,4.32,4.56,3.84,3.61,3.17,3.17,3.14,3.33,4.04,4.48,4.71,4.76,4.62,4.52,4.56,4.69,4.87,4.97,5.14,5.27,5.28,5.29,4.85,4.79,4.52,4.05,3.96,4.08,4.56,4.89,5.47,5.49,5.81,6.09,6.58,4.55,1.21,-0.04,-0.11,0.15,0.44,0.49,0.41,1.27,0.86,0.25,0.53,0.31,0.38,0.49,-0.36,-0.46,0.19,0.25,0.19,0.67,0.47,0.3,0.78,0.42,-0.69,-0.65,-0.65,-0.54,-0.27,1.94,2,1.19,0.98,0.76,1.22,-0.03,-0.18,-1.13,-0.71,2.57,2.36,3.02,4.45,5.88,5.28,4.89,4.42,3.22,2.97,2.61,2.04,1.79,2.36,3.25,2.94,2.2,2.55,2.93,2.98,2.56,2.7,0.94,-0.93,0.37,1.34,1.5,1.57,1.69,1.66,1.94,2.7,3.11,3.85,3.99,4.18,4.2,4.19,3.99,3.98,4.07,4.44,4.55,4.57,4.31,4.17,4.08,3.98,3.91,4.31,4.48,3.49,1.43,0.54,0.6,-0.07,0.04,0.68,-0.1,-0.45,0.16,0.05,0.23,-0.08,-0.23,-0.44,-0.67,-0.93,-0.98,-1.18,-2.21,0.76,1.04,1.03,1.33,1.2,0.79,0.48,0.95,0.93,3.05,9.7,8.74,8.01,7.58,7.44,7.51,7.05,7.06,7.14,7.63,6.95,6.46,6.02,5.05,4.74,4.63,4.31,5.02,4.88,4.6,4.3,4.36,4.71,4.96,4.48,3.97,3.62,3.03,2.63,2.34,2.11,2.35,2.2,2.19,2.67,2.84,3.03,3.29,2.74,2.3,2.8,2.16,0.58,0.6,1.04,0.25,-0.82,-0.41,-0.22,-0.01,-0.85,-0.58,-0.6,-0.46,-1.09,-1.72,-1.25,-1.4,0.4,1.67,-0.18,-1.37,0.31,0.35,1.34,1.11,2.1,-0.38,-0.2,-0.56,-0.84,2.06,3.22,4.19,4.12,1.74,5.02,6.93,4.17,2.17,2.2,-0.85,-0.33,3.82,4.16,4.26,3.04,2.27,3.39,3.3,3.83,4.71,5.5,2.75,3.22,0.47,0.42,0.13,-0.25,-0.93,0.29,0.92,0.19,0.32,1.17,3.56,6.72,7.85,9.83,8.94,6.88,2.95,4.42,3.96,4.19,3.46,2.71,0.73,-0.12,-0.43,-0.28,0.36,1.12,1.7,1.97,2.46,2.89,3.46,4.19,4.02,3.95,3.84,3.95,3.97,3.56,2.93,2.15,1.97,2.44,2.03,2.24,2.74,2.75,3.17,3.25,3.02,3.02,2.99,2.76,3.01,2.75,2.39,2.57,2.54,2.05,1.59,1.41,0.77,0.76,1.05,1.49,1.15,0.79,0.25,-0.02,-0.1,0.42,0.18,-0.01,-0.13,-0.27,-0.29,0.43,0.91,1.73,2.03,2.5,2.62,2.32,2.31,2.15,1.69,1.32,1.21,1.47,1.82,2.08,2.56,3.04,2.72,2.33,1.86,1.89,1.85,2.25,2.71,3.29,3.38,3.95,4.97,4.82,3.35,3.29,3.61,3.84,4.45,4.25,3.66,3.56,3.55,3.99,3.9,4.06,4.37,4.47,4.41,4.39,4.17,4.32,4.63,4.83,4.9,4.84,4.83,4.83,4.8,4.75,4.54,4.51,4.4,4.35,4.63,4.68,4.92,5.31,5.4,5.46,6.29,8.43,6.4,-0.28,0.11,-0.91,-1.26,-0.73,-0.12,0.71,0.98,0.75,0.64,-0.02,0.33,0.17,0,0.4,0.76,0.41,0.37,0.8,0.44,0.13,0.29,0.39,0.56,0.69,0.32,0.19,-0.14,0.06,0.14,1.01,0.23,0.18,-0.27,-0.23,0.23,0.15,0.21,-0.06,2.18,2.31,2.08,3.53,6.31,6.49,5.12,4.67,4.33,3.61,2.81,1.94,1.41,1.85,2.34,2.93,3.46,2.84,3.12,3.47,3.21,2.88,3.24,2.34,0.97,1.47,1.19,1.15,1.32,1.62,2.18,2.74,3.24,3.51,3.95,4.12,4.19,4.17,4.09,4.26,4.27,4.25,4.44,4.41,4.26,4.51,4.39,4.28,3.92,3.26,2.8,3.14,2.52,0.85,0.45,0.99,0.98,0.57,0.39,0.82,-0.63,-0.51,-1,0.15,0.19,0.07,-0.38,0.31,-0.32,-0.48,-0.91,-0.76,1.3,1.59,0.71,1.57,-0.51,-0.58,1.01,1.51,2.38,8.94,8.06,7.3,7.26,7.24,7.46,7.29,7.45,7.7,8.1,7.55,7.06,6.33,5.46,4.72,4.45,3.75,4,4.67,4.9,4.64,4.54,4.55,4.68,4.18,3.41,3.1,2.97,2.36,2.26,2.25,2.04,1.48,1.91,2.01,2.32,2.49,3.11,3.28,2.54,2.03,1.06,0.66,0.61,0.7,1.14,0.87,-0.74,-0.84,-0.69,-0.21,-0.77,-1.4,-1.47,-0.5,0.01,0.05,-2.29,-0.54,0.2,0.05,-2.28,-1.11,-3.53,-0.95,0.18,-0.73,0.98,2.87,3.24,2.56,2.99,3.52,4.49,4.93,5.82,6.51,6.83,6.95,4.36,2,2.91,2.06,3.89,5.24,4.64,4.4,4.22,4.26,4.93,5.45,4.63,4.59,4.33,3.75,3.4,0.53,0.86,0.84,1.6,0.93,-0.2,-1.1,-1.21,-0.32,0.6,2.39,7.74,9.43,9.58,8.79,2.69,3.26,3.78,2.27,4.64,3.4,2.79,1.19,-0.35,-0.83,-0.17,0.52,1.44,1.76,2.25,2.55,3.15,4.19,4.62,4.1,3.48,3.25,3.55,3.3,2.83,2.61,1.79,1.6,1.59,1.81,2.38,3.14,3.66,4.33,4.2,3.41,2.89,2.8,2.57,2.57,2.45,2.32,2.17,1.84,1.42,1.31,1.19,1.16,1.25,1.22,1.23,0.44,-0.5,-0.52,-0.62,-0.79,-0.39,-0.12,0.08,-0.15,-0.26,0.65,1.33,1.96,1.82,1.7,1.6,1.65,1.74,1.54,1.15,0.86,1.03,1.59,1.8,2.21,2.9,3.13,2.86,3.16,2.97,1.64,1.56,1.2,1.64,2.6,3,3.72,4.4,4.41,3.36,3.07,3.22,3.45,3.81,4.03,3.47,3.51,3.8,3.92,3.76,3.8,4.01,4.3,4.38,4.18,4.22,4.39,4.67,4.78,4.86,4.91,5,5.01,5.07,5.16,5.09,4.77,4.86,4.8,4.88,5.17,4.99,5.1,5.29,5.29,5.61,7.16,7.07,1.86,-0.97,0.71,-0.68,-1.21,-0.29,0.69,0.15,0.88,0.11,0.74,0.29,0.14,0.49,0.6,0.77,0.55,0.92,0.89,0.9,0.47,0.7,0.25,0.13,0.09,0.09,0.42,1.32,1.39,0.63,0.78,0.1,-0.09,0.11,-0.18,0.17,0.98,1.36,0.99,0.72,3.23,2.69,2,5.49,6.57,7.32,6.41,5.43,4.57,3.68,2.95,2.51,2.71,3.53,3.51,3.1,2.92,2.92,3.13,3.54,3.62,3.73,3.88,2.9,1.94,1.89,0.97,0.76,1.15,2.16,2.76,3.23,3.59,3.89,4.21,4.15,4.39,4.48,4.43,4.34,4.52,4.29,4.3,4.42,4.64,4.57,4.43,3.88,3.76,3.26,2.75,2.33,1.98,1.15,0.87,0.84,0.29,-0.05,0.36,0.86,-0.04,0.28,0.42,0.51,0.48,1.37,1.07,1.29,0.57,0.2,0.72,1.88,2.33,1.4,1.95,-0.63,-0.12,0.4,0.22,5.18,7.82,7.34,6.64,6.89,7.08,7.28,7.09,7.42,7.87,8.2,7.97,7.25,6.99,5.76,5.59,3.56,3.17,3.61,3.86,4.04,3.62,3.7,3.69,3.33,3.16,2.99,1.91,2.3,2.11,1.98,1.89,1.43,2.21,2.13,1.29,1.42,1.81,2.82,3.16,2.59,1.65,1.39,0.4,-0.36,-0.37,-0.02,0.09,0.01,-0.08,-0.07,-0.34,-0.87,-1.13,-0.27,-0.55,1.81,3.84,0.19,-0.26,-1.11,-0.09,-0.71,-0.31,-2.21,-2.67,-3.3,-0.32,-0.31,1.36,3.91,3.73,4.99,4.12,3.44,4.97,6.04,5.88,6.63,5.06,3.55,1.03,3.65,4.03,4.63,5.61,7.07,7.23,6.61,4.91,4.3,4.83,4.32,4.82,4.13,2.69,2.59,2.32,2.47,1.93,1.15,1.2,1.03,0.83,0.65,-0.64,-0.73,1.26,0.25,9.58,6.23,2.33,2.31,4.58,5.75,5.64,0.51,3.78,3.1,2.52,1.31,1.23,0.77,1.36,1.58,1.77,2.08,2.59,3.22,3.71,4.39,4.62,4.55,4.38,3.39,2.73,2.71,2.96,1.88,0.83,0.27,1.05,2.11,3.26,3.09,3.49,3.74,3.35,3.14,3.15,2.81,2.43,2.13,2.01,1.66,1.65,1.66,1.66,1.48,1.78,1.74,1.22,0.92,0.03,-1.33,-1.76,-0.92,-0.69,-0.7,-0.02,0.33,0.57,0.71,0.2,0.98,1.02,1.84,1.57,1.55,1.37,1.08,1.08,0.57,0.6,1.44,1.58,1.78,1.88,2.17,2.45,2.61,2.91,3.66,2.85,2.4,1.89,1.19,1.62,2.41,3.37,3.88,4.19,3.66,3.06,3.03,3.45,3.64,3.86,4.18,4.14,3.94,4.22,4.35,3.92,3.79,3.92,4.13,4.44,4.58,4.75,4.86,4.95,5.07,5.08,5.27,5.36,5.5,5.57,5.61,5.54,5.23,5.28,5.48,5.57,5.6,5.32,5.58,5.92,6.2,6,6.31,4.84,-2.03,-0.01,0.21,0.19,-0.58,0.74,0.83,0.59,0.66,-0.4,0.8,0.4,-0.07,0.58,0.29,0.78,0.78,0.94,1.07,1.12,0.07,0.04,0.26,0.84,1.12,0.53,0.39,0.94,0.9,0.95,1.21,1.27,1.56,1.27,1.74,2.16,2.25,3.55,2.68,2.87,3.36,2.64,4.63,4.99,7.91,7.26,6.05,5.36,5.09,4.35,3.47,3.73,3.68,3.58,3.39,3.3,2.99,3.54,3.72,3.79,3.76,3.94,3.87,2.9,2.22,2.35,1.94,2.27,2.86,3.18,3.47,3.79,4.21,4.09,4.04,4.47,4.7,4.87,4.74,4.67,4.63,4.5,4.52,4.67,4.6,4.73,4.35,4.19,3.64,2.91,2.15,1.95,1.42,1.55,1.05,0.16,-0.82,-0.13,0.41,-0.14,0.39,0.88,1.1,1.92,1.8,1.67,1.64,0.35,1.38,0.79,0.87,0.81,1.95,0.52,1,0.41,0.95,1.39,1.93,7.55,6.36,6.43,6.94,7.01,6.98,6.89,7.56,8.02,8.06,8.48,7.96,7.46,6.8,5.97,4.94,3.82,3.84,4.16,4.26,3.9,3.57,3.23,3.61,4.55,5.13,4.26,1.75,0.72,0.58,0.56,0.19,1.53,0.92,1.86,2.72,3.25,2.85,2.69,2.16,1.1,0.46,1.01,1.62,1.43,0.2,0.65,0.42,-1.05,-2.41,-1.75,-1.7,-0.74,-0.68,0.04,2.72,3.68,2.3,0.71,2.02,1.13,0.75,-0.01,-1.13,-2.53,3.3,0.16,0.75,2.83,4.17,1.44,2.3,2.7,2.48,3.84,4.77,5.4,4.42,7.2,5.03,4.2,4.45,4.15,4.34,3.98,4.04,6.38,8.18,7.06,5,4.45,4.77,4.93,4.24,3.4,2.68,1.89,2.04,2.92,1.43,1.33,1.78,1.96,1.51,1.07,0.85,-1.26,-1.09,3.79,7.1,6.94,7.04,6.45,6.05,5.28,3.32,1.21,2.01,2.13,2.08,2.19,1.71,1.95,1.7,1.87,2.05,3.1,3.73,4.28,4.16,4.12,4.09,4.24,4.61,4.43,3.85,2.48,2.21,2.39,1.59,0.37,1.53,2.81,2.81,3,3.23,3.44,3.2,3.32,3.08,1.66,1.77,1.53,1.06,1.2,1.79,2.28,1.93,1.8,2.14,1.75,1.31,0.64,-0.92,-1.66,-1.72,-0.97,-0.28,0.24,0.25,0.27,-0.06,0.39,0.86,0.93,1.02,1.4,1.42,1.57,1.45,1.22,1,1,1.08,1.55,1.7,1.64,1.24,1.08,1.57,2.15,2.84,3.27,2.11,1.53,1.1,0.98,1.6,2.55,2.96,3.83,4.05,3.48,2.99,2.88,3.12,3.53,3.89,3.92,3.92,3.83,4.2,4.48,4.27,4.08,4.28,4.56,4.79,4.89,5.09,5.41,5.53,5.72,5.96,6.16,6.27,6.31,6.24,6.15,6.2,5.9,5.85,5.84,5.84,5.67,5.6,5.91,6.19,6.13,5.43,7.71,-0.72,-1.01,-0.14,0.05,0.05,-0.22,0.02,0.43,0.77,0.91,-0.35,0.95,0.62,0.01,0.73,0.55,0.66,0.7,0.93,0.65,1.09,0.6,0.38,0.66,1.02,1.29,0.75,0.23,0.51,0.49,0.35,0.69,0.65,0.26,0.72,2.74,2.33,-0.02,0.15,2.67,4.73,3.45,5.48,3.87,3,6.28,5.69,5.65,5.58,5.4,4.98,4.13,3.69,3.46,3.03,2.86,3.33,3.31,3.65,3.59,3.29,3.41,3.33,4.05,4.56,4.47,3.31,2.67,3.17,3.47,3.65,4.08,4.1,4.16,4.39,4.47,4.74,5.02,4.93,4.96,4.96,5.05,5.04,5.14,4.91,4.91,4.59,4.14,3.63,2.94,2.21,2.19,1.86,0.89,1.37,0.57,0.98,0.52,1.14,1.18,0.59,1.3,0.94,1.18,1.77,0.82,1.03,2.79,0.57,0.6,0.17,2.67,0.13,1.38,2.11,1.64,-0.18,0.3,1.96,7.68,6.49,6.48,5.61,5.38,5.72,6.66,7.16,7.75,7.83,7.89,8.02,7.16,7.21,5.94,4.01,3.83,3.7,4.66,4.9,2.91,3.89,5.39,5.16,5.55,5.01,4.4,3.88,0.35,-1.62,-1.57,-0.09,0.83,2.29,2.2,2.12,2.47,2.94,2.25,1.37,-1.17,-1.46,-0.12,1.85,2.56,2.2,1.56,1.85,1.58,-0.7,-1.35,-1.21,-0.04,1.13,1.03,1.1,1.74,3.11,2.81,2.2,2.68,3.03,2.86,2.41,1.6,1.84,2.66,3.19,0.67,2.12,2.37,3.15,4.98,3.07,2.67,4.24,4.42,5.91,4.8,8.14,0.53,4.51,4.31,3.94,3.86,2.37,3.83,7.24,6.51,6.06,4.8,4.41,4.53,3.82,3.58,2.65,2,2.31,1.72,1.87,1.78,1.54,1.67,2.12,4.59,1.97,1.04,-0.05,2.32,7.35,6.24,6.92,7.23,6.77,5.84,4.99,3.23,1.54,1.3,0.78,2.43,3.44,2.52,2.9,2.73,3.36,3.78,3.92,3.98,4,3.62,3.73,4.32,4.5,4.43,3.55,3,2.04,2.15,2.25,2.34,1.51,2.19,2.27,2.42,2.78,2.97,3.09,3.02,2.75,0.91,1.28,1.36,1.04,1.79,2.31,2.51,2.06,1.98,1.68,1.97,1.37,-0.01,-1.35,-1.97,-1.71,-0.95,-0.13,0.64,0.87,0.98,0.74,1.02,1.05,0.93,0.83,0.91,1.07,1.36,1.58,1.7,1.12,0.76,0.88,1.35,1.7,1.36,0.97,0.62,0.64,0.98,1.8,2.91,3.37,2.2,0.49,0.12,1.07,2.06,2.08,3.29,4.26,4.18,2.75,2.52,2.58,2.68,2.92,3.84,4.32,4.68,4.76,4.74,4.55,4.28,4.45,4.78,5.03,5.19,5.37,5.63,5.96,6.12,6.33,6.6,6.68,6.75,6.76,6.7,6.55,6.49,6.12,5.94,5.95,5.85,5.73,5.79,5.93,5.82,5.98,6.3,2.68,-1.18,0.27,-0.66,-0.49,-0.55,-0.55,-0.17,0.54,0.94,1.02,0.08,0.58,0.51,0.53,0.61,0.45,0.71,0.37,0.58,0.34,1.14,0.85,0.71,1.06,0.91,1.08,0.52,0.95,1.53,1.1,0.64,0.78,0.73,0.33,0.02,2.36,0.99,0.11,1.09,4.26,3.38,3.15,2.8,2.26,5.5,3.98,3.93,4.42,4.42,4.29,4.18,4.4,4.18,3.36,3.2,3.04,3.17,3.57,3.64,2.86,3.16,3.36,3.53,4.13,3.96,4.3,4.9,4.25,4.14,4.25,4.42,4.41,4.49,4.54,4.89,5.36,5.38,5.24,5.44,5.45,5.42,5.53,5.52,5.62,5.2,4.95,4.41,3.75,3.13,2.72,2.78,2.08,-0.35,0.57,1.07,1.08,0.74,0.73,1.89,0.91,0.79,0.8,0.53,0.77,0.61,1.84,2.03,3.09,1.77,3.25,2.1,2.75,2.74,2.01,0.37,0.7,1.25,1.97,8.3,7.47,5.93,6.21,4.45,4.37,5.21,6.47,7.12,7.73,7.62,7.69,7.25,7.42,7.22,5.96,4.19,4.39,4.4,5.4,4.39,4.16,4.86,5.57,5.42,5.16,4.77,4.16,1.15,-1.8,-0.35,1.14,1.68,1.6,1.85,1.97,2.48,2.63,2.17,1.06,0.31,0.25,1.09,2.08,2.03,2.37,3.1,2.91,2.49,1.69,1.15,1.08,1.29,0.93,0.92,1.07,1.29,2.06,3.15,3.51,3.28,2.83,2.29,1.77,1.88,1.97,2.01,2.7,3.48,3.76,3.97,4.38,4.52,4.14,3.99,4.79,5.91,2.85,3.03,3.81,3.73,2.21,3.73,0.59,4.96,2.54,2.09,4.45,4.81,4.78,4.76,4.21,4.28,4.53,3.95,3.35,3.67,4.03,4.22,4.24,4.69,3,3.14,2.97,5.94,6.46,3.64,1.88,-0.5,2.64,6.41,7.48,7.81,7.72,7.84,7.54,5.67,3.99,2.65,-0.44,1.16,2.54,3.49,2.81,3.22,4.04,4.09,3.43,3.13,3.32,3.23,3.9,4.29,4.11,3.82,3.05,2.44,1.64,1.1,1.26,1.48,1.53,1.48,1.47,1.47,1.87,2.05,2.36,2.35,2.77,2.03,1.87,1.11,0.64,1.14,2.1,2.7,2.61,2.38,2.41,2.46,2.17,1.84,-0.45,-2.13,-2.31,-1.57,-1.08,-0.03,0.53,1.15,1.2,0.45,0.07,0.71,1.42,1.6,1.65,1.82,2.28,1.99,2.07,1.9,1.9,1.84,2.2,2.49,2.37,1.84,1.01,0.67,1.15,2.34,3.23,2.89,1.35,0.84,1.14,2.14,1.63,2.29,3.69,4.8,4.02,2.15,2.61,2.96,2.94,3.12,4.25,4.74,5.15,5.2,5.03,4.76,4.57,4.72,5.18,5.35,5.4,5.63,5.74,5.99,6.27,6.34,6.45,6.59,6.77,6.75,6.64,6.53,6.48,6.02,5.95,6.05,5.94,5.92,6.1,6.02,6.08,6.43,6.69,-0.95,-0.5,0.34,-0.24,-0.26,-0.49,-0.79,-0.13,0.6,0.46,0.72,0.7,0.88,0.27,0.35,0.41,0.19,0.66,0.61,0.85,0.8,1.27,0.79,0.73,1.24,1.19,0.95,0.92,0.87,1.37,0.52,1.29,1.17,1.41,0.69,0.35,2.76,3.95,3.4,4.18,2.65,1.76,1.81,4.61,4.12,4.58,3.96,3.11,3.51,3.93,4.12,3.97,3.73,3.39,3.02,2.51,2.46,2.88,3.61,3.22,2.83,3.64,4.17,3.89,3.97,4.23,4.61,4.75,4.96,4.77,4.74,4.6,4.83,4.97,5.31,5.48,5.48,5.54,5.78,5.7,5.71,5.92,5.78,5.88,5.96,5.75,5.24,4.58,4,3.66,3.36,2.63,0.35,-0.14,0.86,1.62,2.34,1.54,2.51,2.44,2.18,1.33,1.11,1.78,1.91,0.84,2.68,2.07,1.64,1.17,0.56,-0.41,1.23,-0.37,1.87,1.75,1.05,1.96,5.28,8.15,7.73,6.61,5.39,3.35,3.91,5.21,6.55,7.62,7.72,7.04,6.95,6.69,6.93,6.77,5.08,4.26,4.09,4.37,4.48,4.65,4.84,5.56,6.03,5.66,4.68,3.31,0.84,0.19,0.46,0.98,2.1,2.15,2.19,2.26,2.03,2.2,1.44,1.21,0.56,0.97,2.26,3.44,4.51,4.97,5.26,5.56,5.34,3.95,2.48,1.65,1.67,1.54,1.61,2.99,3.77,3.61,2.74,2.48,2.72,2.6,1.98,1.56,0.82,0.41,0.63,1.32,1.74,2.1,2.53,2.89,3.11,3.31,3.88,4.31,4.21,3.87,4.25,4.34,2.57,4.47,4.87,4.93,0.72,0.71,3.77,4.75,4.32,4.35,4.53,4.79,4.88,5.09,5.38,4.5,3.24,3.73,4.15,3.97,4.01,3.94,4.42,4.73,5.11,5.8,6.31,6.43,2.85,0.97,3.25,6.05,7.28,7.66,7.46,8.17,7.68,6.35,5.18,4.56,3.09,0.79,4.58,3.23,3.53,3.71,3.96,3.54,3.26,2.71,3.04,3.61,4.03,4.17,3.94,2.93,2.25,1.22,0.17,0.27,0.23,0.23,0.34,0.35,0.93,1.88,1.74,1.65,2.22,2.67,1.44,0.89,1.06,0.94,1.01,1.61,2.33,2.24,2.12,2.74,3.32,3.5,2.88,2.08,-0.83,-2.54,-2.74,-1.17,-0.65,0.14,0.12,0.15,0.55,0.77,0.6,1.34,1.55,1.71,1.77,1.64,1.91,1.55,1.13,1.45,2.32,2.85,2.83,2.86,2.94,2.84,2.84,2.58,2.25,2.99,3.46,2.77,2.56,2.2,2.02,2.01,1.72,2.71,4.19,5,3.15,1.92,2.63,3.44,3.42,3.49,3.87,4.01,4.48,4.77,4.76,4.88,5.06,5.17,5.39,5.29,5.47,5.71,5.92,6.18,6.4,6.49,6.38,6.35,6.53,6.59,6.5,6.54,6.45,6.09,6.07,6.16,6.03,6.16,6.1,6.11,6.5,7.25,2.84,-1.62,-0.39,-0.56,-0.85,-0.57,-0.76,-0.6,0.12,0.54,0.52,0.41,0.13,0.24,0.19,1.13,0.88,0.51,0.5,0.86,0.41,0.24,1.3,0.38,0.44,0.62,0.94,0.83,1.21,1,0.89,0.53,1.71,1,1.1,2.26,2.51,4.26,3.18,1.94,2.11,1.29,2.53,4.59,3.7,3.25,3.38,3.43,3.25,3.2,3.9,4.43,4.16,3.77,3.23,3.22,2.58,2.01,2.62,2.94,2.43,2.78,3.74,3.98,3.85,4.16,4.02,4.55,4.82,4.82,4.82,4.92,5.04,5.16,5.4,5.35,5.64,5.75,5.76,5.97,6.08,5.98,5.81,5.62,6.16,6.42,6.22,5.66,4.97,4.38,3.58,2.58,0.94,1.46,2.14,2.34,1.58,1.44,1.41,1.57,2.44,2.66,1.28,1.4,1,2.22,1.68,2.62,2.03,1.18,2.6,0.57,1.14,1.33,0.21,0.49,1.16,0.65,2.2,8.65,8.34,6.9,5.95,3.14,0.87,3.65,6.46,8.38,8.14,6.58,6.1,6.25,6.42,6.41,7.02,6.21,4.92,3.91,3.98,4.79,5.47,5.85,6.31,6.09,4.58,1.79,0.04,0.86,1.4,2.74,3.42,3.38,2.67,2.59,1.8,1.26,1.19,1.24,1.48,1.93,2.43,3.38,4.05,4.52,4.97,5.14,5.55,5.4,4.63,3.42,1.54,1.34,2.08,3.1,4.03,4.18,4.2,2.18,1.33,1.32,0.84,0.5,0.19,-0.5,-1.04,-0.43,0.2,0.73,1.36,2.17,2.9,3.33,3.47,3.69,3.72,3.56,3.63,3.69,3.65,4.02,4.04,3.29,2.69,2.85,4.69,5.64,3.67,3.11,4,3.81,4.01,5.35,6.17,6.08,4.54,3.26,3.25,3.07,3.06,3.3,2.72,5.05,5.01,5.2,5.62,5.53,4.74,4.3,4.59,6.17,7.22,7.13,7.64,7.51,7.65,7.8,7.33,6.62,5.59,5.27,3.43,4.06,3.63,3.47,3.32,3.61,3.52,2.83,2.94,3.61,3.56,4.42,4.21,3.88,3.24,2.39,0.17,-0.85,-0.97,-1.01,-0.57,-0.25,0.67,1.28,0.83,0.73,1.55,1.83,1.7,1.01,0.36,0.39,0.49,0.93,1.79,2.56,2.91,3.1,3.08,3.07,2.94,2.98,2.16,-0.08,-1.07,-1.55,-0.87,-0.35,0.31,0.92,1.2,1.19,1.4,1.3,1.41,1.37,1.31,1.45,1.18,1.3,1.72,1.88,2.1,2.14,2.09,2.18,2.11,1.94,1.7,1.95,2.52,2.82,3.11,2.9,2.86,2.48,1.7,1.34,1.07,1.56,2.98,4.51,4.33,2.94,2.7,3.32,3.84,3.42,3.34,3.66,3.87,4.17,4.1,3.82,4.14,4.8,5.06,5.26,5.4,5.61,5.8,6.02,6.07,6.04,6.01,6.12,6.18,6.36,6.38,6.36,6.53,6.38,6.26,6.22,6.22,6.08,6.08,6.2,6.46,7.43,7.29,-0.49,-0.41,0.56,-0.81,-0.73,-1.14,-1.13,-0.58,0.25,0.42,0.26,0.28,0.63,0.17,0.06,0.95,0.49,0.46,0.69,0.73,0.59,0.5,1.05,0.39,0.55,1.1,1.06,1.72,1.83,1.11,0.59,0.57,0.66,-0.18,1.26,3.05,2.71,2.84,1.28,0.53,2.08,3.46,3.93,3.96,3.1,2.68,2.53,2.96,3.42,3.52,3.72,4.03,3.01,3.31,2.84,2.91,2.45,2.03,2.07,2.01,1.8,1.79,2.06,1.96,2.71,3.64,3.81,4.14,3.93,3.99,4.23,4.45,4.96,5.21,5.58,5.56,5.61,5.95,6.14,6.11,5.95,5.91,5.77,5.83,6.06,6.65,6.61,6,5.09,3.98,2.82,1.14,0.26,0.15,1.37,1.84,0.8,1.4,2.29,2.53,1.63,1.42,0.02,0.58,1.5,2.02,1.42,1.87,3.26,0.71,0.64,1.63,0.05,1.57,1.71,1.15,1.69,1.93,8.17,8.3,7.34,6.2,5.2,0.86,-0.74,3.83,7.87,10.57,5.15,4.93,5.22,5.99,7.16,7.81,7.1,6.67,6.19,6.69,6.54,6.19,6.42,6.74,5.38,3.87,1.36,-0.1,0.29,0.9,0.97,1.32,1.9,2.29,2.19,1.87,0.73,0.55,0.88,0.86,1.29,1.7,2.16,3.1,3.84,4.36,4.67,5.01,5.45,5.37,3.78,1.97,1.03,1.2,2.73,4.03,4.5,4.25,4.03,2.12,1.38,1.55,1.19,0.51,-0.63,-0.53,-1.25,-1.03,-0.44,0.55,1.71,2.89,3.49,3.66,3.53,3.53,3.47,3.4,3.62,4.02,4.11,3.61,3.31,3.4,4.13,5.85,7,5.33,2.6,1.24,1.85,2.53,1.83,3.21,4.72,5.76,2.89,1.65,1.79,2.22,2.79,2.54,3.89,5.07,4.91,5.02,4.98,5.54,6.06,5.83,6.37,6.69,6.24,5.12,5.76,6.82,7.27,7.6,7.75,7.38,7.06,6.78,5.99,5.38,4.91,4.11,3.75,3.51,3.63,3.45,3.58,3.83,3.99,3.71,4.04,4.47,4.12,1.27,-0.85,-1.56,-1.92,-1.51,-0.47,0.86,0.86,0.75,0.39,0.36,1.08,1,0.02,0.11,-0.14,0.04,0.07,0.64,1.46,2.3,2.82,3.33,3.34,2.52,1.7,2.27,-0.09,-1.78,-1.81,-0.9,-0.12,0.29,0.52,0.8,1.07,1.18,1.36,1.28,1.09,0.97,1.13,1.31,1.32,1.2,1.15,1.13,1.37,1.35,0.91,0.71,0.65,0.74,0.98,1.26,1.74,2.05,1.6,1.22,1.49,1.84,1.24,0.6,0.46,0.81,2.55,3.55,3,2.55,2.93,3.35,3.88,3.79,3.7,3.85,3.88,3.91,3.6,3.55,3.69,4.37,4.69,4.86,5.23,5.55,5.71,5.91,5.83,5.77,5.8,5.88,5.88,6.14,6.21,6.26,6.31,6.33,6.25,6.31,6.2,6.14,6.19,6.18,7.23,6.99,4.34,-2.65,-0.79,2.58,0.04,0.3,-0.64,-1.11,-0.96,-0.39,0.16,-0.35,-0.18,0.11,-0.88,-0.58,0.4,0.11,-0.07,0.69,0.73,0.82,0.84,0.64,0.49,0.67,1.02,0.17,0.93,1.07,0.94,1.76,1.28,0.62,0.11,1.12,0.92,1.69,1.49,0.37,2.31,3.05,2.46,2.88,2.77,2.75,2.74,2.61,2.49,2.75,3.49,4.19,3.41,2.26,2.39,1.62,1.71,1.26,1.32,1.45,1.77,2.24,2.36,2.39,2.24,2.38,2.72,3.08,3.11,3.26,3.67,4.25,4.67,4.98,5.31,5.46,5.61,5.45,5.75,6.04,6.16,6.17,6.15,6.2,6.44,6.65,6.78,6.74,5.49,3.27,0.61,0.44,0.21,0.37,1.3,0.91,0.62,0.86,1.74,1.72,0.31,0.28,1.16,1.47,1.31,1.39,2.58,3.2,1.23,1.1,1.01,2.41,-0.02,1.64,1.16,1.7,1.87,2.21,8.64,8.27,8.12,7.54,7.91,5.85,-2.39,-1.27,0.44,11.08,5.09,4.44,4.84,5.61,6.49,6.91,7.26,7.15,6.62,6.16,6.05,6.11,6.68,6.42,5.45,4.07,1.69,0.34,0.6,0.48,0.69,0.7,0.63,0.82,1.15,1.43,0.49,0,0.44,0.75,0.97,1.38,2.03,2.7,3.3,3.7,3.76,4.13,5.14,4.9,3.04,1.11,1.67,2.41,2.51,3.61,4.36,3.68,3.08,2.3,1.61,1.73,0.26,-0.1,-0.3,-0.19,0.24,0.07,0.95,2.02,2.77,3.21,3.79,4.01,3.89,3.55,3.43,3.57,3.93,4.46,4.97,4.41,3.93,4.39,4.55,5.91,7.38,6.37,3.51,1.92,1.33,1.37,1.67,2.2,2.57,2.85,2.39,0.21,0.74,1.72,2.6,1.32,1.87,5.82,5.87,5.74,5.56,5.11,5.61,6.34,6.54,6.55,6.35,5.46,5.13,6.32,7.13,7.47,7.9,8.52,8.62,8.34,7.78,7,6.24,6.29,5.16,4.75,4.12,3.58,3.47,4.61,3.85,3.83,3.83,4.15,4.29,3.49,0.49,-1.73,-2.21,-1.99,-1.23,-0.23,0.52,0.26,0.07,0.49,0.3,0.28,-0.49,-0.36,-0.26,-0.28,-0.44,-0.16,0.37,1.2,2.35,2.9,3.23,3.45,2.31,0.33,-0.96,-2.26,-1.82,-1.16,-0.35,0.25,0.29,0.1,0.03,0.36,0.8,0.87,0.69,0.6,0.75,0.84,0.93,0.75,0.6,0.63,0.7,0.74,1.01,1,0.65,0.84,0.95,1.01,1.09,0.64,0.52,0.85,0.63,0.61,0.67,0.23,0,0.42,1.24,2.85,3.34,3.18,2.74,2.63,2.79,2.74,2.56,2.64,2.87,3.01,3,2.81,3.22,3.28,3.83,4.45,5.19,5.85,6.17,6.15,6.12,6.02,5.85,5.76,5.66,5.6,6,6.04,6.16,6.2,6.25,6.3,6.21,6.13,6.2,6.15,6.81,7.38,7.97,0.66,-1.66,-0.95,-0.28,-0.04,0.1,-0.3,-1.48,-1.58,-1.13,-0.47,0.23,0.05,0.27,-0.06,-0.01,0.39,0.88,0.95,-0.07,0.29,0.04,0.52,0.06,1.15,1.65,0.42,0.7,1.65,1.14,1.5,1.49,0.94,0.7,0.2,0.22,2.27,1.65,2.16,0.97,2.23,2.42,2.18,2.26,2.32,2.37,2.58,2.96,3.03,2.94,3.75,4.06,2.9,2.55,2.69,2.5,2.18,1.85,1.92,1.84,1.67,1.8,1.74,1.41,1.84,2.43,3.08,3.4,3.22,3.53,3.75,4.24,4.53,4.74,4.98,5.16,5.09,5.51,6.09,6.43,6.37,6.48,6.62,7.27,7.4,7.05,6.57,5.41,1.72,0.53,0.47,-1.72,-0.01,0.4,0.52,0.6,0.2,0.37,1.12,1.46,1.34,1.22,0.38,1.01,0.49,0.53,1.06,0.01,2.61,1.33,1.38,3.06,1.42,0.26,0.67,1.1,2.5,8.19,8,7.81,8.4,8.5,7.32,0.53,0.49,1.84,2.81,7.05,4.41,4.27,5.23,5.89,6.14,6.07,5.84,5.42,4.67,5.16,5.73,6.53,6.41,5.64,5.27,4.52,3.43,1.27,0.96,0.39,-0.37,-0.01,0.01,0.06,-0.06,-0.17,-0.45,-0.44,-0.09,0.65,1.13,1.56,1.94,2.95,3.49,3.12,2.89,4.05,3.83,2.93,2.98,3.18,3.49,3.37,3.66,4.26,3.47,3.19,2.54,1.28,0.56,0.77,-0.08,-0.08,0.35,1.22,2.15,2.36,2.95,3.42,3.8,4.21,4.14,3.91,3.69,3.5,3.57,4.23,5.13,6.16,5.41,2.95,3.17,3.69,5.12,5.01,7.5,4.97,1.56,1.75,1.48,1.52,1.81,1.95,2.71,2.98,-0.2,-0.44,0.16,0.85,0.77,1.22,4.09,5.89,5.68,5.35,5.47,5.62,6.23,7.02,7.26,6.86,6.14,5.82,6.13,6.76,7.44,8.06,8.39,8.46,8.36,8.02,7.55,6.79,5.11,7,6.73,6.51,6.16,5.39,4.82,4.92,4.21,4.08,4.2,4.6,4.21,2.8,-0.28,-2.55,-2.58,-1.99,-0.61,0.02,0.48,0.06,-0.92,-0.82,-1.01,-0.51,-1.05,-1.01,-0.52,-0.66,-0.96,-0.25,0.17,1.24,2.28,3.15,3.75,3.16,1.52,-0.57,-1.15,-1.58,-0.76,-0.21,0.2,-0.22,-1.12,-1.08,-0.26,1.17,1.72,1.06,0.5,0.34,0.27,-0.17,-0.45,0.06,0.37,0.36,0.7,0.99,0.72,0.5,0.7,0.98,0.97,0.85,0.88,0.74,0.86,0.77,0.4,-0.01,-0.39,-0.24,-0.32,0.72,1.57,2.07,2.31,1.94,2.05,2.72,3.31,3.1,2.86,2.89,2.6,2.4,2.45,2.44,3.03,3.59,4.42,4.97,5.46,5.84,5.98,5.86,5.85,5.92,5.81,5.68,5.44,5.62,5.92,5.93,5.97,6.11,6.2,6.22,6.05,6.11,6.27,6.95,7.71,9.5,4.27,0.19,-2.94,-2.79,-3.52,-2.25,-1.54,-1.22,-1.76,-2.41,-1.12,-0.06,0.97,0.99,0.35,0.04,-0.44,-0.77,-0.87,-0.36,-0.04,0.03,-0.21,0.95,1.09,1.44,1.37,1.18,1.44,1.51,-0.17,1.15,-0.31,-0.34,-0.49,-0.47,0.12,1.39,3.06,0.24,0.95,1.52,1.52,1.38,1.68,2.29,2.6,2.6,2.75,2.61,2.96,3.68,3.74,3.31,2.77,2.37,2.1,1.89,1.68,2.12,2.41,2.35,2.34,1.84,1.87,2.63,3.22,3.17,3.24,3.31,3.79,3.93,4.21,4.2,4.49,4.82,5.35,5.85,6.12,6.44,6.73,6.77,6.69,7.16,7.66,7.5,6.9,5.41,1.72,0.74,0.65,-0.16,-0.07,-0.5,0.21,0.47,0.19,-0.05,0.55,1.15,1.25,0.81,1.11,-0.16,0.96,0.95,0.54,0.62,0.04,0.22,0.18,1.3,1.67,1.63,1.91,1.7,1.66,6.65,6.76,7.36,7.92,7.67,3.71,5.04,1.65,-0.38,1.25,7.61,5.19,4.87,4.64,5.11,5.18,5.08,4.36,4.48,4.55,4.3,4.92,5.85,6.11,5.52,6.27,6.7,6.12,5.03,3.41,1.94,-0.02,-0.38,-0.72,-0.66,-0.94,-0.89,-1.17,-1.07,-0.28,0.29,0.4,0.81,1.81,2.83,3.08,2.82,2.98,3.11,2.89,3.47,3.95,3.94,3.49,3.17,3.02,3.36,4.15,3.56,3.64,2.12,0.78,1.5,0.89,0.79,1.77,2.17,2.47,2.9,3.35,3.76,4.1,4.25,4.23,3.93,3.72,3.59,4.08,4.79,5.31,6.36,6.88,3.35,1.28,2.45,3.19,4.64,4.95,4.55,3.28,1.66,1.56,1.72,2.57,2.79,3.92,3.33,0.43,-1.46,-1.22,-0.25,0.13,0.23,1.43,2.63,5.49,5.43,5.58,5.53,6.17,6.88,7.14,6.91,6.18,5.62,5.88,6.55,7.04,7.22,7.62,7.89,7.91,7.76,7.69,7.66,6.56,4.85,7.23,6.99,6.64,6.59,6.46,5.88,5.18,4.55,4.47,4.61,4.65,4.33,2.32,-0.49,-2.57,-2.32,-1.38,-0.73,-0.9,-1.56,-1,-1.66,-2.15,-1.97,-1.79,-1.67,-1.38,-0.87,-1.65,-1.09,-0.1,0.46,1.17,1.93,3.12,2.15,-0.08,-0.86,-1.58,-1.11,-0.94,-0.12,0.91,0.97,-0.43,-0.7,-0.22,1.08,2,0.97,-0.42,0,-0.76,-1.39,-0.51,0.25,0.28,0.23,-0.07,0.15,0.32,0.51,0.57,0.72,1.1,1.42,1.51,1.37,1.36,1.5,1,0.2,-0.33,-1.09,-0.59,0,1.03,1.85,2.58,2.04,2,2.54,3.03,3.07,2.47,2.14,2.06,1.93,2.07,2.43,3.15,3.83,4.35,4.67,4.84,5.18,5.41,5.35,5.27,5.33,5.51,5.6,5.48,5.32,5.43,5.58,5.51,5.83,6.05,6.16,6.07,6.25,6.3,6.8,7.33,7.71,8.27,2.63,0.03,0.63,-1.18,-1.8,-2.67,-1.37,-0.35,0.68,0.83,-1.06,-0.15,0.59,0.93,0.77,0.59,-0.16,-0.06,1.25,0.96,1.41,0.49,0.08,0.83,1.03,0.88,0.88,0.6,2.15,1.53,-0.03,0.91,-0.11,0.48,0.23,-0.28,0.73,1.56,0.48,-0.19,0.08,0.38,0.77,1.28,1.7,2.19,2.35,2.34,2.33,2.16,2.14,2.01,1.45,1.25,1.55,2.31,2.67,2.34,1.95,1.79,2.14,2.42,2.6,2.55,2.59,2.7,2.77,3.25,3.98,4.17,4.45,4.52,4.43,4.62,5.07,6.12,6.4,6.59,6.71,6.93,7.15,7.16,7.31,7.6,7.52,7.35,6.32,-0.24,0.12,-1.27,-0.58,-0.69,-0.12,0.52,0.68,0.68,0.39,0.33,0.36,1.1,0.08,0.5,1.03,0.03,-1.11,0.98,1.63,1.74,1.01,0.3,0.09,0.89,-0.36,-0.18,0.3,1.1,5.07,5.26,6.52,7.81,5.02,0.85,-0.02,1.91,1.92,4.31,5.29,4.81,4.24,4.82,5.32,4.98,4.75,3.33,2.9,3.09,3.39,4.31,4.82,5.58,5.59,6.39,6.95,7.27,6.78,5.88,1.9,0.56,1.67,1.42,0.27,-2.14,-1.9,-2.24,-1.58,-0.58,-0.06,0.29,0.57,1.33,2.27,2.61,2.39,2.75,2.68,3.07,3.32,3.28,3.05,2.78,2.25,2.17,2.22,3.2,3.82,3.13,2.16,2.35,1.58,1.99,2.73,2.68,2.43,2.43,2.62,2.88,3.43,3.98,4.06,3.83,3.72,3.48,3.61,4.23,4.92,5.26,5.64,6.4,6.35,2.92,1.32,2.27,3.8,5.06,3.66,3.98,3.48,2.1,2.42,3.34,3.96,3.53,3.01,1.89,-3.24,-2.5,-0.65,-0.21,-0.11,0.11,1.4,6.31,5.28,5.05,5.57,5.83,6.2,6.43,6.44,6.16,5.9,5.91,6.03,6.52,7.22,7.55,7.5,7.63,7.42,7.31,7.15,6.59,4.35,5.13,6.85,6.43,6.8,5.99,5.81,5.49,4.79,4.31,4.74,4.69,2.65,4.11,1.56,-0.73,-1.73,-1.45,-1.79,-2.16,-1.59,-1.02,-1.27,-1.08,-1.05,-1.26,-1.48,-1.92,-1.58,-1.72,-2.11,-1.44,-0.57,0.28,0.85,1.59,2.6,-0.71,-1.78,-1.1,-1.03,-0.62,0.04,0.72,0.68,-0.34,-1.19,-0.81,0.57,2.21,1.23,-0.46,-0.95,-0.92,-0.09,0.53,1.05,0.6,-0.74,-0.49,-0.07,0.28,0.39,0.24,0.26,0.48,0.71,0.81,0.76,0.48,0.3,0.13,0.24,0.69,0.64,-0.15,-0.16,0.67,1.58,2.16,1.78,1.6,2.13,2.3,2.12,2.03,1.77,1.47,1.6,2.28,2.82,3.38,3.81,4.2,4.52,4.63,4.45,4.55,4.65,4.63,4.53,4.5,4.75,5.03,5.04,5.08,5.11,5.23,5.41,5.76,6.04,6.16,6.32,6.4,6.63,6.7,7.08,6.98,6.63,3.34,-0.24,0.78,2.81,0.85,-6.15,-1.47,-0.76,1.35,1.94,1.2,1.1,1.69,1.79,1.55,1.12,0.14,-0.37,0.36,-0.64,-0.12,-0.2,-0.47,0.86,0.93,1.02,0.63,1.61,2.19,1.04,1.26,1.17,-0.77,-1.02,0,0.06,0.51,1.09,-1.27,-0.49,-0.19,-0.19,0.4,1.08,1.22,1.35,1.48,1.56,1.85,2.46,3.64,3.93,2.19,0.28,0.85,1.26,1.39,1.67,1.75,1.47,1.2,1.08,1.51,1.92,2.31,2.98,3.69,4.25,4.77,5.15,5.26,5.31,5.3,5.56,6.56,7.18,7.47,7.7,7.7,7.64,7.73,7.8,7.98,7.88,7.84,8.05,-1.08,0.17,-0.38,0.25,-0.03,0.27,0.66,1.19,1.32,1.61,1.11,0.84,0.55,-0.26,0.2,-0.95,-0.78,-0.72,-0.66,0.37,0.84,1.95,2.36,1.02,0.09,-0.16,0.28,3.07,4.53,3.61,4.05,5.35,6,1.08,1.39,2.09,2.94,1.35,4.7,4.97,4.02,3.81,4.48,5.31,5.8,4.81,2,1.79,2.16,2.52,4.58,5.15,6.09,6.25,6.53,7.26,7.75,7.49,7.31,7.74,5.11,3.48,2.8,1.69,0.12,-1.33,-2.12,-1.87,-0.89,0.16,0.59,0.46,0.82,1.37,1.74,1.77,2.42,2.05,2.09,2.73,2.85,2.68,2.19,1.77,1.69,1.81,2.84,2.56,2.79,3.12,2.21,2.53,2.66,2.39,2.54,2.73,2.74,2.99,3.17,3.31,3.31,3.2,3.21,2.98,3.29,3.57,4.08,4.67,4.97,5.1,4.92,5.43,3.51,1.57,1.71,2.52,3.85,3.41,4.4,4.23,3.92,3.92,4.12,4.59,4.68,4.22,1.16,-4.25,-3.55,-1.66,-0.45,0.3,0.55,0.52,5.42,4.8,4.99,4.99,4.87,5.15,5.45,5.48,5.17,5.33,5.62,5.95,6.33,6.8,7.28,7.16,6.6,6.59,6.62,6.58,6.25,5.58,5.04,6.29,5.99,5.36,6.24,5.7,4.56,3.97,3.45,3.26,3.76,4.33,4,3.73,1.08,-0.7,-1.07,-1.12,-1.36,-1.95,-1.24,-0.76,-0.74,-1.46,-1.38,-1.51,-1.71,-1.73,-1.54,-1.91,-1.76,-1.69,-1.39,-0.05,0.8,1.17,2.01,-0.55,-1.4,-1.18,-0.87,-0.5,0.17,0.38,-0.42,-1.25,-0.79,0.55,2.39,2.68,0.89,-0.82,0.13,0.35,0.93,1.63,1.11,-0.01,-0.7,-0.16,0.16,0.33,0.33,0.32,0.34,0.07,0.43,0.57,0.88,0.88,0.31,-0.4,-0.53,-0.03,0.66,0.67,0.47,0.76,1.27,0.67,0.68,1.4,1.63,1.44,1.66,1.36,1.22,1.65,1.87,2.33,2.5,2.78,3.42,4.1,4.25,4.37,4.13,4.03,3.95,4.1,4.33,4.48,4.53,4.55,4.42,4.45,4.83,4.95,5.34,5.71,6,6.2,6.44,6.41,6.39,6.17,5.79,5.45,4.47,4.26,2.64,-0.2,2.43,-2.52,-2.17,-1.58,-3.17,1.29,1.96,1.42,0.05,0.28,1.05,1.47,0.62,-0.75,-0.44,-0.42,-0.04,0.65,0.01,0.78,0.88,0.46,0.18,0.29,1.61,2.35,1.03,0.45,0.57,-0.67,-1.3,-1.34,0.04,0.96,-1.26,-1.09,-0.34,-0.18,-0.12,0.63,0.77,0.62,0.67,1.13,1.94,3.08,2.92,3.61,4.36,2.57,-0.38,0.27,0.96,1.15,1.16,1.39,1.08,0.64,1.04,1.49,2.11,3.09,4.15,4.71,5.01,5.24,5.42,5.65,5.88,6.24,7.01,7.26,7.7,8.07,8.12,7.99,7.98,7.97,8.07,7.48,7.72,8.78,3.53,-1.55,0.71,-0.94,-1.04,-0.27,0.52,1.18,1.26,1.52,1.69,1.74,1.17,0.95,0.15,1,1.51,2.17,0.21,-1.13,0.33,1.23,0.9,1.17,0.77,2.31,4.88,4.75,4.01,3.44,3.7,4.53,2.33,1.04,1.18,2.76,2.69,1,3.86,3.47,2.68,2.69,4.08,5.19,6.46,4.29,2.72,2.31,1.63,2.38,3.89,5.16,5.71,6.42,6.57,7,7.52,7.57,6.77,6.9,6.14,4.57,4.11,4.25,3.03,-0.31,-1.04,-2.48,-1.73,-0.74,0.1,0.19,0.19,0.47,0.76,0.96,1.28,1.62,1.03,1.31,1.8,2.36,1.14,0.73,1.94,2.68,2.76,2.75,1.87,1.95,2.26,1.89,1.8,1.73,1.94,2.11,2.23,2.09,2.05,2.02,1.91,1.8,1.91,2.38,2.78,3.1,3.45,3.97,4.6,4.52,4.05,3.98,3.6,2.18,2.11,2.03,2.69,3.39,3.97,4.58,4.51,4.73,5.25,5.06,5.14,4.63,1.89,-3.62,-4,-2.17,-1.3,0,1.36,1.15,2.11,4.37,4.44,4.57,5.19,4.71,4.26,4.9,4.62,4.29,4.84,5.13,5.88,6.57,6.96,7.2,6.5,5.67,5.28,5.63,5.65,5.7,5.05,5.21,5.94,5.28,4.75,5.33,5.92,4.76,2.98,2.76,1.45,3.85,5.04,3.91,2.72,1.24,0.28,-0.84,-0.67,-0.67,-0.64,-0.67,-0.3,0.38,-0.9,-1.07,-1.1,-1,-0.73,-0.8,-2.01,-2.02,-2.21,-1.79,-0.19,0.72,0.69,1.03,-0.01,-0.88,-1.14,-0.81,-0.31,-0.06,-0.3,-0.61,-0.43,0.5,1.43,1.18,0.44,0.09,-0.07,0.27,1.27,2.12,1.65,0.38,-0.23,-0.23,0.38,0.97,0.99,0.68,0.33,0.37,0.74,0.9,0.77,0.59,0.04,-0.49,-0.97,-0.8,-0.25,0.13,0.1,0.28,0.95,0.68,0.42,0.78,0.55,0.7,0.81,0.93,1.16,1.35,2.11,2.82,3.5,4.04,4.21,3.97,3.76,3.68,3.64,3.83,4.19,4.22,4.33,4.67,4.93,4.72,4.47,4.51,4.2,4.81,5.08,5.24,5.75,6.13,6.36,6.48,6.39,6.17,5.75,5.04,4.51,4.3,4.83,3.09,0.49,2.53,-1.97,-5.04,-1.62,-1.5,-2.32,0.39,0.53,0.89,0.65,0.6,1.18,0.82,0.29,-1.32,-1.34,-0.72,-0.8,0.53,0.71,0.08,-0.11,0.76,1.1,0.71,0.82,1.12,0.04,-0.84,-1.5,-3.48,-1.01,0.09,-0.04,-2,-1.5,-1.25,-0.93,-0.62,-0.26,0.14,0.42,1.09,1.78,2.26,2.84,2.38,2.48,3.57,3.14,0.78,0.09,0.33,0.59,0.66,0.85,1.19,1.46,1.92,2.19,2.9,3.98,4.3,4.71,5.21,5.31,5.33,5.77,6.47,6.56,6.98,7.2,7.78,8.15,8.29,8.28,8.14,7.98,7.53,7.33,8,7.56,-0.81,-1.5,-1.07,-0.24,-0.32,1.09,0.59,1.36,1.56,0.76,0.97,0.62,1.08,1.1,0.88,0.61,1.36,1.57,0.91,-1.12,0.2,0,0.07,1.56,4.03,5.02,5.2,4.42,3.74,3.91,4.86,3.81,0.85,-0.83,0.2,0.61,0.07,2.9,2.89,2.11,1.89,3.57,4.95,6.39,4.3,3.37,3.18,4.14,5.31,5.59,5.86,5.98,5.52,5.64,6.06,6.82,7.59,7.73,7.55,7.22,6.3,5.61,5.08,4.47,3.97,0.02,-2.67,-1.74,-1.84,-1.19,-0.49,-0.37,-0.43,-0.25,0.06,0.33,0.42,0.31,0.05,0.26,0.95,0.22,0.16,1.2,2.41,3.26,2.92,1.58,0.67,0.69,1.18,1.46,1.37,0.99,0.82,0.6,0.51,0.71,0.78,0.82,0.74,0.78,1.49,2.22,2.62,2.97,3.51,4.21,5.47,4.45,3.98,4.7,4.15,3.09,3.33,2.6,3.05,3.65,4.12,4.63,4.58,5.55,6.44,5.8,5.08,2.76,-3.23,-3.06,-2.45,-2.12,-1.35,0.52,0.58,0.42,4.83,4.88,4.56,4.4,5.26,5.16,4.89,4.73,3.29,3.42,4.39,5.09,6.1,6.85,7.11,7.06,6.27,5.79,4.69,4.86,5.41,5.75,4.55,5.1,4.93,4.43,4.54,4.72,5.95,4.89,2.47,1.79,3,4.38,5.88,4.82,2.77,2.3,2.4,-0.02,-0.14,0.63,0.88,1.68,2.22,1.65,0.76,-0.12,0.05,-0.1,-0.35,-0.77,-1.6,-2.19,-2.92,-2.06,-0.66,-0.05,-0.12,0.04,-0.62,-1.26,-1.51,-1.1,-0.56,-0.19,-0.6,-0.6,0.16,1.19,1.65,0.51,-0.58,-0.53,-0.05,0.75,1.97,2.21,1.68,0.5,-0.26,-0.19,0.6,0.61,0.56,0.65,0.48,0.71,1.04,0.76,0.61,0.07,-1.19,-1.09,-1.43,-0.78,-0.56,-0.87,-0.61,0.15,0.09,0.16,0.41,0.24,0.15,0.55,0.96,1.09,1.34,1.94,2.87,3.57,4.01,4.25,4.42,3.71,2.95,3.03,3.07,3.41,3.91,4.25,4.5,4.8,5.04,4.81,4.94,4.98,4.94,5.35,5.66,5.92,6.18,6.42,6.62,6.59,6.57,6.47,5.83,5.19,4.88,5.3,5.4,0.66,0.3,2.74,1.32,-1.18,-2.51,-0.58,-1.61,0.02,0.5,1.13,1.43,1.63,1.22,0.24,1.03,0.21,-2.11,-1.58,-0.36,0.29,-0.83,-0.6,-0.53,0.15,0.58,-0.25,-0.25,0,-0.75,-1.56,-4.17,-2.46,-1.28,0.07,-1.92,-1.87,-2.02,-1.79,-1.36,-0.7,-0.85,-0.48,0.38,1.34,2.28,2.43,3.07,1.58,0.77,1.9,2.87,2.92,3.1,2.85,1.64,0.85,0.84,1.15,2.03,2.82,3.3,3.62,4.07,4.23,4.14,4.42,4.67,4.93,5.63,5.21,6.06,6.46,6.89,7.62,8.41,8.74,8.79,8.49,8.46,8.27,8.3,8.89,5.74,-2.09,-1.72,-0.2,-1.13,-1.68,-0.11,0.78,0.66,0.65,1.09,1.25,0.61,-0.16,0.34,1.5,0.5,-0.16,0.01,-0.41,-0.87,-0.58,-0.36,2.26,3.88,5.02,5.58,4.85,4.69,4.7,5.54,4.79,0.27,-0.24,0.03,-0.16,-0.15,1.44,2.03,3.38,2.81,2.82,4.95,6.46,6,4.72,4.82,5.41,5.24,5.21,5.36,5.57,6,6.09,5.94,6.06,6.58,7.08,6.94,6.95,6.56,5.36,4.89,5.27,5.31,5.24,3.43,0.89,-0.69,-1.6,-1.18,-0.81,-0.97,-1.15,-0.92,-0.55,-0.4,-0.56,-0.64,-0.54,-0.24,-0.91,-1.41,-0.3,0.84,1.82,2.94,2.74,0.93,-0.37,0.17,1.04,0.81,-0.02,-0.6,-0.55,-0.26,-0.06,0.48,0.48,-0.25,-0.55,-0.05,0.89,2.05,3.11,3.97,4.79,5.25,5.4,5.02,4.54,4.53,3.08,3.32,3.71,2.15,3.19,4.66,4.95,5.34,5.73,6.82,7.02,5.94,3.45,-1.91,-3.38,-2.56,-1.44,-1.5,-3.1,-0.82,0.8,1.33,3.36,5.47,4.52,4.6,4.76,5.15,5.28,3.78,2.16,3.39,4.11,4.78,5.74,6.48,6.57,6.61,4.9,4.43,4.41,5.46,5.66,5.15,3.86,3.85,3.72,4.23,4.22,4.47,4.71,3.96,3.18,4.04,5.05,4.73,4.76,4.16,2.71,0.91,0.69,1.67,1.61,2.66,3.8,4.45,4.73,4.18,3.67,2.49,1.91,0.07,-1.04,-0.79,-1.04,-2.74,-3.2,-2.55,-1.36,-1.17,-1.4,-1.15,-1.37,-2.05,-1.76,-1.3,-0.77,-0.1,-0.74,-0.43,0.42,0.81,0,-1.02,-1.14,-0.54,0.15,0.77,1.32,1.15,0.33,-0.44,0.02,0.84,1.3,0.32,0.06,0.32,0.96,1.95,1.44,1,0.04,-0.07,-0.74,-0.56,-0.88,-0.72,-0.31,-0.61,-0.94,-0.11,-0.37,-0.42,-0.23,-0.11,0.49,0.84,0.84,1.33,2.51,3.32,3.85,4.23,4.33,3.9,3.55,2.73,2.06,2.52,2.97,3.42,3.82,4.24,4.6,4.82,4.85,4.94,5.16,5.1,5.32,5.63,5.9,6.4,6.67,7.01,7.16,7.11,7.14,7.16,6.67,6.3,6.3,6.37,1.16,-0.94,0.8,1.5,0.06,-4.02,-2.02,-0.29,-0.09,0.45,0.49,0.64,0.85,0.4,0.14,-0.08,-0.58,-1.87,-2.38,-1.03,-0.22,-2.14,-2,-1.23,-0.98,-0.45,-0.12,-0.64,-0.18,-0.04,-4.47,-4.87,-3.74,-2.74,-1.35,-0.84,-1.76,-1.76,-1.9,-1.66,-1.64,-1.33,-1.28,-1.11,-0.01,1.13,2,2.47,3.33,1.73,-0.45,-0.07,1.01,1.67,2.45,2.83,2.44,2.2,2.26,2.34,2.48,2.53,2.92,3.2,3.38,3.69,3.78,3.97,4.27,4.45,3.79,4.74,5.45,6.06,6.94,7.73,8.66,9.22,9.21,9.05,8.84,8.47,8.03,8.72,2.08,-0.24,-1.68,-1.31,-0.59,-0.13,0.62,0.47,1.06,0.71,1.04,0.61,1.15,-0.33,-1.94,-1.51,-1.03,-0.67,-1.27,-1.99,-0.86,0.11,1.42,3.52,4.68,5.63,5.34,5.43,5.4,5.64,2.54,2.64,0.46,-0.33,-0.2,-1.67,-0.04,0.75,2.47,4.09,4.37,2.3,5.54,5.78,6.01,5.62,5.14,5.05,5.26,5.61,5.83,5.83,5.87,6.09,6.16,6.15,6.47,6.77,6.47,6.13,6.36,5.91,3.88,3.16,3.56,2.66,3.15,1.78,0.44,-0.6,-0.55,-1.72,-1.77,-2.16,-1.75,-1.09,-0.97,-1.13,-0.89,-0.56,-1.14,-2,-2.11,-1.28,-0.03,1.15,2.37,1.15,-1.17,-1.17,-0.08,0.43,-0.64,-1.41,-1.21,-0.78,-0.16,0.41,0.1,-1.59,-1.84,-1.54,0.08,2.78,4.12,4.15,4.57,4.41,4.78,4.7,4.42,4.64,3.94,4.13,4.71,2.48,2.68,4.55,5.72,5.93,6.57,7.34,7.2,6.32,4.44,-1.07,-3.47,-2.94,-2.74,-2.44,-2.28,-2.14,0.44,1.54,1.65,3.69,5.39,4.91,4.79,4.8,5.46,5.53,3.72,3.69,4.28,4.87,5.33,5.76,5.89,5.5,6.23,1.94,3.18,5.31,5.09,4.77,4.41,2.43,2.77,3.41,3.48,2.85,3.34,3.06,2.79,2.94,3.11,3.95,4.04,3.54,1.55,2.34,2.29,1.33,1.98,2.77,3.3,4.19,4.92,5.25,5.45,5.61,4.97,2.79,0.08,-0.9,-1.28,-1.62,-2.59,-3.67,-3.59,-2.18,-1.72,-2.28,-2.32,-2.34,-2.35,-2.03,-1.68,-0.99,-0.31,-1.18,-0.67,-0.06,-0.23,-0.91,-1.48,-1.28,-0.59,-0.04,0.65,1.24,0.86,-0.24,-0.29,0.62,1.81,0.24,-0.22,0.11,1.23,1.88,1.67,1.12,0.02,-0.32,-0.43,0.03,-0.32,0.06,1.13,1.2,0.36,-0.04,-0.54,-0.65,-0.55,-0.45,0.14,0.76,1.48,2.26,2.72,3.49,4.09,4.54,4.43,3.79,3.33,2.99,2.01,1.77,2.61,3.04,3.26,3.34,3.61,4.06,3.96,4.02,4.63,5.02,4.91,5.15,5.85,6.1,6.8,7.13,7.51,7.73,7.85,7.83,7.58,7.49,7.3,6.26,2.3,-0.37,1.09,-1.28,-0.74,-1.5,-0.49,-0.71,0.08,0.65,0.93,0.81,0.92,-0.87,-0.89,-1.15,0.05,0.79,-2.17,-1.69,-0.29,-1.01,-1.49,-1.04,-0.36,-1.31,-0.51,-1.47,-1.74,-2.2,-6.81,-6.53,-5.18,-3.86,-3.04,-1.72,-1.93,-1.27,-0.95,-1.36,-1.77,-1.63,-1.58,-2.75,-1.6,-0.62,0.39,1.35,2.17,2.56,1.39,-1.34,-0.57,0.33,0.87,1.43,1.49,1.32,1.22,1.45,1.93,2.39,2.68,2.73,2.91,3.08,3.18,3.31,3.39,3.66,4.24,4.24,4.58,4.86,5.52,6.61,7.65,8.66,9.3,9.59,9.63,9.53,8.75,7.89,4.52,0.46,-0.07,-2.24,-2.9,-2.73,-1.58,-0.21,0.14,0.26,-0.16,-0.44,-0.03,-0.04,-0.08,-1.24,-0.7,0.07,-1.38,-1.9,-1.35,0.45,0.83,3.04,4.46,5.45,5.91,6.07,6.09,5.04,1.32,2.01,2.58,-0.24,-1.26,-1.79,-1,-0.26,1.18,2.39,2.56,3.28,3.85,5.33,5.01,3.76,3.37,4.24,5.11,5.45,5.42,5.24,5.01,5.1,5.03,5.1,5.62,5.97,6.15,5.8,5.47,5.54,5.73,3.71,0.86,1.88,0.38,1.36,2.37,3.84,2.93,1.64,-1.79,-2.86,-2.88,-2.43,-1.61,-1.68,-1.82,-1.27,-1.14,-2.63,-2.83,-1.95,-0.88,-0.35,0.79,2.12,-0.78,-2.07,-0.85,-0.02,-0.98,-2,-1.9,-0.63,0.4,-0.02,-1.22,-3.01,-2.51,-0.29,-0.94,-1.32,2.51,3.83,3.36,3.87,4.6,4.26,4.21,4,3.93,3.26,3.53,4.38,3.18,4.91,5.67,4.89,5.48,6.68,7.5,6.35,5.44,1.75,-2.79,-3.75,-3.8,-3.82,-3.59,-2.26,-0.14,1.31,2.44,2.47,6.13,6.37,5.79,6.31,5.75,4.74,4.44,4.1,4.45,5.36,6.19,6.9,6.24,5.19,4.73,3.83,2.95,4.48,4.77,3.5,4.41,3.41,4.05,3.41,3.52,2.67,1.48,1.51,2.08,1.79,2.03,3.2,3.18,2.82,1.17,-0.4,0,1.2,1.86,2.71,3.39,3.24,3.65,3.64,3.57,4.34,4.92,4.51,4.14,3.58,-0.25,-1.79,-1.6,-2.09,-4.32,-4.44,-2.92,-2.15,-2.09,-2.66,-2.89,-3.01,-2.78,-2.38,-1.16,-0.84,-1.79,-1.15,-1.05,-1.5,-1.63,-1.71,-1.32,-0.79,-0.28,0.57,0.88,0.61,-0.49,0.11,0.25,-0.44,-0.75,-0.17,1.04,2.09,1.45,1.17,-0.18,-0.53,-0.53,-0.44,-0.38,-0.12,0.83,1.48,1.15,0.6,0.27,-0.42,-0.79,-0.06,0.38,0.84,1.2,1.83,3.04,4,4.73,4.88,5,4.16,3.27,3,3.1,2.73,2.35,2.84,3.19,3.15,3.7,4.47,4.87,5.01,4.7,5.34,5.24,5.49,5.77,6.35,6.62,7.12,7.5,7.83,7.98,8.42,8.56,8.46,8.59,8.78,1.59,-3.3,0.41,-1.24,-1.99,-2.58,-0.4,0.22,0.28,0.88,0.67,0.77,1.08,-0.04,-1.4,-1.79,-1.16,0.53,-1.14,-1.58,-0.14,-0.3,-0.19,-0.94,0.82,1.38,-0.62,-0.07,-0.58,-4.25,-6.14,-6.91,-5.98,-4.6,-3.73,-3.13,-2.49,-2.09,-1.45,-0.7,-0.42,-0.42,-0.66,-3.57,-3.51,-2.55,-1.28,-0.52,0.1,0.77,1.18,-0.38,-1.31,-0.57,-0.01,-0.02,0.07,0.55,0.95,0.82,0.87,1.46,2.13,2.45,2.39,2.52,2.89,3.22,3.42,3.76,3.89,3.75,4,4.35,4.53,5.15,6.28,7.35,8.24,9.06,9.44,9.7,10.04,9.51,9.77,1.08,0.69,-0.43,-3.63,-3.92,-2.27,-1.01,-0.28,0.05,-0.68,-0.96,-0.71,-0.1,-1.18,0.28,1.86,2.99,2.93,0.47,-2.06,-0.43,-0.06,2.29,4.17,5.19,6.03,5.77,5.6,4.41,-0.7,-1.43,-0.77,1.44,-1.46,-2.21,-1.44,-0.63,0.94,1.24,1.8,3.31,4.74,5.56,6,6.03,5.43,4.88,5.41,5.65,5.33,5.21,4.9,4.58,4.64,4.57,4.1,4.21,4.73,4.78,4.53,4.55,4.78,4.77,3.92,-0.97,-0.66,-0.12,0.19,0.94,2.57,3.25,3.58,1.81,-4.29,-3.42,-2.43,-1.81,-2.26,-2.36,-1.54,-2.58,-3.09,-2.14,-1.37,-1.22,-1.61,-0.72,-0.85,-2.59,-1.5,-0.43,-0.89,-2.05,-2.58,-1.28,-0.07,-0.49,-2.2,-5.31,-2.74,-0.44,1.01,0.35,-2.27,0.51,2.17,3.1,3.58,3.9,4.03,3.54,3,2.5,3.26,4.21,3.9,2.93,4.31,5.12,6.56,7,7.8,6.37,4.92,5.12,-0.99,-5.01,-4.52,-4.89,-4.31,-3.13,-1.12,1.04,2.2,3.05,2.88,6.62,6.96,6.82,7.77,6.46,4.74,3.89,4.01,4.82,6.04,7.29,8.01,6.16,3.87,4.34,4.26,4.22,3.81,2.63,3.35,4.19,3.67,3.31,2.79,2.91,1.56,-0.45,0.56,0.68,1.34,1.67,2.19,2.68,2.11,0.6,0.05,0.34,1.15,1.59,2.14,2.62,2.6,2.36,2.37,2.5,3.41,4.23,3.89,3.08,3.06,1.91,2.47,2.69,1.52,-2.88,-4.74,-3.48,-2.83,-2.39,-2.38,-2.37,-3.36,-3.53,-3.27,-2.22,-1.32,-1.27,-1.48,-1.96,-1.83,-2.05,-2.16,-1.66,-1.09,-0.54,0.22,0.49,0.33,0.52,1.27,0.72,-0.1,-0.02,0.13,1.48,1.5,0.19,-0.07,-0.62,-0.39,0.21,0.62,0.61,0.51,0.55,0.45,0.26,0.1,-0.42,-0.79,-0.49,-0.4,-0.52,0.71,2.33,3.69,4.69,4.87,4.98,4.33,3.81,3.3,3.07,3.01,3.2,2.72,2.15,2.45,2.97,4,5.25,5.34,5.26,5.4,5.48,5.73,6,6.2,6.33,6.61,6.91,7.2,7.79,8.32,8.71,9.04,9.44,9.5,9.15,1.05,0.32,-1.38,-1.14,-0.09,-0.3,-0.29,0.47,0.9,0.91,1.56,1.84,1.86,2.38,-1.54,-1.35,-1.16,0.46,-1.72,-1.33,-1.41,-1.86,-0.54,0.44,-0.91,-0.68,-0.23,-0.68,-3.46,-5.89,-6.44,-6.05,-5.69,-5.98,-5.32,-4.55,-3.84,-3.12,-2.38,-1.62,-0.99,-0.3,-0.21,-3.73,-4.64,-3.89,-2.49,-1.75,-1.55,-0.89,-0.28,-0.72,-1.25,-1.17,-1.27,-1.41,-1.38,-0.84,-0.23,-0.37,-0.21,0.9,1.3,1.82,2.42,2.6,2.75,3.06,3.49,3.79,4.08,4.14,3.9,3.75,3.77,4.2,5.34,6.34,6.98,7.56,8.36,8.8,9.29,9.42,8.79,2.27,0.7,-0.92,-4.42,-3.75,-3.49,-2.82,-1.67,-0.73,-1.44,-0.67,0.24,0.31,0.37,-0.99,-0.75,2.4,2.87,1.84,-1.82,-1.52,-1.28,1.46,3.71,4.87,5.74,5.72,5.21,5.04,2.07,-0.34,-1.17,-1.3,-3.35,-2.42,-1.41,-0.11,0.63,1.42,1.89,2.73,4.27,4.94,4.97,4.73,4.56,4.62,4.75,5,5.01,4.52,4.15,4.14,3.83,3.52,3.41,3.34,3.17,3.58,3.52,3.65,3.18,3.32,3.12,2.12,0.25,-0.14,0.22,1.06,1.88,2.29,2.31,2.51,0.77,-2.76,-3.2,-2.83,-2.79,-3.1,-2.73,-2.03,-3,-2.68,-2.09,-1.78,-2.17,-2.51,-1.89,-3.96,-3.31,-2.33,-1.29,-2.08,-2.97,-1.94,-0.93,-1.52,-2.61,-5.57,-2.35,-1.52,-1.35,-0.31,0.47,-0.48,0.87,1.94,3.02,3.18,3.57,3.65,3.39,2.65,2.21,2.95,3.57,3.09,2.72,3,3.62,3.94,5.59,5.16,4.03,4.25,5.09,-3.35,-4.19,-5.6,-4.66,-3.7,-2.43,-0.02,2.04,2.37,2.9,2.67,7.5,7.24,7.18,8,7.09,5.97,4.38,4.93,6.15,7.06,8.26,8.93,5.18,4.27,5.56,3,3.29,2.56,2.38,3.15,3.74,2.67,2.56,2.01,0.89,-2.43,-1.02,0.24,1.19,2.21,2.36,1.84,0.67,-0.65,0.27,0.94,0.98,1.27,1.98,2.28,1.87,1.21,0.62,0.69,1.52,2.49,3.58,2.33,2.7,3.25,3.35,3.51,3.95,4.53,3.06,-0.9,-2.78,-3.25,-3.21,-2.96,-2.02,-2.6,-4.13,-4.02,-3,-1.65,-1.45,-2.18,-2.11,-2.22,-2.53,-2.56,-1.87,-1.63,-1.06,-0.27,0.01,0.4,0.19,0.1,-0.84,-0.94,-0.47,0.3,1.51,0.23,-1.3,-1.51,-1.48,-1.1,-0.54,-0.29,0.24,0.5,0.21,-0.12,-0.06,-0.64,-0.87,-0.73,-0.92,-0.5,0.44,2.04,3.78,4.65,4.74,4.53,4.57,4.13,3.46,2.86,2.87,3.01,2.83,2.25,2.16,3.38,4.61,4.76,4.45,4.11,4.03,4.12,4.47,4.99,5.64,6.17,6.83,7.43,7.86,7.97,8.26,9.04,9.55,9.9,10.51,10.09,-1.36,0.47,-3.64,-1.25,-1.9,0.16,-0.23,-0.16,0.65,0.55,1.72,2.16,1.91,1,-0.02,-1.76,-1.49,0.79,-0.45,-1.77,-0.66,-0.92,1.88,0.7,0.5,1.71,1.15,-0.57,-1.76,-4.4,-5.18,-5.09,-5.71,-6.48,-5.86,-5.24,-4.43,-3.62,-2.91,-2.18,-1.76,-1.16,-0.5,-2.22,-4.32,-4.54,-3.49,-2.77,-2.37,-2.16,-1.56,-1.47,-1.85,-2.12,-2.04,-1.97,-1.97,-1.95,-1.26,-0.7,-0.2,0,0.17,0.96,1.55,2.68,3.68,3.88,4.13,4.01,4.3,4.48,5.15,4.07,2.63,2.8,4.52,5.92,6.67,6.66,7.02,7.57,8.23,8.79,9.43,2.57,0.34,-1.53,-3.98,-3.78,-3.44,-3.36,-2.27,-2.12,-1.92,-0.78,1.03,1.35,0.12,-0.1,0.36,0.86,2.37,2.21,-3.57,-4.44,-1.98,0.62,2.85,4.17,5.11,5.31,4.62,3.63,1.85,1.18,-0.22,-3.2,-3.09,-2.14,-0.88,0.43,0.61,0.95,1.72,2.22,2.67,2.99,3.05,3.16,3.44,3.84,4.12,4.06,3.84,3.71,3.54,2.95,2.78,2.83,2.34,2.14,2.49,1.83,1.98,1.84,1.93,0.81,0.63,0.11,-0.57,-0.43,0.12,0.8,1.59,2.52,3.49,4.33,3.81,2.65,1.48,-2.11,-3.2,-3.59,-3.65,-3.67,-3.72,-3.58,-2.99,-2.72,-2.81,-3.12,-2.84,-4.6,-4.55,-3.6,-1.83,-2.42,-3.44,-2.63,-1.98,-2.62,-4.01,-5.35,-2.38,-2.16,-1.16,-1.02,-0.96,-0.34,-0.08,0.99,1.97,2.21,2.5,2.82,2.68,2.8,1.74,1.64,2.37,2.53,2.74,3.45,4.81,5.84,6.23,5.74,5.02,2.63,2.59,2.26,2.6,-3.08,-3.13,-3.1,-2.56,-1.52,0.14,1.26,1.91,2.66,3.7,6.38,6.14,6.65,7.67,8.46,5.43,4.35,5.2,6.45,7.3,7.8,8.1,7.21,4.65,2.88,3.18,3.23,3.89,4.36,3.61,3.68,1.85,1.33,-0.02,-2.27,-1.69,0.97,2.16,2.29,2.33,0.46,-0.96,-1.31,-0.42,-0.1,0.29,0.89,1.83,2.11,1.17,-0.15,-1.57,-1.57,-0.22,0.93,2.22,2.41,1.83,1.81,2.37,2.93,3.31,3.05,3.06,3.07,3.12,3.69,3,-0.78,-2.59,-2.01,-1.31,-4.2,-3.97,-3.08,-2.18,-2.41,-2.61,-2.33,-3.13,-3.45,-3.27,-2.66,-2.16,-1.95,-1.32,-0.9,-0.14,-0.14,-0.37,-1.26,-1.18,-0.91,0.04,0.82,0.2,-1.37,-2.21,-2.04,-1.52,-0.57,0.13,0.67,1.09,0.89,0.39,-0.33,-1.22,-1.43,-1.07,-0.4,0.8,1.83,3.31,4.09,4.23,4.41,4.82,4.85,3.64,2.8,2.63,2.38,1.86,1.9,2.89,3.95,4.43,3.99,3.17,3.02,3.29,3.68,4.27,4.74,5.2,5.8,6.51,7.04,7.62,8.32,8.91,9.11,9.51,9.97,10.4,10.76,-2.06,-4.64,-2.78,-5.12,-1.96,1.22,-0.92,1.2,2.01,1.45,1.16,2.14,2.67,1.3,0.98,-2.25,-2.14,-1.29,-1.14,-0.97,-2.07,0.06,1.38,3.33,2.05,2.12,1.36,-0.37,-2.05,-3.66,-5.04,-4.76,-5,-5.77,-6.02,-5.25,-4.99,-4.62,-4.23,-3.71,-3.11,-2.64,-2.37,-2.48,-3.57,-4.24,-4.36,-3.79,-3.09,-3,-3.36,-3.16,-2.84,-2.98,-2.86,-2.73,-2.64,-2.02,-1.59,-0.98,-1.32,-1.08,-0.38,0.58,1.48,2.19,2.99,3.39,3.85,4,4.46,4.93,5.22,5.97,2.78,0.69,3.72,5.74,6.4,6.29,6.36,6.74,7.47,8.19,8.85,4.63,-0.77,-0.53,-3.89,-4.87,-3.68,-3.35,-2.94,-0.6,0.19,1.34,-0.07,0.73,1.77,1.8,-0.78,0.17,1.78,5.27,-3.34,-3.58,-2.45,-0.36,1.38,2.71,3.84,4.32,4.29,3.37,2.13,0.44,-1.67,-2.55,-2.27,-2.12,-1.26,-1.03,-0.33,0.76,1.32,1.59,1.78,2.78,3.86,4.67,5.36,5.92,6.57,6.75,6.63,6.02,4.73,2.84,1.49,1.13,1.33,1.14,0.43,0.76,0.14,0.42,1.37,2.43,-0.53,-3.58,-3.88,-2.82,-1.53,-0.5,0.41,1.31,2.08,2.82,3.44,3.58,3.77,5.63,-0.46,-3.77,-3.82,-3.66,-4.01,-3.88,-3.81,-3.75,-3.55,-3.13,-2.93,-4.28,-4.71,-3.9,-2.32,-2.81,-3.54,-2.99,-2.84,-3.44,-4.52,-5.71,-4.46,-2.26,-1.87,-1.42,-0.85,-0.99,-0.34,0.23,0.83,1.69,1.88,2.17,2.54,2.44,2.3,1.1,1.1,2.03,2.48,3.2,4.68,5.62,6.14,5.91,5.21,4.64,3.79,-0.14,-0.44,1.03,1.72,-0.29,-0.94,-1.06,-0.44,0.4,-0.23,1.31,3,6,5.53,6.91,7.11,7.58,8.16,6.31,4.04,5.84,6.33,6.41,6.54,7.08,6.06,3.65,2.99,4.12,4.7,4.97,4.85,3.49,1.29,-0.59,-1.13,-2.04,-0.75,0.92,2.16,2.03,0.88,-1.02,-2.11,-1.29,-0.1,0.16,0.85,1.41,1.78,2.41,1.56,-0.59,-2.9,-3.32,-1.66,0.32,1.45,1.1,1.11,2.06,2.29,2.7,2.78,2.65,2.42,2.4,2.77,2.76,2.61,4.15,4.63,3.65,0.07,-1.66,-3.97,-4.42,-3.76,-3.2,-3.22,-3.19,-3.36,-3.61,-4.39,-4.08,-3.58,-2.88,-2.53,-2.03,-1.47,-0.17,-0.61,-2.85,-1.63,-1.34,-1.31,-0.61,0.23,0.11,-0.79,-1.01,-0.63,-0.13,0.12,0.16,0.54,1.06,1.04,0.26,-0.39,-0.68,-0.57,-0.11,0.49,1.54,2.63,3.14,3.61,4.46,5.36,5.74,4.51,2.51,1.93,1.8,1.2,1.88,3.47,3.76,3.32,2.99,2.66,2.68,3.06,3.66,4.05,4.22,4.99,5.77,6.59,7.24,7.79,8.15,8.47,9.16,9.56,9.78,9.87,8.59,0.11,-1.92,-2.3,-1.45,-1.79,-0.48,0.55,0.89,1.98,2.1,2.19,2.07,3.07,2.06,1.55,0.77,-1.82,-3.19,-2.6,-1.74,-1.42,-0.48,1.98,2.64,3.96,4.24,3.59,2.32,-0.29,-1.93,-3.46,-5.02,-5.14,-4.49,-4.85,-5.65,-5.42,-4.61,-4.34,-4.41,-4.41,-4.09,-3.91,-3.79,-3.65,-4.13,-4.99,-4.68,-4.06,-3.5,-3.78,-4.84,-4.71,-4.04,-3.74,-3.25,-2.8,-2.84,-3.05,-1.91,-1.31,-1.37,-0.94,0.19,1.36,2.15,2.64,2.99,3.38,3.81,4.12,4.78,5.16,5.31,4.79,2.11,3.45,4.54,5.67,5.68,5.56,6.1,6.82,7.34,8.14,7.7,-1.14,-1.61,-1.38,-2.43,-5.17,-4.07,-3.06,-2.08,-0.69,-0.61,-2.63,-0.9,0.2,0.66,-0.38,-0.69,0.58,2.77,-3.28,-3.65,-3.18,-1.99,-0.62,0.53,1.61,2.69,2.63,2.05,1.33,0.15,-0.88,-1.66,-2.15,-2.37,-2.04,-1.16,-0.05,0.97,1.59,2.07,3.05,4.25,4.99,5.11,5.4,5.62,6.19,6.43,6.28,6.26,6.42,6.66,5.31,2.68,0.3,-0.44,-0.16,-1.2,-1.26,-1.72,-1.37,-0.59,1.46,-4.21,-5.78,-4.57,-3.25,-2.65,-1.29,-0.33,0.62,1.81,2.93,3.72,4.04,4.16,5.93,5.46,-1.48,-4,-4.46,-4.6,-4.61,-4.72,-4.56,-4.04,-2.88,-2.94,-3.17,-3.21,-3.38,-3.67,-4,-3.7,-3.82,-4.21,-4.87,-5.96,-3.04,-2.51,-2.36,-2.6,-1.89,-1.61,-1.05,0.09,1.22,1.73,2.06,2.03,2.33,2.32,1.96,0.98,0.66,-0.38,0.97,1.85,3.07,4.11,4.73,4.62,4.65,3.85,3.05,2.26,1.31,0.75,1.14,0.97,0.39,-0.67,-0.36,-0.03,-1.22,0.11,3,5.99,5.73,5.61,5.98,6.36,6.84,7.32,7.37,7.05,6.78,6.07,5.32,5,5.03,4.67,3.98,3.58,4.02,4.6,4.03,2.9,1.64,-0.95,-2.53,-1.63,-1.11,0.25,1.84,2.27,-0.12,-2.46,-2.14,-1.62,-0.39,0.64,0.59,0.51,1.2,1.54,1.94,-0.23,-1.94,-1.91,-0.62,0.66,1.31,1.07,0.75,1,1.39,3.29,4.01,4.36,4.64,4.49,3.85,2.88,2.42,1.39,1.68,3.81,5.6,5.63,1.45,-3.35,-4.71,-4.34,-3.61,-3.75,-3.89,-4.17,-4.21,-4.23,-4.25,-3.83,-3.36,-3.03,-2.21,-1.42,-0.09,-2.77,-2.35,-2.21,-1.94,-1.4,-0.74,-0.24,0,-0.36,-0.34,-0.03,0.01,-0.1,-0.14,0.16,0.69,0.99,0.61,0.03,-0.21,-0.05,0.47,1.27,1.65,1.95,3.37,4.78,5.08,5.3,5.1,3.33,3.1,3.04,3.05,3.77,4.05,3.48,2.93,2.44,2.19,2.36,3.33,4,4.35,4.56,4.98,5.76,6.48,7.22,7.75,8.29,8.93,9.22,9.33,9.7,9.77,6.53,-1.11,-4.72,-3.19,-1.86,0.58,2.08,1.04,-0.15,0.88,2.02,2.25,2.09,2.93,2.58,2.19,1.18,-0.07,-0.85,-2.6,-2.29,-0.8,0.04,3.19,2.35,3.65,4.23,4.71,4.95,4.82,4.24,2.97,0.18,-3.47,-5.07,-5.28,-5.25,-4.93,-5.08,-4.67,-4.65,-4.73,-4.91,-4.87,-4.66,-4.38,-3.93,-4.04,-5.77,-5.59,-4.89,-4.4,-4.84,-5.63,-5.16,-4.49,-3.99,-3.35,-3.24,-3.37,-1.75,-0.55,-1.71,-1.23,-0.29,0.35,1.06,1.99,2.36,2.57,3.15,2.87,3.69,4.15,4.22,4.14,3.89,4.17,4.36,4.44,4.28,4.6,5.16,5.77,6.41,6.84,6.85,3.68,0.58,-1.41,-3.69,-5.2,-5.04,-3.14,-2.06,-1.41,-0.26,-1.94,-0.86,0.71,-1.07,-1.43,-1.27,-0.5,1.84,-1.29,-3.51,-2.91,-2.8,-2.11,-1.03,-0.75,-0.16,0.78,0.71,-0.08,-0.89,-1.64,-2.49,-2.94,-3.14,-2.6,-1.84,-0.49,1.4,1.02,2.66,4.31,4.64,4.6,4.48,4.95,5.37,5.82,5.89,5.75,5.64,5.62,5.6,5.56,5.85,5.51,3.2,-0.73,-2.47,-2.78,-2.45,-3.14,-3.26,-3.04,-2.78,-2.83,-2.74,-1.73,-0.94,-0.59,-0.76,-0.22,0.33,1.57,2.25,3.18,4.18,4.23,3.61,5.65,6.3,-2.1,-5.17,-5.01,-4.95,-5.61,-5.39,-4.9,-4.36,-4.02,-4.45,-4.54,-4.38,-4.58,-4.57,-4.55,-4.99,-5.53,-6.31,-6.21,-2.97,-3.41,-2.92,-2.28,-1.76,-1.15,-0.37,0.91,1.49,1.49,2.19,2.34,2.48,2.16,1.44,0.57,-1.14,0.01,0.74,1.69,3.01,3.68,3.57,3.47,3.95,3.66,3.39,2.75,1.88,0.05,0.39,0.64,0.24,-0.23,-0.25,-1.98,-1.07,2.22,5.2,6.8,5.38,5.7,5.32,5.75,6.34,6.83,7.14,7.14,7.06,6.57,4.84,3.36,2.85,2.58,2.23,2.41,2.89,3.09,2.32,-0.2,-2.39,-2.27,-2.29,-2.46,-1.58,-0.01,1.59,-0.01,-2.5,-2.78,-2.09,-1.12,-0.91,-0.68,-0.35,0.55,1.4,1.77,1.05,-0.32,-1.28,-0.42,0.27,0.85,1.07,1.26,1.26,1.77,3.38,4.08,4.02,4.21,4.21,4.24,4.15,3.63,3.58,2.82,1.18,1.37,2.54,4.94,5.98,3.05,-2.29,-5.58,-5.47,-4.88,-4.92,-4.95,-4.6,-4.24,-4.11,-4.05,-4.12,-3.7,-2.79,-1.93,-2.02,-2.53,-3.17,-3.37,-2.36,-1.24,-0.76,-1.08,-1.4,-1.64,-1.2,-0.47,-0.42,-0.51,-0.54,-0.37,-0.09,0.34,0.45,0.31,-0.08,0.11,0.91,0.79,2.25,3.3,3.5,3.67,3.71,3.92,4.11,3.59,3.44,3.75,3.55,3.29,2.85,2.41,2.11,2.42,3.05,3.55,4.21,4.48,4.6,4.94,5.52,6.28,7.01,7.58,8.21,8.84,9.24,9.41,9.46,10.66,2.13,-0.32,-5.18,-3.27,2.12,-0.6,0.75,2.31,1.84,0.82,1.25,1.9,2.39,2.5,3.27,2.06,1.52,0.89,-0.1,0.08,-3.14,-3.95,-0.5,1.55,0.66,1.5,2.86,4.26,5.42,5.91,5.96,5.79,5.29,3.82,-0.12,-3.71,-4.57,-5.05,-5.55,-5.01,-4.78,-5.31,-5.4,-5.18,-5.35,-5.31,-4.78,-4.23,-4.49,-4.92,-5.74,-6.4,-5.66,-5.47,-5.53,-5.2,-4.38,-3.79,-3.41,-2.96,-1.6,-0.38,-1.1,-1.02,-0.76,-0.71,-0.23,0.94,1.45,1.71,2.13,1.72,2.38,2.65,3.04,3,3.4,3.79,3.83,3.44,3.24,3.42,3.88,4.6,5.14,5.59,6.18,6.69,2.58,0.15,-1.04,-3.28,-3.85,-2.79,-2.84,-2.11,-2.62,-2.25,-0.15,1.26,1.46,-0.43,-1.1,-2.99,-0.02,0.94,0.54,1.08,-0.29,-2.87,-2.72,-1.69,-1.91,-1.87,-1.69,-1.87,-2.22,-2.68,-3.37,-3.46,-3.23,-2.91,-1.9,-0.54,-0.31,0.94,2.09,3.09,3.28,3.46,3.74,4.5,5.65,6.61,6.61,5.84,5.08,4.55,4.33,4.61,4.92,5.13,5.08,4.26,-0.13,-4.37,-4.9,-4.59,-5.17,-5.63,-5.52,-3.52,-2.69,-2.26,-1.63,-1.66,-1.12,0.46,-0.34,0.66,1.54,1.91,2.68,3.46,3.84,4.86,5.54,5.9,-3.63,-4.87,-4.55,-5.51,-6.29,-5.87,-5.47,-5.16,-4.85,-5.35,-5.17,-5.49,-5.04,-5.18,-5.37,-5.64,-6.54,-7.43,-4.56,-3.69,-2.85,-2.67,-2.28,-1.11,-0.01,0.26,1.58,2.42,3.06,2.99,2.69,2.09,1.19,0.11,-1.39,-0.53,0.7,1.05,1.34,2.67,2.13,2.5,3.84,4.13,3.13,3.09,2.42,1.56,1.4,1.58,1,-0.15,-1.01,-2.8,-1.51,0.1,3.03,6.06,6.03,6.03,6,5.73,5.98,6.47,7.06,7.37,7.47,7.14,6.34,4.78,2.75,1.72,1.22,0.87,1.14,1.6,1.63,0.77,-1.24,-2.17,-2.64,-2.94,-2.8,-1.57,-0.61,1.01,-2.48,-4.45,-3.02,-1.73,-1.66,-1.93,-1.26,-0.4,0.66,0.91,-1.12,-1.33,-0.88,-0.2,0.27,0.29,-0.09,0.31,1.74,2.94,3.71,4.38,4.01,4.44,3.97,3.47,3.11,3.51,3.63,2.89,2.4,1.88,0.89,0.21,1.25,3.38,5.02,2.53,-4.6,-7.12,-6.3,-6.41,-5.98,-5.22,-5.31,-5.01,-5.14,-5.39,-4.67,-3.84,-3.16,-2.51,-2.8,-3.74,-3.27,-2.03,-0.76,-0.31,-1.97,-1.98,-1.57,-1.24,-0.59,-0.49,-1.18,-1.1,-0.63,0.09,0.64,1.14,0.03,-0.34,0.02,1.54,2.85,3.1,2.87,2.66,2.51,2.21,2.02,2.15,2.34,2.37,3.04,3.28,2.79,2.12,2.01,2.58,3.13,3.83,4.3,4.49,4.65,4.93,5.48,6.17,6.91,7.47,8.07,8.76,9.17,9.3,8.99,9.5,1.59,-2,-1.9,0.77,2.55,0.09,-1.99,1.8,2.76,2.95,2.07,1.94,2.62,2.79,3.48,2.61,2.08,1.65,1.2,2.2,0.08,-0.68,-0.54,0.85,1.42,2,3.52,4.51,5.28,5.91,6.27,6.39,6.49,6.27,5.69,3.21,-0.58,-3.64,-5.17,-5.84,-6.27,-6.35,-6.17,-6.09,-5.67,-5.69,-5.51,-5.26,-5.03,-4.81,-4.85,-5.98,-6.64,-6.12,-5.62,-5,-5.11,-4.67,-3.67,-2.85,-2.05,-1.41,-1.46,-1.06,-0.77,-0.75,-0.53,-0.12,0.39,0.94,1.3,0.84,1.34,1.84,2.18,2.26,1.93,2.46,2.52,2.45,2.41,2.68,2.93,3.18,3.67,4.58,5,6.21,6.36,-0.13,-1.6,-3.05,-2.16,-2.47,-1.22,-2.37,-2.55,-2.16,-1.68,-1.49,-2.4,-1.05,-4.2,-4.46,-1.53,0.02,0.66,1.41,2.32,2.82,0.48,-2.82,-3.21,-2.69,-2.27,-1.68,-1.36,-2.26,-3.09,-3.73,-3.74,-3.05,-1.77,-1.21,-0.45,0.31,1.26,1.66,2.07,2.73,3.27,4.43,5.73,6.32,6.61,6.73,6.55,6.2,5.81,5.48,5.36,5.4,5.2,4.58,4.01,-0.07,-5.35,-6.72,-6.83,-7.35,-7.05,-4.93,-4.42,-3.92,-3.01,-2.47,-1.88,-0.88,0.42,1.18,1.11,1.31,2.07,2.21,2.41,3.32,4.43,5.52,6.35,-1.88,-4.26,-4.03,-6.2,-5.95,-5.12,-5.36,-4.96,-5.86,-6.08,-5.82,-5.72,-5.6,-5.95,-6.1,-6.74,-7.65,-5.21,-3.46,-4.28,-3.48,-2.77,-1.22,-0.64,0.02,1.21,2.62,3.85,4.51,3.38,1.25,0.61,-0.89,-1.28,-0.17,0.28,0.77,0.4,1.14,1.01,1.18,4.06,4.47,2.15,2.73,3.26,2.58,1.48,1.75,1.85,-0.38,-2.06,-2.24,-1.82,-0.54,2.24,6.75,6.15,6.18,6.06,5.64,6.01,6.37,6.52,6.63,6.92,7.18,6.87,6.32,5.38,3.63,1.92,0.78,0.25,-0.03,-0.06,-0.07,-0.31,-1.73,-2.95,-4.42,-4.9,-4.11,-2.66,-1.41,-1.08,-4.18,-3.74,-2.87,-2.47,-3.08,-1.16,-0.05,-0.2,-0.69,-2.28,-3.4,-2.46,-0.49,0.57,-0.09,-0.83,0.26,1.82,2.51,2.95,3.37,4.48,5.57,5.02,4.27,4.73,4.94,4.61,3.91,2.42,1.03,0.5,0.64,-0.34,-1.67,-0.67,1.73,4.48,0.67,-6.95,-8.08,-7.36,-7.34,-6.56,-6.31,-5.87,-5.72,-5.98,-5.37,-4.62,-3.77,-2.89,-3.87,-4.94,-3.63,-1.8,-1.34,-2.14,-2.21,-1.73,-1.21,-0.58,-0.29,-0.21,-0.31,-0.31,-0.06,0.33,0.31,-0.31,-0.03,0.64,1.36,1.87,2.29,2.08,1.7,2.4,2.13,1.94,2.22,2.29,2.6,2.83,2.95,2.5,2.1,2.13,2.59,3.38,3.89,4.23,4.51,4.61,5.08,5.72,6.31,6.99,7.44,7.87,8.59,9.18,9.4,8.68,7.96,1.54,-2.38,0.23,1.8,0.07,-0.83,-2.23,1.56,1.37,2.32,3.03,1.83,2.34,3.1,3.52,4.19,2.1,0.85,0.52,1.49,1.92,-1.04,-0.09,1.02,2.35,3.75,4.75,5.7,6.28,6.53,6.69,6.83,7.05,7.15,6.89,6.65,5.81,2.81,-1.38,-4.51,-5.77,-6.23,-6.62,-6.87,-7.16,-6.93,-6.34,-6.08,-6.02,-5.75,-5.52,-5.95,-6.93,-6.89,-6.41,-5.77,-5.35,-4.76,-4.48,-3.77,-2.85,-2.39,-1.93,-1.44,-1.13,-0.95,-0.75,-0.63,-0.69,-0.29,0.47,-0.46,0.05,0.71,1.18,1.26,0.82,0.44,0.38,1.07,1.45,1.84,2.08,2.51,2.73,2.74,3.62,4.31,5.25,2.13,0.46,-1.68,-2.81,-2.44,-1.31,-1.39,-1.96,-2.46,-3.77,-3.07,-2.16,-3.4,-7.69,-5.06,-2.94,-1.07,0.3,0.86,1.21,2.22,3.25,2.41,0.26,-2.55,-2.34,-2.19,-1.57,-1.64,-1.95,-2.55,-4.21,-3.84,-2.52,-1.98,-0.74,0.21,0.97,0.7,1.35,1.83,2.8,3.83,4.65,5.42,6.24,6.71,6.72,6.33,5.88,5.65,5.6,5.34,4.58,3.84,2.88,2.08,-2.36,-6.69,-7.88,-8.14,-8.23,-7.68,-6.07,-4.87,-4.3,-4.8,-3.52,-2.05,-1.14,-0.05,0.42,0.61,1.19,1.83,2.39,2.96,3.48,4.37,5.11,6.43,2.88,-3.62,-5.47,-7.26,-6.9,-6.33,-5.67,-5.19,-6.48,-6.45,-6.79,-6.29,-6.08,-6.36,-7.15,-7.96,-8.54,-2.61,-3.24,-3.01,-3.29,-3.02,-2.27,-0.72,1.48,2.5,4.4,4.62,2.94,0.73,0.01,-0.06,-1.04,-0.99,-1.2,-0.68,-0.21,0.14,0.28,0.22,1.67,2.37,2.45,3.02,3.77,3.6,2.72,2.45,1.64,-1.51,-1.28,-0.06,-0.81,0.03,2.41,5.22,5.93,5.61,5.8,5.59,6.46,7.09,7.82,8.02,7.66,7.15,6.82,6.62,6.29,5.64,4.25,2.33,0.47,-0.66,-0.97,-1.25,-1.63,-1.96,-3.17,-4.7,-5.02,-6.39,-5.11,-3.13,-2.13,-3.1,-5.24,-5.21,-4.15,-2.78,-1.82,-1.96,-1.5,-2.41,-2.28,-3.79,-3.03,-1.36,-0.24,-0.29,-0.28,0.26,0.9,1.52,2.48,3.25,3.72,4.83,5.07,4.4,5.66,6.19,5.46,6.07,6.1,2.49,1,0.26,-0.31,0.41,0.21,-1.06,-3.12,-1.42,2.32,-0.23,-7.26,-8.14,-7.81,-8.39,-7.5,-6.8,-6.44,-6.12,-5.98,-5.33,-4,-3.41,-4.19,-4.72,-4.37,-3.04,-2.55,-3.27,-3.24,-2.94,-2.32,-1.5,-1.33,-1.27,-0.85,-0.67,-0.51,-0.78,-1.69,-1.48,-0.64,0.62,1.25,1.16,0.95,1.38,3.21,2.5,1.4,0.6,1.15,1.35,1.99,2.26,2.45,2.45,2.57,2.95,3.28,3.46,4.04,4.47,4.74,5,6.08,6.29,6.93,7.34,7.66,8.3,9.1,9.43,8.55,7.28,0.9,-1.34,0.9,0.32,-5.77,-3.66,-0.46,-2.5,-0.87,0.37,1.13,1.61,2.25,2.44,2.47,3.08,3.52,0.62,0.39,0.43,1.5,1,1.12,1.8,2.68,3.69,4.54,5.09,5.47,5.53,5.53,5.72,6.12,6.82,7.31,7.24,6.93,6.46,5.84,3.33,-1.82,-5.25,-6.09,-6.41,-7.57,-8.12,-8.03,-7.73,-7.55,-7.19,-6.94,-6.68,-6.94,-7.46,-7.51,-6.97,-6.16,-5.52,-5.1,-4.7,-4.14,-3.54,-2.91,-2.26,-1.81,-1.7,-1.39,-1.18,-1.12,-1.15,-0.93,-0.98,-0.74,0.41,1.26,0.62,0.28,0.04,-0.08,-0.46,-1.32,-0.64,0.29,0.99,1.55,2.23,2.12,2.28,2.67,3.77,1.12,-1.13,-2.51,-3.82,-3.55,-4.27,-2.61,-3.94,-2.63,-2.73,-2.53,-8.14,-7.04,-5.45,-3.52,-1.97,-0.62,-0.36,-0.06,0.68,2.27,2.72,2.55,3.01,1.83,-0.1,-0.97,-1.39,-2.06,-1.64,-3.16,-4.19,-2.68,-2.56,-1.81,-0.62,0.48,0.59,0.67,1.03,1.9,2.65,3.3,4.48,5.89,6.67,7.02,7.27,7.3,7.1,7.16,7.13,6.37,4.96,3.45,2.28,0.72,-5.08,-9.4,-10.12,-9.68,-9.9,-7.75,-5.89,-4.72,-4.4,-3.09,-3.09,-2.17,-1.06,-0.65,-0.21,0.36,1.02,1.58,2.07,3.1,3.87,4.44,5.02,5.54,6.86,1.22,-6.13,-7.11,-7.56,-5.77,-4.4,-5.81,-6.8,-7.56,-7.25,-6.13,-5.8,-7.11,-8.11,-9.19,-5.16,-3.05,-2.74,-2.8,-2.28,-2.12,-1.35,0.13,1.73,3.63,3.44,1.2,-0.81,-0.83,-0.44,-0.62,-2.27,-2.04,-1.68,-1.28,-0.36,-0.02,-0.25,1.4,2.53,2.76,2,2.35,3.02,2.55,1.67,1.39,0.27,-0.45,0.15,0.22,0.09,3.18,6.02,6.64,5.26,5.06,6.01,6.57,7.15,7.88,8.3,8.1,7.66,7.52,7.33,6.85,6.15,5.4,4.17,2.38,0.79,-1.05,-2.15,-2.77,-3.28,-3.56,-4.5,-6.43,-7.34,-6.84,-5.17,-3.97,-2.89,-4.53,-6.54,-5.25,-3.76,-2.39,-2.33,-2.17,-3.39,-4.16,-4.88,-3.03,-1.65,-1.21,-0.93,-0.77,0,1.1,0.19,0.3,2.59,2.83,3.5,4.78,4.18,5.39,5.85,4.15,3.94,6.01,6.41,5.22,4.54,2.89,0.89,-0.13,1.18,4.32,4.44,1.77,-0.95,0.2,-1.42,-7.82,-8.43,-8.57,-9.04,-8.08,-7.55,-6.46,-5.86,-5.84,-4.66,-4.49,-4.42,-4.21,-3.78,-3.25,-3,-4.22,-4.1,-3.14,-2.8,-2.16,-1.21,-0.88,-0.82,-1.17,-1.6,-3.1,-2.4,-0.83,-0.55,0.16,0.69,0.84,1.94,3.9,2.83,1.9,0.16,0.59,0.47,0.69,1.87,2.44,2.59,2.43,2.49,3.14,3.52,3.77,4.23,4.78,5.09,5.7,6.56,6.55,7,7.32,7.87,8.8,9.29,8.41,5.82,-0.76,-1.05,-0.42,-1.05,-3.25,-3.97,-1.6,-5.05,-3.43,-1.94,-0.29,0.66,1.3,1.52,1.35,1.43,1.12,1.86,0.57,0.7,1.71,2.65,2.28,2.44,2.8,3.37,4.1,4.57,5.08,5.33,5.32,5.26,5.19,5.35,5.84,6.39,6.62,6.54,6.15,5.68,6.01,5.05,-1.01,-6.81,-7.51,-8.08,-9.04,-9.24,-9.08,-8.77,-8.57,-8.23,-7.96,-8.02,-8.04,-7.83,-7.32,-6.48,-5.9,-5.54,-5.05,-4.5,-3.9,-3.35,-2.63,-1.99,-0.97,0.56,1.09,0.29,-0.6,-0.68,-0.84,-0.61,0.5,1.77,1.62,1.4,2.05,3.52,3.18,1.6,-0.03,-0.65,-0.46,0.27,0.73,0.13,-0.24,0.48,0.73,0.95,-0.09,0.11,-0.78,-0.23,1.6,0.31,-0.5,-2.93,-6.95,-6.06,-5.67,-4.34,-3.59,-2.33,-1.21,-1.71,-1.64,-1.17,0.05,1.32,2.19,2.99,3.77,4.11,3.8,2.25,-0.05,-1.01,-2.51,-4.43,-3.92,-3.65,-3.09,-1.25,-0.62,-0.38,-0.31,0.24,0.9,0.57,1.5,3.35,5.15,6.35,7.03,7.21,7.18,7.36,7.89,8.22,7.58,6.25,4.41,2.88,1.28,-1.24,-8.54,-11,-10.08,-10.11,-9.47,-7.7,-5.93,-4.52,-3.37,-3.21,-3.17,-2.07,-1.44,-1.12,-0.7,-0.42,-0.16,0.71,1.64,2.79,3.79,4.26,4.59,5.19,6.18,4.62,-6.14,-7.87,-8.26,-6.87,-5.82,-5.66,-6.53,-7.12,-6.68,-6.61,-7.32,-8.19,-9.17,-4.42,-3.34,-3.17,-3.17,-3.13,-2.84,-2.49,-0.99,0.41,2.38,4.25,2.66,1.39,1.24,1.96,1.73,-0.61,-2.19,-1.42,-0.35,-0.81,-0.56,-0.94,1.08,1.2,2.02,1.96,2.35,3.13,1.81,0.94,0.57,0.28,-1.09,-0.74,0.45,3.39,6.17,6.65,5.59,5.86,6.67,6.52,6.92,7.89,8.25,8.15,8.02,7.65,7.83,7.79,7.2,6.15,5.22,4.6,3.45,1.93,0.52,-1.09,-2.6,-3.84,-4.72,-5.15,-6.83,-8.23,-8.04,-6.18,-5.64,-5.23,-3.98,-5.1,-6.16,-4.95,-3.53,-3.75,-4.36,-3.31,-5.02,-5.43,-3.97,-2.36,-1.72,-1.29,-1.11,0.27,1.44,0.95,0.6,1.81,2.39,3.22,3.61,3.07,4.31,5.15,3.27,3.24,5.51,7.06,5.37,4.35,4.19,3.31,2.35,2.05,3.39,4.31,4.16,4.4,4.73,3.49,2.05,-1.77,-8.43,-10.09,-10,-9.63,-8.6,-7.32,-6.55,-6.2,-5.24,-4.77,-4.94,-4.75,-4.43,-3.5,-4.11,-5.04,-3.89,-3.45,-3.5,-3.36,-2.44,-1.53,-0.64,-1.22,-3.49,-2.81,-1.85,-1.79,-1.01,-0.13,0.44,2.09,3.8,4.03,2.24,1.11,0.31,-0.51,-0.46,0.95,0.07,1.49,2.23,2.69,3.18,3.51,3.91,4.15,4.44,4.83,5.02,5.58,6.16,6.26,6.7,7.24,7.97,8.71,7.84,3.37,0.13,-0.3,-1.71,-1.68,-5.55,-4.62,-3.67,-4.59,-3.65,-3.07,-1.99,-1.27,-0.47,0.31,0.65,1.38,0.57,0.8,0.93,1.75,2.44,2.61,2.53,2.85,3.15,3.92,4.08,4.32,4.79,4.9,4.83,4.71,4.66,4.9,4.94,4.89,4.79,4.88,5.19,5.34,5.28,4.92,5.59,6.29,-0.32,-9.32,-9.74,-9.27,-10.01,-9.7,-9.7,-9.71,-9.26,-9.12,-9.09,-8.74,-8.2,-7.46,-6.79,-6.24,-5.76,-5.32,-4.86,-4.51,-4.83,-4.82,-3.01,-0.84,-0.03,-0.33,-0.61,-2.51,-2.9,-1.61,0.37,1.18,1.36,1.65,1.59,0.98,1.41,3.48,5.04,4.9,4.81,4.6,3.48,1.47,-1.31,-4.02,-1.87,-1.54,-1.23,-1.44,-1.15,-0.88,-1.15,-0.11,-0.38,-3.28,-3.56,-3.78,-3.56,-3.51,-3.81,-2.58,-2.69,-3.55,-2.96,-1.89,-0.94,0.22,1.51,2.37,3.18,3.58,3.96,4.26,3.98,2.89,0.64,-3.22,-5.08,-5.36,-5.35,-3.02,-2.12,-1.74,-1.38,-0.77,-1.35,-2.28,-0.39,1.84,4.51,5.49,6.41,7.22,7.82,8.44,8.8,9.31,9.86,8.64,6.61,2.96,-0.13,-0.74,-3.42,-6.49,-7.63,-8.17,-8.75,-7.8,-6.01,-4.31,-3.27,-3.43,-3.65,-3.2,-2.53,-2.02,-1.73,-1.2,-0.82,-0.31,0.56,1.45,2.04,3.04,3.74,4.24,5.24,5.84,6.47,-3.38,-8.13,-8.5,-7.69,-5.77,-5.14,-7.42,-7.67,-6.7,-5.71,-7.81,-5.17,-1.88,-2.66,-3.26,-4.09,-4.98,-5.17,-4.34,-3.2,-1.51,0.11,1.84,2.44,2.96,3.06,3.19,3.7,3.21,-0.38,-2.22,-1.28,0.13,0.69,0.2,0.5,1.57,1.79,1.98,1.75,2.65,1.96,0.72,0.35,-0.12,-1,-0.59,1.25,5.75,6.68,5.42,6.12,6.71,6.59,7.49,8.22,7.82,7.86,8.25,8.29,7.94,7.99,8.26,7.95,7.39,6.48,5.2,4.16,3.26,2.06,0.69,-1.34,-3.69,-5.38,-5.85,-7.11,-9.32,-8.58,-7.35,-6.58,-6.87,-6.19,-4.96,-6.62,-5.89,-5.04,-6.21,-5.33,-4.25,-4.92,-5.76,-5.38,-3.14,-2.06,-1.05,-1.13,-0.71,0.15,1.29,1.94,1.57,1.04,2.09,2.92,2.96,3.72,4.32,4.53,3.9,5.09,6.38,6.54,5.19,3.73,3.7,3.27,2.73,2.76,3.48,4.17,3.93,2.61,1.53,1.45,1.5,-0.05,-3.83,-9.72,-11.11,-10.55,-9.66,-8.49,-7.33,-6.26,-5.69,-5.67,-6.02,-5.96,-5.5,-4.83,-5.42,-4.95,-4.52,-3.73,-3.41,-3.43,-2.94,-2.18,-1.25,-2.99,-3.48,-2.75,-2.62,-2.43,-1.14,-0.01,1.21,2.05,3.24,4.55,1.1,-0.69,0.07,0.1,-0.2,-1.58,-0.84,-0.15,0.56,1.28,2.84,4.01,4.26,4.31,4.39,4.51,4.75,5.18,5.65,5.84,6.43,7.26,8.42,7.53,2.08,0.07,-1.69,-1.02,-2.88,-3.59,-2,-2.47,-4.43,-3.94,-3.5,-2.97,-2.09,-1.41,-1.44,-0.96,-0.52,0.03,-0.9,-1.46,0.48,1.22,1.76,1.74,2.19,2.91,3.4,4.25,5.05,5.29,5.11,5.02,4.63,4.3,4.23,4.2,4.26,4.24,4,3.95,4.15,4.43,4.63,4.65,4.37,5.05,5.47,-1.07,-10.32,-10.21,-9.33,-10.39,-10.4,-10.07,-10.16,-10.07,-9.48,-8.62,-7.78,-7.34,-7.03,-6.65,-6.1,-6.58,-7.88,-7.61,-6.42,-4.44,-3.36,-2.27,-1.68,-1.88,-3.2,-2.99,-1.73,-0.18,0.86,1.83,2.4,2.19,1.86,2.18,2.28,3.09,4.58,5.17,5.52,5.88,6.26,5.31,0.72,-4.24,-3.45,-2.5,-1.28,-0.75,-0.53,-0.7,-0.68,-1.14,-1.45,-1.44,-1.62,-2.33,-2.93,-3.49,-4.07,-4.31,-4.34,-3.58,-2.57,-1.47,-0.56,0.45,1.33,2.01,2.57,3.21,3.76,4.16,4.38,3.76,1.82,-2.95,-6.25,-6.59,-4.98,-3.56,-3.07,-2.73,-2.39,-4.04,-4.36,-2.7,-0.17,2.69,4.53,5.45,6.39,7.34,7.92,8.57,9.47,10.74,11.58,11.09,10.17,6.68,0.54,-2.93,-5.66,-7.31,-4.73,-3.52,-3.72,-3.88,-2.99,-2.18,-1.98,-1.88,-2.15,-2.24,-2.8,-3.36,-3.12,-2.29,-1.3,-0.35,0.43,1,1.49,2.39,3.39,3.63,4.36,5,5.73,-1.32,-8.69,-9.23,-8.22,-5.66,-6.19,-8.13,-7.47,-5.54,-5.86,-9.51,-8.21,-5.72,-5.33,-7.17,-7.4,-6.99,-5.51,-4.14,-2.96,-1.61,0.08,0.89,1.45,2.12,2.75,3.07,3.54,3.9,2.11,1.29,0.27,-0.78,-0.16,0.47,1.43,1.62,1.93,2.21,2.41,2.63,0.48,-0.45,0.1,0.63,0.04,2.71,6.45,5.74,6.2,6.72,6.27,7.13,8.58,8.14,8.75,8.96,8.48,8.25,8.58,8.37,8.16,7.93,7.64,7.27,6.82,5.64,3.89,2.92,1.53,0.8,-1.13,-3.65,-5.72,-6.75,-8.89,-9.52,-8.61,-7.7,-7.54,-8.06,-6.88,-6.09,-6.51,-5.44,-6.76,-6.47,-5.67,-5.9,-6.24,-5.84,-4.68,-3.43,-1.37,-0.38,-0.98,-1.4,0.06,2.14,2.15,0.56,0.25,0.92,1.55,2.1,3.48,4.15,3.95,4.09,5.01,5.85,6.76,4.5,2.78,3.46,4.06,3.66,3.5,3.3,3.94,5.65,5.47,3.38,0.07,-2.4,-3.27,-3.57,-7.41,-11.94,-12,-11.12,-9.3,-7.9,-7.5,-7.11,-7.1,-6.74,-6.62,-6.41,-5.59,-5.01,-4.64,-4.33,-4,-3.59,-3.27,-2.96,-2.72,-2.41,-2.44,-2.94,-3.32,-3.11,-2.02,-0.36,0.04,0.72,1.5,2.15,2.74,0.32,-0.73,0.16,0.54,0.2,0.56,1.05,1.42,1.71,1.38,2.15,3.24,3.56,3.76,3.99,4.18,4.2,4.33,4.64,5.13,6.15,7.53,6.9,1.27,-0.22,-2.71,2.23,-3.26,-3.47,-3.57,-4.43,-4.73,-4.42,-3.98,-3.62,-3.38,-2.6,-1.4,-3.07,-2.85,-2.46,-1.57,-0.85,-0.12,1.11,1.94,2.13,2.02,2.79,4.08,4.42,4.32,4.77,5.44,5.58,5.54,5.52,5.23,4.44,4.56,4.63,4.13,3.43,2.88,2.92,3.4,3.83,3.72,3.64,3.43,3.69,3.81,-3.3,-10.71,-9.85,-10.21,-11.31,-11.52,-11.33,-10.57,-9.24,-8.16,-7.4,-7.03,-7.48,-7.94,-8.93,-9.34,-8.67,-7.29,-6.55,-6.27,-4.98,-4.41,-3.69,-4.27,-3.27,-2.14,-1.11,-0.1,0.79,1.32,1.51,1.96,2.62,3.09,3.7,4.53,5.24,5.58,5.64,5.18,4.55,4.1,3.67,2.03,-0.42,-1.34,-1.36,-1.75,-2.26,-2.47,-2.58,-2.74,-2.55,-2.35,-2.49,-2.76,-3.85,-5.13,-5.16,-4.9,-4.39,-3.56,-2.84,-1.5,-0.61,0.04,0.74,1.51,2.48,3.25,3.84,3.89,3.49,3.45,2.19,-2.25,-6.64,-7.29,-6,-4.72,-4.03,-4.55,-6.67,-6.27,-4.45,-2.25,0.26,2.29,3.33,4.38,5.23,6.04,7.03,7.81,8.47,9.25,10.31,10.58,10.09,8.03,3.38,-2.62,-5.08,-5,-3.35,-2.63,-2.05,-1.64,-1.74,-1.52,-1.4,-1.3,-1.39,-1.98,-2.99,-3.95,-3.87,-2.94,-1.91,-0.98,-0.25,0.64,1.46,2,2.78,3.06,3.66,4.47,5.37,-2.85,-10.24,-10.11,-8.59,-6.62,-7.62,-7.67,-7.27,-5.58,-7.1,-8.36,-8.35,-8.28,-8.73,-8.23,-7.26,-5.97,-5.27,-4.4,-3.26,-1.92,-0.87,-0.09,0.66,1.26,2.86,3.19,3.52,3.99,3,1.74,0.5,-1.02,-1.38,1.22,1.86,2.33,2.6,1.91,1.91,0.25,0.03,0.04,0.81,0.38,5.27,7.11,4.72,5.99,5.85,6.83,7.82,7.94,8.76,8.82,9.75,9.79,9.32,8.6,8.77,8.67,8.32,7.47,7.3,6.98,6.05,4.93,3.16,1.03,1.76,0.96,-2.23,-3.7,-6.36,-9.16,-9.96,-9.68,-8.71,-7.16,-7.94,-8.02,-6.89,-5.34,-5.67,-7.16,-7.65,-6.99,-6.69,-7.05,-6.47,-5.17,-4.19,-3.46,-2.75,-1.24,-0.7,-0.16,0.94,1.75,2.31,2,-1.89,-1.19,0.46,1.12,2.25,3.39,3.5,3.86,5.34,6.32,3.75,1.52,3.41,4.27,4.42,4.95,4.81,4.92,5.47,6.33,6.82,4.5,0.63,-3.06,-5.7,-7.3,-9.26,-12.9,-13.06,-12.01,-10.61,-9.36,-9.07,-8.28,-7.33,-7.19,-6.91,-6.25,-5.79,-5.19,-4.58,-4.23,-4.04,-3.64,-3.23,-2.97,-3.01,-2.87,-2.46,-2.59,-2.8,-2.07,-0.55,-0.13,-0.66,-0.87,0.26,1.11,0.99,0.53,0.66,0.86,0.56,0.09,0.56,0.82,0.48,1.21,1.69,2.13,2.24,2.05,2.08,2.47,3.11,3.36,3.18,2.98,4.02,5.99,4.27,0.69,-2.16,-0.69,-0.18,-0.85,-4.08,-4.5,-4.92,-4.97,-4.83,-4.74,-4.54,-3.97,-3.7,-3.14,-3.71,-4.12,-3.67,-2.74,-2.25,-0.69,1.27,2.18,2.39,3,3.4,3.65,3.39,3.67,4.12,4.63,4.94,4.98,5.06,5.38,5.51,4.95,4.68,4.65,4.06,3.39,3.06,2.8,2.62,2.7,2.97,3.2,3.65,4,4.97,4.37,-4.75,-11.81,-10.72,-12.05,-12.97,-12.17,-11.02,-9.52,-8.98,-8.43,-8.83,-9.41,-9.81,-9.83,-9.02,-8.98,-8.66,-8.04,-6.67,-6.13,-5.39,-5.24,-4.16,-3,-1.6,-0.53,0.06,0.5,1.11,1.71,2.28,3.08,3.7,4.3,4.97,5.56,5.76,4.99,4.02,3.29,2.88,2.7,3.12,2.87,1.57,0.01,-1.89,-3.18,-3.6,-3.41,-3.32,-3.5,-3.74,-4.31,-4.92,-5.48,-5.58,-5.72,-5.11,-4.63,-3.57,-2.27,-1.1,0.04,1.36,2.59,3.38,3.99,4.52,4.63,4.22,3.74,2.54,0.73,-4.01,-8.49,-8.12,-6.75,-5.7,-6.52,-8.66,-7.75,-5.68,-4.31,-2.71,-0.6,1.07,2.35,3.86,5.09,5.95,6.52,6.95,7.52,8.03,8.51,8.9,8.51,8.02,7.62,4.54,2.65,2.68,2.37,1.24,0.59,0.26,0.11,-0.1,-0.41,-0.65,-0.89,-2.02,-3.46,-4.13,-3.99,-3.66,-2.92,-1.73,-0.53,0.44,1.36,1.62,1.81,1.99,2.76,2.94,3.63,-6.83,-10.29,-10.23,-8.61,-7.72,-7.83,-7.25,-6.64,-7.42,-7.14,-7.12,-8.73,-7.94,-8.38,-7.56,-6.68,-5.79,-5.14,-4.51,-3.78,-3.02,-1.78,-0.28,0.84,1.26,1.52,1.69,2.12,2.46,2.33,2.09,2.01,1.24,-0.82,0.81,1.99,2.62,1.82,1.68,0.86,0.44,0.71,0.41,2.87,6.77,6.13,5.61,6,7.19,7.46,6.97,8.04,8.73,9.86,9.26,9,9.57,10.02,9.57,9.05,8.52,8.12,7.29,6.55,5.71,5.05,3.98,2.54,0.49,-0.03,-1.55,-2.91,-4.79,-8.67,-10.82,-11.16,-10.06,-9.17,-8.1,-7.26,-7.14,-5.86,-5.39,-6.46,-7.88,-8.32,-8.26,-7.8,-7.18,-5.86,-4.11,-2.45,-3.18,-2.62,-1.63,-0.41,1.17,1.98,1.48,2.66,2.31,-1.05,-0.96,0.13,-0.44,-0.04,2.16,3.28,4.74,6.06,3.43,3.2,3.85,4.3,5.03,5.84,6.11,6.75,7.32,7.72,7.99,5.85,1.88,-2.82,-6.34,-7.97,-9.94,-10.97,-13.08,-14,-12.78,-11.44,-10.26,-9.59,-9.48,-8.6,-7.88,-7.6,-7.23,-6.62,-6.05,-5.46,-4.94,-4.83,-4.7,-4.33,-3.81,-3.35,-3.05,-2.74,-2.6,-2.43,-1.95,-1.43,-1.44,-1.72,-1.59,-1.41,-0.69,0.01,0.38,0.43,0.35,0.57,0.89,1.62,1,1.53,2.93,3.88,4.32,3.21,1.65,1.16,1.08,1.49,1.62,1.36,1.06,3.98,1.17,-0.86,-4.42,-3.13,0.97,2.6,-2.63,-4.58,-4.22,-4.61,-4.4,-4.26,-4.48,-4.24,-4.49,-4.63,-4.6,-5.44,-5.68,-5.13,-4.03,-1.52,0.41,1.69,1.83,1.67,2.12,2.53,3.06,3.68,4.43,4.89,5.24,5.36,5.76,5.71,5.89,5.84,4.73,4.07,4.11,3.58,2.68,2.39,2.52,2.86,3,2.72,2.76,3.24,3.56,3.75,4.96,3.2,-8.54,-12.77,-13.07,-14.32,-14.04,-12.78,-11.78,-11.48,-10.09,-10.26,-10.59,-10.23,-9.66,-9.67,-9.37,-8.65,-7.78,-6.98,-6.23,-6.11,-4.93,-3.53,-2.18,-1.05,-0.51,-0.26,0.26,1.11,1.9,2.98,3.84,3.89,3.27,4.41,4.33,3.82,3.39,3.31,3.26,3.11,2.75,2.29,2.03,1.6,1.38,-0.21,-2.14,-3.4,-3.92,-4.09,-4.76,-5.36,-5.57,-6.02,-6.48,-6.36,-5.76,-5.19,-4.09,-2.83,-1.97,-0.31,1.43,2.43,3.25,4.02,4.56,4.78,4.63,4.17,2.8,1.24,-1.12,-7.13,-9.86,-9.05,-7.74,-8.2,-10.33,-8.81,-7.19,-5.82,-4.57,-2.78,-0.6,1.53,3.26,4.64,5.42,5.97,6.67,7.09,7.15,6.94,6.78,6.58,6.36,5.91,5.37,4.7,4.08,3.63,3.04,2.12,1.27,0.6,0.01,-0.35,-0.58,-0.91,-1.5,-2.73,-3.93,-4.29,-4.25,-3.75,-2.9,-1.63,-0.65,0.01,0.79,1.04,1.05,0.94,1.89,0.97,0.57,-9.25,-10.36,-10.23,-9.22,-9.13,-7.99,-6.97,-7.32,-6.05,-5.9,-7.68,-9.12,-9.36,-8.41,-7.29,-6.52,-5.89,-5.1,-4.38,-3.37,-2.08,-0.8,0.25,0.73,0.74,0.52,0.6,0.69,0.99,0.5,0.38,1.9,2,-0.04,-0.52,-0.18,0.22,0.04,-0.33,-0.16,-1.33,-0.54,3.15,4.87,4.59,6.18,7.4,7.25,7.19,7.78,7.99,8.91,8.83,9.44,10.03,9.89,9.45,9.43,9.25,8.96,7.95,7.36,6.41,5.95,4.79,3.79,3.34,0.65,-0.3,-1.64,-2.82,-5.41,-7.3,-10.31,-11.75,-11.44,-10.69,-9.46,-8.6,-7.75,-7.09,-6.43,-6.27,-7.4,-8.16,-8.8,-8.29,-7.77,-6.59,-5.12,-4.49,-3.76,-2.89,-2,-1.19,-0.67,0.27,0.9,1.06,1.45,1.93,-0.03,-0.97,0.47,-0.74,-1.89,0.83,2.68,3.71,3.99,4.01,4.12,4.45,5.06,6.05,6.37,7.58,8.91,9.65,11.91,11.04,3.23,-3.55,-7.3,-8.87,-9.56,-10.61,-11.29,-12.58,-13.57,-13.29,-12.04,-10.71,-9.65,-9.31,-9.5,-9.08,-8.4,-7.76,-7.25,-6.76,-6.11,-5.51,-5.33,-5.41,-5.33,-5.07,-4.44,-3.93,-3.87,-3.86,-3.52,-3.23,-3.02,-3.02,-3.27,-3.14,-2.6,-1.79,-1.01,-0.57,-0.4,-0.32,-0.13,-0.35,-0.48,0.04,1.22,2.12,3.2,3.78,2.96,2.45,1.66,1,0.22,-0.14,-0.95,-3.05,-0.8,-0.5,-1.64,-0.87,0.25,1.01,1.01,-2.34,-5.03,-5.93,-6.62,-5.75,-5.88,-6.11,-5.55,-5.55,-8.18,-7.69,-6.97,-6.67,-5.28,-2.57,-0.49,0.88,1.22,1.3,1.32,2.25,3.66,4.48,4.92,4.76,4.59,5.35,5.55,5.89,6.05,6.28,5.65,3.99,2.27,1.35,1.28,1.39,1.57,1.95,2.17,2.83,3.6,4.01,3.93,3.96,3.27,2.26,2.83,-4.79,-13.39,-15.2,-15.83,-15.4,-14.22,-13.26,-12.14,-11.56,-11.55,-11.22,-11.02,-10.84,-9.98,-9.11,-8.46,-7.94,-7.12,-6.94,-6.06,-4.97,-3.73,-2.3,-1.38,-0.57,-0.02,0.59,0.77,1.13,1.88,3.05,4.38,4.88,4.27,3.81,3.49,3.41,3.4,3.23,2.8,2.04,1.15,0.47,0.23,0.38,-0.04,-1.39,-3.6,-4.68,-5.37,-5.39,-6.05,-7.28,-7.76,-6.84,-6.23,-5.64,-5.06,-4.19,-2.73,-0.94,0.5,2.17,3.19,3.74,4.37,4.61,5.22,5.45,4.6,3.19,1.18,-3.9,-12.1,-11.29,-10.01,-9.79,-11.47,-9.79,-8.32,-7.22,-6.02,-4.5,-2.27,0.28,2.4,3.87,4.6,5.76,7.22,7.25,7.03,6.89,6.73,6.59,6.11,5.86,5.65,5.17,4.47,3.63,2.83,2.31,1.75,1.32,0.44,-0.79,-1.95,-2.77,-3.28,-3.68,-4.14,-4.55,-4.58,-4.35,-3.46,-2.28,-1.38,-0.65,0.01,0.09,0.13,-0.04,-0.5,0.87,-0.32,-2.45,-11.18,-10.73,-10.91,-10.59,-10.01,-8.34,-7.54,-6.54,-6.3,-8.37,-9.23,-8.2,-6.59,-5.86,-7.11,-6.36,-4.98,-4.29,-3.29,-1.77,-0.72,-0.18,0.02,0.04,-0.28,-1.19,-0.94,-0.84,-0.61,-0.39,-0.3,0.56,2.22,2.8,2.66,3.06,4.14,2.34,1.57,2.3,2.93,3.08,3.55,3.45,5.09,6.26,6.69,7.23,7.61,8.19,8.74,9.49,9.64,9.35,9.31,9.58,9.9,9.7,9.17,8.63,8.17,7.47,5.55,4.19,3.24,1.55,-0.96,-1.3,-3.23,-4.17,-6.14,-6.44,-7.84,-10.1,-11.06,-10.95,-10.39,-8.84,-7.79,-6.86,-6.76,-6.86,-6.71,-7.56,-7.93,-8.59,-7.78,-7.44,-6.53,-5.43,-4.15,-2.86,-1.59,-0.65,-0.81,-1.65,-0.63,0.55,1.03,1.35,1.82,0.31,-0.34,0.58,-1.98,-2.86,-1.04,1.03,2.6,3.31,3.9,4.54,5.04,5.57,6.35,7.59,8.96,9.98,12.24,15.26,12.08,-0.92,-7.18,-8.62,-9.52,-9.99,-9.6,-9.39,-10.57,-12.86,-12.54,-11.27,-10.49,-9.28,-8.33,-7.81,-7.59,-7.44,-7.11,-6.73,-6.32,-5.72,-5.45,-5.35,-5.42,-5.52,-5.36,-5.08,-4.93,-4.69,-4.47,-4.41,-4.43,-4.34,-4.24,-4.12,-3.72,-3.04,-2.45,-1.77,-1.24,-0.94,-0.89,-1.03,-1.29,-1.23,-0.58,0.25,1.46,2.37,3.53,3.09,2.65,2.71,1.77,-0.46,-2.14,-5.78,-2.58,-1.8,-1.19,-0.07,1.53,2.12,-0.98,-2.63,-3.38,-4.37,-6.26,-8.12,-6.09,-7.76,-8.01,-7.99,-8.01,-8.17,-7.46,-6.92,-5.35,-3.35,-1.43,0.23,0.52,1.04,2.23,3.08,4.23,4.73,4.04,4.08,4.37,4.84,5.6,5.9,6.1,5.7,4.89,4.94,3.51,2.1,1.45,1.16,1,1.03,1.65,2.42,2.74,2.97,3.45,3.75,3.91,3.37,1.28,0.42,-5.42,-14.28,-16.41,-17.07,-16.87,-15.27,-14.31,-13.74,-13.71,-13.32,-12.4,-11.15,-10.18,-9.85,-9.62,-8.69,-7.7,-7.58,-6.7,-5.7,-4.82,-4.24,-3.34,-2.11,-1.46,-0.93,0,0.83,1.45,3.12,3.88,4.12,3.88,3.62,3.58,3.73,3.87,3.76,3.33,2.56,1.52,0.18,0.01,0.88,1.33,1.25,-0.05,-3.33,-5.48,-5.65,-7.09,-8.44,-8.6,-7.46,-6.73,-6.74,-6.67,-5.21,-3.47,-1.71,-0.27,1.23,1.99,3.17,4.78,5.9,6.27,5.98,5.19,3.98,2.19,-0.72,-10.37,-13.59,-11.87,-11.31,-12.66,-10.96,-9.5,-8.39,-7.26,-5.69,-2.99,-0.43,1.53,3.1,3.97,6,6.5,6.52,6.96,7.09,7.18,7.36,7.44,7.28,6.89,6.47,6.07,5.72,5.21,5.2,4.72,4.13,3.67,2.69,0.89,-1.04,-2.51,-3.8,-4.83,-5.54,-5.68,-5.14,-4,-2.74,-1.7,-1.04,-0.9,-0.98,-1.12,-1.14,-1.69,-1.43,-0.33,-1.59,-5.95,-12.39,-10.84,-10.82,-11.6,-10.76,-9.35,-7.86,-7.29,-8.01,-8.58,-7.77,-6.79,-5.49,-5.87,-6.59,-5.29,-4.46,-2.88,-1.14,-0.02,0.44,0.52,-0.31,-0.91,-1.62,-2.29,-1.51,-0.64,-0.69,-0.43,0.55,1.31,2.24,2.91,3.64,4.17,4.29,3.96,1.49,0.61,0.66,2.39,2.38,3.1,4.85,6.12,6.72,7.5,8.08,8.69,9.36,9.41,9.3,9.64,9.82,9.9,9.95,9.45,9.12,8.63,8.01,6.41,5.48,2.88,-0.32,-2.45,-1.83,-1.57,-5.85,-7.48,-7.73,-7.84,-8.91,-9.66,-10.29,-10.19,-9.14,-7.99,-6.99,-6.34,-6.83,-7.2,-6.73,-7.29,-7.59,-7.77,-7.25,-6.91,-6.2,-4.56,-2.96,-1.84,-0.87,-1.38,-1.91,-1.82,-0.2,0.82,0.87,1.2,0.1,-0.97,0,-0.31,-0.58,-3.08,-1.7,0.14,1.06,2.3,3.34,3.73,5.04,6.2,7.83,8.99,10.38,11.99,14.02,19.17,12.95,-4.14,-7.75,-8.86,-9.27,-8.95,-8.38,-8.21,-8.84,-10.87,-11.8,-10.3,-10.29,-10.28,-9.68,-9.07,-8.38,-7.96,-7.86,-7.74,-7.43,-6.75,-5.99,-5.22,-4.73,-4.52,-4.55,-4.46,-4.35,-4.29,-4.51,-4.94,-4.99,-4.91,-4.77,-4.42,-4.1,-3.57,-2.89,-2.48,-2.34,-2.1,-1.94,-1.91,-1.84,-1.56,-0.97,-0.09,1.2,2.87,3.3,3.4,3.32,3.08,2.43,-0.05,-4.03,-3.9,-3.21,-4.01,-0.51,2.37,3.16,1.21,-1.47,-3.55,-3.54,-3.73,-5.53,-5.85,-6.37,-6.58,-7.22,-7.62,-7.01,-7.07,-6.97,-5.84,-4.1,-2.25,-0.16,1.31,1.84,1.96,2.49,2.85,2.46,2.82,3.66,4.28,4.66,4.88,5.57,5.79,5.55,5.79,4.26,2.88,2.08,1.71,1.21,0.98,0.9,1.29,1.86,2.37,2.78,2.95,3.1,3.16,2.79,2.28,0.24,-0.89,-7.64,-15.24,-17.27,-18.5,-17.26,-15.95,-15.37,-15.24,-14.73,-13.86,-12.81,-11.71,-10.71,-9.96,-9.06,-8.26,-7.86,-7.26,-6.57,-5.96,-5.17,-4.34,-3.3,-2.52,-1.85,-0.69,0.93,2.4,3.57,4.23,4.65,4.85,4.6,3.91,4.04,3.83,3.34,2.75,2.11,0.99,-0.13,-1.62,-2.69,-1.67,-0.98,-0.2,0.13,-3.27,-7.06,-7.12,-7.97,-8.96,-8.81,-8.79,-8.6,-7.99,-6.38,-4.25,-2.88,-1.31,0.06,1.39,3.32,5.41,6.46,6.7,6.58,5.68,4.53,2.73,-0.94,-8.38,-12.47,-12.52,-12.26,-13.01,-11.36,-10.17,-8.93,-8.06,-6.18,-3.19,-1.1,0.08,1.53,2.52,4.99,5.53,5.87,6.43,6.83,7.34,7.56,7.84,7.64,7.03,6.69,6.63,6.73,6.65,6.3,6.15,5.97,5.65,4.99,4.25,3.04,1.27,-1.12,-3.49,-5.26,-6.24,-6.11,-5.11,-3.81,-2.65,-1.65,-1.15,-1.11,-1.52,-1.96,-2.27,-2.93,-1.88,-1.95,-2.87,-10.63,-12.58,-10.43,-11.7,-12.54,-11.52,-10.25,-9.17,-8.36,-7.67,-8.21,-8.12,-6.55,-5.42,-5.5,-4.96,-3.92,-2.49,-1.04,0.56,1.25,1.4,2.02,0.27,0.4,-2.5,-3.32,-1.34,-0.25,0.18,0.3,0.12,1.75,3.11,4.27,2.22,2.4,1.35,-0.07,-0.51,1.92,3.31,2.73,2.06,2.47,4.83,5.88,6.83,8.04,9.05,9.33,9.3,9.63,9.92,10.04,9.89,9.73,9.61,9.09,8.51,8.24,7.04,4.84,0.68,-2.02,-3.13,-3.7,-5.55,-6.1,-5.62,-6.65,-6.72,-7.65,-8.34,-8.73,-9.39,-9.42,-8.83,-7.96,-7.36,-7.07,-7.23,-7.54,-7.26,-7.39,-7.18,-7.18,-6.93,-6.65,-5.62,-4.27,-2.88,-2.03,-2.29,-2.1,-1.89,-0.82,-0.44,0.54,1.08,-0.39,-2.39,-0.99,-0.59,-0.7,-1.63,-0.89,-0.72,-1.52,-0.43,1.21,2.26,3.59,4.9,6.47,8.23,9.54,10.78,11.96,12.2,16.06,12.42,1.3,-3.81,-4.9,-5.65,-6.55,-6.67,-6.93,-7.97,-9.82,-11.42,-10.33,-9.21,-8.59,-8.3,-8.27,-7.98,-7.48,-6.76,-5.98,-5.47,-5.41,-5.63,-5.42,-5.03,-4.55,-4.37,-4.51,-4.8,-5.02,-5.06,-5.09,-5.45,-5.51,-5.1,-4.76,-4.38,-4,-3.64,-3.17,-2.6,-2.17,-1.79,-1.2,-0.84,-1.61,-1.65,-0.4,1.53,2.1,2.71,3.82,4.31,4.29,2.99,0.94,-4.18,-2.44,-3.69,-4.12,-1.75,0.97,3.4,1.17,-3.08,-4.62,-3.97,-4.47,-3.96,-4.52,-5.8,-6.57,-6.4,-6.45,-6.89,-6.96,-6.32,-4.81,-2.91,-0.93,-0.43,-0.09,0.48,1.76,2.13,1.89,2.55,3.48,3.62,3.98,4.67,4.89,4.65,4.04,3.58,4.37,4.35,3.8,3.1,1.85,1.28,1.57,1.68,1.51,1.37,1.61,2.03,2.51,2.57,1.81,0.64,-0.05,-1.44,-2.05,-10.31,-17.34,-18.53,-18.7,-17.65,-16.71,-16.4,-15.95,-15.15,-14.22,-12.8,-11.55,-10.39,-9.31,-8.46,-8.14,-7.51,-6.75,-6.1,-5.5,-4.87,-3.97,-3.2,-2.38,-1.48,0.57,2.17,3.16,4.11,4.78,4.93,4.58,3.75,3.51,3.29,2.89,2.45,1.88,1.35,0.89,0.11,-0.58,-1.8,-2.03,-0.96,-0.7,-0.07,-3.59,-8.42,-8.92,-9.31,-9.16,-10.07,-9.46,-7.65,-6.99,-6.28,-4.94,-2.85,-1.29,0.44,2.19,4.22,5.91,6.35,5.06,4.67,4.02,3.85,2.53,-5.78,-11.49,-12.49,-12.49,-13.29,-11.73,-10.63,-9.56,-8.21,-6.33,-3.83,-1.51,-0.28,0.48,1.43,4.19,4.29,5.16,5.89,6.42,6.92,7.26,7.3,7.29,7.43,7.41,7.37,7.38,7.26,7.44,7.64,7.52,6.94,5.77,4.65,4.11,4.07,3.92,2.07,-1.58,-4.65,-5.96,-5.82,-4.99,-3.65,-2.5,-1.64,-1.42,-1.79,-2.19,-2.32,-2.98,-4.15,-2.95,-3.7,-5.82,-14.6,-12.47,-11.01,-11.86,-12.26,-11.46,-10.71,-9.8,-8.64,-7.96,-7.73,-7.8,-6.7,-5.49,-4.73,-3.33,-2.13,-0.95,0.64,1.63,0.6,0.96,0.92,0.79,-0.5,-3.48,-3,-1.94,-0.78,-0.78,-0.2,1.15,2.28,3.38,1.88,-0.41,-0.18,-0.75,1.37,2.89,3.92,5.55,4.03,0.9,3.92,4.93,6.33,7.68,8.72,9.18,9.58,10.02,10.29,10.24,9.94,9.67,9.48,9.19,8.38,8.13,6.64,0.43,-0.06,-0.13,-3.17,-2.79,-4.15,-6.26,-6.42,-5.86,-5.52,-5.39,-7.19,-7.88,-8.22,-9.01,-8.88,-8.36,-7.95,-7.74,-7.4,-7.24,-7.36,-7.91,-7.97,-7.24,-6.27,-5.74,-5.51,-4.97,-3.09,-3.16,-3.05,-2.23,-1.7,-1.38,-0.72,0.57,1.27,-0.09,-2.75,-1.8,-1.11,-1.26,-0.95,0.18,0.89,0.15,-1.07,-0.8,0.2,1.6,3.26,4.65,6.03,7.5,8.79,9.59,9.99,9.24,10.55,11.22,7.45,4.37,3.77,2.45,-1.02,-4.32,-5.98,-6.32,-7.43,-9.67,-9.97,-9.05,-8.17,-7.6,-7.44,-7.32,-7.31,-7.09,-6.67,-6.12,-5.68,-5.36,-5.18,-5.19,-4.9,-4.75,-4.83,-5.07,-5.01,-5.07,-5.33,-5.49,-5.79,-5.85,-5.41,-4.55,-4.12,-4.01,-3.74,-3.22,-2.65,-2.43,-2.63,-2.9,-3.25,-1.57,-0.2,0.91,2.25,3.18,4.01,4.18,4.42,2.11,-5.3,-1.87,-4.07,-5.4,-2.73,-1,-2.09,-0.09,0.37,-3.54,-3.47,-1.96,-1.74,-2.22,-3.8,-5.34,-6.08,-6.18,-5.38,-5.94,-6.24,-5.46,-4.15,-2.04,-0.01,1.06,1.71,1.88,2.11,2.54,2.61,2.72,3.79,4.11,4.25,3.86,3.4,4.14,4.26,3.29,2.77,2.69,1.26,1.01,0.61,0.13,0.78,1.58,2.88,3.12,2.86,2.55,1.89,0.63,-1.16,-2.63,-2.77,-3.77,-4.67,-14.89,-19.2,-19.7,-18.77,-18.28,-17.86,-17.46,-16.46,-15.23,-13.61,-12.25,-11.06,-10,-9.01,-8.25,-7.54,-6.97,-6.83,-6.83,-6.62,-6.16,-5.55,-4.38,-2.74,-0.35,1.91,3.36,4.5,5.16,5.31,5.21,5.12,4.3,3.52,2.38,1.12,0.01,-1.02,-1.57,-1.67,-1.71,-2.31,-3.2,-2.98,-2.05,-1.58,-0.81,-4.76,-9.85,-9.96,-10.81,-11.37,-10.89,-9.66,-8.27,-7.35,-6.16,-4.41,-3.13,-1.4,0.62,2.32,4.16,4.17,3.57,2.75,1.87,1.26,0.03,-6.1,-14.42,-12.39,-12.72,-13.74,-12.2,-10.92,-10.07,-9.23,-7.67,-5.25,-2.26,-0.54,-0.07,1.69,3.12,3.43,4.77,5.56,6.3,6.85,7.21,7.86,8.29,7.93,7.69,7.52,7.37,7.51,7.47,7.38,7.39,6.64,5.41,4.23,3.48,3.37,3.48,3.95,3.91,1,-4,-6.34,-6.16,-4.87,-3.5,-2.56,-2.27,-2.41,-2.57,-2.64,-3,-4.31,-5.27,-4.4,-5.04,-11.23,-15.16,-12.88,-12.42,-12.44,-11.89,-11.5,-10.75,-9.46,-8.71,-7.82,-7.45,-7.57,-6.47,-5.01,-3.35,-2.26,-0.83,1.04,1.2,1.45,1.77,1.22,1.05,0.21,-1.53,-2.61,-2.53,-2.22,-1.01,0.09,1.11,1.96,2.37,1.9,-1.14,-1.82,-1.41,1.82,4.43,6.14,5.71,1.47,1.74,3.61,4.42,5.98,7.5,8.47,9.1,9.56,10.08,10.5,10.43,10.44,10.19,9.57,9.13,8.72,6.77,0.06,-2.5,-0.89,4.57,4.75,3.1,2.02,-2.48,-5.64,-5.58,-5.19,-4.99,-5.31,-6.35,-7.49,-8.44,-8.59,-8.22,-8.02,-7.87,-7.55,-7.01,-6.36,-6.88,-8.63,-8.14,-6.36,-5.33,-5.49,-5.11,-4.12,-3.6,-2.84,-2.8,-2.57,-1.51,-0.45,0.42,0.92,0.42,-2.35,-2.6,-2.22,-1.96,-1.32,-0.43,0.44,0.83,0.88,0.37,0.31,0.71,1.52,2.48,3.77,4.92,6.12,6.96,7.24,7.21,6.24,6.02,6.35,6.01,5.27,4.69,4.28,3.68,2.37,0.54,-1.16,-2.39,-2.9,-3.01,-2.99,-3.32,-3.65,-3.57,-2.7,-1.81,-1.75,-2.14,-2.68,-3.31,-3.87,-4.21,-4.39,-4.74,-5.3,-5.68,-5.49,-5.21,-4.94,-4.76,-5,-5.4,-5.42,-5.17,-4.94,-4.59,-4.13,-3.69,-3.17,-2.74,-2.84,-4.27,-4.67,-3.57,-2.35,-0.71,0.97,2.31,3.4,3.83,4.11,1.64,1.56,-0.81,-3.7,-4.96,-5.07,-3.12,0.28,1.3,-0.16,-0.07,-1.14,-1.69,-0.65,-2.1,-4.13,-5.85,-5.9,-5.18,-5.42,-5.63,-5.44,-4.51,-2.49,-0.34,0.61,0.73,0.79,1.33,1.58,1.65,2.52,3.3,2.89,2.86,2.9,2.67,2.42,2.72,2.82,3.03,2.94,2.62,2.74,2.02,1.14,1.99,3.01,3.66,3.33,3.17,3.09,2.77,1.77,-0.02,-2,-4.23,-5.56,-5.37,-6.11,-10.29,-18.24,-19.99,-19.85,-18.47,-17.96,-17.43,-16.8,-15.75,-14.3,-12.99,-11.56,-10.33,-9.27,-9.12,-8.41,-7.99,-7.59,-7.31,-7.26,-7.36,-7.48,-6.77,-4.63,-1.7,1.31,3.35,4.78,5.61,5.71,5.44,5.59,5.82,5.23,4.11,2.64,1.03,-0.79,-2.09,-2.79,-3.11,-3.54,-3.67,-4.16,-4.46,-3.4,-3.27,-2.98,-5.76,-11.21,-12.62,-12.89,-12.5,-11.23,-9.53,-8.29,-7.08,-5.89,-4.27,-2.19,-0.17,0.89,2.2,3.46,3.9,3.4,2.97,2.37,-1.06,-9.32,-13.48,-12.13,-10.26,-10.78,-12.67,-11.33,-10.31,-9.6,-8.45,-7.1,-3.93,-1.65,-1.67,1.01,1.43,2.78,4.21,5.2,6.1,6.83,7.62,8.37,8.23,8.39,8.3,7.78,7.28,7.32,7.32,6.99,6.47,5.88,4.98,3.94,2.9,2.01,1.63,1.27,0.85,1.51,0.07,-4.48,-6.41,-5.7,-4.25,-3.29,-2.83,-2.52,-2.42,-2.21,-2.94,-4.66,-6.27,-6.12,-5.72,-9.6,-14.52,-14.44,-13.32,-13.13,-13.04,-12.35,-11.27,-10.02,-9.26,-8.75,-8.22,-7.61,-6.61,-4.78,-3.73,-2.48,-1.83,-0.99,-0.38,1.13,2.05,2.43,2.99,-0.58,-0.82,-0.62,-1.15,-1.75,-1.69,-0.88,0.45,1.81,2.24,1.69,0.43,0.83,2.48,4.38,5.84,4.72,2.38,1.6,2.79,3.28,4.14,5.52,6.86,7.93,8.78,9.6,10.17,10.6,10.8,10.71,10.34,10.09,8.99,0.95,-1.9,-1.52,-0.36,3.06,5.61,5.42,4.83,2.98,-0.78,-4.05,-4.87,-4.36,-4.26,-4.81,-5.96,-6.8,-8.03,-8.77,-8.66,-8.65,-8.5,-7.85,-6.99,-6.53,-6.81,-8.22,-8.8,-7.29,-6.39,-5.87,-5.11,-4.52,-4.03,-3.5,-2.99,-2.21,-1.09,-0.06,0.46,1.38,1.34,-0.49,-2.85,-2.94,-2.43,-1.89,-1.16,-0.41,0.12,0.37,0.35,0.82,1.58,2.26,2.8,2.92,2.91,3.46,4.14,4.44,4.34,4.16,3.98,4.01,3.9,3.64,3.55,3.55,3.29,2.76,2.12,1.78,1.76,1.58,1.33,1.29,1.51,1.56,1.49,1.08,0.6,0.59,0.69,0.74,0.9,0.95,0.78,0.42,0,-0.76,-1.74,-2.66,-3.23,-3.57,-3.89,-4.16,-4.51,-4.87,-4.97,-4.94,-4.93,-4.63,-4.06,-3.31,-2.88,-3.56,-5.78,-6.04,-5.12,-3.7,-1.98,-0.33,1.2,2.34,3.14,3.62,2.93,0.32,-0.44,-0.25,-1.03,-1.04,-1.23,-0.66,0.55,2.75,3.19,2.92,1.56,-1.47,-2.7,-4.44,-5.6,-4.73,-4.6,-5.05,-5.47,-5.27,-4.48,-3.43,-1.92,-0.68,0.4,1.35,1.72,2.08,2.35,2.35,2.42,2.82,2.2,1.89,1.62,2.15,1.64,1.44,2.15,3.23,3.9,3.72,2.61,2.12,2.45,2.45,2.5,2.76,2.72,2.77,2.62,1.42,-0.86,-3.51,-5.65,-7.62,-7.74,-8.04,-10.37,-16.55,-19.67,-19.84,-19.11,-18.46,-18.19,-17.7,-16.86,-15.46,-13.84,-12.33,-11.19,-10.18,-9.86,-8.52,-7.5,-6.9,-6.79,-7.29,-8.34,-9.57,-9.53,-7.35,-3.53,-0.19,2.48,4.27,5.66,6.35,6.88,7.28,7.65,7.18,5.75,4.55,2.55,0.17,-1.5,-2.86,-3.07,-2.64,-2.47,-2.48,-2.91,-3.2,-3.29,-3.9,-5.41,-8.92,-12.98,-14.29,-13.42,-12.26,-10.69,-9.26,-7.76,-5.86,-3.96,-2.37,-0.84,0.54,1.76,3,3.56,2.52,0.9,0.42,-1.55,-9.55,-11.67,-11.81,-11.06,-8.3,-7.87,-8.49,-7.6,-6.6,-7.52,-6.88,-5.12,-2.71,-0.75,0.32,1.33,2.4,3.53,4.89,5.89,6.71,7.86,8.38,8.79,8.46,7.92,7.55,7.14,6.43,6.33,6.34,5.99,5.77,5.63,4.63,3.56,2.64,1.63,1.24,1.76,1.99,1.16,-2.57,-6.29,-6.49,-5.17,-3.95,-3.09,-3.18,-1.42,1.61,-2.7,-6.57,-7.43,-7.02,-7.58,-8.82,-12.73,-14.85,-14.56,-14.11,-13.86,-13.53,-12.6,-11.58,-10.49,-9.61,-9.02,-8.06,-7.03,-5.55,-4.64,-3.71,-3.02,-2.28,-0.37,1.22,1.29,1.16,2.47,2.92,1.65,0.83,-0.04,-1.07,-1.56,-1,-0.16,1.35,2.8,2.67,1.92,2.02,3.03,4.52,4.6,3.01,0.77,2.23,2.93,3.5,3.95,5.06,6.42,7.33,8.26,9.2,10.19,10.69,10.78,10.48,10.5,7.71,0.33,0.72,1.76,2.04,4.01,4.4,3.39,2.7,2.07,1.35,-0.73,-4.47,-5.85,-5.28,-5.05,-5.4,-6.28,-7.56,-7.96,-8.65,-9.58,-9.63,-9.12,-8.36,-7.44,-6.89,-7.46,-9.28,-9.97,-8.75,-7.57,-6.14,-5.22,-4.92,-3.92,-3.02,-2.46,-1.86,-1.04,-0.44,0.65,1.14,1.23,0.63,-0.65,-1.74,-1.9,-1.85,-1.71,-1.51,-1.47,-1.46,-1.13,-0.64,-0.03,0.74,1.79,2.69,3.04,2.75,2.1,1.7,1.52,1.74,2.06,1.93,1.63,1.3,1.18,1.1,1.09,1.15,1.19,1.08,0.75,0.6,0.71,0.86,1,1.08,1.19,1.31,1.29,1.07,0.72,0.61,0.7,1.16,1.76,2.31,2.62,2.74,2.53,2.53,2.48,2.15,1.41,0.14,-1.12,-2.29,-3.35,-4.17,-4.59,-4.88,-4.77,-4.51,-4.12,-5.06,-7.26,-7.11,-5.99,-4.72,-3.24,-1.81,-0.28,1.25,2.57,3.43,0.9,-0.44,-1.68,-2.07,-1.4,0.44,0.66,0.22,-0.61,1.82,3.62,3.32,2.26,1.21,-0.2,-3.09,-4.79,-4.67,-4.76,-4.68,-4.86,-4.91,-4.53,-3.34,-1.88,-0.3,0.86,1.53,2.42,2.67,3.04,3.26,3.09,2.3,2.07,1.71,1.63,1.67,2.01,2.22,2.16,1.38,0.93,1.29,1.84,2.09,2.12,2.18,2.75,4.03,4.96,5.27,4.34,2.07,-1.24,-5.26,-8.8,-10.4,-10.28,-9.42,-11.56,-16.36,-19.02,-19.25,-18.55,-17.61,-17.09,-17.06,-16.95,-15.83,-14.26,-12.93,-11.89,-10.94,-9.11,-8.07,-7.22,-6.53,-6,-5.69,-7.06,-10.74,-12.24,-9.54,-5.54,-1.7,1.27,3.31,4.56,5.14,5.63,7.03,8.05,8.58,8.41,7.32,5.01,1.64,-1.78,-3.84,-4.27,-4.3,-4.46,-4.52,-4.49,-4.45,-4.23,-4.36,-4.77,-7.34,-12.28,-15.73,-15.35,-13.96,-12.09,-9.92,-7.8,-6,-4.22,-2.29,-1.69,-0.27,1.49,2.13,3.16,3.27,1.86,-0.84,-2.98,-8.28,-11.99,-12.31,-11.14,-9.87,-8.34,-6.51,-5.63,-5.14,-7.84,-7.66,-5.43,-3.89,-2.61,-1.3,0.48,1.81,2.79,4.05,5.59,7.13,8.39,8.71,8.49,8.24,7.86,7.52,7.28,7.44,6.83,6.39,6.37,5.2,4,3.47,2.93,2.16,1.43,1.45,1.83,1.88,1.86,-1.95,-7.19,-7.13,-5.35,-4.06,-2.68,-4.08,-3.55,6.03,5.48,-9.21,-5.49,-5.19,-5.65,-7.48,-11.58,-13.71,-15.51,-15.06,-13.98,-13.63,-12.97,-12.38,-11.73,-11.11,-10.64,-9.86,-8.79,-7.4,-6.22,-4.85,-3.75,-3.27,-1.6,0.29,0.77,1.27,1.54,1.69,1.55,1.23,1.18,1.19,1.09,1.12,1.27,1.5,1.87,2.28,2.32,2.24,2.43,3.23,3.45,2.52,0.72,2.05,3.04,3.69,4.29,5.07,6.12,6.95,7.96,9.03,9.99,10.67,10.93,10.28,9.07,3.23,2.4,1.04,1.32,2.94,2.5,1.79,1.14,0.31,-0.73,-1.48,-2.54,-4.59,-6.84,-6.47,-4.7,-4.19,-5.09,-6.49,-8.34,-9.56,-10.39,-10.65,-9.96,-8.93,-7.96,-7.6,-8.29,-9.76,-10.62,-9.58,-8.04,-6.71,-5.94,-5.28,-4.25,-3.02,-2.27,-1.88,-1.19,-0.25,0.58,0.92,0.86,0.51,0.03,-0.55,-0.95,-1.14,-1.45,-1.64,-1.72,-1.9,-2.13,-2.25,-2.08,-1.6,-0.8,0.19,0.95,1.23,1.25,0.95,0.49,0.01,-0.2,-0.04,0.06,-0.04,-0.56,-1.17,-1.27,-1.17,-1.14,-1.16,-0.98,-0.66,-0.22,0.11,0.3,0.56,0.81,0.85,0.79,0.65,0.45,0.41,0.66,1.02,1.4,1.59,2.17,2.67,2.92,3.11,3.15,2.9,2.33,1.52,0.84,0.34,-0.12,-0.84,-1.84,-3.03,-4.33,-5.27,-5.45,-6.49,-8.17,-7.7,-6.94,-5.8,-4.49,-2.96,-1.28,0.25,2.14,2.11,0.72,-1.95,-2.04,0.16,1.24,0.79,-0.13,0.86,4.01,5.9,5.1,4.38,3.62,2.29,-0.44,-3.22,-4.68,-5.04,-5.21,-4.61,-4.05,-3.78,-3.36,-2.45,-0.95,0.15,1.13,1.93,2.23,3.02,3.74,3.73,3.22,2.77,2.4,2.33,2.48,2.65,2.51,2.12,1.96,2.53,2.87,3.01,3.14,3.54,3.96,4.8,6.11,7.86,8.75,9.13,7.59,2.28,-4.46,-8.6,-11.08,-12.56,-12.09,-10.94,-12.41,-16.79,-18.69,-18.7,-17.89,-16.72,-15.88,-15.4,-14.64,-13.33,-12.7,-12.55,-11.87,-10.47,-7.66,-6.62,-5.44,-4.87,-4.95,-5.57,-6.66,-10.71,-11.84,-9.33,-5.92,-2.34,0.75,2.73,4.33,5.8,6.52,7.04,7.38,7.61,8.26,8.89,7.74,3.95,-1.94,-5.52,-5.75,-4.78,-4.36,-4.31,-4.27,-4.83,-5.56,-6.13,-6.68,-7.63,-11.36,-15.78,-17.04,-14.78,-12.1,-9.93,-8.25,-6.46,-4.76,-4.34,-3.07,-1.09,0.4,1.07,2.77,3.46,2.33,-0.73,-4.76,-8.15,-11.78,-12.9,-11.84,-10.6,-9.12,-7.98,-7.01,-6.28,-7.13,-6.38,-5.85,-4.59,-2.99,-1.42,0.18,1.33,2.57,4.32,5.74,6.68,7.72,8.13,8.21,7.92,7.44,7.19,7.15,6.87,6.17,5.36,4.45,4.94,4.53,3.77,3.07,1.27,0.43,0.12,-0.95,-1.11,0.3,-1.88,-9.83,-9.3,-6.66,-5.59,-4.25,-6.53,-5.84,-1.39,4.18,3.64,0.69,1.71,-0.01,-3.54,-8.45,-13.86,-15.01,-15.22,-14.23,-13.48,-13.15,-12.29,-11.59,-11.17,-11,-10.59,-9.84,-8.81,-7.5,-5.14,-4.12,-4.07,-2.95,-1.93,-1.41,0.27,0.56,0.39,0.99,1.03,0.97,0.66,0.42,0.6,1.01,1.38,1.35,1.68,2.23,2.03,1.89,2.23,2.88,2.32,1.52,2.62,3.65,4.29,4.81,5.62,6.17,7.03,7.78,8.77,9.64,10.63,11.19,11.04,10.18,9.01,7.11,7.19,7.07,6.42,5.57,3.93,1.08,-1.29,-3.05,-4.73,-5.81,-7.17,-9,-8.57,-6.16,-3.46,-1.87,-3.2,-7.06,-9.53,-11,-11.54,-10.96,-9.98,-8.98,-8.04,-8.54,-10.12,-10.68,-9.4,-8.06,-7.37,-6.5,-5.11,-4.32,-3.52,-2.74,-2.04,-1.42,-0.75,-0.21,0.18,0.49,0.5,0.28,0.13,-0.01,-0.27,-0.61,-0.98,-1.34,-1.6,-1.9,-2.16,-2.38,-2.35,-2.09,-1.65,-1.06,-0.51,-0.32,-0.36,-0.48,-0.61,-0.79,-1.24,-1.93,-1.75,-1.12,-1.24,-1.72,-1.98,-1.92,-1.66,-1.26,-0.82,-0.36,-0.14,-0.31,-0.64,-0.82,-0.83,-0.81,-0.82,-0.84,-0.9,-0.67,-0.16,0.48,1.09,1.84,2.65,3.49,4.14,4.48,4.26,4.07,3.75,3.26,2.46,1.45,0.59,-0.13,-1.07,-2.71,-4.92,-6.61,-8.24,-8.68,-7.81,-7.12,-6.14,-5.12,-3.83,-2.11,-0.33,1.34,0.02,-0.31,0.41,-0.58,-0.04,0.05,-0.24,-1.63,1.26,4.15,3.34,5.2,5.16,4.48,3.84,2.16,-2.42,-5.3,-6.06,-5.53,-4.8,-4.13,-2.59,-1.1,-0.04,0.9,2.19,3,3.39,3.93,3.91,3.54,3.76,3.99,4.08,4.07,3.64,3.28,2.98,2.54,2.32,2.36,2.23,2.34,3.21,3.91,4.94,5.89,7.1,9.35,11.53,13.13,13.68,10.23,1.73,-6.53,-9.91,-11.59,-12.55,-12.41,-11.84,-13.24,-16.55,-18,-18.85,-18.04,-17.1,-16.76,-16.46,-16,-15.05,-13.73,-12.13,-10.25,-8.67,-4.8,-4.09,-3.51,-3.18,-3.2,-4.9,-7.9,-10.66,-10.36,-7.39,-4.03,-1.12,0.79,2.35,4.1,5.3,6.14,6.5,6.89,7.31,8.44,9.81,10.19,7.83,0.93,-4.38,-5.96,-5.79,-5.5,-5.23,-4.77,-4.83,-5.44,-6.87,-8,-9.02,-12.07,-16.07,-16.34,-14.16,-11.65,-9.66,-8.36,-7.12,-6.16,-5.2,-3.01,-1.92,-0.56,0.38,1.27,2.27,1.32,-0.66,-5.27,-8.72,-12.03,-14.06,-13.66,-12.15,-10.95,-9.49,-8.28,-7.7,-7.66,-6.95,-6.29,-4.55,-2.73,-1.25,0.06,1.07,1.52,2.73,3.91,6.01,8,8.82,8.33,7.98,8.01,8.08,8.04,7.32,6.5,5.49,4.04,2.92,2.79,2.65,2.63,2.77,2.46,1.87,0.96,-0.39,-0.11,-5.29,-11.12,-9.08,-7.06,-6.77,-7.46,-7.74,-6.63,-4.37,-1.17,1.08,1.62,1.84,2.24,2.33,0.49,-6.17,-12.12,-13.26,-14.21,-13.61,-12.23,-11.93,-11.92,-10.93,-10.38,-10.31,-9.38,-9.17,-8.53,-6.78,-5.2,-4.33,-3.7,-3.24,-3.02,-1.92,-1.46,-0.55,0.69,1.03,1.41,1.71,1.49,0.81,0.66,1.08,1.13,1.84,3.05,3.25,3.31,2.88,1.36,0.94,1.76,3.16,4.38,5.38,6.03,6.76,7.08,7.37,7.39,7.9,8.68,9.47,10.35,11.33,11.47,10.75,9.55,8.58,7.91,7.04,5.78,4.46,2.24,0.12,-2.36,-5.51,-8.53,-9.66,-10.49,-9.69,-8.01,-5,-2.67,-0.74,-2.8,-8.54,-11.42,-12.29,-11.78,-10.58,-10.08,-9.13,-9.14,-10.45,-10.45,-9.41,-8.41,-7.7,-6.46,-5.36,-4.5,-3.44,-2.11,-1.33,-1.42,-1.42,-0.91,-0.62,-0.46,-0.11,0.13,0.15,0.21,0.28,0.32,0.11,-0.25,-0.67,-1.17,-1.63,-1.98,-2.21,-2.32,-2.26,-2.09,-1.81,-1.51,-1.38,-1.5,-1.6,-1.54,-1.7,-2.82,-3.14,-2.86,-2.72,-2.67,-2.5,-2.36,-2.14,-1.79,-1.41,-0.97,-0.67,-0.41,-0.13,0.03,-0.03,-0.17,-0.8,-1.76,-2.27,-2.09,-1.57,-0.98,-0.49,0.19,1.31,2.58,3.76,4.61,4.93,4.69,4.32,3.97,3.73,3.28,2.5,1.64,0.39,-1.67,-4.55,-7.64,-9.59,-9.29,-8,-6.93,-5.85,-4.95,-3.92,-2.54,-0.99,0.65,0.18,-0.86,-0.87,-0.93,0.94,1.62,2.83,2.16,0.36,1.94,4.65,6.1,6.29,5.32,4.13,2.21,-1.09,-4.29,-5.79,-5.28,-3.38,-1.59,-0.49,0.44,1.85,3.18,3.53,3.68,4,4.14,4.07,4.18,4.45,4.85,4.67,4.25,4.11,3.98,3.73,3.23,2.56,2.12,2.29,2.9,2.87,3.09,5.4,6.72,9.43,12.58,15.24,15.76,12.5,4.46,-1.99,-5.13,-7.26,-8.39,-9.41,-10.79,-12.02,-14.04,-17.16,-17.92,-16.79,-15.47,-14.63,-13.7,-12.66,-11.32,-9.85,-8.49,-7.86,-7.09,-5.94,-1.17,-0.84,-0.69,-1.34,-2.8,-4.68,-6.2,-6.44,-5.49,-4,-1.95,0,1.33,2.82,3.86,4.88,5.74,6.23,6.28,6.33,7.34,8.94,10.72,11.79,8.85,0.18,-3.96,-4.32,-4.72,-4.91,-4.67,-4.71,-5.82,-7.65,-8.91,-10.63,-13.59,-16.78,-15.84,-12.92,-10.64,-9.11,-8.09,-7.22,-6.59,-5.97,-3.79,-2.16,-0.72,0.1,1.13,1.3,0.58,-0.95,-4.84,-8.6,-12.01,-13.84,-14.52,-13.55,-12.69,-11.3,-9.88,-9.14,-8.66,-7.61,-6.77,-5.22,-3.11,-1.13,-0.75,0.26,1.53,3.26,5.28,7.38,9.12,9.17,8.66,8.58,8.84,9.82,10.46,10.24,8.87,6.87,4.28,2.68,1.88,2.51,2.98,2.71,2.46,2.59,2.26,1.03,-1.72,-10.94,-10.48,-8.79,-7.52,-7.97,-10,-9.41,-7.77,-6.06,-3.64,-1.94,0.02,1.22,2.44,3.4,3.74,4.53,-1.16,-9.2,-11.1,-11.78,-12.05,-11.63,-12.29,-12.53,-11.16,-9.61,-8.96,-8.8,-8.49,-7.43,-6.4,-4.89,-4.38,-4.37,-4,-3.61,-3.26,-1.43,0.25,0.98,1.34,1.36,0.85,1.03,1.2,1.39,1.34,2.32,3.66,3.85,3.62,2.52,1.24,1.57,2.75,4.42,5.74,6.6,7.28,7.8,7.61,7.12,7.2,7.25,7.33,7.82,9.42,11.44,11.94,11.55,10.42,9.11,7.91,7.06,6.01,4.95,3.45,1.44,-2.07,-6.53,-10.4,-11.9,-11.51,-11.66,-10.8,-7.96,-5.01,-2.38,-1.27,-3.95,-8.95,-12.97,-12.82,-11.18,-10.65,-9.91,-9.76,-10.92,-10.75,-9.53,-8.25,-7.2,-6.04,-5.15,-4.47,-3.38,-1.88,-0.88,-0.36,-0.02,0.29,0.61,0.95,1.08,1.1,0.95,0.83,0.57,0.43,0.33,0.28,0.3,0.23,-0.14,-0.66,-1.18,-1.56,-1.93,-2.3,-2.61,-2.67,-2.58,-2.51,-2.65,-2.8,-3,-3.82,-4.64,-4.54,-4.26,-3.96,-3.63,-3.39,-3.05,-2.67,-2.24,-1.65,-0.66,0.18,0.5,0.64,0.4,-0.38,-1.61,-2.22,-2.46,-2.36,-1.9,-0.9,0.19,1.26,2.33,3.55,4.6,5.12,4.93,4.37,3.87,3.58,3.49,3.51,3.21,2.49,1.37,-1.19,-5.24,-8.88,-10.83,-10.2,-8.58,-6.98,-5.67,-4.79,-4.19,-3.37,-2.32,-1.14,-1.2,2.06,-0.68,-3.88,-0.82,-0.67,-0.01,0.87,4.49,6.21,7.36,7.97,7.62,7.1,6.56,2.05,-1.46,-2,-1.8,-1.11,-0.08,1.19,2.18,2.72,3.42,3.73,3.94,3.81,3.35,3.19,3.67,4.09,3.91,3.4,3.11,2.56,1.45,0.91,1.37,1.6,1.67,1.57,1.51,1.78,2.75,4.21,5.76,7.65,10.05,14.06,16.44,17.87,4.84,0.17,-2.82,-4.37,-4.25,-4.68,-6.73,-10.37,-13.18,-14.57,-14.17,-12.08,-9.98,-8.79,-8.94,-9.03,-8.58,-7.36,-6.1,-4.9,-3.64,-2.36,-1.45,-0.14,0.2,0.2,-0.4,-1.38,-2.61,-3.63,-3.78,-2.73,-1.22,0.12,1.3,2.11,2.72,3.44,4.49,5.36,5.73,5.53,4.6,4.93,6.63,8.91,9.8,11.21,8.56,-0.61,-3.07,-2.78,-3.17,-3.64,-3.59,-4.84,-7.22,-11.26,-13.06,-13.01,-11.83,-10.67,-8.55,-7.02,-6.44,-6.42,-6.43,-6.57,-6,-4.53,-2.67,-1.13,-0.19,0.87,0.77,-0.02,-1.57,-5.02,-8.52,-11.59,-13.86,-14.66,-14.49,-13.66,-12.37,-11.02,-10.18,-9.55,-8.52,-7.07,-5.33,-4.47,-2.95,0.05,1.08,1.91,3.19,5.4,8.16,8.54,8.69,9.51,9.63,9.5,9.64,10.02,9.81,8.95,7.47,4.9,3.53,3.64,3.26,2.64,2.22,1.95,1.99,2.41,1.15,-9.17,-11.28,-8.51,-7.62,-6.91,-9.15,-10.76,-9.98,-9.11,-7.44,-5.15,-2.77,-0.91,0.33,1.6,2.79,3.49,4.04,4.85,3.84,-4.02,-9.3,-10.9,-12.05,-12.59,-13.08,-12.59,-11.2,-10.07,-9.59,-9.44,-8.78,-7.62,-5.91,-4.86,-4.53,-4.61,-5.17,-4.02,-2.34,-1.25,-0.08,0.31,0.07,-0.05,0.46,1.17,1.6,1.85,2.17,2.88,3.59,3.34,2.44,1.72,1.89,3.48,5.3,6.25,7.01,7.73,8.04,8.64,9.2,9.4,9.16,7.93,6.61,8.32,11.21,12.09,11.96,11.25,9.87,8.61,7.87,7.18,6.04,4.3,1.73,-2.07,-7.54,-13.06,-14.5,-13.21,-13.1,-12.63,-10.13,-6.95,-4.02,-2.31,-2.39,-4.32,-9.52,-11.69,-11.95,-11.51,-10.52,-9.83,-10.61,-10.55,-9.38,-7.86,-6.43,-5.51,-5.09,-4.36,-3.38,-2.29,-1.66,-1.26,-0.7,-0.13,0.25,0.73,1.35,1.99,2.65,3.17,3.12,2.51,2.06,1.73,1.4,1.24,0.96,0.62,0.25,-0.05,-0.24,-0.36,-0.84,-1.73,-2.85,-3.76,-4.11,-4.29,-4.67,-5.28,-5.85,-6.15,-5.79,-5.18,-4.71,-4.23,-3.76,-3.41,-3.06,-2.49,-1.54,-0.18,1.05,1.77,2.03,1.79,0.84,-0.89,-2.49,-3.39,-3.48,-2.85,-2,-0.75,0.78,2.43,3.75,4.17,3.81,3.22,2.72,2.47,2.54,2.75,2.86,2.68,1.98,-1.33,-6.68,-11.35,-12.29,-10.96,-9.02,-7.13,-5.51,-4.77,-4.38,-3.99,-3.31,-2.51,-3.35,-6.11,-0.22,0.34,0.64,1.31,0.52,2.94,6.43,7.71,7.77,8,7.6,6.51,5.81,4.77,2.14,1.64,2.64,3.01,3.12,3.45,4.06,4.37,3.89,3.41,3.06,3.3,3.65,3.57,3,2.35,2.04,1.62,0.86,-0.07,-0.09,0.1,-0.01,-0.31,0.14,0.47,0.36,0.62,0.94,2,4.44,8.56,12.47,12.76,14.94,18.62,14.25,8.51,5.86,1.43,-1.14,-1.3,1.36,2.18,-0.15,-2.73,-4.73,-5.3,-5.31,-5.4,-5.69,-5.93,-6.02,-5.38,-3.69,-2.69,-1.97,-1.23,-0.61,-0.75,-0.62,-0.85,-1.3,-1.61,-1.83,-1.61,-1.11,-0.44,0.51,1.48,2.21,2.79,3.33,3.84,4.26,4.42,4.38,4.16,3.3,2.67,3.72,5.52,7.19,8.48,9.88,8.38,4.03,0.55,-2.94,-2.83,-1.17,-2.54,-3.29,-3.67,-4.05,-5.03,-5.68,-5.74,-5.07,-4.93,-4.71,-4.67,-4.98,-5.41,-5.42,-4.9,-3.29,-1.6,-0.37,0.6,0.81,0,-1.86,-5.12,-8.21,-11.17,-13.68,-14.54,-14.65,-14.33,-13.21,-11.87,-11.05,-10.12,-8.71,-7.38,-6.21,-4.76,-3.13,-1.6,-0.01,1.7,4.14,6.88,7.63,7.2,7.75,8.88,8.63,8.55,8.58,9.04,9.51,8.87,7.29,6.36,5.34,3.86,2.71,1.68,0.68,0.53,0.62,-0.21,-7.79,-10.17,-7.58,-6.66,-5.53,-8.65,-12.23,-12.27,-10.72,-8.94,-7.39,-5.93,-3.99,-1.51,0.36,1.21,1.99,2.99,3.92,4.23,4.14,4.23,-0.5,-7.64,-10.04,-10.92,-12.13,-12.94,-12.29,-11.6,-10.86,-10.15,-10.05,-8.95,-6.77,-5.5,-5.45,-6.22,-6.3,-4.85,-3.58,-2.61,-1.57,-1.57,-2.14,-1.82,-0.73,0.23,0.68,0.86,1.44,2.2,3.19,3.67,3.82,3.75,3.51,4.13,6.11,7.24,8.01,9.06,11.09,12.31,12.68,12.53,11.5,9.5,5.63,8.07,11.34,12.28,12.55,11.82,10.62,9.88,9.67,8.87,7.93,4.88,1.05,-2.89,-8.65,-14.28,-15.93,-14.53,-14.04,-12.86,-10.36,-7.95,-5.65,-3.4,-3.49,-5.27,-9.56,-12.15,-12.54,-11.85,-10.99,-10.15,-9.75,-9.65,-8.91,-7.61,-6.58,-5.78,-5.07,-4.31,-3.41,-2.01,-1.26,-1.41,-0.91,0.09,0.67,0.86,0.96,1.3,1.94,2.94,3.67,3.86,3.85,3.43,3,2.82,2.75,2.61,2.38,2.09,1.84,1.62,1.35,0.83,-0.03,-1.38,-3.06,-4.7,-5.82,-6.66,-7.25,-7.56,-7.57,-7.03,-6.22,-5.53,-4.94,-4.49,-4.11,-3.57,-2.75,-1.61,-0.27,0.83,1.61,2.19,2.52,2.09,0.73,-1.1,-2.51,-2.32,-1.13,0.26,1.84,3.56,4.83,5.21,4.82,3.75,2.53,1.72,1.51,1.93,2.4,2.34,1.46,-2.38,-9.24,-12.88,-12.68,-11.05,-8.85,-6.87,-5.46,-4.72,-4.2,-3.65,-2.84,-2.27,-2.11,-3.79,-0.78,-0.1,-1.06,-0.58,3.15,6.37,6.83,8.04,8.54,6.16,2.87,0.09,1.59,3.56,4.34,4.65,4.94,5.46,6.07,5.93,5.75,5.81,5.91,5.59,4.69,3.39,2.37,1.42,0.48,-0.15,-0.48,-0.77,-1.48,-1.71,-0.45,0.41,0.63,0.6,-0.05,-0.41,-0.21,-0.17,0.36,1.49,3.84,7.55,9.54,8.47,10.93,12.33,13.42,12.48,10.28,7.48,4.98,2.81,1.76,1.09,0.19,-0.71,-1.36,-2.3,-3.47,-4.52,-5.45,-5.86,-5.53,-4.81,-4.24,-3.51,-2.51,-1.65,-1.08,0.54,0.32,0.23,0.29,0.42,0.65,1.02,1.44,1.83,2.21,2.54,2.82,3.06,3.32,3.7,3.98,3.95,3.5,2.89,2.08,0.57,0.4,1.84,3.27,4.82,6.01,6.28,5.2,3.11,1.08,-1.2,-2.39,-3.29,-3.78,-4.57,-5.13,-5.28,-4.99,-4.9,-4.47,-4.32,-4.55,-4.6,-4.63,-4.95,-5.18,-4.6,-3.37,-2.13,-0.82,0.37,0.37,-0.86,-3.03,-6.09,-8.79,-11.41,-13.38,-13.97,-14,-13.68,-12.99,-12.02,-11.2,-9.82,-8.54,-7.3,-5.95,-4.77,-3.85,-2.7,-0.97,2.08,5.72,7.09,7.84,8.26,8.49,8.62,7.29,6.95,7.27,8.06,7.93,7.97,8.04,7.59,7.27,6.33,3.47,-0.1,-1.3,-2.57,-5.13,-8.45,-7.3,-5.9,-5.89,-4.58,-2.4,-9.44,-13.54,-11.84,-10.31,-8.4,-6.23,-4.53,-2.89,-1.71,-0.9,0.05,0.91,1.67,2.27,2.69,2.96,2.73,1.84,-1.35,-6.79,-9.88,-11.14,-12.65,-13.17,-13.09,-12.77,-11.62,-10.75,-10.07,-8.3,-6.78,-6.44,-6.74,-6.32,-5.43,-4.59,-3.71,-2.49,-1.98,-2.17,-1.72,-1.2,-0.9,-0.16,0.32,0.67,1.15,1.98,3.08,3.74,4.24,4.21,4.73,6.3,8.14,10.05,11.18,11.34,11.39,11.91,12.37,12.11,9.53,6.56,9.36,11.6,12.78,13.09,12.7,12.41,11.95,10.88,11.1,8.45,4.46,-0.58,-5.29,-10.07,-13.24,-14.47,-13.81,-13.33,-12.43,-10.29,-7.95,-6.42,-5.08,-4.67,-6.88,-10.44,-12.5,-12.9,-11.98,-10.74,-9.91,-9.38,-8.97,-8.13,-7.11,-6.31,-5.41,-4.65,-4.24,-3.64,-2.76,-1.5,-0.71,-0.08,0.6,1.14,1.76,3.15,3.72,3.64,3.88,4.02,3.77,3.32,3.12,3.28,3.39,3.59,3.84,4.07,4.28,4.44,4.4,3.94,3.04,2.13,1.02,-0.33,-2.38,-4.45,-6.45,-7.88,-8.6,-8.78,-8.6,-8.07,-7.27,-6.58,-6.01,-5.45,-4.76,-3.92,-2.89,-1.73,-0.63,0.29,0.92,1.23,1.18,0.88,0.3,-0.14,-0.19,0.27,1.29,2.6,3.72,4.41,4.66,4.17,3.38,2.51,1.78,1.59,1.76,2.14,2.2,1.21,-4.36,-12.07,-13.73,-12.48,-10.38,-8.16,-6.29,-4.93,-4.26,-3.63,-2.68,-1.44,-0.38,-0.04,-0.03,0.38,0.28,-0.67,-0.21,1.18,4.3,6.53,5.83,3.17,0.98,1.49,3.05,4.09,5.09,4.25,6.32,6.55,6.5,6.7,6.94,7.05,7.07,6.98,6.83,5.89,4.32,3,1.91,0.85,-0.32,-1.89,-2.83,-3.15,-3.45,-1.18,0.02,0.02,0.95,1.79,1.81,0.78,-0.89,-1.53,-1.01,0.94,2.77,3.57,4.92,7.63,8.55,8.65,8.13,7.4,6.16,4.47,3.23,1.68,0.33,-0.32,-0.85,-1.55,-2.38,-3.34,-4.33,-5.25,-5.9,-6.03,-5.54,-4.6,-3.45,-2.12,-0.74,0.28,2.87,3,3.05,3.18,3.21,3.19,3.2,3.26,3.34,3.4,3.32,3.3,3.35,3.56,3.64,3.52,3.24,2.5,1.28,0.42,-0.96,-2.49,-2.16,-0.73,0.61,1.65,2.29,2.42,1.78,0.25,-1.5,-2.69,-3.44,-3.89,-4.06,-4.09,-3.94,-3.73,-3.72,-3.92,-4.31,-4.65,-5.12,-5.65,-5.6,-4.63,-3.65,-2.79,-1.97,-1.02,-0.19,-0.04,-1.08,-3.82,-7.21,-9.75,-11.68,-12.71,-13.01,-13,-12.86,-12.49,-11.81,-10.48,-9.07,-7.75,-6.33,-5.14,-4.29,-3.83,-3.07,-0.04,3.59,5.57,6.78,8.56,9.33,9.41,8.8,7.66,7.23,7.94,8.01,5.94,6.65,8.25,9.67,10.2,9.19,2.47,-5.54,-7,-7.09,-5.89,-4.92,-4.28,-3.78,-3.22,-2.89,-2.57,-3.12,-5.89,-7.18,-6.67,-5.22,-3.44,-1.82,-0.54,0.32,0.65,0.5,0.24,0.24,0.59,1.29,1.64,1.71,1.47,-0.06,-2.71,-6.78,-9.8,-11.46,-13.08,-13.72,-13.22,-12.14,-11.26,-10.62,-9.45,-8.17,-7.54,-7.68,-7.35,-6.6,-5.69,-4.8,-3.96,-3.13,-2.58,-2.26,-1.8,-1.8,-1.64,-1.15,-0.67,-0.05,1.12,2.34,3.02,3.43,4.17,6.32,7.92,9.06,10.18,11.02,11.16,11.28,11.24,11.19,8.16,6.36,8.74,10.33,12.26,13.37,13.81,14.02,13.97,12.6,13.1,11.91,6.71,-0.39,-5.77,-6.19,-8.32,-10.35,-11.48,-11.74,-11.62,-11.14,-10.09,-8.63,-7.6,-6.97,-6.83,-8.73,-11.7,-13.07,-13.61,-12.74,-11.34,-10.2,-9.03,-8.04,-7.23,-6.5,-5.77,-4.83,-3.93,-3.88,-3.79,-3.38,-2.73,-2.16,-1.11,0.21,1.87,3.23,4.13,5.07,5.88,6.38,6.32,5.86,5.52,5.3,5.04,4.78,4.48,4.27,4.32,4.53,4.6,4.72,4.73,4.45,3.98,3.39,2.5,0.87,-1.54,-4.25,-6.84,-8.64,-9.49,-9.65,-9.29,-8.57,-7.72,-7.01,-6.39,-5.63,-4.7,-3.76,-2.82,-1.94,-1.05,-0.25,0.27,0.55,0.55,0.37,0.19,0.42,1.04,1.87,2.78,3.58,3.82,3.56,3.01,2.44,1.91,1.41,1.24,1.53,1.53,1.36,-0.68,-9.12,-13.92,-13.09,-11.31,-9.18,-7.07,-5.48,-4.39,-3.32,-2.21,-1.09,-0.05,0.73,1.89,2.08,-0.12,-0.59,-0.56,-0.36,0.21,3.22,0.06,-3.1,-0.53,1.56,3.84,5.77,6.51,6.54,6.73,7.19,7.52,7.47,7.85,8.43,8.85,9.45,9.69,9.07,7.9,5.84,3.07,0.27,-1.78,-1.61,-1.84,-3.83,-4.74,-3.7,-2.32,-0.71,1.99,5.44,6.93,5.52,2.49,-2.09,-5.33,-4.33,-3.12,-2.17,-0.51,2.14,4.26,5.59,6.39,6.48,5.71,4.62,3.47,2.07,0.57,-0.75,-1.68,-2.3,-2.81,-3.36,-3.78,-4.11,-4.44,-4.53,-4.22,-3.46,-2.43,-1.09,0.42,1.44,2.26,3.6,3.92,4.3,4.53,4.64,4.66,4.62,4.42,4,3.62,3.56,3.6,3.71,3.79,3.67,3.16,2.26,1.13,-0.22,-1.6,-2.46,-3.84,-4.84,-4.07,-2.53,-1.3,-0.59,-0.34,-0.48,-0.98,-1.72,-2.43,-2.78,-2.63,-2.52,-2.56,-2.42,-2.12,-2.48,-3.4,-4.02,-4.71,-5.2,-5.02,-4.66,-4.11,-3.67,-3.11,-2.27,-1.38,-0.65,-0.63,-1.68,-4.97,-8.59,-10.49,-11.82,-12.25,-12.28,-12.21,-11.94,-11.58,-10.82,-9.61,-8.11,-6.57,-5.33,-4.55,-4.75,-4.49,-1.49,1.82,3.57,5.4,7.61,9.02,9.15,8.82,8.34,7.51,7.45,8.89,7.54,3.88,5.2,8.77,10.18,8.33,3.42,2.11,-0.15,-2.43,-3.3,-3.9,-4.56,-4.55,-3.86,-3.9,-4,-4.21,-4.17,-3.76,-3.23,-2.46,-1.57,-0.56,0.26,0.91,1.39,1.64,1.57,0.95,0.25,0.28,0.36,0.45,0.41,0.29,-0.15,-1.63,-4.03,-7.17,-9.68,-11.87,-13.32,-13.08,-11.96,-11.57,-11.12,-10.2,-8.8,-7.94,-7.83,-7.82,-7.39,-6.48,-5.5,-4.91,-4.42,-3.78,-3.14,-2.76,-2.6,-2.42,-2.2,-1.8,-1.33,-0.52,0.77,2.14,4.1,5.9,7.31,8,8.97,9.67,10.78,11.17,11.13,9.59,7.77,4.16,7.13,9,11.44,13.21,14.36,15.14,15.41,15.01,13.09,14.09,9.58,0.06,-6.52,-5.52,-6.09,-6.6,-7.22,-7.93,-8.45,-8.88,-9.12,-9.11,-8.92,-8.65,-8.61,-9.15,-10.64,-12.39,-13.07,-13.65,-13.22,-11.84,-10.05,-8.62,-7.94,-7.34,-6.45,-5.58,-4.67,-3.9,-3.67,-3.14,-2.52,-2.46,-2.66,-2.4,-2.06,-0.45,2.1,4.01,5.34,6.08,6.41,6.16,5.88,5.22,4.61,4.21,3.64,3.39,3.14,3,3.18,3.62,3.96,4.12,4.23,4.21,4,3.55,2.98,2.13,0.4,-2.63,-6.8,-9.73,-10.33,-10.16,-9.7,-9.03,-8.28,-7.48,-6.56,-5.49,-4.44,-3.5,-2.59,-1.71,-0.86,-0.23,0.17,0.28,0.27,0.44,1.08,1.96,2.72,3.16,3.13,2.67,2.12,1.4,0.64,0.03,-0.19,-0.03,0.16,0.29,0.34,-6.6,-13.57,-13.05,-11.47,-9.78,-7.99,-6.45,-4.93,-3.44,-1.76,-0.41,0.29,0.94,1.57,1.72,1.23,-0.14,-1.25,0.7,0.86,0.13,0.25,-3.33,-3.23,-0.51,2.81,4.75,5.78,6.57,7.43,7.9,8.11,8.61,9.68,10.21,10.64,11.11,10.16,8.79,9.13,9.44,6.8,3.37,0.33,-2.26,-3.75,-4.53,-3.97,-2.74,-1.59,-0.04,1.98,3.76,7.44,9.98,6.44,4.49,-2.09,-6.08,-5.26,-4.23,-2.21,-0.26,0.77,1.69,2.97,4.18,4.89,4.97,4.41,3.21,1.6,-0.36,-2.44,-3.26,-3.37,-3.63,-3.49,-3.42,-3.2,-2.56,-1.98,-1.42,-0.6,0.45,1.45,2.3,2.95,3.37,4.84,4.96,5.17,5.43,5.69,5.84,5.76,5.38,4.92,4.66,4.53,4.4,4.46,4.59,4.39,3.36,1.8,0.11,-1.65,-3.5,-4.72,-5.16,-5.99,-6.62,-5.76,-4.19,-2.98,-2.09,-1.59,-1.46,-1.57,-1.86,-2.03,-1.98,-2,-2.27,-2.55,-2.51,-2.67,-3.3,-4.05,-4.24,-4.07,-3.92,-3.55,-3.13,-3.03,-3.28,-2.97,-2.67,-2.4,-2.48,-3.51,-7,-10.06,-11.51,-11.77,-11.85,-11.48,-11.23,-11.18,-10.41,-9.33,-8.13,-7.11,-6.11,-6.24,-6.49,-5.25,-2.49,0.58,2.62,4.75,6.79,8.09,8.37,8.16,8.05,7.54,6.83,7.49,7.91,4.88,3.52,6.02,8.71,7.51,1.1,-2.15,-1.24,-1.63,-1.71,-2.35,-3.17,-4.36,-5,-4.69,-4.47,-4.34,-4.12,-3.61,-2.9,-2.08,-1.34,-0.7,0.19,0.94,1.26,1.32,1.26,1.1,0.83,0.31,-0.51,-0.95,-0.95,-0.89,-0.85,-1.08,-1.69,-3.15,-5.74,-8.32,-10.45,-12.13,-12.88,-12.56,-11.95,-11.47,-10.91,-9.98,-9.04,-7.83,-7.02,-6.98,-6.78,-5.88,-4.55,-3.53,-3.17,-3.1,-2.97,-2.79,-2.79,-2.91,-2.86,-2.69,-2.23,-1.09,0.74,3.4,5.31,6.78,8.55,9.72,10.49,11.02,10.89,9.89,7.9,4.14,4.05,6.86,9.21,11.88,14.02,15.73,16.63,16.52,14.92,12.95,12.23,4.19,-4.17,-6.07,-5.73,-5.39,-4.89,-4.51,-4.44,-5.05,-5.77,-7.26,-9.04,-9.98,-10.29,-10.63,-11.25,-11.91,-12.19,-12.86,-13.32,-12.52,-11.38,-10.15,-8.99,-8.27,-7.52,-6.45,-5.6,-5.01,-4.5,-4.15,-4.1,-4.04,-4.11,-3.94,-3.41,-3.38,-2.53,0.38,2.66,3.84,4.86,5.84,6.07,5.86,5.48,4.89,4.29,3.65,2.91,2.41,2,1.94,2.11,2.27,2.53,2.82,3.04,3.19,3.19,3.01,2.69,2.14,1.19,-0.66,-4.58,-8.83,-10.89,-10.72,-9.81,-9.23,-8.64,-7.76,-6.53,-5.16,-3.98,-2.86,-1.78,-0.73,0.07,0.55,0.79,1.17,1.78,2.65,3.21,3.34,3.05,2.33,1.22,-0.22,-1.48,-2.18,-2.53,-2.21,-2,-1.86,-1.01,-6.64,-13.35,-12.68,-11.19,-9.79,-8.55,-7.37,-5.73,-3.67,-1.81,-0.45,0.53,1.32,1.07,0.25,0.61,1.73,2.48,2.81,1.1,-2.8,-2.7,-1.61,-1.57,-0.6,1.39,3.18,4.55,5.73,6.86,7.74,8.4,9.16,10.41,10.96,11.17,12.27,9.9,7.85,7.68,7.05,6.66,5.33,3.24,1.05,-0.78,-1.4,-0.99,-0.3,0.5,1.34,2.4,4.05,5.62,6.98,8.54,5.8,2.92,-0.08,-2.56,-3.16,-2.39,-1.22,-0.36,-0.17,0.6,1.82,2.77,3.52,4.07,4.33,4.19,3.73,3.03,1.41,-0.26,-0.65,-0.99,-1.25,-0.96,-0.41,-0.11,0.15,0.57,1.18,1.99,2.85,3.63,4.29,4.71,6.01,6.13,6.26,6.52,6.77,7.04,7.17,6.84,6.39,6.16,6.02,5.97,6.08,5.91,5.21,4,2.42,0.36,-1.99,-4.51,-6.76,-7.38,-7.24,-7.72,-7.83,-6.5,-4.88,-3.55,-2.65,-2.3,-2.11,-1.86,-1.65,-1.36,-0.99,-1.01,-1.68,-2.23,-2.63,-3.16,-3.48,-3.64,-3.62,-3.37,-3.01,-2.73,-2.64,-2.69,-2.51,-2.54,-2.99,-3.78,-5.8,-9.3,-11.67,-12.51,-12.4,-11.9,-11.34,-11.26,-10.7,-9.42,-8.31,-7.68,-7.42,-7.84,-7.85,-6.29,-3.54,-0.64,1.99,4.14,5.91,7.18,7.62,7.52,7.4,7.14,6.26,5.49,6.6,6.04,3.49,3.94,5.99,7.64,3.22,-3.12,-2.39,-2.59,-2.5,-2.6,-3.02,-3.71,-4.71,-4.95,-4.52,-3.54,-3.24,-2.39,-1.44,-0.62,0.08,0.54,1.01,1.47,1.65,1.72,1.66,1.45,1.11,0.43,-0.42,-1.35,-2.05,-2.22,-1.71,-1.43,-1.57,-2.38,-3.72,-5.27,-7.67,-9.7,-11.28,-12.54,-12.66,-12.17,-11.9,-11.09,-10.38,-9.72,-9.1,-8.32,-7.76,-7.06,-6.25,-5.29,-4.07,-3.25,-2.65,-2.26,-2.29,-2.7,-3.07,-3.04,-2.99,-3,-2.56,-0.73,2.34,4.16,6.05,7.74,9.05,10.24,10.69,10.25,8.69,4.28,0.86,5.23,7.47,9.94,12.58,14.53,16.3,17.23,16.94,13.26,10.16,11.37,3.5,-4.89,-5.3,-5.09,-4.26,-3.29,-2.33,-0.65,-0.19,-4.38,-9.07,-10.96,-11.21,-11.5,-11.63,-11.59,-11.19,-11.3,-12.02,-11.89,-11.05,-10.39,-9.57,-8.63,-7.86,-7.03,-6.19,-5.52,-5.06,-4.74,-4.7,-4.75,-4.8,-4.85,-4.82,-5.03,-4.38,-1.79,1.15,2.94,4.13,5.08,5.86,5.97,5.86,5.68,5.37,4.64,3.6,2.6,1.91,1.71,1.53,1.48,1.88,2.34,2.65,2.83,2.83,2.76,2.55,2.16,1.81,1.58,1.13,-0.34,-2.47,-5.31,-8.28,-9.84,-10,-9.35,-8.45,-7.34,-6,-4.7,-3.44,-2.28,-0.87,0.45,1.43,2.1,2.93,3.7,4.18,4.3,3.9,2.81,1.14,-0.85,-3.02,-4.61,-5.56,-5.65,-5.44,-4.99,-4.24,-8.74,-14.12,-12.79,-10.96,-9.68,-8.72,-7.43,-5.77,-3.91,-2.14,-0.61,0.75,1,-0.02,-0.27,0.57,-0.26,-1.18,0.06,1.66,2.17,0.4,-1.61,-1.39,0.1,1.12,2.15,3.35,4.59,5.78,6.68,7.7,8.73,10.24,11.35,10.62,10.31,10.59,8.47,7.52,6.58,5.52,4.9,3.89,2.59,1.29,0.51,0.47,0.77,0.98,1.39,2.46,3.62,4.34,4.73,4.99,5.18,4.8,3.36,1.58,0.19,-0.49,-0.68,-1.06,-1.3,-0.37,0.86,1.73,2.54,3.06,3.29,3.41,3.33,2.96,2.5,1.93,1.45,1.02,0.82,0.8,0.76,0.85,1,1.35,1.83,2.55,3.36,4.15,4.9,5.43,5.81,6.98,7.02,7.1,7.38,7.7,8.12,8.3,8.01,8.01,7.98,7.53,7.31,7.07,6.62,5.76,4.64,3.15,1.24,-1.36,-5.24,-8.72,-9.56,-8.71,-8.36,-8.5,-7.73,-6.3,-4.88,-3.61,-2.77,-2.27,-1.67,-1,-0.61,-0.47,-0.7,-1.25,-1.81,-2.21,-2.4,-2.33,-2.32,-2.19,-1.92,-1.94,-2.11,-2.43,-2.66,-2.88,-3.35,-4.26,-5.83,-8.68,-11.39,-12.89,-13.12,-12.74,-11.97,-11.08,-10.27,-9.56,-9.06,-8.77,-9.03,-9.26,-8.31,-6.44,-4.16,-0.89,1.53,3.37,4.94,6.18,7.02,7.28,7.3,7.17,6.28,5.07,3.94,4.85,5.48,2.88,2.24,4.42,4.48,-3.04,-5.47,-4.01,-3.89,-3.62,-3.74,-4.01,-4.5,-4.84,-4.46,-3.7,-2.49,-1.17,-0.06,0.78,1.35,1.82,2.14,2.28,2.13,1.99,1.88,1.65,1.48,1.42,0.95,-0.36,-1.97,-2.73,-2.93,-2.47,-1.54,-1.25,-1.9,-3.79,-5.72,-7.36,-9.47,-11.42,-12.67,-13.26,-13,-11.87,-10.75,-10.47,-10.17,-9.65,-9.04,-8.67,-8.01,-6.97,-6.05,-4.71,-3.53,-2.69,-2.14,-1.94,-2.26,-2.79,-3.02,-3.43,-3.95,-3.73,-2.22,1.08,4,5.53,7.05,8.55,9.69,10.64,8.46,2.66,-0.14,3.48,6.26,8.36,10.73,12.92,14.96,16.84,17.75,16.56,9.52,7.97,11.2,11.09,3.91,-3.93,-4.73,-4.03,-3.04,-1.14,-1.6,-3.27,-3.15,-4.52,-6.79,-7.64,-7.76,-7.83,-7.99,-8.23,-8.47,-8.91,-9.27,-9.22,-8.79,-8.08,-7.36,-6.74,-6.33,-6,-5.58,-5.02,-4.32,-3.62,-2.79,-2.32,-2.17,-2.04,-1.58,-0.6,0.74,2.51,4.44,6.07,7.14,8.04,8.22,7.81,6.97,5.81,4.47,3.3,2.22,1.37,0.81,0.43,0.3,0.31,0.5,0.99,1.66,2.35,2.79,2.79,2.5,2,1.54,1.35,1.39,0.51,-2.37,-5.4,-6.79,-7.65,-8.56,-8.86,-8.25,-6.94,-5.51,-4,-2.43,-0.65,1.15,2.78,4.23,5.22,6.07,6.54,6.32,5.31,3.25,0.16,-3.08,-6.71,-9.22,-10.4,-10.19,-8.98,-8.47,-12.2,-14.47,-12.43,-10.68,-9.42,-8.16,-6.78,-5.22,-3.89,-2.56,-1.36,-0.34,-0.18,-1.48,-1.07,-0.81,-4.46,-5.63,-3.78,-2.8,-1.95,-1.29,-0.56,0.35,0.74,1.1,1.97,3.23,3.99,5.03,6.3,6.71,7.45,8.54,9.9,10.84,9.62,8.14,7.74,7.07,5.94,5.31,4.95,4.43,3.71,2.88,1.98,1.04,0.33,0.16,0.62,1.54,2.4,3.04,3.47,3.26,2.55,2.07,1.66,1.13,0.49,-0.41,-1.12,-1.37,-1.17,-0.53,0.04,0.63,1.2,1.49,1.7,1.76,1.78,1.77,1.75,1.76,1.73,1.7,1.68,1.66,1.67,1.78,1.99,2.32,2.6,3.07,3.89,4.72,5.55,6.19,6.64,6.87,7.79,7.83,7.98,8.39,8.86,9.49,9.75,10.03,10.15,9.74,9.35,8.86,8.05,7.17,6.09,4.75,3.21,1.52,-0.77,-4.09,-9.1,-11.54,-10.13,-9.06,-8.81,-7.94,-6.51,-5.2,-4.09,-3.2,-2.43,-1.61,-0.78,-0.21,0.13,0.08,-0.32,-0.99,-1.53,-1.77,-1.98,-2.09,-1.82,-1.47,-1.25,-1.48,-2.16,-2.7,-3.34,-4.51,-6.35,-8.78,-11.51,-12.78,-13.38,-13.34,-12.65,-11.61,-10.45,-9.83,-9.54,-9.94,-10.23,-9.51,-8.17,-6.43,-4.07,-1.41,1.02,2.77,4.47,5.84,6.68,7.11,7.21,7.27,6.72,5.75,4.36,3.01,3.29,4.78,4.72,1.36,2.03,1.79,-3.73,-6.3,-5.86,-5.54,-5.25,-4.67,-4.31,-4.73,-4.7,-3.61,-2.19,-0.53,0.93,2.07,2.81,3.45,3.86,3.81,3.42,2.73,2.03,1.48,1.04,0.61,0.25,0.27,0.2,-1.03,-2.29,-2.66,-2.43,-1.62,-0.83,-1.06,-2.95,-5.73,-7.98,-9.67,-11.39,-12.85,-13.56,-13.73,-13.78,-12.86,-11.18,-9.82,-9.37,-9.02,-8.66,-8.04,-7.05,-5.97,-4.75,-3.82,-3.22,-2.78,-2.69,-3,-3.55,-4.15,-4.59,-4.8,-4.04,-2,0.77,2.98,4.66,6.36,7.79,8.65,6.6,2.61,0.98,2.07,4.31,6.96,9.18,11.1,12.78,14.51,16.3,16.63,14.87,8.84,7.48,8.88,9.79,9.8,8.03,6.66,4.44,0.43,-2.92,-3.9,-3.35,-3.26,-3.62,-4.74,-6.02,-6.97,-7.27,-7.2,-7.33,-7.32,-7.37,-7.29,-7.03,-6.67,-6.2,-5.76,-5.26,-4.71,-4.01,-3.3,-3,-3.21,-3.58,-3.42,-2.94,-2.12,-1.19,-0.19,1.08,2.7,4.38,5.86,7.19,8.27,9.02,9.44,9.58,9.2,8.13,6.31,4.15,1.69,-0.34,-1.62,-2.25,-2.39,-2.05,-1.37,-0.5,0.39,1.17,1.7,1.95,2.1,1.99,1.66,1.15,0.95,1.15,1.51,0.18,-4.45,-7.65,-7.63,-7.34,-7.15,-6.43,-5.28,-3.72,-2.06,-0.01,2.47,4.34,5.91,7.38,8.71,9.43,9.22,6.93,2.85,-0.94,-5.67,-11.02,-13.94,-14.03,-12.45,-12.88,-14.48,-13.49,-11.13,-10.02,-8.72,-7.29,-5.95,-4.83,-3.63,-2.78,-2.24,-1.59,-1.56,-2.1,-1.49,-3,-6.34,-6.69,-5.48,-4.98,-4.58,-4.31,-3.38,-1.88,-0.83,0.44,2.11,3.29,4.07,4.77,5.44,5.92,6.17,6.55,7.26,8.88,10.8,9.87,6.78,5.8,5.7,5.33,4.84,4.54,4.21,3.56,2.57,1.53,0.71,0.38,0.43,0.74,1.32,2.05,2.62,3.02,3.07,2.69,2.06,1.38,0.83,0.49,0.2,-0.06,-0.15,-0.16,-0.12,-0.17,-0.05,0.32,0.77,1.08,1.26,1.51,1.95,2.52,2.98,3.23,3.05,3.02,3.05,2.93,2.82,2.83,3.22,3.72,4.56,5.51,6.16,6.75,7.31,7.69,7.75,8.77,8.83,9,9.39,10.27,11.06,11.58,11.84,11.7,11.59,11.2,10.39,9.52,8.4,7.03,5.08,2.63,0.01,-2.65,-5.22,-9.37,-11.33,-9.9,-8.94,-8.56,-7.72,-6.5,-5.32,-4.18,-3.25,-2.39,-1.57,-0.81,-0.06,0.38,0.41,0.15,-0.29,-0.77,-1.19,-1.37,-1.42,-1.69,-1.91,-2,-2.09,-2.32,-2.72,-4.41,-7.27,-9.8,-12.01,-13.57,-13.94,-13.59,-12.95,-11.93,-11.1,-10.64,-10.74,-10.78,-10.34,-9.35,-7.81,-6.11,-4.13,-1.79,0.62,2.86,4.59,5.91,6.8,6.94,6.9,7.16,7.19,6.62,5.61,3.82,2.11,1.84,3.91,4.54,-0.2,-1.37,-1.45,-3.07,-4.86,-5.49,-5.26,-4.96,-4.69,-4.48,-4.4,-3.99,-2.53,-0.5,1.5,3.07,4.16,5.09,5.63,5.46,4.81,4.04,3.29,2.51,1.76,1.11,0.39,-0.5,-1.42,-2.01,-2.37,-2.49,-2.47,-2.38,-1.72,-0.7,-0.5,-2.32,-5.77,-8.66,-10.65,-12.12,-13.06,-13.6,-13.72,-13.68,-13.46,-13.07,-12.12,-11,-10.23,-9.53,-8.74,-7.77,-6.6,-5.34,-4.35,-3.6,-3.05,-2.97,-3.71,-4.63,-4.99,-5.58,-5.55,-3.98,-1.55,0.82,2.75,4.15,5.58,6.95,5.75,2.39,1,2.21,3.96,5.83,7.69,9.51,11.15,12.2,13.35,14.91,15.48,13.13,5.56,3.9,6.26,6.96,7.86,8.34,8.26,7.5,6.1,4.18,1.89,-0.62,-2.28,-3.38,-4.33,-5.13,-5.8,-6.32,-6.63,-6.83,-6.85,-6.83,-6.7,-6.42,-6.03,-5.52,-4.88,-4.14,-3.6,-3.72,-4.27,-4.5,-4.1,-3,-1.99,-1.28,-0.46,0.58,1.79,3.02,3.84,4.51,5.28,6.28,7.58,8.85,9.74,10.19,10.18,9.86,9.21,8.04,6.09,3.49,0.18,-2.54,-3.86,-3.87,-3.33,-2.49,-1.35,-0.02,0.99,1.54,1.79,1.64,1.22,0.77,0.16,-0.39,-0.45,-0.14,0.71,-0.76,-6.22,-9.28,-8.03,-6.37,-5.12,-3.67,-1.7,0.78,3.25,5.36,7.54,9.32,11.61,12.11,5.67,0.01,-2.23,-5.06,-8.72,-11.4,-12.78,-13.65,-14.67,-14.28,-12.13,-10.37,-9.35,-7.76,-6.21,-4.8,-3.57,-2.94,-2.3,-2.06,-1.97,-2.53,-1.65,-2.23,-5.88,-7.11,-6.36,-5.97,-5.64,-5.46,-5.73,-5.92,-4.92,-3.33,-2.07,-0.09,2.28,4.02,4.79,4.87,5,5.45,5.92,6.34,6.92,8.09,10.22,11,8.16,6.54,6.21,5.43,4.93,4.56,4.14,3.79,3.41,2.86,2.21,1.56,1.11,0.99,1.14,1.47,1.72,1.8,1.77,1.64,1.54,1.24,0.8,0.65,0.56,0.53,0.79,1.01,0.83,0.28,0.38,0.89,1.42,1.81,2.12,2.55,2.95,3.21,3.49,3.82,4.02,3.43,3.4,3.99,3.98,4.16,4.51,5.1,5.69,6.63,7.4,8,8.39,8.55,8.68,9.17,9.37,9.23,10.28,11.59,12.46,13.08,13.15,13.25,13.07,12.48,12,11.32,10.15,7.93,4.66,1.1,-2.6,-6.38,-7.83,-8.64,-10.06,-9.4,-8.24,-7.67,-7.04,-6.01,-5.01,-4.13,-3.38,-2.51,-1.4,-0.26,0.69,1.1,1.2,1.23,1.07,0.59,-0.23,-1.16,-1.97,-2.47,-2.54,-2.3,-2.11,-2.15,-3.8,-7.77,-11.04,-12.73,-13.66,-13.76,-13.35,-12.88,-12.06,-11.14,-10.93,-10.85,-10.9,-10.31,-8.94,-7.53,-5.99,-4.12,-1.92,0.51,2.73,4.64,5.98,6.46,6.5,6.5,6.69,6.54,6.46,5.63,4.36,3.04,2.18,1.3,3.45,5.44,-0.25,-3.45,-1.77,-1.51,-2.1,-2.84,-4.19,-5.18,-4.45,-3.79,-3.6,-2.9,-0.54,1.96,3.78,5.36,6.59,7.33,7.38,6.99,6.65,6.03,4.88,3.7,2.82,2,1.01,0.07,-0.88,-1.74,-2.51,-3.06,-3.25,-3.05,-2.43,-1.28,-0.58,-2.1,-6,-9.54,-11.67,-12.74,-13.28,-13.39,-13.2,-12.79,-12.45,-12.43,-12.52,-12.32,-11.65,-10.66,-9.37,-7.93,-6.7,-5.58,-4.49,-3.6,-3.4,-3.74,-4.33,-5.35,-6.22,-5.65,-3.75,-1.27,0.7,2.23,3.63,4.31,4.71,5.45,5.97,5.38,5.1,5.69,6,6.3,7.55,8.86,9.89,10.75,11.84,13.2,14.69,12.31,-0.57,-2.26,2.23,4.09,5.98,7.14,7.98,8.48,8.41,7.62,5.65,2.4,-0.4,-1.76,-2.43,-3.21,-3.9,-4.3,-4.56,-4.87,-4.97,-4.95,-4.78,-4.43,-4.06,-4.13,-4.23,-4.56,-4.86,-4.62,-3.74,-2.76,-1.87,-1.08,-0.43,0.16,1.02,2.06,2.78,3.18,3.72,4.58,5.67,6.78,7.96,9.09,10.08,10.74,10.76,10.15,9.22,8.24,7.02,5.63,4.39,2.79,0.37,-2.16,-3.41,-3.33,-2.55,-1.54,-0.36,0.65,1.31,1.27,0.68,-0.05,-0.56,-1.24,-2.04,-2.07,-2.13,-2.07,-1.49,-2.82,-5.14,-6.1,-5.56,-3.59,-0.85,1.79,4.68,7.04,8.34,10.3,8.64,-0.1,-3.48,-2.86,-4.38,-6.91,-9.28,-11.6,-13.19,-13.44,-12.33,-11.1,-10.29,-8.95,-7.29,-5.34,-3.48,-1.96,-1.17,-1.19,-1.18,-0.36,0.11,-1.32,-4.48,-7.73,-7.76,-6.76,-6.47,-6.35,-6.15,-5.9,-5.86,-6.15,-6.34,-5.75,-3.98,-1.69,0.78,2.95,4.52,4.89,4.97,5.35,5.79,6.51,7.59,8.62,9.16,10.6,11.33,9.03,7.72,7.23,6.8,6.1,5.7,5.23,4.5,3.92,3.23,2.43,1.87,1.53,1.41,1.41,1.34,1.29,1.48,1.37,0.9,0.95,1.21,1.55,1.81,2.01,2.17,2.37,2.17,1.03,0.51,0.76,0.97,1.36,1.79,2.11,2.37,2.76,3.01,3.21,3.68,4.24,4.36,4.59,5.09,5.26,5.45,5.98,6.73,7.47,7.88,8.45,8.74,9.08,9.16,8.68,8.52,10.04,11.11,11.9,12.96,13.83,14.06,14.26,14.08,13.84,13.49,12.95,11.28,7.2,3.2,0.57,-2.22,-6.69,-8.52,-7.02,-7.49,-8.19,-7.6,-6.56,-5.62,-4.8,-4.1,-3.39,-2.52,-1.34,-0.1,0.82,1.64,2.39,2.91,3.04,2.68,1.73,0.47,-0.85,-2.07,-2.83,-3.18,-3.34,-3.56,-5.63,-9.1,-11.68,-12.73,-13.07,-12.98,-12.46,-11.67,-11.01,-10.53,-10.53,-10.58,-9.97,-9.09,-7.25,-5.78,-4.97,-3.33,-0.99,0.6,1.88,3.05,4.04,4.54,4.49,4.77,5.31,5.05,4.23,3.48,2.67,0.9,0.63,1.99,2.91,3.4,4.1,0.29,-2.4,-1.28,-0.45,-0.17,-1.52,-3.43,-4.06,-3.98,-3.33,-1.27,1.34,3.27,4.75,6.03,7.16,7.87,8.15,8.22,8.23,7.78,7.09,6.69,6.09,4.95,3.33,1.37,-0.6,-2.22,-3.23,-3.63,-3.66,-3.58,-3.32,-2.83,-2.03,-1.64,-3.9,-8.12,-11.05,-12.67,-13.28,-13.36,-13.09,-12.56,-11.95,-11.19,-10.59,-10.41,-10.34,-10.13,-9.47,-8.18,-6.82,-5.58,-4.49,-3.92,-4.02,-4.33,-5.05,-5.46,-5,-3.82,-2.14,-0.59,0.71,2.14,2.96,3.4,4.28,5.46,5.9,6.27,6.59,6.28,5.84,6.29,6.96,7.41,7.59,7.82,8.46,9.33,10.48,11.64,12.37,5.84,-2.86,-2.85,0.04,2.66,4.2,5.17,5.9,6.34,6.48,6.46,6.43,5.78,4.11,1.96,-0.05,-1.46,-2.09,-2.52,-3.1,-3.24,-2.96,-2.92,-3.24,-3.52,-3.67,-3.58,-3.23,-2.63,-1.84,-1.14,-0.65,-0.15,0.51,1.3,1.87,2.05,2.26,2.95,3.73,4.44,5.08,5.89,7.02,8.2,9.23,9.96,10.57,11.13,10.92,9.96,8.75,7.56,6.39,5.08,3.54,1.94,0.46,-0.76,-1.45,-1.33,-0.71,0.04,0.67,1.25,1.14,0,-1.69,-2.92,-3.2,-3.43,-4.13,-4.22,-3.68,-3.37,-3.5,-4.26,-5.56,-5.55,-3.28,0.14,3.49,6.37,8.68,8.72,4.07,-3.16,-5.33,-5.39,-7.18,-8.5,-9.83,-11.17,-11.9,-11.91,-11.29,-10.3,-9.21,-8.17,-6.86,-5.11,-3.27,-1.54,0.03,0.99,1.17,1.1,0.16,-2.5,-6.35,-8.62,-8.51,-7.69,-7.1,-6.58,-6.07,-5.59,-5.32,-5.11,-4.86,-4.93,-5.49,-6.11,-5.14,-2.2,-0.01,1.77,3.65,4.21,4.41,5.09,6.11,7.53,8.92,10.29,9.67,9.45,10.02,8.56,6.82,6.05,5.23,4.49,3.65,3.6,3.76,3.59,3.13,2.42,1.71,1.38,1.18,1.01,0.89,0.54,0.22,0.53,1.42,1.64,1.68,1.72,1.58,1.32,1.35,1.73,2.01,1.93,1.8,1.7,1.63,1.67,1.93,2.16,2.27,2.55,2.98,3.43,3.96,4.48,4.97,5.56,5.96,6.27,7.15,7.79,8.04,8.82,8.64,8.66,9.28,8.94,9.22,8.68,10.31,11.12,12.39,13.63,13.31,14.25,14.5,14.69,14.64,14.38,13.83,11.73,6.87,2.9,1.22,-1.35,-4.12,-4.72,-3.97,-4.4,-4.82,-5.4,-4.18,-3.43,-3.13,-2.74,-2,-1.24,-0.25,1.13,2.47,3.27,4.07,5.48,7.08,7.83,6.77,3.62,-0.64,-3.72,-4.91,-5.56,-6.46,-7.86,-9.16,-9.73,-9.85,-10.02,-10.02,-9.69,-9.25,-8.87,-8.73,-8.44,-7.78,-6.8,-5.93,-5.15,-4.15,-2.95,-1.97,-0.36,0.8,1.69,2.6,3.31,3.82,4.05,4.36,4.91,5.09,5.51,5.38,3.45,0.48,-1.17,-0.85,0.6,2.25,2.51,1.47,0.12,-0.88,-0.7,-0.71,-1.09,-1.62,-1.94,-1.18,-0.01,1.19,2.23,3.29,4.43,5.36,6,6.81,7.86,9.32,10.02,9.28,10,10.5,10.44,9.5,7.9,5.89,1.93,-2.45,-4.61,-4.98,-4.66,-4.25,-3.81,-3.16,-1.99,-1.18,-2.73,-6.9,-10.75,-12.29,-12.82,-12.85,-12.49,-11.87,-10.98,-10.05,-9.43,-9.39,-9.32,-8.21,-6.81,-5.93,-5.28,-4.97,-4.78,-4.33,-3.51,-2.75,-2.25,-1.88,-1.35,-0.67,-0.11,0,0.49,1.49,2.28,2.49,2.31,2.09,2.28,2.93,3.75,4.83,5.36,5.35,4.9,4.9,5.67,6.18,6.87,7.24,7.78,8.3,8.22,7.28,6.99,6.4,5,3.76,3.12,3.31,3.89,4.66,5.06,5.27,5.12,4.67,4.17,3.66,3.17,2.58,1.83,1.03,0.36,-0.26,-1.05,-1.86,-2.27,-2.42,-2.41,-2.06,-1.48,-0.98,-0.73,-0.58,-0.37,0.31,1.4,2.03,2.1,2.06,2.36,2.96,3.69,4.34,4.67,5.04,5.88,6.95,7.98,8.68,9.16,9.91,10.52,10.42,9.71,8.69,7.59,6.46,5.29,4.04,2.63,1.25,0.31,-0.1,-0.14,0.15,0.52,0.77,0.92,0.75,-0.1,-1.85,-4.23,-5.44,-5.1,-5,-4.96,-4.67,-4.28,-4.09,-5.45,-6.72,-5.34,-2.33,1.74,5.23,7.1,6.13,2.55,-1.6,-5.74,-7.53,-8.21,-8.83,-9.63,-10.59,-11.38,-11.65,-11.21,-10.35,-9.21,-8.07,-6.91,-5.71,-4.11,-2.17,-0.08,1.91,3.2,2.97,1.85,-0.86,-4.75,-6.64,-6.98,-6.87,-6.64,-6.55,-6.18,-5.72,-5.4,-5.03,-4.63,-4.14,-3.47,-2.47,-1.46,-3.24,-5.84,-4.73,-3.21,-2.11,-0.4,1.44,3.78,5.74,5.66,6.41,6.83,8.25,10.19,10.84,10.48,9.17,7.77,7.2,6.94,6.32,5.62,5.08,4.74,4.63,4.45,3.99,3.65,3.38,2.99,2.48,1.91,1.61,1.27,0.78,0.55,0.6,0.8,0.99,0.84,0.32,-0.08,-0.14,-0.24,-0.21,-0.15,0.04,0.35,0.79,1.31,1.48,1.56,2.05,2.72,3.41,4.06,4.65,4.97,5.4,6.62,8.05,8.57,8.96,9.51,8.91,9.77,9.59,9.49,9.79,10.1,10.42,11.2,12.55,13.72,13.87,13.76,14.14,14.5,14.07,12.6,11.79,9.78,6.39,2.5,0.97,0.34,-0.62,-1.11,-1.39,-1.75,-2.12,-2.4,-2.62,-2.26,-1.91,-1.84,-1.04,0.13,0.88,1.09,1.69,3.59,5.69,7.41,9.82,12.23,13.07,10.69,5.46,-0.05,-3.66,-5.05,-5.17,-5.13,-5.47,-5.62,-5.36,-5.33,-5.62,-5.29,-4.91,-4.67,-4.23,-3.59,-3.19,-3.03,-2.64,-1.83,-1.16,-0.86,-0.48,0.32,1.44,2.52,3.51,4.01,4.43,5,5.46,5.61,5.17,5.58,5.55,4.28,1.37,-0.08,-0.03,0.87,1.74,1.37,1.07,1.02,0.84,0.88,1.08,1.26,1.23,0.95,0.64,0.7,0.93,1.4,2.13,3.29,4.27,5.22,6.56,7.76,8.99,10.09,10.72,11.39,11.81,11.83,11.32,10.05,10.03,8.89,6.64,2.93,0.27,-0.64,-0.94,-0.96,-0.36,0.86,-0.01,-3.37,-6.64,-7.86,-8.63,-9.47,-9.74,-9.14,-8.36,-7.53,-6.71,-5.85,-4.9,-4.45,-4.39,-4.29,-3.84,-2.82,-1.71,-0.8,0.02,0.54,0.81,0.59,-0.02,0.04,0.53,0.92,1.18,1.1,0.97,1.15,1.33,1.41,1.7,1.94,1.94,2.22,2.65,2.66,2.51,2.68,3.05,3.29,3.4,3.85,4.35,4.69,4.66,4.71,4.75,4.46,3.89,3.72,3.74,3.69,3.12,2.79,3.03,3.26,3.33,3.36,3.34,3.02,2.45,1.93,1.53,0.98,0.48,0.21,-0.12,-0.54,-0.72,-0.65,-0.64,-0.61,-0.48,-0.08,0.45,0.62,0.25,-0.09,0.03,0.87,1.54,1.98,2.22,2.37,2.6,2.88,3.05,3.21,3.63,3.91,4.37,5.33,6.75,8.02,8.77,9.12,9.16,8.72,7.78,6.69,5.67,4.69,3.8,2.97,2.18,1.49,1.15,1.17,1.27,1.26,1.02,0.41,-0.7,-2.04,-3.35,-5.19,-6.78,-6.78,-6.09,-5.6,-5.23,-5,-6.09,-7.37,-6.68,-4.56,-0.45,2.87,3.75,4.89,3.5,-0.54,-3.36,-5.37,-6.89,-8.02,-8.93,-9.59,-9.73,-9.74,-9.78,-9.47,-8.85,-8.13,-7.3,-6.25,-4.89,-3.27,-1.44,0.73,2.99,4.58,3.85,0.55,-3.31,-5.53,-6.24,-6.42,-6.3,-6.15,-6.15,-5.92,-5.45,-4.89,-4.34,-3.67,-2.89,-2.23,-2.55,-2.73,-1.94,-3.4,-5.22,-5.42,-5.18,-4.57,-2.69,-2.7,-3.74,1.1,8.32,10.57,10.36,11.58,10.47,9.11,8.66,8.2,7.72,7.41,7.07,6.58,6.14,5.65,5.1,4.62,4.24,3.91,3.75,3.56,3.26,3,2.58,1.99,1.31,0.58,-0.09,-0.58,-0.81,-0.7,-0.72,-0.98,-1.12,-0.91,-0.5,-0.24,-0.13,0.04,0.25,0.72,1.09,1.04,1.02,1.26,1.72,2.36,3.06,3.92,4.4,4.95,6.21,7.38,7.82,8.2,9.47,10.26,10.29,9.66,9.77,9.84,9.56,10.35,11.29,12.95,13.01,11.82,11.47,11.45,11.38,11.11,10.53,9.48,7.92,5.44,2.42,0.72,0.3,0.2,0,-0.19,-0.3,-0.4,-0.51,-0.46,-0.17,0.27,0.82,1.42,2.02,2.7,3.62,4.53,5.42,6.49,7.75,8.15,8.53,8.84,7.89,6.21,4.21,2.45,0.73,-0.71,-1.52,-1.9,-1.93,-1.63,-1.29,-0.98,-0.61,-0.2,0.01,-0.03,-0.08,-0.13,-0.27,-0.35,-0.05,0.47,1.12,1.87,2.58,3.27,3.83,4.72,5.59,6.19,6.59,5.93,5.12,4.73,4.07,3.2,2.18,1.12,0.79,1.17,1.15,0.97,1.07,1,0.69,0.24,-0.03,0.11,0.07,-0.16,-0.25,0.01,0.6,1.17,1.67,2.13,2.55,3.35,4.45,5.52,6.57,7.53,8.49,9.52,9.48,9.31,9.56,9.17,7.38,5.94,6.09,7.09,8.22,9.04,9.38,8.96,8.12,7.38,6.88,6.09,5.12,3.94,3.13,2.16,1.22,0.32,0.06,0.55,0.96,0.82,0.63,0.96,1.51,1.94,2,1.77,1.64,1.44,1.05,0.7,0.38,0.16,-0.04,-0.23,0.04,0.74,1.27,1.39,1.45,1.52,1.54,1.47,1.41,1.48,1.57,1.51,1.51,1.5,1.39,1.27,1.34,1.5,1.7,1.85,1.9,1.95,2.08,2.16,2.45,2.6,2.6,2.56,2.48,2.48,2.64,2.83,2.95,3.12,3.23,2.8,1.92,1.56,1.4,1.09,0.84,0.79,0.97,0.98,1.23,1.32,1.08,0.93,0.68,0.38,0.22,0.48,0.71,0.67,0.65,0.8,0.88,0.79,0.84,0.96,1.02,1.2,1.51,1.76,2.13,2.72,3.13,3.46,3.88,4.38,4.83,5.56,6.32,7.37,7.83,7.76,7.22,6.29,5.16,4.16,3.52,3.1,2.86,2.74,2.67,2.68,2.81,2.46,1.36,-0.61,-3.08,-4.54,-5.24,-6.47,-7.56,-7.65,-7.14,-6.43,-6.47,-8.3,-9.51,-8.28,-6.23,-3,0.02,-0.24,0.22,2.08,1.66,-1.13,-4.2,-6.27,-7.67,-8.78,-9.35,-9.34,-9.22,-9.07,-8.71,-8.21,-7.68,-7.09,-6.38,-5.44,-4.14,-2.54,-0.77,1.24,3.23,4.69,3.86,-0.25,-4.32,-6.29,-7.45,-7.68,-7.18,-6.35,-5.65,-5.49,-4.82,-3.48,-2.8,-2.8,-2.62,-2.43,-2.44,-2.94,-3.41,-3.51,-3.7,-3.29,-1.63,-0.75,-1.04,-0.86,1.92,4.53,4.32,5.81,8.23,7.62,7.05,7.04,6.72,6.53,6.28,5.87,5.62,5.26,4.65,4.15,3.81,3.63,3.5,3.46,3.48,3.56,3.53,3.28,2.79,2.3,1.9,1.56,1.03,0.46,0.1,-0.09,-0.15,-0.05,0.04,0.08,0.3,0.54,0.46,0.29,0.17,0.17,0.38,0.47,0.3,0.14,0.07,0.24,0.75,1.52,2.57,3.52,4.48,5.35,6.12,6.74,8.01,9.4,10.13,10.39,8.84,9.07,8.78,9.13,9.87,11.31,11.59,10.03,9.31,9.69,9.64,9.35,8.97,8.52,7.69,6.54,5.46,4.67,4.04,3.43,2.88,2.47,2.15,1.95,1.85,1.75,1.68,1.75,1.97,2.26,2.62,3.01,3.42,3.89,4.44,5.09,5.79,6.21,6.21,5.69,5.02,4.31,3.36,2.33,1.31,0.28,-0.58,-1.25,-1.66,-1.78,-1.36,-0.32,1.06,2.4,3.39,3.8,3.35,2.53,1.98,1.67,1.55,1.7,2.01,2.48,3.05,3.62,4.05,4.64,5.54,6.72,7.53,7.28,6.29,5.4,4.6,3.72,2.8,1.98,1.41,1.26,1.3,1.42,1.61,1.77,1.91,1.77,1.02,0.39,0.38,0.78,0.93,0.81,0.8,0.8,0.85,1.51,2.19,2.34,2.24,3.21,4.52,5.87,7.31,7.78,8.15,8.48,7.48,5.85,4.31,3.65,3.83,4.41,6.04,8.22,8.87,8.07,7.17,6.33,5.36,4.39,3.75,3.52,3.31,2.98,2.84,2.66,2.11,1.37,0.96,1.03,1.15,1.1,1.03,1.15,1.44,1.67,1.57,1.17,0.53,-0.15,-0.77,-1.17,-1.12,-0.47,0.55,1.39,1.81,1.91,1.98,1.93,1.76,1.67,1.58,1.36,1.2,1.14,1.12,1.11,1.23,1.25,1.07,0.79,0.53,0.43,0.4,0.39,0.35,0.34,0.41,0.54,0.69,0.85,1.01,1.19,1.45,1.66,1.74,1.57,1.41,1.47,1.55,1.43,1.26,1.15,0.89,0.73,0.86,1.07,0.99,0.84,0.87,0.91,0.76,0.44,0.19,0.46,0.82,1.02,1.16,1.21,1.15,1.1,1.13,1.28,1.47,1.65,1.9,2.25,2.61,3.12,3.82,4.3,4.65,5.18,5.69,5.86,5.89,6.55,7.81,7.8,6.4,4.99,4.47,3.91,3.17,2.52,2.14,2.26,2.68,3.94,5.55,4.08,1.09,-0.28,-2.78,-6.05,-7.3,-7.48,-8.19,-8.31,-7.75,-8.6,-10.68,-11.06,-9.22,-7.4,-5.01,-2.39,-2.67,-3,-1.14,-0.55,-1.33,-2.29,-3.68,-5.38,-6.87,-7.75,-7.96,-7.92,-8.01,-8.08,-7.99,-7.79,-7.41,-6.54,-5.32,-4.83,-4.17,-2.74,-0.94,1.1,3.03,4.29,4.5,1.78,-2.43,-5.46,-7.34,-6.81,-4.83,-3.57,-2.77,-2.72,-3.09,-2.57,-3.4,-3.28,-2.7,-2.63,-2.96,-3.44,-3.81,-3.93,-3.11,-1.26,0.17,1.9,2.21,0.58,0.87,1.41,1.18,2.54,3.98,4.59,5.06,5.34,5.47,5.55,5.55,5.48,5.33,5.16,5.08,4.7,4.32,3.98,3.71,3.45,3.17,2.85,2.58,2.36,2.17,2.01,1.84,1.66,1.48,1.28,1.04,0.84,0.68,0.58,0.46,0.36,0.35,0.39,0.45,0.48,0.36,-0.03,-0.36,-0.39,-0.35,-0.52,-0.76,-0.87,-0.82,-0.48,0.31,1.11,1.94,3.18,4.31,5.42,6.04,6.56,7.55,8.78,8.08,8.41,7.54,7.93,8.76,9.19,9.9,9.82,8.87,8.34,7.98,7.59,7.09,6.46,5.88,5.42,4.95,4.45,3.94,3.51,3.14,2.79,2.47,2.16,1.91,1.74,1.65,1.61,1.67,1.9,2.22,2.55,2.92,3.24,3.5,3.75,3.96,4.07,4.11,4.01,3.72,3.13,2.35,1.51,0.59,-0.44,-1.7,-3.11,-4.58,-6.09,-7.09,-5.59,-1.61,2.52,6.43,9.59,9.65,7.06,4.93,3.94,3.12,2.44,2.12,2.26,2.76,3.46,4.12,4.84,6,7.34,8.57,9.08,8.21,6.42,5.07,4.19,3.14,2.27,1.85,1.4,0.83,0.85,1.57,1.73,1.7,1.71,1.71,1.75,1.64,1.2,0.74,0.99,1.44,1.41,1.38,1.46,0.59,1.72,4.75,4.32,1.1,1.2,2.86,4.57,6.74,8.79,10.03,9.79,7.85,4.08,-0.79,-1.1,4.79,10.06,10.94,8.56,6.44,5.01,3.76,2.74,2.11,1.8,1.82,1.71,1.5,2.51,3.83,2.77,0.35,-1.75,-2.59,-1.62,0.08,2.44,2.99,2.14,2.14,2.1,2.14,2.18,1.44,0.2,-0.53,-0.14,1.23,1.91,1.75,1.98,2.33,2.23,2.03,2.08,2.05,1.59,0.87,0.5,0.68,1.11,1.49,1.65,1.6,1.54,1.29,0.81,0.39,0.04,-0.28,-0.5,-0.54,-0.39,-0.2,-0.04,0.11,0.31,0.56,0.75,0.76,0.65,0.49,0.27,0,-0.2,-0.28,-0.22,-0.1,0.05,0.24,0.37,0.35,0.41,0.76,0.63,-0.26,-0.73,-0.13,0.63,0.97,1.27,1.56,1.78,1.86,1.89,2.11,2.3,2.48,2.68,2.87,3.2,3.82,4.63,5.41,5.97,6.49,6.92,7.11,7.15,7.05,6.98,7.1,6.86,6.08,5.25,4.21,3.43,2.62,1.71,1.7,2.18,2.79,3.49,3.51,2.22,0.09,-2.85,-5.83,-7.81,-7.71,-7.84,-7.65,-8.17,-9.72,-10.35,-9.55,-8.16,-6.78,-5.13,-2.79,-1.8,-2.9,-3.02,-1.9,-1.55,-1.93,-2.82,-3.8,-4.46,-5.07,-5.86,-6.51,-6.65,-6.57,-6.64,-6.64,-6.05,-5.31,-4.7,-4.03,-4.79,-4.06,-2.15,-0.36,0.77,1.97,2.91,4.14,4.17,-0.19,-4.71,-5.87,-5.49,-5.01,-4.01,-2.97,-2.42,-2,-1.68,-1.73,-1.81,-1.54,-1.41,-1.95,-2.83,-2.99,-2.57,-0.59,2.21,2.33,1.2,1.42,1.73,2.22,2.63,2.67,2.96,3.73,3.95,4.01,4.12,4.2,4.29,4.56,4.75,5.08,5.18,5.13,5.12,5.26,5.18,5.1,5.03,4.71,4.44,4.16,3.81,3.39,2.86,2.35,1.86,1.41,1,0.64,0.38,0.22,0.19,0.25,0.44,0.76,1.03,1.16,1.37,1.47,1.49,1.41,1.04,0.78,0.51,0.15,-0.13,-0.28,-0.31,-0.18,0.07,0.58,1.23,2.34,3.76,4.77,5.5,6.37,7.28,5.82,5.75,5.62,5.8,6.02,6.16,6.46,6.7,6.69,6.42,6.14,5.76,5.37,5.1,4.86,4.54,4.12,3.67,3.25,2.88,2.61,2.4,2.25,2.11,1.93,1.78,1.8,1.92,2.05,2.26,2.6,3.07,3.54,3.88,4.02,3.92,3.59,3.13,2.62,2.19,1.92,1.77,1.78,1.9,1.93,2.02,2.43,2.69,2.61,3.73,5.62,3.91,1.06,-0.73,-0.54,1.26,2.82,4,5.24,4.95,3.17,2.25,1.87,1.57,1.65,1.74,1.79,2.38,4.76,8.08,10.76,11.12,10.22,8.11,5.43,4.05,3.8,2.82,1.64,1.44,1.13,0.78,0.77,0.94,2,3.28,3.57,3.97,4.77,5.23,6.21,7.74,9.76,9.98,10.4,10.22,10.37,12.28,15.38,14.1,10.16,7.72,7.43,8.32,10.66,12.36,13.16,13.03,12.78,11.86,10.11,7.04,3.39,1.6,2.32,3.22,3.03,3.44,3.68,2.62,1.44,1.24,2.91,6.61,10.07,10.56,12.19,10.43,8.24,5.54,3.09,4.17,5.63,7.46,8.43,8.89,8.95,9.15,9.03,9.36,9.22,9.19,8.68,8.84,9.3,5.28,1.88,2.07,2.37,2.07,2.5,3.12,3.29,2.88,1.89,0.89,0.58,0.92,1.52,1.9,2.13,2.24,2.29,2.26,1.74,0.58,-0.16,-0.37,-0.58,-0.85,-0.98,-0.82,-0.5,-0.2,-0.04,-0.07,-0.19,-0.25,-0.3,-0.39,-0.48,-0.5,-0.4,-0.21,-0.04,0.1,0.29,0.55,0.53,0.44,0.83,1.19,0.8,0.27,0.15,0.31,0.8,1.49,2.11,2.54,2.77,2.73,2.75,3.13,3.3,3.62,4.2,4.91,5.43,5.81,6.49,7.34,7.79,8.03,8.2,8.05,7.81,7.59,7.35,7.13,6.62,5.53,4.12,2.59,1.64,1.61,1.7,1.91,2.58,2.52,1.16,-1.64,-4.47,-6.09,-6.24,-5.67,-5.77,-6.86,-8.52,-9.64,-9.32,-7.59,-6.14,-4.97,-3.51,-1.91,-0.65,-0.31,-0.99,-1.82,-2.15,-2.37,-2.69,-3.08,-3.59,-4.27,-5.02,-5.68,-6.1,-6.21,-5.98,-5.35,-4.64,-4.27,-4.03,-3.63,-3.36,-3.74,-3.13,-1.86,-1.18,-0.15,1.1,1.97,2.83,4.1,2.43,-2.86,-6.05,-5.93,-5.44,-4.24,-3.55,-3.04,-2.61,-2.34,-2.36,-2.47,-2.53,-2.53,-2.5,-1.24,0.86,1.34,0.98,0.63,0.63,1.35,1.89,2.17,2.18,2.05,2.75,3.23,3.24,3.43,3.65,3.84,4.05,4.28,4.59,4.79,5.03,5.22,5.34,5.53,5.67,5.73,5.74,5.83,5.82,5.85,5.79,5.72,5.66,5.34,4.72,4.05,3.37,2.66,2.08,1.65,1.27,0.97,0.82,0.79,0.93,1.18,1.45,1.72,1.92,2.05,2.28,2.48,2.31,2.11,1.74,1.27,0.96,0.73,0.38,0.27,0.3,0.44,1.27,2.48,3.26,3.83,4.85,5.45,4.14,4.05,3.89,4.08,4.32,4.49,4.83,5.14,5.17,5.01,4.82,4.59,4.41,4.33,4.26,4.16,4.03,3.95,3.88,3.83,3.78,3.68,3.53,3.32,3.05,2.69,2.3,1.91,1.55,1.3,1.27,1.69,2.78,4.39,5.47,5.75,5.87,5.75,5.05,3.87,2.72,1.91,1.91,3.78,7.01,8.82,9.26,9.17,7.18,3.09,0.92,1.81,3.95,5.77,7.51,7.7,6.34,6.47,8.81,9.64,8.4,7.08,7.02,7.62,7.61,7.52,8.17,8.54,9.15,11.37,13.1,11.88,9.94,7.98,5.85,3.19,1.69,1.65,1.52,1.81,3.06,4.52,5.84,6.03,6.26,7.25,8.61,9.01,8.34,8.46,8.88,9.04,9.54,10.62,11.39,11.57,12.33,13.94,14.89,14.24,12.61,10.48,9.9,10.6,11.57,12.64,13.21,12.89,13.05,13.15,12.9,12.05,10.43,9.11,8.27,8.22,8.33,8.6,8.42,7.83,7.42,7.32,7.14,7.07,8.11,9.8,11.31,12.15,12.16,11.19,9.75,7.56,6.72,7.86,9.78,10.71,10.39,9.94,10.12,9.79,9.1,8.42,9.22,10.71,10.31,9.61,9.98,7.97,3.6,1.48,2.55,3.47,2.66,1.5,1.39,1.73,1.93,2.12,2.33,2.45,2.68,2.69,2.68,2.99,3.17,2.69,1.93,1.7,1.56,1.42,1.54,1.84,2.2,2.54,2.89,3.03,2.82,2.53,2.26,2.11,2.07,2,1.86,1.66,1.54,1.44,1.32,1.18,1.01,0.78,0.51,0.21,0.05,0.12,0.16,0.31,0.57,1.07,1.66,2.17,2.53,2.78,3.27,3.57,4.22,5.04,5.65,6.28,7.02,7.83,8.2,8.43,8.76,8.86,8.89,8.83,8.72,8.53,8.11,7.31,6.07,4.66,3.01,2.22,2.89,3.96,5.61,7.91,7.6,3.23,-1.05,-2.66,-3.91,-5.13,-5.94,-6.48,-6.79,-6.73,-6.41,-6.21,-6.2,-5.93,-5.4,-4.76,-3.98,-3.01,-1.97,-1.07,-0.67,-1.07,-1.86,-2.39,-2.68,-2.99,-3.45,-3.97,-4.27,-4.37,-4.34,-4.28,-4.13,-3.99,-3.79,-3.53,-3.17,-2.73,-2.53,-2.62,-2.57,-2.09,-1.33,-0.43,0.4,1.01,1.84,2.91,1.86,-2.17,-5.61,-6.36,-6.07,-5,-4.18,-3.71,-3.29,-2.76,-2.09,-1.49,-0.68,0.36,0.19,-1.56,-2.19,-0.89,-0.22,-1.26,-1.4,-0.15,1.04,2.03,2.48,2.26,2.2,2.43,2.67,2.95,3.18,3.35,3.55,3.72,3.85,3.94,4.05,4.19,4.42,4.41,4.5,4.65,4.77,4.83,5.01,5.18,5.33,5.41,5.55,5.63,5.74,6,6.26,6.19,5.55,4.35,3.58,3.23,2.96,2.89,2.82,2.86,2.99,3.19,3.39,3.5,3.53,3.48,3.28,2.97,2.62,2.26,1.9,1.59,1.5,1.28,0.59,0.6,1.63,2.79,3.43,3.77,4.05,4.19,3.43,3.18,3.05,3.21,3.27,3.01,2.88,3.06,3.33,3.58,3.75,3.84,3.91,4.03,4.24,4.55,4.77,4.73,4.5,4.27,4.04,3.79,3.52,3.27,3.05,2.84,2.68,2.56,2.55,2.83,3.08,1.9,-0.11,1.35,5.33,6.95,6.9,8.03,8.08,4.89,1.92,2.19,3.54,3.64,3.74,5.01,7.47,9.85,9.5,6.8,3.46,1.91,1.8,2.87,4.65,5.96,6.66,7.43,8.43,9.3,9.11,8.09,7.26,6.83,6.6,6.42,7.09,7.6,6.25,5,6.03,7.8,8.09,6.94,4.73,2.35,1.09,0.95,0.9,1.36,2.2,3.53,5.13,6.54,7.24,7.33,7.47,7.91,8.15,8.12,8.16,8.41,8.88,9.5,10.12,10.72,11.2,11.55,12.05,12.37,11.72,10.46,9.59,9.34,9.55,10.34,11.28,11.4,10.93,10.87,11.39,11.71,11.41,10.71,9.96,9.37,8.86,8.38,8,7.6,7.07,6.58,6.34,6.38,6.78,7.57,8.53,9.39,9.68,9.38,8.85,8.23,7.36,6.99,7.68,8.07,7.1,6.65,7.39,8.9,10.05,11.17,13.04,14.47,14.15,12.53,11,9.4,7.99,7.42,7.33,7.12,6.44,5.79,5.52,4.54,2.86,1.84,1.35,1.08,1.65,2.28,2.2,2.03,2.56,3.3,3.73,3.78,3.51,3.07,2.85,2.95,3.12,3.17,3.17,3.24,3.31,3.35,3.2,2.91,2.6,2.4,2.23,2.05,1.86,1.69,1.55,1.36,1.1,0.82,0.56,0.3,0.03,-0.19,-0.25,-0.08,0.28,0.75,1.33,1.93,2.44,2.93,3.17,3.8,4.69,5.5,6.34,7.21,8.15,8.39,8.74,9,8.91,8.99,9.21,9.4,9.39,8.89,7.88,6.4,4.84,3.61,3.16,3.71,5.02,6.63,7.98,8.24,7.27,5.62,4.02,2.45,0.85,-0.4,-1.19,-1.82,-2.54,-3.29,-3.95,-4.43,-4.78,-5.01,-5.07,-4.86,-4.47,-3.98,-3.38,-2.68,-2.07,-1.66,-1.66,-2.05,-2.56,-2.93,-3.16,-3.3,-3.43,-3.5,-3.59,-3.67,-3.65,-3.45,-3.23,-3.09,-3.09,-3.2,-3.18,-2.93,-2.45,-1.89,-1.3,-0.74,-0.24,0.38,1.39,1.74,-0.34,-3.58,-5.54,-6.12,-6.23,-5.68,-5.04,-4.29,-3.78,-3.85,-4.65,-4.72,-2.84,-0.35,0.51,0.12,0.08,-0.82,-1.56,-0.34,0.04,-1.35,-1.77,-0.51,0.57,1.01,1.31,1.69,2.11,2.46,2.77,3.09,3.37,3.54,3.63,3.69,3.8,3.87,3.86,3.91,4.11,4.38,4.57,4.5,4.45,4.59,4.68,4.43,4.33,4.41,4.46,4.5,4.58,4.8,4.89,4.67,4.28,3.86,3.49,3.3,3.23,3.3,3.37,3.37,3.34,3.3,3.26,3.15,2.96,2.76,2.63,2.44,1.78,0.77,-0.03,-0.31,0.07,1.12,2.19,2.88,3.23,3.27,3.24,3.43,3.36,3,2.77,2.72,2.48,1.81,1.23,1.1,1.49,2.25,2.98,3.45,3.71,3.84,4.01,4.41,5.02,5.44,5.49,5.12,4.46,4.24,4.58,4.75,4.49,3.94,3.45,3.12,2.78,2.85,4,5.46,4.64,2.52,2.07,4.79,8.92,12.46,11.52,7.37,2.68,1.27,1.23,1.02,0.99,1.42,2.44,4.01,5.4,5.86,5.56,5.15,4.69,4.37,4.67,5.52,6.34,7.02,8,8.84,9.37,9.65,9.83,9.23,7.47,6.29,6.16,4.68,2.67,2.67,4.84,6.76,5.8,2.95,1.6,2.29,2.29,1.48,1.72,2.85,3.81,4.16,4.39,4.94,5.71,6.32,6.58,6.69,6.76,6.8,6.81,6.9,7.2,7.72,8.35,8.9,8.98,9.03,9.58,10.39,10.77,10.66,10.36,10.13,10.25,10.89,11.72,11.95,11.24,10.4,10.06,10.1,10.09,9.91,9.15,8.45,8.06,7.76,7.31,6.8,6.35,5.97,5.63,5.37,5.36,5.68,6.39,7.17,7.49,7.38,7.18,7.02,6.81,6.83,6.83,6.88,6.8,6.99,7.57,8.37,9.15,9.95,10.56,10.93,10.92,10.42,9.47,8.23,7.33,6.56,5.92,5.61,5.18,4.48,4.21,4.42,4.87,5.01,3.84,2.46,1.62,1.13,0.33,-0.39,-0.4,-0.16,0.03,0.97,2.52,3.6,3.72,3.46,3.35,3.59,3.82,3.94,3.82,3.7,3.52,3.33,3.15,2.96,2.74,2.47,2.2,1.94,1.73,1.57,1.38,1.2,1,0.7,0.37,0.18,0.1,0.1,0.26,0.62,1.08,1.48,1.91,2.54,3.29,4.03,4.62,5.32,6.1,6.77,7.42,8.11,8.5,8.34,8.64,9.39,9.34,9.09,8.98,7.78,6.46,5.5,4.4,3.69,3.91,4.6,5.35,5.98,6.4,6.6,6.48,5.96,5.09,4.13,3.17,2.19,1.18,0.16,-0.86,-1.86,-2.71,-3.4,-3.89,-4.35,-4.72,-4.98,-5.06,-5.04,-4.89,-4.71,-4.4,-4.05,-3.75,-3.43,-3.23,-3.21,-3.33,-3.47,-3.55,-3.56,-3.5,-3.47,-3.51,-3.57,-3.65,-3.67,-3.55,-3.32,-3.01,-2.59,-2.09,-1.59,-1.18,-0.87,-0.47,0.15,0.4,-0.87,-3.33,-5.13,-6.08,-6.84,-7.11,-6.73,-6.2,-5.7,-5.44,-4.54,-2.9,-0.82,0.01,-0.46,-1,-1.26,-1.94,-2.49,-2.37,-1.2,-0.27,-0.82,-2.38,-2.82,-1.62,-0.23,0.48,0.89,1.36,1.87,2.37,2.83,3.21,3.46,3.58,3.61,3.62,3.62,3.62,3.62,3.61,3.8,4.33,4.72,4.72,4.31,4.17,4.13,4.04,3.89,3.85,3.91,3.95,4.01,4.04,3.97,3.85,3.74,3.79,3.81,3.83,3.78,3.65,3.52,3.41,3.32,3.25,3.13,2.99,3.08,3.14,2.52,0.8,-0.65,-0.86,-0.25,0.5,1.44,2.33,2.87,3.11,3.31,3.52,3.49,4.27,3.11,2.61,2.87,3.46,4.01,4.31,3.7,2.03,1.19,2.3,4.23,5.44,5.94,5.59,4.88,4.62,5.1,5.78,5.79,4.87,3.85,3.29,3.85,5.04,5.7,5.15,4.2,3.86,3.75,3.58,3.42,3.49,3.57,3.27,3.49,5.09,7.51,9.16,8.95,7.71,6,4.42,3.43,2.89,2.55,2.41,2.61,3.16,3.82,4.52,5.24,5.81,6.12,6.24,6.2,6.45,6.57,6.58,6.23,5.78,5.46,5.44,6.19,7.5,8.9,9.32,8.87,7.31,5.79,4.51,3.5,0.55,-2.79,-3.76,-2.67,-1.27,-0.15,0.53,0.86,1.33,2.11,2.85,3.32,3.72,4.21,4.65,4.99,5.24,5.41,5.41,5.3,5.34,5.85,6.76,7.61,8.1,8.49,9.01,9.6,9.99,10.06,9.98,9.9,9.98,10.24,10.4,10.22,9.67,8.89,8.09,7.54,7.44,7.64,7.85,7.7,7.27,6.81,6.39,5.97,5.52,5.18,5,4.99,5.15,5.5,6.05,6.77,7.35,7.47,7.24,6.76,6.62,6.69,6.69,6.67,6.83,7.1,7.26,7.43,7.62,7.68,7.82,8.18,8.46,8.37,7.87,7.62,7.17,6.35,5.41,4.53,3.89,3.35,2.82,2.31,1.98,1.86,1.63,1.46,2.23,3.23,2.05,0.41,0.84,1.71,1.24,0.24,-0.72,-1.47,-0.17,3.31,5.65,5.76,5.51,5.56,5.05,4.57,4.25,4.01,3.71,3.38,3.14,2.94,2.75,2.55,2.34,2.11,1.86,1.66,1.5,1.37,0.81,0.5,0.4,0.45,0.64,0.94,1.22,1.47,1.79,2.29,2.92,3.59,4.26,5.1,5.95,6.82,7.62,7.94,8.11,8.27,8.42,8.43,8.12,7.74,7.6,6.57,5.24,4.64,4.36,4.2,4.14,4.13,4.31,4.6,4.79,4.72,4.35,3.83,3.3,2.76,2.13,1.38,0.67,-0.09,-0.89,-1.65,-2.3,-2.98,-3.83,-4.5,-4.98,-5.25,-5.43,-5.54,-5.48,-5.46,-5.34,-5.16,-5.03,-4.98,-4.94,-4.81,-4.66,-4.5,-4.26,-3.99,-3.81,-3.72,-3.62,-3.43,-3.19,-2.94,-2.7,-2.42,-2.02,-1.59,-1.2,-0.89,-0.61,-0.33,-0.19,-0.61,-2.04,-4.04,-5.52,-6.24,-6.84,-7.58,-7.77,-7.36,-6.84,-6.38,-5.76,-4.78,-2.97,-1.29,-0.13,0.3,-0.11,-0.1,-0.2,-1.94,-3.52,-2.8,-0.59,0.1,-1.65,-4.04,-4.69,-2.86,-0.63,0.66,1.26,1.67,2.13,2.61,3.04,3.38,3.58,3.69,3.73,3.69,3.61,3.54,3.47,3.37,3.31,3.35,3.49,3.66,3.83,3.98,4.13,4.17,4.11,3.98,3.92,3.95,4.01,4.02,4.11,4.22,4.26,4.16,4.05,3.88,3.73,3.58,3.47,3.35,3.28,3.13,3.04,2.82,1.54,-0.94,-2.34,-1.29,0.79,1.41,0.64,0.55,1.92,3.47,4.11,4.29,4.88,5.18,3.27,4.09,4.75,3.97,3.13,3.37,4.67,5.01,4.52,3.51,2.18,1.62,2.48,5.07,6.22,5.55,4.9,5.28,5.84,5.6,5.04,3.98,2.76,2.38,3.24,5.53,10.21,12.11,10.86,7.32,5.24,4.02,3.61,3.28,2.93,3.26,4.36,5.43,5.98,5.84,5.48,5.11,4.66,4.26,3.92,3.63,3.44,3.46,3.71,4.13,4.62,5.14,5.6,6.12,6.28,6.33,6.56,7.03,7.42,7.41,7.24,7.01,6.76,6.92,7.41,7.94,8,7.01,4.95,2.35,-0.11,-1.88,-3.09,-3.42,-3.06,-2.69,-2.44,-2.21,-1.81,-1.43,-1.12,-0.69,-0.09,0.61,1.18,1.65,2.15,2.69,3.22,3.66,4.02,4.47,5.24,5.81,6.24,6.64,7.08,7.46,7.76,8.03,8.28,8.44,8.44,8.26,7.98,7.74,7.61,7.55,7.51,7.31,7.01,6.74,6.43,6.16,5.94,5.77,5.66,5.49,5.34,5.16,4.94,4.76,4.66,4.63,4.72,4.94,5.24,5.51,5.77,6.06,6.4,6.69,6.87,6.92,6.58,6.53,6.67,6.63,6.49,6.43,6.65,7.46,8.1,8.37,8.26,7.83,7.41,7.12,6.7,6.17,5.46,4.81,4.35,3.99,3.49,2.82,2.24,2.04,1.99,2.02,3.11,4.59,4.15,1.6,0.35,1.21,1.79,1.05,-0.05,-0.35,1.5,5.4,8.49,8.82,8.1,7.49,6.57,5.76,5.09,4.8,4.69,4.49,4.17,3.77,3.41,3.13,2.93,2.75,2.49,2.06,1.54,1.19,1.04,0.94,0.92,1.07,1.33,1.59,1.81,1.97,2.18,2.5,2.86,3.08,3.24,3.72,4.97,6.03,6.5,6.33,6.22,6.94,6.48,6.54,6.38,5.98,5.7,5.38,4.61,3.78,3.53,3.88,3.96,3.65,3.17,2.87,2.73,2.59,2.43,2.3,2.18,1.82,1.18,0.52,0.05,-0.19,-0.29,-0.4,-0.63,-1.17,-1.9,-2.85,-3.83,-4.61,-5.27,-5.73,-5.94,-5.9,-5.84,-5.66,-5.47,-5.41,-5.43,-5.38,-5.45,-5.9,-6.44,-6.42,-5.48,-4.22,-2.88,-2.08,-1.23,-0.15,0.69,0.76,0.41,0.43,0.94,1.39,1.48,1.14,0.3,-1.03,-2.52,-3.94,-5.12,-6.23,-7.32,-7.63,-6.77,-4.58,-2.18,-1.13,-1.47,-2.16,-2.08,-1.03,-0.2,-1.02,-2.74,-2.33,-0.46,-0.18,-0.78,-0.19,1.08,1.46,0.87,-0.77,-3.16,-3.32,-1.32,0.74,1.82,2.18,2.39,2.64,2.88,3.08,3.3,3.51,3.62,3.63,3.56,3.46,3.38,3.28,3.18,3.11,3.08,3.14,3.3,3.47,3.63,3.74,3.82,3.85,3.91,4.01,4.11,4.27,4.36,4.37,4.27,4.13,3.97,3.85,3.75,3.67,3.49,3.24,2.97,2.62,2.1,1.14,-0.15,-1.4,-2.35,-2.49,-1.31,0.76,2.02,2.69,3.51,5.12,6.64,7.25,6.6,4.52,1.65,-1.69,-3.13,-3.43,-3.64,-3.72,-3.43,-2.92,-2.53,-2.55,-2.97,-3.43,-3.29,-2.18,-0.36,1.08,1.73,2,2.43,3.29,3.99,4.07,3.17,1.64,0.66,1.54,4.62,7.65,8.3,6.95,4.26,2.73,2.23,1.85,0.81,-0.18,-0.13,0.83,1.91,2.53,2.76,2.89,3.07,3.29,3.43,3.59,3.69,3.83,4.03,4.44,4.97,5.5,5.95,6.27,6.5,6.73,6.98,7.31,7.68,8.24,8.97,9.74,9.74,9.36,8.02,6.79,5.25,3.06,0.27,-1.82,-2.49,-2.75,-3.17,-3.5,-3.72,-3.26,-3.33,-2.84,-2.44,-2.27,-2.11,-1.83,-1.42,-0.95,-0.42,0.1,0.6,1.17,1.83,2.52,3.12,3.63,4.17,4.75,5.26,5.69,6.05,6.35,6.56,6.7,6.83,6.95,7.07,7.15,7.13,7.04,6.88,6.68,6.51,6.38,6.28,6.14,5.91,5.66,5.48,5.44,5.44,5.38,5.31,5.25,5.18,5.06,4.9,4.76,4.69,4.7,4.78,4.93,5.11,5.26,5.3,5.26,5.32,5.52,5.88,6.06,6.29,6.55,6.78,6.81,6.75,6.79,7.04,7.16,7.14,7.17,7.04,6.9,6.63,6.31,5.76,5.2,4.88,4.7,4.64,4.5,4.29,4.01,3.84,3.91,4.23,4.14,3.13,1.76,0.98,0.82,0.97,1.05,1.4,2.66,4.73,6.93,8.01,7.95,7.4,6.84,6.33,5.78,5.35,5.18,5.02,4.8,4.54,4.3,4.17,3.9,3.71,3.47,3.24,3.03,2.86,2.7,2.59,2.48,2.4,2.35,2.28,2.23,2.21,2.21,2.18,2.22,2.44,2.65,2.84,2.68,2.52,3.01,3.59,3.78,4.14,4.36,4.51,4.51,4.51,4.42,4.23,4.14,4,3.68,3.37,3.3,3.48,3.44,3.04,2.43,1.9,1.56,1.27,0.72,-0.02,-0.39,0.32,1.76,2.51,1.95,0.99,0.48,0.13,-0.34,-0.78,-1.25,-1.72,-2.37,-3.12,-4.13,-5.14,-6.02,-6.49,-6.33,-6.12,-6.22,-6.61,-7.05,-7.43,-7.44,-6.64,-4.38,-2.9,-1.88,-1.06,-0.47,-0.6,-0.98,-0.38,1.37,2.95,3.17,2.36,1.69,1.66,1.79,1.52,0.87,-0.05,-1.25,-2.84,-4.5,-4.84,-3.75,-1.95,-0.76,-1.17,-1.4,-0.42,1.06,1.52,0.59,-0.51,-0.94,-0.67,0.08,0.63,0.31,-0.47,-0.61,0.24,1.21,1.04,-0.5,-2.47,-2.93,-1,1.11,2.23,2.46,2.52,2.65,2.77,2.85,2.96,3.12,3.3,3.39,3.34,3.24,3.17,3.12,3.1,3.08,3.05,3,2.96,2.95,2.95,2.95,2.94,2.96,3.01,3.11,3.26,3.45,3.64,3.75,3.77,3.71,3.67,3.65,3.57,3.38,3.26,3.21,2.94,1.91,0.58,-0.35,-0.88,-1.63,-2.56,-3.36,-3.77,-3.66,-3.17,-2.26,-1.01,0.57,2.51,4.84,6.15,5.06,1.5,-0.02,-1.59,-2.8,-3.63,-4.17,-4.5,-4.62,-4.59,-4.5,-4.44,-4.41,-4.29,-4.07,-3.68,-3.26,-2.78,-2.35,-1.96,-1.67,-1.45,-1.2,-0.94,-0.63,-0.35,0.05,0.93,2.12,3.06,3.24,2.45,1.15,0.05,-0.62,-1.13,-1.72,-2.11,-2.07,-1.68,-1.07,-0.42,0.14,0.56,0.9,1.3,1.83,2.47,3.18,3.94,4.76,5.51,6.09,6.53,6.81,7.1,7.59,7.95,8.22,8.45,8.87,9.67,10.71,11.15,10.43,8.71,6.25,3.58,1.35,-0.23,-1.37,-2.2,-2.77,-3.02,-3.29,-3.85,-4.56,-4.94,-4.77,-4.33,-3.86,-3.42,-3.1,-2.73,-2.23,-1.61,-0.99,-0.48,-0.05,0.35,0.79,1.32,2.05,2.89,3.7,4.36,4.82,5.15,5.44,5.72,5.94,6.11,6.27,6.46,6.65,6.75,6.72,6.62,6.49,6.3,6.09,5.85,5.61,5.38,5.14,4.9,4.7,4.59,4.55,4.53,4.54,4.55,4.58,4.62,4.64,4.67,4.67,4.66,4.63,4.6,4.57,4.53,4.49,4.48,4.63,4.94,5.31,5.32,5.33,5.44,5.63,5.81,5.92,6,6.17,6.31,6.29,6.25,6.19,6.09,5.95,5.67,5.46,5.33,5.07,4.73,4.2,3.52,2.93,2.47,1.95,1,-0.15,-0.53,-0.07,0.33,0.26,0.36,0.87,1.43,2.11,3.01,4.19,4.94,5.06,4.93,4.96,4.9,4.86,4.86,4.92,4.93,4.88,4.79,4.72,4.65,4.57,4.44,4.28,4.14,4.07,4.06,4.08,4.1,4.1,4.07,4.01,3.91,3.78,3.58,3.39,3.17,2.94,2.7,2.45,2.17,1.82,1.27,0.71,0.52,0.87,1.53,2.1,2.47,2.82,3.26,3.62,3.75,3.63,3.37,3.02,2.48,2.09,2.05,2.23,2.31,2.08,1.86,2.01,2.4,2.69,2.86,2.83,2.35,1.56,0.9,0.83,0.89,0.83,1,1.46,1.88,2.05,1.87,1.39,0.9,0.72,0.43,-0.05,-0.47,-0.85,-1.57,-2.86,-4.34,-5.2,-5.41,-6.1,-7.19,-7.99,-7.76,-7.13,-6.73,-6.57,-6.12,-5.32,-5.3,-6.02,-6.41,-6.62,-5.79,-4.95,-4.64,-4.46,-4.09,-3.53,-3.08,-2.98,-3.07,-3.09,-3.12,-3.2,-2.51,-1.15,-0.67,-0.81,-0.87,-0.54,-0.07,0.46,1.12,1.59,1.59,1.43,1.58,2.01,2.17,1.71,0.92,0.42,-0.03,-0.69,-1.26,-0.72,0.58,1.75,2.25,2.34,2.43,2.54,2.63,2.68,2.77,2.88,2.94,2.85,2.77,2.67,2.68,2.74,2.82,2.85,2.82,2.78,2.78,2.87,2.94,2.9,2.75,2.54,2.37,2.27,2.26,2.34,2.44,2.58,2.69,2.66,2.72,2.79,2.72,2.44,2.46,2.34,1.86,0.82,-0.75,-2.52,-3.56,-3.78,-3.05,-2.35,-2.31,-2.52,-2.58,-2.32,-2.26,-2.42,-1.97,-0.79,0.75,1.78,-4.62,-4.36,-4.34,-4.49,-4.76,-5.09,-5.44,-5.73,-5.95,-6.1,-6.19,-6.18,-6.14,-6.07,-5.98,-5.9,-5.76,-5.6,-5.43,-5.3,-5.24,-5.15,-4.92,-4.51,-4.01,-3.52,-3.03,-2.58,-2.13,-1.75,-1.54,-1.62,-1.9,-2.16,-2.42,-2.74,-3.11,-3.44,-3.67,-3.72,-3.57,-3.24,-2.81,-2.26,-1.62,-0.87,0.08,1.17,2.31,3.42,4.51,5.53,6.42,7.52,8.74,9.84,10.75,11.33,11.61,11.76,11.87,11.96,11.61,9.62,6.52,3.83,2.18,1.38,0.93,0.43,-0.2,-0.84,-1.38,-1.99,-2.82,-3.69,-4.22,-4.36,-4.23,-4,-3.88,-3.75,-3.5,-3.18,-2.79,-2.33,-1.83,-1.29,-0.72,-0.1,0.62,1.47,2.4,3.26,3.9,4.31,4.56,4.76,4.98,5.18,5.38,5.57,5.78,6.03,6.24,6.36,6.36,6.29,6.18,6.03,5.85,5.63,5.41,5.19,4.97,4.77,4.6,4.48,4.38,4.34,4.34,4.38,4.46,4.55,4.61,4.64,4.62,4.6,4.52,4.39,4.26,4.15,4.01,3.9,3.9,4.06,4.28,4.43,4.48,4.45,4.52,4.57,4.59,4.63,4.7,4.79,4.91,4.99,5.04,5.07,5.2,5.25,5.27,5.23,5.17,5.2,5.08,4.41,3.12,1.36,-0.56,-2.17,-2.6,-1.36,-0.25,0.97,1.77,2.52,3.25,3.76,4.04,4.06,4.05,4.12,4.28,4.42,4.5,4.55,4.61,4.71,4.81,4.93,5.07,5.19,5.25,5.21,5.16,5.12,5.16,5.28,5.42,5.54,5.66,5.75,5.81,5.82,5.77,5.65,5.44,5.15,4.84,4.55,4.29,3.97,3.41,2.46,1.17,-0.13,-1.1,-1.53,-1.5,-1.21,-0.85,-0.45,0.12,0.93,1.88,2.57,2.62,1.93,1.06,0.73,1.23,2.11,2.83,2.9,2.37,1.85,1.51,1.28,1.13,1.11,1.16,1.23,1.31,1.41,1.47,1.54,1.68,1.91,2.22,2.54,3.05,3.79,4.34,4.28,3.78,3.07,2.1,0.93,-0.26,-1.33,-2.02,-2.15,-2.03,-1.81,-1.17,-0.09,0.65,0.15,-1.67,-3.82,-5.08,-4.93,-4.25,-4.02,-4.44,-5.24,-5.94,-6.76,-7.87,-8.83,-9.33,-9.26,-8.75,-8.07,-7.58,-7.41,-7.57,-7.48,-6.39,-4.44,-2.88,-3.06,-4.7,-6.5,-7.12,-6.75,-6.12,-5.77,-5.59,-5.46,-4.68,-3.01,-1.16,-0.13,-0.35,-0.95,-0.96,-0.26,0.68,1.45,1.72,1.82,1.89,2,2.14,2.31,2.45,2.52,2.55,2.53,2.48,2.39,2.34,2.35,2.41,2.55,2.62,2.65,2.72,2.92,3.17,3.33,3.32,3.1,2.82,2.55,2.25,1.91,1.56,1.26,1.1,1.07,1.03,1.05,1.22,1.4,1.4,1.06,0.19,-1.37,-3.32,-4.81,-5.92,-6.24,-6.14,-5.4,-5.02,-5.29,-5.92,-6.41,-6.34,-5.95,-5.66,-5.67,-5.83,-5.88,-5.61,-5.12,-6.29,-6.38,-6.43,-6.48,-6.53,-6.57,-6.6,-6.58,-6.55,-6.64,-6.79,-6.94,-6.98,-7.11,-7.3,-7.38,-7.39,-7.45,-7.44,-7.61,-7.73,-7.75,-7.72,-7.62,-7.43,-7.11,-6.58,-5.94,-5.58,-5.31,-5.12,-4.99,-4.93,-4.9,-4.91,-4.99,-5.05,-5.01,-4.84,-4.56,-4.23,-3.89,-3.57,-3.21,-2.75,-2.13,-1.3,-0.31,0.79,1.92,3.07,4.21,5.31,6.26,7.02,7.94,8.78,9.58,10.28,10.82,11.17,11.2,10.74,9.57,7.89,6.22,4.79,3.39,2,0.71,-0.37,-1.15,-1.63,-1.98,-2.32,-2.79,-3.37,-3.9,-4.22,-4.33,-4.28,-4.08,-3.79,-3.5,-3.21,-2.88,-2.48,-1.97,-1.4,-0.82,-0.26,0.36,1.08,1.91,2.76,3.45,3.95,4.25,4.44,4.55,4.61,4.71,4.91,5.22,5.52,5.72,5.8,5.81,5.78,5.73,5.62,5.48,5.38,5.31,5.24,5.17,5.07,4.93,4.76,4.53,4.3,4.06,3.86,3.69,3.56,3.51,3.57,3.74,3.99,4.11,4.08,4,3.9,3.77,3.59,3.39,3.28,3.34,3.45,3.56,3.63,3.69,3.76,3.88,4.01,4.12,4.18,4.34,4.52,4.78,5.15,5.64,6.22,6.91,7.56,8.18,8.44,7.96,6.75,5.24,3.94,2.84,1.26,0.4,0.51,0.94,1.17,1.36,1.96,3.08,4.18,4.54,4.37,4.34,4.41,4.63,4.76,4.71,4.65,4.65,4.73,4.88,5,5.16,5.3,5.44,5.64,5.91,6.13,6.49,6.86,7.13,7.39,7.63,7.84,7.95,7.91,7.74,7.5,7,6.21,5.51,5.05,4.86,4.79,4.47,3.61,2.2,0.69,-0.62,-1.74,-2.6,-3.16,-3.51,-3.72,-3.7,-2.75,-0.96,0.6,1.19,0.99,0.57,0.25,-0.03,-0.16,0.11,0.72,0.92,0.68,0.2,-0.34,-0.88,-1.39,-1.9,-2.24,-1.98,-1.36,-0.95,-0.95,-1.09,-1.08,-1,-1.11,-1.61,-2.25,-2.66,-2.75,-2.67,-2.49,-2.48,-2.95,-3.82,-4.52,-4.79,-4.6,-4.17,-3.71,-3.4,-3.14,-2.78,-2.48,-2.38,-2.67,-3.34,-4.36,-5.2,-5.56,-5.6,-5.65,-5.77,-6.32,-7.24,-7.99,-8.03,-7.01,-5.33,-3.65,-2.36,-1.38,-0.61,-0.31,-0.58,-0.89,-0.95,-1.01,-1.48,-2.44,-3.43,-3.94,-3.74,-3.03,-2.08,-1.17,-0.53,-0.3,-0.41,-0.38,0.02,0.5,0.85,1.11,1.4,1.74,2.11,2.42,2.63,2.61,2.49,2.37,2.26,2.18,2.11,2.07,2.05,2.1,2.18,2.32,2.74,3.68,4.41,4.48,4.2,4.01,3.73,3.4,3.1,2.74,2.33,1.88,1.4,0.91,0.44,0.1,-0.08,-0.11,0.04,0.34,0.59,0.64,0.55,0.38,0.07,-0.45,-1.13,-1.81,-2.3,-2.69,-3.2,-3.91,-4.66,-5.35,-5.67,-5.62,-5.49,-5.48,-5.59,-5.78,-5.98,-6.14,-6.24,-6.93,-7.1,-7.26,-7.36,-7.43,-7.51,-7.59,-7.67,-7.63,-7.61,-7.61,-7.62,-7.59,-7.56,-7.61,-7.73,-7.78,-7.79,-7.83,-7.93,-7.99,-8.1,-8.22,-8.26,-8.37,-8.5,-8.63,-8.71,-8.71,-8.6,-8.37,-8.09,-7.81,-7.5,-7.07,-6.84,-6.64,-6.42,-6.18,-5.9,-5.55,-5.16,-4.73,-4.26,-3.76,-3.19,-2.56,-1.86,-1.1,-0.3,0.57,1.52,2.61,3.74,4.79,5.63,6.14,6.46,6.68,6.98,7.27,7.28,6.88,6.39,5.71,5.15,4.92,4.95,5.05,5.24,4.83,4.03,2.91,1.59,0.23,-0.99,-2.04,-2.88,-3.43,-3.78,-3.94,-3.9,-3.74,-3.46,-3.16,-2.81,-2.41,-1.98,-1.54,-1.11,-0.71,-0.31,0.16,0.73,1.39,2.06,2.65,3.12,3.45,3.68,3.8,3.8,3.7,3.59,3.63,3.96,4.4,4.78,5.03,5.14,5.17,5.16,5.14,5.12,5.07,4.98,4.87,4.73,4.61,4.45,4.29,4.11,3.93,3.78,3.65,3.59,3.68,3.85,3.95,3.89,3.75,3.65,3.51,3.36,3.13,2.87,2.64,2.47,2.36,2.3,2.27,2.28,2.29,2.33,2.42,2.54,2.69,2.87,3.07,3.28,3.51,3.74,4.02,4.4,5.04,5.92,6.76,7.23,6.92,5.31,3.24,2.1,1.89,2.33,2.7,2.06,-0.06,-2.07,-1.88,0.42,3.43,5.47,5.83,5.3,4.86,4.8,4.81,4.8,4.77,4.79,4.95,5.07,5.18,5.38,5.57,5.71,5.92,6.18,6.38,6.59,6.74,6.85,7.03,7.33,7.7,8.16,8.7,9.55,10.57,11.34,11.16,9.17,6.11,3.85,3.09,3.57,4.38,4.69,4.02,2.79,1.73,1.1,0.7,0.03,-1.34,-3.27,-4.84,-5.66,-5.76,-5.46,-5.18,-5.23,-5.53,-5.9,-6.18,-6.22,-5.99,-5.65,-5.43,-5.39,-5.33,-5.12,-4.92,-4.78,-4.72,-4.81,-4.08,-2.88,-1.69,-0.89,-0.7,-1.11,-1.72,-1.99,-1.85,-1.69,-2,-2.84,-3.92,-4.69,-4.96,-4.91,-4.9,-4.95,-5.01,-5.06,-4.98,-4.77,-4.67,-4.48,-4.27,-4.11,-3.95,-3.71,-3.5,-3.23,-2.84,-2.38,-1.91,-1.38,-0.9,-0.34,0.18,0.14,-0.81,-2.59,-4.43,-5.22,-4.79,-4.08,-3.58,-3.61,-3.84,-3.54,-2.22,-0.57,0.17,-0.18,-1.05,-1.71,-1.59,-0.9,-0.29,0.12,0.39,0.57,0.7,0.77,0.86,0.99,1.17,1.38,1.61,1.86,2.13,2.4,2.64,2.84,3.01,3.12,3.16,3.04,2.47,1.79,1.27,1.23,1.82,2.8,3.75,4.37,4.85,5.1,5.01,4.5,3.59,2.54,1.48,0.71,0.21,-0.15,-0.5,-0.88,-1.24,-1.59,-2.06,-2.75,-3.6,-4.37,-4.87,-5.02,-4.96,-4.85,-4.82,-4.89,-5.03,-5.25,-5.47,-5.6,-5.62,-5.59,-5.61,-5.7,-5.84,-5.99,-6.16,-6.29,-6.43,-6.58,-6.74,-6.85,-6.61,-6.78,-6.89,-7,-7.17,-7.36,-7.49,-7.67,-7.87,-8.04,-8.17,-8.21,-8.2,-8.18,-8.27,-8.35,-8.33,-8.26,-8.24,-8.26,-8.32,-8.39,-8.45,-8.5,-8.57,-8.68,-8.76,-8.76,-8.69,-8.56,-8.43,-8.32,-8.25,-8.22,-8.19,-8.14,-8.05,-7.89,-7.63,-7.25,-6.78,-6.2,-5.65,-5.12,-4.64,-4.18,-3.73,-3.28,-2.81,-2.31,-1.75,-1.06,-0.23,0.74,1.83,2.95,3.92,4.67,5.16,5.37,5.38,5.22,4.96,4.67,4.41,4.2,3.98,3.74,3.52,3.39,3.37,3.43,3.52,3.41,3.2,2.94,2.6,2.13,1.26,0.22,-0.81,-1.61,-2.02,-2.18,-2.18,-2.06,-1.83,-1.47,-1.09,-0.74,-0.43,-0.2,0.07,0.42,0.89,1.46,2,2.44,2.77,2.98,3.13,3.26,3.35,3.39,3.37,3.37,3.45,3.6,3.79,3.93,4.03,4.11,4.21,4.3,4.37,4.42,4.49,4.58,4.71,4.83,4.88,4.84,4.75,4.65,4.56,4.5,4.49,4.52,4.53,4.49,4.38,4.29,4.03,3.72,3.39,3.08,2.76,2.44,2.15,1.88,1.67,1.51,1.39,1.31,1.27,1.27,1.29,1.32,1.35,1.36,1.36,1.33,1.21,0.85,0.05,-1,-1.97,-2.56,-2.23,-1.32,-0.66,-0.44,-0.72,-0.77,-0.12,0.73,1.38,1.57,1.95,2.58,3.23,3.6,3.55,3.49,3.53,3.73,3.99,4.27,4.52,4.75,4.94,5.21,5.44,5.66,5.85,5.83,6.03,6.3,6.55,6.71,7.03,7.31,7.43,7.37,7.19,6.76,6.4,6.42,7.17,7.97,8.5,8.25,6.93,4.62,2.72,1.93,2.47,4.41,6.29,7.5,7.95,7.75,7.64,7.46,6.47,4.71,2.57,0.98,-0.13,-1.1,-2.17,-3.59,-4.76,-5.55,-6.04,-6.34,-6.66,-6.91,-7.01,-6.89,-6.41,-5.87,-5.55,-5.55,-5.91,-6.26,-6.17,-5.79,-5.23,-4.63,-4,-3.3,-2.53,-1.76,-1.31,-1.16,-1.24,-1.48,-1.79,-2.07,-2.36,-2.6,-2.67,-2.7,-2.69,-2.68,-2.7,-2.81,-2.94,-3.03,-3.09,-3.14,-3.14,-3.26,-3.45,-3.68,-3.99,-4.26,-4.6,-5.05,-5.64,-5.67,-4.84,-3.38,-1.72,-0.86,-1.22,-1.57,-1.48,-0.62,0.06,-0.1,-0.94,-2.11,-2.83,-2.86,-2.68,-2.48,-2.34,-1.9,-1.21,-0.5,0.09,0.37,0.46,0.5,0.54,0.6,0.7,0.87,1.09,1.36,1.65,1.89,2.04,2.12,2.16,2.33,2.78,3.48,4.29,4.76,4.16,2.82,1.39,0.72,1.88,3.55,5.13,6.28,7.29,7.73,7.03,5.23,2.67,0.74,0.17,0.34,0.62,0.15,-0.75,-1.56,-2.1,-2.29,-2.42,-2.84,-3.52,-4.37,-5.13,-5.52,-5.7,-5.75,-5.76,-5.77,-5.79,-5.79,-5.72,-5.53,-5.23,-5,-4.9,-4.99,-5.18,-5.33,-5.43,-5.5,-5.63,-5.84,-6.09,-6.34,-6.3,-6.37,-6.51,-6.69,-6.8,-6.96,-7.12,-7.26,-7.38,-7.6,-7.91,-8.06,-8.24,-8.41,-8.47,-8.57,-8.68,-8.77,-8.86,-8.93,-8.94,-8.82,-8.76,-8.74,-8.71,-8.73,-8.73,-8.71,-8.68,-8.64,-8.6,-8.51,-8.42,-8.32,-8.2,-8.06,-7.85,-7.6,-7.28,-6.92,-6.52,-6.12,-5.74,-5.38,-5.07,-4.77,-4.49,-4.21,-3.94,-3.68,-3.46,-3.21,-2.84,-2.28,-1.54,-0.72,0.06,0.72,1.24,1.62,1.86,1.99,2.03,1.99,1.91,1.86,1.92,2.05,2.22,2.36,2.38,2.3,2.19,2.05,1.94,1.9,1.93,2.08,2.13,2.05,1.8,1.46,1.14,0.84,0.63,0.49,0.39,0.35,0.31,0.26,0.22,0.26,0.38,0.57,0.87,1.22,1.57,1.91,2.17,2.38,2.55,2.65,2.72,2.77,2.82,2.82,2.84,2.87,2.96,3.09,3.26,3.46,3.65,3.83,3.96,4.09,4.23,4.4,4.65,4.8,4.85,4.85,4.8,4.74,4.69,4.7,4.76,4.83,4.86,4.81,4.61,4.43,4.25,4.04,3.8,3.54,3.23,2.86,2.46,2.05,1.66,1.27,0.91,0.58,0.31,0.12,0.01,-0.03,-0.04,0,0.14,0.65,1.56,2.87,3.97,4.14,3.14,0.92,-1.04,-2.6,-3.75,-4.13,-3.94,-3.4,-1.66,0.11,1.68,2.38,2.47,2.21,1.68,1.21,0.93,0.89,1.18,1.58,2.04,2.49,2.89,3.28,3.65,3.99,4.3,4.6,4.87,5.1,5.33,5.53,5.67,5.81,5.96,6.23,6.6,6.96,7.23,7.46,7.63,7.75,8.06,7.95,7.55,6.82,6.08,5.31,4.44,3.43,2.49,1.7,1.15,0.67,0.21,-0.08,-0.03,0.34,0.92,1.35,1.36,0.92,0.15,-0.55,-1.09,-1.29,-1.45,-1.77,-2.36,-3.25,-4.22,-5.19,-5.97,-6.61,-7.15,-7.38,-7.55,-7.61,-7.51,-7.25,-6.82,-6.23,-5.74,-5.52,-5.79,-6.14,-6.35,-6.28,-5.94,-5.46,-4.93,-4.45,-4.11,-3.88,-3.74,-3.74,-3.76,-3.77,-3.77,-3.77,-3.74,-3.71,-3.68,-3.67,-3.63,-3.6,-3.54,-3.46,-3.46,-3.55,-3.73,-4.07,-4.73,-5.62,-6.74,-7.23,-6.59,-4.99,-2.68,-0.54,1.17,2.12,1.98,1.31,0.27,-0.83,-1.59,-2.01,-1.92,-1.61,-1.27,-0.93,-0.51,0.01,0.55,0.91,0.95,0.78,0.45,0.24,0.14,0.17,0.32,0.57,0.89,1.26,1.58,1.81,1.9,1.81,1.61,1.28,0.97,0.87,1.07,1.69,2.34,2.7,2.72,2.6,2.87,3.45,4.23,4.94,5.44,5.62,5.48,4.84,3.73,2.39,1.2,0.35,-0.34,-0.96,-1.63,-1.98,-2.12,-2.02,-2.16,-2.73,-3.65,-4.57,-5.05,-5.21,-5.14,-5.02,-5.05,-5.24,-5.39,-5.53,-5.64,-5.74,-5.82,-5.87,-5.88,-5.83,-5.78,-5.73,-5.73,-5.8,-5.89,-5.99,-6.09,-6.19,-5.99,-6.2,-6.4,-6.59,-6.76,-6.91,-7.05,-7.26,-7.46,-7.63,-7.76,-7.93,-8.13,-8.26,-8.45,-8.7,-8.88,-9.01,-9.1,-9.18,-9.2,-9.17,-9.25,-9.3,-9.29,-9.23,-9.17,-9.1,-8.99,-8.93,-8.9,-8.76,-8.64,-8.53,-8.42,-8.33,-8.26,-8.2,-8.08,-7.9,-7.69,-7.44,-7.15,-6.9,-6.66,-6.43,-6.16,-5.89,-5.64,-5.42,-5.24,-5.1,-4.94,-4.72,-4.41,-3.99,-3.52,-3.02,-2.57,-2.18,-1.84,-1.61,-1.42,-1.26,-1.14,-1.01,-0.88,-0.72,-0.54,-0.36,-0.14,0.08,0.31,0.55,0.8,1.05,1.3,1.53,1.73,1.88,2.01,2.1,2.12,2.06,1.94,1.67,1.37,1.05,0.78,0.56,0.39,0.33,0.3,0.32,0.42,0.56,0.74,1,1.31,1.67,2.02,2.34,2.6,2.77,2.88,2.94,2.94,2.93,2.9,2.93,3.03,3.19,3.46,3.74,4.05,4.49,4.86,5.15,5.33,5.48,5.6,5.7,5.74,5.74,5.72,5.69,5.65,5.69,5.74,5.77,5.71,5.61,5.46,5.28,5.05,4.77,4.38,4,3.61,3.18,2.72,2.23,1.74,1.27,0.84,0.53,0.31,0.17,-0.09,-0.54,-1.17,-2.01,-2.87,-3.71,-3.97,-3.56,-2.53,-1.32,-0.17,0.87,1.44,1.25,0.28,-1.04,-2.04,-2.71,-2.63,-2.48,-2.27,-2.25,-2.32,-2.43,-2.37,-2.14,-1.72,-1.16,-0.58,0,0.55,1.09,1.59,2.1,2.59,3.08,3.55,3.99,4.38,4.69,4.96,5.18,5.37,5.54,5.69,5.76,5.76,5.69,5.52,5.4,5.38,5.59,5.93,6.35,6.26,5.8,4.98,3.82,2.84,2.14,2.16,2.38,2.74,2.61,2.25,1.66,0.99,0.39,-0.13,-0.52,-0.83,-1.07,-1.2,-1.3,-1.39,-1.65,-2.1,-2.73,-3.66,-4.56,-5.44,-6.46,-7.41,-8.26,-8.88,-9.33,-9.57,-9.42,-9.05,-8.47,-7.8,-7.29,-6.96,-6.98,-7.02,-7.09,-7.09,-7.07,-7.05,-7.09,-7.11,-7.1,-6.97,-6.8,-6.57,-6.26,-5.92,-5.55,-5.08,-4.61,-4.14,-3.68,-3.38,-3.25,-3.36,-3.62,-4.01,-4.5,-4.87,-5.1,-5.17,-5.02,-4.67,-4.05,-3.37,-2.65,-2.08,-1.56,-1.08,-0.73,-0.45,-0.21,-0.04,0.12,0.27,0.33,0.3,0.22,0.18,0.22,0.34,0.57,0.78,0.97,0.99,0.87,0.6,0.16,-0.26,-0.61,-0.66,-0.46,-0.05,0.67,1.3,1.81,1.72,1.3,0.61,0.04,-0.26,-0.26,0.14,0.64,1.24,1.97,2.78,3.65,4.37,4.9,5.19,4.94,4.44,3.74,3.07,2.61,2.37,2.35,2.17,1.77,0.95,0.12,-0.68,-0.71,-0.32,0.51,1.4,1.94,2.09,1.53,0.71,-0.32,-1.12,-1.71,-2.08,-2.25,-2.44,-2.64,-2.91,-3.17,-3.45,-3.76,-4.08,-4.41,-4.73,-5.03,-5.3,-5.47,-5.6,-5.69,-5.75,-5.85,-7.11,-7.3,-7.43,-7.45,-7.42,-7.37,-7.36,-7.34,-7.32,-7.41,-7.54,-7.78,-8.03,-8.29,-8.56,-8.83,-9.08,-9.32,-9.56,-9.75,-9.92,-10.06,-10.16,-10.22,-10.23,-10.25,-10.28,-10.32,-10.34,-10.31,-10.25,-10.17,-10.06,-9.94,-9.8,-9.61,-9.4,-9.23,-9.06,-8.88,-8.73,-8.61,-8.53,-8.42,-8.25,-8.04,-7.81,-7.57,-7.37,-7.21,-7.13,-7.04,-6.9,-6.81,-6.75,-6.62,-6.48,-6.28,-6.06,-5.82,-5.49,-5.15,-4.81,-4.47,-4.12,-3.8,-3.48,-3.18,-2.9,-2.63,-2.39,-2.14,-1.9,-1.65,-1.39,-1.11,-0.8,-0.49,-0.19,0.08,0.32,0.5,0.66,0.83,0.99,1.15,1.26,1.34,1.36,1.36,1.34,1.33,1.34,1.38,1.42,1.47,1.46,1.45,1.42,1.42,1.45,1.56,1.75,2,2.31,2.62,2.9,3.1,3.26,3.33,3.39,3.44,3.52,3.63,3.81,4.08,4.46,4.81,5.14,5.44,5.74,6.02,6.2,6.32,6.36,6.3,6.21,6.11,6.02,5.94,5.85,5.73,5.64,5.54,5.43,5.27,5.12,5.07,5,4.92,4.82,4.69,4.5,4.28,4.04,3.8,3.66,3.71,4.02,4.44,4.85,4.75,4.04,2.62,1.08,-0.3,-0.73,-0.35,0.54,1.31,1.55,1.32,0.84,0.37,-0.11,-0.6,-1.27,-2.02,-2.76,-3.28,-3.57,-3.53,-3.38,-3.08,-2.73,-2.35,-1.93,-1.5,-1.04,-0.58,-0.12,0.35,0.84,1.34,1.89,2.44,2.99,3.51,3.99,4.37,4.71,4.98,5.22,5.44,5.62,5.78,5.88,5.92,5.92,5.96,6.11,6.46,7.08,7.72,7.72,7.16,5.93,4.31,2.68,1.38,0.8,0.83,1.71,2.71,3.7,4.28,4.58,4.27,3.68,2.67,1.5,0.27,-0.79,-1.73,-2.51,-3.06,-3.54,-3.96,-4.45,-4.99,-5.63,-6.37,-7.31,-8.09,-8.78,-9.1,-9.26,-9.14,-8.85,-8.52,-8.3,-8.13,-8.02,-7.99,-7.99,-8.01,-7.96,-7.86,-7.65,-7.4,-7.09,-6.87,-6.73,-6.68,-6.71,-6.84,-6.99,-7.13,-7.29,-7.36,-7.34,-7.22,-7.02,-6.59,-6.06,-5.41,-4.75,-4.07,-3.33,-2.61,-1.89,-1.18,-0.53,0.03,0.45,0.83,1.27,1.87,2.64,3.4,4.09,4.55,4.77,4.78,4.49,4.16,3.79,3.57,3.43,3.36,3.25,3.05,2.56,1.92,0.97,-0.04,-1.11,-1.95,-2.61,-2.72,-2.48,-1.91,-1.13,-0.38,0.15,0.37,0.38,0.24,0.17,0.27,0.56,0.92,1.4,1.93,2.53,3.03,3.41,3.38,3.01,2.37,1.64,0.98,0.56,0.31,0.15,0.15,0.22,0.37,0.51,0.63,0.56,0.37,0.06,-0.34,-0.77,-1.19,-1.63,-2.08,-2.57,-3.03,-3.44,-3.76,-3.99,-3.84,-3.65,-3.47,-3.35,-3.28,-3.36,-3.51,-3.73,-4.05,-4.42,-4.83,-5.2,-5.55,-5.79,-6.08,-6.5,-6.83,-3.9,-4.02,-4.14,-4.27,-4.41,-4.57,-4.71,-4.83,-4.92,-4.98,-5.05,-5.11,-5.18,-5.26,-5.36,-5.45,-5.58,-5.71,-5.9,-6.11,-6.38,-6.74,-7.25,-7.71,-8.13,-8.43,-8.66,-8.78,-8.88,-8.99,-9.11,-9.35,-9.58,-9.8,-9.99,-10.09,-10.17,-10.23,-10.21,-10.13,-10.02,-9.89,-9.79,-9.71,-9.59,-9.46,-9.27,-9.08,-8.82,-8.58,-8.31,-8.08,-7.89,-7.69,-7.48,-7.34,-7.22,-7.13,-7.04,-6.96,-6.88,-6.73,-6.59,-6.4,-6.21,-6.01,-5.82,-5.64,-5.46,-5.29,-5.1,-4.9,-4.6,-4.27,-3.81,-3.35,-2.86,-2.38,-1.98,-1.61,-1.33,-1.08,-0.89,-0.71,-0.56,-0.4,-0.24,-0.07,0.1,0.23,0.35,0.41,0.47,0.53,0.6,0.72,0.88,1.08,1.28,1.49,1.64,1.77,1.83,1.88,1.97,2.05,2.25,2.43,2.62,2.77,2.82,2.83,2.78,2.78,2.78,2.93,3.16,3.55,4,4.49,4.99,5.48,5.96,6.39,6.79,7.12,7.34,7.38,7.35,7.21,7.08,6.93,6.85,6.8,6.81,6.83,6.82,6.78,6.64,6.49,6.3,6.18,6.16,6.18,6.22,6.31,6.43,6.54,6.65,6.45,6.22,5.42,4.52,3.01,1.58,0.33,-0.51,-0.73,-0.58,-0.05,0.46,0.97,1.02,0.92,0.38,-0.23,-0.92,-1.58,-2.05,-2.45,-2.6,-2.69,-2.69,-2.67,-2.63,-2.55,-2.45,-2.29,-2.12,-1.87,-1.62,-1.27,-0.91,-0.49,-0.04,0.47,1.01,1.59,2.17,2.74,3.28,3.81,4.27,4.71,5.08,5.44,5.7,5.93,6.07,6.17,6.17,6.12,5.98,5.75,5.43,4.99,4.46,3.89,3.32,2.93,2.58,2.64,2.74,3.07,3.4,3.73,3.94,3.99,3.77,3.27,2.52,1.6,0.67,-0.26,-1.04,-1.81,-2.41,-3,-3.48,-3.91,-4.23,-4.48,-4.64,-4.75,-4.83,-4.97,-5.14,-5.46,-5.83,-6.26,-6.72,-7.38,-7.99,-8.2,-8.38,-8.43,-8.51,-8.63,-8.77,-8.94,-8.99,-8.98,-8.78,-8.54,-8.23,-7.9,-7.49,-7.08,-6.65,-6.19,-5.65,-5.05,-4.32,-3.6,-2.88,-2.24,-1.65,-1.06,-0.47,0.17,0.83,1.72,2.63,3.59,4.48,5.19,5.82,6.34,6.7,6.9,6.95,6.93,6.66,6.32,6.04,5.77,5.64,5.53,5.6,5.65,5.66,5.53,5.16,4.51,3.58,2.42,1.12,-0.02,-1.11,-1.8,-2.43,-2.41,-2.34,-1.93,-1.54,-1.2,-0.91,-0.71,-0.38,0.08,0.85,1.79,2.53,3.2,2.78,2.22,1.09,0.07,-0.33,-0.52,-0.05,0.49,1.14,1.53,1.67,1.57,1.33,1.06,0.78,0.72,0.7,0.82,0.93,0.91,0.8,0.44,0.02,-0.5,-0.99,-1.45,-1.83,-2.15,-2.36,-2.52,-2.54,-2.55,-2.49,-2.42,-2.38,-2.36,-2.43,-2.53,-2.7,-2.88,-3.08,-3.25,-3.41,-3.54,-3.65,-3.77,-3.26,-3.42,-3.59,-3.75,-3.9,-4.03,-4.16,-4.28,-4.41,-4.51,-4.61,-4.71,-4.83,-4.96,-5.1,-5.23,-5.36,-5.5,-5.66,-5.81,-5.98,-6.15,-6.32,-6.52,-6.76,-7.05,-7.4,-7.71,-7.96,-8.17,-8.33,-8.44,-8.53,-8.63,-8.76,-8.87,-8.92,-8.94,-8.87,-8.79,-8.66,-8.54,-8.46,-8.4,-8.49,-8.59,-8.7,-8.82,-8.85,-8.86,-8.89,-8.93,-8.94,-8.94,-8.98,-9.02,-9.05,-9.08,-9.07,-9.01,-8.9,-8.73,-8.5,-8.19,-7.87,-7.53,-7.19,-6.87,-6.54,-6.23,-5.93,-5.63,-5.32,-4.96,-4.57,-4.14,-3.68,-3.2,-2.72,-2.28,-1.86,-1.51,-1.2,-0.98,-0.78,-0.64,-0.5,-0.42,-0.34,-0.26,-0.18,-0.08,0.02,0.14,0.27,0.43,0.58,0.75,0.92,1.09,1.26,1.41,1.54,1.64,1.72,1.8,1.89,2.06,2.3,2.61,2.99,3.37,3.74,4.06,4.3,4.47,4.57,4.64,4.7,4.78,4.89,5.02,5.2,5.42,5.75,6.09,6.51,6.89,7.22,7.51,7.71,7.9,8.02,8.13,8.19,8.25,8.25,8.25,8.16,8.04,7.82,7.59,7.31,7.01,6.7,6.39,6.2,6.09,6.06,6.13,6.27,6.56,6.89,7.09,7.03,6.66,6.14,5.31,4.05,2.57,1.26,0.21,-0.34,-0.52,-0.34,0.05,0.43,0.71,0.86,0.87,0.85,0.83,0.82,0.83,0.8,0.6,0.35,-0.15,-0.64,-1.17,-1.69,-1.92,-2.12,-1.97,-1.77,-1.32,-0.81,-0.24,0.37,0.98,1.59,2.16,2.72,3.23,3.7,4.12,4.51,4.86,5.17,5.45,5.71,5.93,6.1,6.2,6.25,6.23,6.13,5.96,5.75,5.53,5.34,5.13,4.94,4.76,4.57,4.35,4.09,3.78,3.44,3.09,2.74,2.37,1.82,1.26,0.56,-0.14,-0.91,-1.67,-2.32,-2.96,-3.36,-3.74,-3.97,-4.16,-4.29,-4.4,-4.54,-4.71,-4.92,-5.08,-5.26,-5.39,-5.51,-5.57,-5.6,-5.67,-5.8,-5.95,-6.14,-6.36,-6.59,-6.82,-6.93,-6.95,-6.74,-6.33,-5.68,-4.81,-3.86,-2.85,-1.98,-1.37,-0.86,-0.59,-0.3,-0.03,0.27,0.72,1.2,1.84,2.49,3.23,3.97,4.58,5.17,5.59,5.97,6.42,6.88,7.18,7.42,7.55,7.63,7.52,7.28,7.1,6.94,6.82,6.79,6.82,6.89,6.92,6.79,6.42,5.78,4.85,3.69,2.46,1.25,0.28,-0.49,-0.91,-1.18,-1.29,-1.33,-1.24,-0.87,-0.29,0.98,2.39,4.28,6,6.59,6.96,5.71,4.37,2.22,0.14,-0.89,-1.77,-1.89,-1.87,-1.53,-1.08,-0.76,-0.48,-0.32,-0.21,-0.13,-0.08,-0.01,0.05,0.05,0,-0.09,-0.22,-0.36,-0.53,-0.71,-0.89,-1.05,-1.22,-1.39,-1.59,-1.76,-1.88,-1.97,-2,-2.06,-2.14,-2.21,-2.28,-2.34,-2.4,-2.47,-2.56,-2.65,-2.79,-2.93,-3.09,-3.14,-3.25,-3.36,-3.47,-3.58,-3.68,-3.78,-3.88,-3.99,-4.11,-4.23,-4.36,-4.48,-4.61,-4.73,-4.85,-5,-5.15,-5.32,-5.48,-5.66,-5.84,-5.99,-6.15,-6.31,-6.45,-6.59,-6.77,-6.96,-7.16,-7.35,-7.6,-7.85,-8.1,-8.36,-8.62,-8.77,-8.92,-8.99,-8.98,-8.96,-8.8,-8.65,-8.52,-8.41,-8.33,-8.31,-8.31,-8.29,-8.28,-8.3,-8.33,-8.36,-8.38,-8.41,-8.43,-8.44,-8.47,-8.51,-8.54,-8.56,-8.52,-8.44,-8.33,-8.15,-7.97,-7.72,-7.45,-7.15,-6.8,-6.46,-6.07,-5.69,-5.29,-4.87,-4.46,-4.09,-3.73,-3.43,-3.16,-2.9,-2.68,-2.47,-2.28,-2.09,-1.91,-1.72,-1.52,-1.31,-1.08,-0.85,-0.62,-0.37,-0.15,0.07,0.28,0.45,0.61,0.77,0.91,1.06,1.22,1.39,1.56,1.74,1.91,2.06,2.21,2.35,2.48,2.62,2.76,2.91,3.08,3.26,3.44,3.64,3.85,4.05,4.27,4.47,4.66,4.83,4.97,5.1,5.22,5.31,5.4,5.51,5.66,5.83,6.05,6.25,6.42,6.59,6.77,6.92,7.05,7.17,7.27,7.37,7.44,7.48,7.47,7.37,7.28,7.13,6.98,6.88,6.78,6.73,6.9,7.08,7.24,7.42,7.38,6.97,6.44,5.5,4.37,3.3,2.07,1.07,0.37,-0.02,-0.22,0.23,0.8,1.53,2.37,3.18,3.45,3.58,3.44,2.91,2.36,1.74,1.13,0.61,0.2,-0.2,-0.49,-0.76,-0.96,-1.09,-1.17,-1.01,-0.84,-0.49,-0.06,0.4,0.94,1.46,1.95,2.43,2.86,3.22,3.56,3.85,4.12,4.39,4.64,4.89,5.14,5.37,5.58,5.71,5.78,5.78,5.62,5.45,5.12,4.75,4.37,3.97,3.57,3.22,2.88,2.58,2.3,2.02,1.75,1.48,1.22,0.97,0.72,0.51,0.32,0.19,0.08,-0.01,-0.09,-0.19,-0.33,-0.49,-0.72,-0.96,-1.24,-1.5,-1.71,-1.9,-1.99,-1.99,-1.99,-1.88,-1.77,-1.68,-1.59,-1.51,-1.47,-1.44,-1.36,-1.29,-1.15,-0.95,-0.75,-0.47,-0.2,0.15,0.49,0.89,1.23,1.55,1.87,2.17,2.43,2.69,2.97,3.34,3.8,4.35,4.99,5.64,6.34,7.1,7.9,8.56,9.11,9.64,10.07,10.5,10.8,11.04,11.04,10.61,10.18,9.18,8.14,7.3,6.68,6.09,6.23,6.38,6.47,6.57,6.49,5.7,4.87,3.52,1.87,0.48,-0.62,-1.45,-1.76,-1.9,-2,-1.6,-1,-0.29,0.38,0.97,1.23,1.16,0.94,0.36,-0.27,-0.81,-1.27,-1.61,-1.7,-1.78,-1.73,-1.67,-1.63,-1.63,-1.63,-1.66,-1.69,-1.67,-1.62,-1.55,-1.42,-1.3,-1.23,-1.19,-1.17,-1.22,-1.28,-1.35,-1.43,-1.5,-1.54,-1.55,-1.57,-1.62,-1.7,-1.79,-1.89,-1.99,-2.09,-2.2,-2.31,-2.41,-2.51,-2.6,-2.69,-2.77,-2.86,-2.95,-3.04,-3.45,-3.51,-3.57,-3.64,-3.73,-3.81,-3.91,-3.99,-4.08,-4.17,-4.23,-4.31,-4.42,-4.55,-4.67,-4.79,-4.9,-5.02,-5.19,-5.36,-5.55,-5.76,-5.98,-6.19,-6.35,-6.51,-6.7,-6.92,-7.13,-7.33,-7.5,-7.66,-7.81,-7.96,-8.1,-8.2,-8.28,-8.33,-8.33,-8.31,-8.29,-8.29,-8.29,-8.28,-8.26,-8.22,-8.18,-8.12,-8.06,-8,-7.97,-7.94,-7.88,-7.81,-7.74,-7.69,-7.64,-7.6,-7.54,-7.47,-7.4,-7.28,-7.16,-7.04,-6.9,-6.75,-6.6,-6.42,-6.25,-6.07,-5.87,-5.68,-5.46,-5.24,-5.02,-4.77,-4.53,-4.28,-4.03,-3.79,-3.55,-3.32,-3.08,-2.85,-2.64,-2.43,-2.22,-2.04,-1.86,-1.7,-1.54,-1.39,-1.25,-1.11,-0.96,-0.82,-0.68,-0.53,-0.37,-0.21,-0.05,0.11,0.29,0.47,0.66,0.85,1.05,1.26,1.46,1.67,1.88,2.09,2.29,2.5,2.7,2.9,3.1,3.3,3.49,3.68,3.87,4.05,4.24,4.41,4.57,4.74,4.88,5.02,5.16,5.29,5.42,5.56,5.69,5.83,5.96,6.1,6.25,6.41,6.64,6.88,7.1,7.25,7.39,7.52,7.58,7.63,7.65,7.63,7.59,7.59,7.6,7.65,7.71,7.79,7.89,7.96,7.97,7.95,7.84,7.61,7.35,7.04,6.68,6.3,5.93,5.75,5.54,5.29,5.04,4.56,3.6,2.62,1.73,0.86,0,-0.14,0.09,0.34,1.22,2.26,3.29,3.84,4.4,4.81,4.61,4.4,3.97,3.1,2.23,1.59,1.15,0.72,0.59,0.6,0.62,0.71,0.81,0.91,1.01,1.12,1.21,1.35,1.5,1.62,1.7,1.77,1.79,1.66,1.54,1.4,1.25,1.09,1.06,1.1,1.14,1.41,1.74,2.06,2.47,2.86,3.23,3.23,3.19,3.08,2.62,2.14,1.62,1.06,0.53,0.2,0.23,0.27,0.59,1.16,1.74,2.31,2.88,3.44,3.68,3.85,4.02,3.87,3.7,3.54,3.34,3.14,2.93,2.77,2.61,2.44,2.33,2.23,2.24,2.31,2.41,2.62,2.85,3.1,3.42,3.74,4.04,4.1,4.14,4.11,4.02,3.92,3.82,3.79,3.83,4.09,4.6,5.17,5.66,6.06,6.41,6.63,6.77,6.9,6.91,6.91,6.92,7.04,7.23,7.42,7.56,7.58,7.47,6.95,6.38,5.77,5.24,4.72,4.48,4.63,4.77,5.23,5.8,6.37,6.56,6.63,6.7,6.36,6.02,5.66,5.21,4.75,4.36,4.04,3.72,3.42,3.11,2.81,2.42,2,1.55,1.05,0.54,0.04,-0.38,-0.8,-1.16,-1.4,-1.62,-1.8,-1.9,-2,-2.09,-2.16,-2.22,-2.28,-2.35,-2.45,-2.54,-2.62,-2.7,-2.8,-2.89,-2.98,-3,-3,-3,-2.93,-2.84,-2.77,-2.75,-2.73,-2.73,-2.73,-2.74,-2.77,-2.81,-2.86,-2.91,-2.98,-3.04,-3.11,-3.17,-3.24,-3.31,-3.38,-4.4,-4.44,-4.47,-4.51,-4.55,-4.6,-4.64,-4.7,-4.78,-4.86,-4.93,-5.03,-5.13,-5.21,-5.31,-5.4,-5.49,-5.59,-5.7,-5.82,-5.93,-6.06,-6.17,-6.31,-6.5,-6.7,-6.89,-7.06,-7.22,-7.38,-7.52,-7.63,-7.74,-7.84,-7.89,-7.95,-8,-7.98,-7.97,-7.95,-7.87,-7.78,-7.69,-7.58,-7.47,-7.37,-7.28,-7.25,-7.21,-7.18,-7.17,-7.16,-7.15,-7.14,-7.13,-7.12,-7.1,-7.07,-7.04,-7.01,-6.95,-6.88,-6.82,-6.72,-6.61,-6.5,-6.37,-6.23,-6.09,-5.94,-5.77,-5.6,-5.43,-5.27,-5.11,-4.95,-4.78,-4.62,-4.46,-4.32,-4.18,-4.04,-3.91,-3.77,-3.64,-3.5,-3.36,-3.21,-3.06,-2.9,-2.72,-2.55,-2.36,-2.17,-1.98,-1.8,-1.61,-1.42,-1.23,-1.06,-0.88,-0.71,-0.54,-0.38,-0.23,-0.07,0.09,0.26,0.42,0.6,0.78,0.95,1.15,1.35,1.55,1.76,1.96,2.16,2.37,2.56,2.75,2.95,3.13,3.31,3.5,3.68,3.85,4.02,4.19,4.34,4.5,4.65,4.78,4.9,5.03,5.14,5.23,5.34,5.43,5.52,5.6,5.7,5.79,5.89,5.98,6.09,6.2,6.31,6.43,6.56,6.68,6.84,7.05,7.26,7.44,7.57,7.7,7.82,7.85,7.85,7.86,7.85,7.83,7.81,7.74,7.6,7.45,7.3,7.06,6.82,6.57,6.26,5.92,5.59,5.42,5.37,5.32,5.32,5.44,5.57,5.7,5.77,5.84,5.91,5.87,5.79,5.71,5.51,5.18,4.85,4.54,4.33,4.13,3.92,4.09,4.3,4.51,4.94,5.47,6.01,6.78,7.96,9.14,10.18,10.22,10.21,10.2,9.63,8.91,8.19,7.55,6.97,6.39,5.74,4.88,4.02,3.2,3.34,3.52,3.7,4.3,5.04,5.78,6.5,7.2,7.89,8.47,8.57,8.66,8.75,7.95,7.07,6.19,5.33,4.48,3.63,2.95,2.57,2.18,1.86,1.95,2.06,2.17,2.37,2.59,2.82,3.05,3.27,3.51,3.77,4.13,4.48,4.84,5.32,5.82,6.31,6.65,6.92,7.21,7.32,7.23,7.15,7.02,6.72,6.42,6.12,5.83,5.53,5.24,5.12,5.1,5.07,5.09,5.18,5.27,5.35,5.34,5.33,5.32,5.26,5.18,5.11,5.06,5.04,5.01,5.01,5.07,5.14,5.21,5.48,5.78,6.07,6.41,6.79,7.16,7.49,7.75,8.01,8.23,8.26,8.3,8.33,8.12,7.89,7.65,7.3,6.89,6.48,6.07,5.65,5.23,4.82,4.48,4.14,3.8,3.5,3.22,2.95,2.66,2.38,2.1,1.81,1.5,1.19,0.88,0.52,0.17,-0.19,-0.54,-0.89,-1.23,-1.55,-1.85,-2.15,-2.43,-2.66,-2.9,-3.13,-3.31,-3.48,-3.65,-3.78,-3.89,-3.99,-4.08,-4.13,-4.17,-4.22,-4.24,-4.25,-4.27,-4.28,-4.28,-4.29,-4.3,-4.3,-4.31,-4.32,-4.35,-4.37,-3.82,-3.94,-4.05,-4.16,-4.27,-4.37,-4.46,-4.56,-4.66,-4.75,-4.84,-4.93,-5.02,-5.11,-5.2,-5.28,-5.36,-5.45,-5.53,-5.61,-5.71,-5.79,-5.87,-5.96,-6.04,-6.12,-6.2,-6.27,-6.35,-6.42,-6.48,-6.53,-6.58,-6.63,-6.68,-6.72,-6.74,-6.77,-6.79,-6.8,-6.81,-6.81,-6.81,-6.8,-6.76,-6.73,-6.68,-6.64,-6.59,-6.52,-6.46,-6.39,-6.33,-6.26,-6.2,-6.15,-6.08,-6.01,-5.94,-5.87,-5.8,-5.73,-5.66,-5.59,-5.52,-5.44,-5.37,-5.3,-5.22,-5.14,-5.06,-4.98,-4.9,-4.82,-4.73,-4.65,-4.56,-4.47,-4.38,-4.3,-4.21,-4.12,-4.03,-3.93,-3.83,-3.74,-3.65,-3.55,-3.44,-3.35,-3.25,-3.14,-3.03,-2.92,-2.81,-2.7,-2.59,-2.47,-2.36,-2.24,-2.12,-1.99,-1.86,-1.73,-1.59,-1.44,-1.3,-1.16,-0.99,-0.82,-0.65,-0.48,-0.3,-0.12,0.08,0.27,0.46,0.65,0.84,1.03,1.22,1.41,1.59,1.78,1.96,2.14,2.31,2.48,2.65,2.82,2.98,3.15,3.31,3.48,3.63,3.78,3.93,4.08,4.21,4.33,4.45,4.57,4.67,4.77,4.86,4.95,5.03,5.1,5.16,5.23,5.29,5.34,5.39,5.44,5.49,5.53,5.59,5.64,5.69,5.74,5.8,5.86,5.91,5.96,6,6.05,6.08,6.12,6.12,6.12,6.12,6.11,6.1,6.07,6.05,6.03,6.03,6.1,6.17,6.24,6.32,6.53,6.75,6.97,7.18,7.43,7.71,7.97,8.24,8.43,8.52,8.59,8.67,8.71,8.51,8.31,8.11,7.91,7.85,7.8,7.74,7.69,7.75,7.9,8.05,8.21,8.36,8.47,8.54,8.61,8.69,8.34,8.01,7.67,7.34,7.16,7.06,6.94,6.82,6.67,6.5,6.33,6.19,6.08,6.2,6.33,6.47,6.62,6.8,6.99,7.17,7.35,7.44,7.44,7.45,7.44,7.42,7.39,7.35,7.31,7.26,7.16,7.05,6.95,6.85,6.74,6.64,6.53,6.43,6.42,6.52,6.62,6.72,6.86,7.06,7.26,7.47,7.68,7.94,8.22,8.5,8.77,8.97,9.12,9.26,9.41,9.5,9.48,9.46,9.44,9.41,9.4,9.39,9.38,9.36,9.37,9.36,9.36,9.36,9.38,9.44,9.51,9.57,9.63,9.65,9.68,9.71,9.74,9.67,9.6,9.52,9.44,9.33,9.18,9.04,8.9,8.77,8.64,8.52,8.41,8.29,8.21,8.13,8.05,7.97,7.87,7.76,7.64,7.51,7.35,7.14,6.92,6.7,6.47,6.17,5.88,5.58,5.28,4.97,4.65,4.34,4.02,3.72,3.42,3.12,2.82,2.54,2.28,2.03,1.78,1.53,1.31,1.1,0.88,0.67,0.48,0.29,0.1,-0.08,-0.26,-0.43,-0.6,-0.78,-0.95,-1.13,-1.31,-1.5,-1.68,-1.86,-2.05,-2.23,-2.42,-2.6,-2.77,-2.94,-3.11,-3.27,-3.41,-3.54,-3.69,-2.3,-2.42,-2.55,-2.68,-2.8,-2.93,-3.05,-3.17,-3.28,-3.4,-3.52,-3.63,-3.74,-3.84,-3.95,-4.05,-4.15,-4.26,-4.35,-4.44,-4.53,-4.63,-4.73,-4.82,-4.91,-5,-5.09,-5.18,-5.27,-5.35,-5.43,-5.5,-5.58,-5.65,-5.72,-5.78,-5.84,-5.9,-5.96,-6.03,-6.07,-6.09,-6.12,-6.15,-6.18,-6.2,-6.21,-6.21,-6.2,-6.21,-6.21,-6.2,-6.17,-6.15,-6.12,-6.09,-6.07,-6.04,-6.01,-5.98,-5.95,-5.92,-5.89,-5.86,-5.83,-5.8,-5.78,-5.75,-5.72,-5.69,-5.66,-5.63,-5.59,-5.56,-5.52,-5.49,-5.45,-5.41,-5.37,-5.33,-5.27,-5.23,-5.18,-5.13,-5.07,-5.02,-4.95,-4.89,-4.81,-4.75,-4.69,-4.6,-4.51,-4.43,-4.34,-4.26,-4.16,-4.06,-3.95,-3.84,-3.73,-3.63,-3.5,-3.37,-3.25,-3.12,-2.99,-2.86,-2.72,-2.57,-2.44,-2.29,-2.15,-2.01,-1.86,-1.71,-1.58,-1.43,-1.28,-1.14,-1,-0.85,-0.71,-0.56,-0.42,-0.28,-0.13,0.02,0.17,0.31,0.47,0.63,0.78,0.94,1.09,1.25,1.4,1.56,1.72,1.88,2.03,2.18,2.32,2.45,2.59,2.72,2.86,2.97,3.07,3.16,3.26,3.37,3.46,3.54,3.61,3.69,3.76,3.84,3.9,3.97,4.04,4.11,4.18,4.24,4.32,4.4,4.48,4.55,4.63,4.71,4.81,4.9,4.99,5.09,5.18,5.27,5.37,5.46,5.56,5.65,5.75,5.84,5.93,6.02,6.11,6.21,6.29,6.37,6.45,6.53,6.6,6.68,6.78,6.88,6.98,7.09,7.19,7.3,7.43,7.56,7.7,7.84,7.97,8.12,8.28,8.43,8.6,8.76,8.91,9.01,9.1,9.2,9.29,9.38,9.44,9.41,9.39,9.36,9.33,9.31,9.23,9.14,9.05,8.96,8.86,8.77,8.67,8.57,8.47,8.37,8.27,8.19,8.17,8.14,8.11,8.09,8.06,8.08,8.11,8.14,8.17,8.2,8.23,8.32,8.41,8.5,8.59,8.68,8.77,8.86,8.95,9.04,9.13,9.23,9.32,9.41,9.5,9.58,9.68,9.76,9.8,9.85,9.89,9.94,9.98,9.98,9.97,9.95,9.92,9.9,9.88,9.81,9.73,9.65,9.57,9.49,9.4,9.29,9.18,9.06,8.96,8.84,8.73,8.62,8.51,8.39,8.28,8.18,8.08,7.99,7.9,7.81,7.72,7.63,7.56,7.5,7.44,7.36,7.3,7.23,7.16,7.09,7.02,6.95,6.88,6.82,6.76,6.69,6.62,6.56,6.46,6.36,6.26,6.15,6.05,5.94,5.78,5.61,5.44,5.28,5.11,4.93,4.74,4.54,4.35,4.15,3.96,3.74,3.51,3.29,3.06,2.83,2.6,2.38,2.15,1.92,1.69,1.47,1.25,1.05,0.84,0.64,0.44,0.24,0.06,-0.11,-0.28,-0.45,-0.62,-0.78,-0.92,-1.06,-1.21,-1.35,-1.5,-1.64,-1.77,-1.9,-2.03,-2.16,-1.85,-1.99,-2.12,-2.26,-2.4,-2.53,-2.67,-2.79,-2.92,-3.05,-3.17,-3.3,-3.42,-3.54,-3.65,-3.77,-3.89,-4,-4.11,-4.22,-4.33,-4.43,-4.54,-4.64,-4.75,-4.85,-4.96,-5.06,-5.16,-5.26,-5.36,-5.46,-5.56,-5.65,-5.77,-5.91,-6.06,-6.2,-6.35,-6.5,-6.61,-6.69,-6.77,-6.85,-6.93,-7.01,-7.08,-7.14,-7.19,-7.25,-7.31,-7.36,-7.39,-7.42,-7.45,-7.48,-7.51,-7.5,-7.48,-7.46,-7.44,-7.41,-7.39,-7.34,-7.29,-7.24,-7.19,-7.15,-7.1,-7.05,-7.01,-6.97,-6.92,-6.87,-6.81,-6.76,-6.69,-6.64,-6.58,-6.52,-6.45,-6.38,-6.32,-6.25,-6.18,-6.11,-6.04,-5.97,-5.9,-5.83,-5.76,-5.69,-5.62,-5.55,-5.49,-5.42,-5.35,-5.28,-5.22,-5.16,-5.09,-5.03,-4.96,-4.9,-4.84,-4.78,-4.72,-4.65,-4.6,-4.54,-4.48,-4.43,-4.37,-4.32,-4.26,-4.21,-4.16,-4.1,-4.05,-4,-3.95,-3.9,-3.85,-3.8,-3.76,-3.7,-3.65,-3.6,-3.55,-3.51,-3.45,-3.39,-3.34,-3.28,-3.23,-3.17,-3.11,-3.04,-2.97,-2.9,-2.84,-2.76,-2.68,-2.6,-2.52,-2.43,-2.35,-2.26,-2.16,-2.07,-1.97,-1.87,-1.78,-1.67,-1.56,-1.46,-1.35,-1.25,-1.14,-1.03,-0.92,-0.81,-0.7,-0.59,-0.48,-0.37,-0.27,-0.15,-0.05,0.06,0.16,0.26,0.36,0.46,0.56,0.65,0.74,0.84,0.92,1.02,1.1,1.19,1.27,1.35,1.44,1.52,1.6,1.68,1.75,1.83,1.91,1.98,2.06,2.13,2.21,2.28,2.36,2.43,2.51,2.58,2.66,2.73,2.8,2.87,2.95,3.02,3.09,3.16,3.23,3.3,3.37,3.43,3.5,3.57,3.63,3.69,3.76,3.82,3.87,3.94,3.99,4.04,4.1,4.15,4.2,4.26,4.31,4.35,4.4,4.45,4.5,4.55,4.59,4.63,4.68,4.73,4.77,4.82,4.86,4.91,4.96,5,5.05,5.09,5.14,5.19,5.23,5.28,5.32,5.37,5.41,5.46,5.5,5.55,5.59,5.63,5.67,5.71,5.75,5.79,5.82,5.85,5.88,5.91,5.95,5.97,5.99,6.01,6.03,6.05,6.07,6.08,6.08,6.09,6.09,6.1,6.1,6.09,6.08,6.07,6.06,6.05,6.03,6.01,5.98,5.95,5.93,5.9,5.87,5.82,5.78,5.74,5.7,5.65,5.6,5.54,5.49,5.44,5.38,5.31,5.25,5.18,5.11,5.04,4.98,4.9,4.82,4.74,4.66,4.58,4.5,4.41,4.33,4.24,4.15,4.06,3.96,3.87,3.77,3.66,3.57,3.47,3.36,3.25,3.14,3.03,2.92,2.8,2.68,2.55,2.43,2.31,2.19,2.05,1.92,1.78,1.65,1.51,1.37,1.23,1.08,0.95,0.8,0.66,0.51,0.36,0.21,0.06,-0.09,-0.24,-0.39,-0.54,-0.69,-0.84,-0.99,-1.14,-1.28,-1.42,-1.56,-1.71,-0.61,-0.71,-0.81,-0.91,-1.01,-1.1,-1.2,-1.3,-1.4,-1.49,-1.59,-1.69,-1.78,-1.88,-1.97,-2.07,-2.16,-2.25,-2.34,-2.44,-2.53,-2.62,-2.71,-2.79,-2.88,-2.97,-3.05,-3.14,-3.22,-3.3,-3.39,-3.47,-3.55,-3.62,-3.7,-3.78,-3.85,-3.93,-4,-4.07,-4.14,-4.21,-4.28,-4.34,-4.41,-4.47,-4.53,-4.6,-4.66,-4.71,-4.77,-4.83,-4.88,-4.93,-4.98,-5.03,-5.08,-5.13,-5.17,-5.21,-5.26,-5.29,-5.33,-5.37,-5.4,-5.44,-5.47,-5.5,-5.53,-5.56,-5.58,-5.6,-5.63,-5.64,-5.66,-5.68,-5.69,-5.71,-5.72,-5.73,-5.74,-5.74,-5.75,-5.75,-5.75,-5.75,-5.75,-5.74,-5.73,-5.73,-5.72,-5.71,-5.69,-5.68,-5.66,-5.64,-5.62,-5.6,-5.58,-5.55,-5.52,-5.5,-5.47,-5.43,-5.4,-5.36,-5.33,-5.29,-5.25,-5.21,-5.16,-5.12,-5.07,-5.02,-4.98,-4.92,-4.87,-4.82,-4.76,-4.71,-4.65,-4.59,-4.53,-4.46,-4.4,-4.33,-4.27,-4.2,-4.13,-4.06,-3.99,-3.92,-3.84,-3.77,-3.69,-3.61,-3.53,-3.45,-3.37,-3.29,-3.21,-3.13,-3.04,-2.96,-2.87,-2.78,-2.69,-2.6,-2.51,-2.42,-2.33,-2.24,-2.15,-2.05,-1.96,-1.87,-1.77,-1.67,-1.58,-1.48,-1.38,-1.29,-1.19,-1.09,-0.99,-0.89,-0.79,-0.69,-0.59,-0.49,-0.39,-0.29,-0.19,-0.09,0.01,0.11,0.21,0.31,0.41,0.51,0.61,0.71,0.81,0.91,1.01,1.1,1.2,1.3,1.4,1.49,1.59,1.69,1.78,1.88,1.97,2.07,2.16,2.25,2.34,2.44,2.53,2.62,2.71,2.79,2.88,2.97,3.05,3.14,3.22,3.3,3.39,3.47,3.55,3.62,3.7,3.78,3.85,3.93,4,4.07,4.14,4.21,4.28,4.34,4.41,4.47,4.53,4.6,4.66,4.71,4.77,4.83,4.88,4.93,4.98,5.03,5.08,5.13,5.17,5.21,5.26,5.29,5.33,5.37,5.4,5.44,5.47,5.5,5.53,5.56,5.58,5.6,5.63,5.64,5.66,5.68,5.69,5.71,5.72,5.73,5.74,5.74,5.75,5.75,5.75,5.75,5.75,5.74,5.73,5.73,5.72,5.71,5.69,5.68,5.66,5.64,5.62,5.6,5.58,5.55,5.52,5.5,5.47,5.43,5.4,5.36,5.33,5.29,5.25,5.21,5.16,5.12,5.07,5.02,4.98,4.92,4.87,4.82,4.76,4.71,4.65,4.59,4.53,4.46,4.4,4.33,4.27,4.2,4.13,4.06,3.99,3.92,3.84,3.77,3.69,3.61,3.53,3.45,3.37,3.29,3.21,3.13,3.04,2.96,2.87,2.78,2.69,2.6,2.51,2.42,2.33,2.24,2.15,2.05,1.96,1.87,1.77,1.67,1.58,1.48,1.38,1.29,1.19,1.09,0.99,0.89,0.79,0.69,0.59,0.49,0.39,0.29,0.19,0.09,-0.01,-0.11,-0.21,-0.31,-0.41,-0.51]}]')},"5e1a":function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n("8707").Buffer,r=n(4);function a(e,t,n){e.copy(t,n)}e.exports=function(){function e(){i(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";var t=this.head,n=""+t.data;while(t=t.next)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;var t=o.allocUnsafe(e>>>0),n=this.head,i=0;while(n)a(n.data,t,i),i+=n.data.length,n=n.next;return t},e}(),r&&r.inspect&&r.inspect.custom&&(e.exports.prototype[r.inspect.custom]=function(){var e=r.inspect({length:this.length});return this.constructor.name+" "+e})},6853:function(e,t,n){"use strict";var i=n("be7f"),o=15,r=852,a=592,s=0,c=1,l=2,u=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],h=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],f=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,p,m,_,g,b){var y,v,O,w,A,T,C,E,x,S=b.bits,I=0,D=0,j=0,P=0,R=0,M=0,N=0,L=0,B=0,F=0,k=null,z=0,U=new i.Buf16(o+1),V=new i.Buf16(o+1),H=null,G=0;for(I=0;I<=o;I++)U[I]=0;for(D=0;D<p;D++)U[t[n+D]]++;for(R=S,P=o;P>=1;P--)if(0!==U[P])break;if(R>P&&(R=P),0===P)return m[_++]=20971520,m[_++]=20971520,b.bits=1,0;for(j=1;j<P;j++)if(0!==U[j])break;for(R<j&&(R=j),L=1,I=1;I<=o;I++)if(L<<=1,L-=U[I],L<0)return-1;if(L>0&&(e===s||1!==P))return-1;for(V[1]=0,I=1;I<o;I++)V[I+1]=V[I]+U[I];for(D=0;D<p;D++)0!==t[n+D]&&(g[V[t[n+D]]++]=D);if(e===s?(k=H=g,T=19):e===c?(k=u,z-=257,H=h,G-=257,T=256):(k=d,H=f,T=-1),F=0,D=0,I=j,A=_,M=R,N=0,O=-1,B=1<<R,w=B-1,e===c&&B>r||e===l&&B>a)return 1;for(;;){C=I-N,g[D]<T?(E=0,x=g[D]):g[D]>T?(E=H[G+g[D]],x=k[z+g[D]]):(E=96,x=0),y=1<<I-N,v=1<<M,j=v;do{v-=y,m[A+(F>>N)+v]=C<<24|E<<16|x|0}while(0!==v);y=1<<I-1;while(F&y)y>>=1;if(0!==y?(F&=y-1,F+=y):F=0,D++,0===--U[I]){if(I===P)break;I=t[n+g[D]]}if(I>R&&(F&w)!==O){0===N&&(N=R),A+=j,M=I-N,L=1<<M;while(M+N<P){if(L-=U[M+N],L<=0)break;M++,L<<=1}if(B+=1<<M,e===c&&B>r||e===l&&B>a)return 1;O=F&w,m[O]=R<<24|M<<16|A-_|0}}return 0!==F&&(m[A+F]=I-N<<24|64<<16|0),b.bits=R,0}},"6a30":function(e,t,n){"use strict";var i=n("d4da"),o=n("535a"),r=n("2f63");function a(e){i["a"].typeOf.object("options",e),i["a"].defined("options.comparator",e.comparator),this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}function s(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}Object.defineProperties(a.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("maximumLength",e,0);const t=this._length;if(e<t){const n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}}),a.prototype.reserve=function(e){e=Object(o["a"])(e,this._length),this._array.length=e},a.prototype.heapify=function(e){e=Object(o["a"])(e,0);const t=this._length,n=this._comparator,i=this._array;let r=-1,a=!0;while(a){const o=2*(e+1),c=o-1;r=c<t&&n(i[c],i[e])<0?c:e,o<t&&n(i[o],i[r])<0&&(r=o),r!==e?(s(i,r,e),e=r):a=!1}},a.prototype.resort=function(){const e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)},a.prototype.insert=function(e){i["a"].defined("element",e);const t=this._array,n=this._comparator,o=this._maximumLength;let a,c=this._length++;c<t.length?t[c]=e:t.push(e);while(0!==c){const e=Math.floor((c-1)/2);if(!(n(t[c],t[e])<0))break;s(t,c,e),c=e}return Object(r["a"])(o)&&this._length>o&&(a=t[o],this._length=o),a},a.prototype.pop=function(e){if(e=Object(o["a"])(e,0),0===this._length)return;i["a"].typeOf.number.lessThan("index",e,this._length);const t=this._array,n=t[e];return s(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n},t["a"]=a},"6b75":function(e,t,n){"use strict";function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}n.d(t,"a",(function(){return i}))},"6b75e":function(e,t,n){"use strict";(function(e,i){var o=n("f654"),r=n("8936"),a=n("a177"),s=n("9e6e"),c=n("2ceb");for(var l in c)t[l]=c[l];t.NONE=0,t.DEFLATE=1,t.INFLATE=2,t.GZIP=3,t.GUNZIP=4,t.DEFLATERAW=5,t.INFLATERAW=6,t.UNZIP=7;var u=31,h=139;function d(e){if("number"!==typeof e||e<t.DEFLATE||e>t.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=e,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}d.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,o(this.init_done,"close before init"),o(this.mode<=t.UNZIP),this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW?a.deflateEnd(this.strm):this.mode!==t.INFLATE&&this.mode!==t.GUNZIP&&this.mode!==t.INFLATERAW&&this.mode!==t.UNZIP||s.inflateEnd(this.strm),this.mode=t.NONE,this.dictionary=null)},d.prototype.write=function(e,t,n,i,o,r,a){return this._write(!0,e,t,n,i,o,r,a)},d.prototype.writeSync=function(e,t,n,i,o,r,a){return this._write(!1,e,t,n,i,o,r,a)},d.prototype._write=function(n,r,a,s,c,l,u,h){if(o.equal(arguments.length,8),o(this.init_done,"write before init"),o(this.mode!==t.NONE,"already finalized"),o.equal(!1,this.write_in_progress,"write already in progress"),o.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,o.equal(!1,void 0===r,"must provide flush value"),this.write_in_progress=!0,r!==t.Z_NO_FLUSH&&r!==t.Z_PARTIAL_FLUSH&&r!==t.Z_SYNC_FLUSH&&r!==t.Z_FULL_FLUSH&&r!==t.Z_FINISH&&r!==t.Z_BLOCK)throw new Error("Invalid flush value");if(null==a&&(a=e.alloc(0),c=0,s=0),this.strm.avail_in=c,this.strm.input=a,this.strm.next_in=s,this.strm.avail_out=h,this.strm.output=l,this.strm.next_out=u,this.flush=r,!n)return this._process(),this._checkError()?this._afterSync():void 0;var d=this;return i.nextTick((function(){d._process(),d._after()})),this},d.prototype._afterSync=function(){var e=this.strm.avail_out,t=this.strm.avail_in;return this.write_in_progress=!1,[t,e]},d.prototype._process=function(){var e=null;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=a.deflate(this.strm,this.flush);break;case t.UNZIP:switch(this.strm.avail_in>0&&(e=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===e)break;if(this.strm.input[e]!==u){this.mode=t.INFLATE;break}if(this.gzip_id_bytes_read=1,e++,1===this.strm.avail_in)break;case 1:if(null===e)break;this.strm.input[e]===h?(this.gzip_id_bytes_read=2,this.mode=t.GUNZIP):this.mode=t.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:this.err=s.inflate(this.strm,this.flush),this.err===t.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===t.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===t.Z_DATA_ERROR&&(this.err=t.Z_NEED_DICT));while(this.strm.avail_in>0&&this.mode===t.GUNZIP&&this.err===t.Z_STREAM_END&&0!==this.strm.next_in[0])this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},d.prototype._checkError=function(){switch(this.err){case t.Z_OK:case t.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===t.Z_FINISH)return this._error("unexpected end of file"),!1;break;case t.Z_STREAM_END:break;case t.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},d.prototype._after=function(){if(this._checkError()){var e=this.strm.avail_out,t=this.strm.avail_in;this.write_in_progress=!1,this.callback(t,e),this.pending_close&&this.close()}},d.prototype._error=function(e){this.strm.msg&&(e=this.strm.msg),this.onerror(e,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},d.prototype.init=function(e,n,i,r,a){o(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),o(e>=8&&e<=15,"invalid windowBits"),o(n>=-1&&n<=9,"invalid compression level"),o(i>=1&&i<=9,"invalid memlevel"),o(r===t.Z_FILTERED||r===t.Z_HUFFMAN_ONLY||r===t.Z_RLE||r===t.Z_FIXED||r===t.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(n,e,i,r,a),this._setDictionary()},d.prototype.params=function(){throw new Error("deflateParams Not supported")},d.prototype.reset=function(){this._reset(),this._setDictionary()},d.prototype._init=function(e,n,i,o,c){switch(this.level=e,this.windowBits=n,this.memLevel=i,this.strategy=o,this.flush=t.Z_NO_FLUSH,this.err=t.Z_OK,this.mode!==t.GZIP&&this.mode!==t.GUNZIP||(this.windowBits+=16),this.mode===t.UNZIP&&(this.windowBits+=32),this.mode!==t.DEFLATERAW&&this.mode!==t.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new r,this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=a.deflateInit2(this.strm,this.level,t.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:case t.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==t.Z_OK&&this._error("Init error"),this.dictionary=c,this.write_in_progress=!1,this.init_done=!0},d.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:this.err=a.deflateSetDictionary(this.strm,this.dictionary);break;default:break}this.err!==t.Z_OK&&this._error("Failed to set dictionary")}},d.prototype._reset=function(){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:case t.GZIP:this.err=a.deflateReset(this.strm);break;case t.INFLATE:case t.INFLATERAW:case t.GUNZIP:this.err=s.inflateReset(this.strm);break;default:break}this.err!==t.Z_OK&&this._error("Failed to reset stream")},t.Zlib=d}).call(this,n("b639").Buffer,n("4362"))},"6f8a":function(e,t,n){},7491:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var i="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{};function o(e,t,n){return n={path:t,exports:{},require:function(e,t){return r(e,void 0===t||null===t?n.path:t)}},e(n,n.exports),n.exports}function r(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}}).call(this,n("c8ba"))},"75b2":function(e,t,n){"use strict";var i=n("881b"),o=n("d4da"),r=n("535a"),a=n("9c35"),s=n("2f63"),c=n("21d7"),l=n("6a30"),u=n("96e8"),h=n("166e"),d=n("8a39");function f(e,t){return e.priority-t.priority}const p={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let m=20;const _=new l["a"]({comparator:f});_.maximumLength=m,_.reserve(m);const g=[];let b={};const y="undefined"!==typeof document?new i["a"](document.location.href):new i["a"],v=new c["a"];function O(){}function w(e){Object(s["a"])(e.priorityFunction)&&(e.priority=e.priorityFunction())}function A(e){return e.state===d["a"].UNISSUED&&(e.state=d["a"].ISSUED,e.deferred=Object(a["a"])()),e.deferred.promise}function T(e){return function(t){if(e.state===d["a"].CANCELLED)return;const n=e.deferred;--p.numberOfActiveRequests,--b[e.serverKey],v.raiseEvent(),e.state=d["a"].RECEIVED,e.deferred=void 0,n.resolve(t)}}function C(e){return function(t){e.state!==d["a"].CANCELLED&&(++p.numberOfFailedRequests,--p.numberOfActiveRequests,--b[e.serverKey],v.raiseEvent(t),e.state=d["a"].FAILED,e.deferred.reject(t))}}function E(e){const t=A(e);return e.state=d["a"].ACTIVE,g.push(e),++p.numberOfActiveRequests,++p.numberOfActiveRequestsEver,++b[e.serverKey],e.requestFunction().then(T(e)).catch(C(e)),t}function x(e){const t=e.state===d["a"].ACTIVE;if(e.state=d["a"].CANCELLED,++p.numberOfCancelledRequests,Object(s["a"])(e.deferred)){const t=e.deferred;e.deferred=void 0,t.reject()}t&&(--p.numberOfActiveRequests,--b[e.serverKey],++p.numberOfCancelledActiveRequests),Object(s["a"])(e.cancelFunction)&&e.cancelFunction()}function S(){O.debugShowStatistics&&(0===p.numberOfActiveRequests&&p.lastNumberOfActiveRequests>0&&(p.numberOfAttemptedRequests>0&&(console.log("Number of attempted requests: "+p.numberOfAttemptedRequests),p.numberOfAttemptedRequests=0),p.numberOfCancelledRequests>0&&(console.log("Number of cancelled requests: "+p.numberOfCancelledRequests),p.numberOfCancelledRequests=0),p.numberOfCancelledActiveRequests>0&&(console.log("Number of cancelled active requests: "+p.numberOfCancelledActiveRequests),p.numberOfCancelledActiveRequests=0),p.numberOfFailedRequests>0&&(console.log("Number of failed requests: "+p.numberOfFailedRequests),p.numberOfFailedRequests=0)),p.lastNumberOfActiveRequests=p.numberOfActiveRequests)}O.maximumRequests=50,O.maximumRequestsPerServer=6,O.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18},O.throttleRequests=!0,O.debugShowStatistics=!1,O.requestCompletedEvent=v,Object.defineProperties(O,{statistics:{get:function(){return p}},priorityHeapLength:{get:function(){return m},set:function(e){if(e<m)while(_.length>e){const e=_.pop();x(e)}m=e,_.maximumLength=e,_.reserve(e)}}}),O.serverHasOpenSlots=function(e,t){t=Object(r["a"])(t,1);const n=Object(r["a"])(O.requestsByServer[e],O.maximumRequestsPerServer),i=b[e]+t<=n;return i},O.heapHasOpenSlots=function(e){const t=_.length+e<=m;return t},O.update=function(){let e,t,n=0;const i=g.length;for(e=0;e<i;++e)t=g[e],t.cancelled&&x(t),t.state===d["a"].ACTIVE?n>0&&(g[e-n]=t):++n;g.length-=n;const o=_.internalArray,r=_.length;for(e=0;e<r;++e)w(o[e]);_.resort();const a=Math.max(O.maximumRequests-g.length,0);let s=0;while(s<a&&_.length>0)t=_.pop(),t.cancelled?x(t):!t.throttleByServer||O.serverHasOpenSlots(t.serverKey)?(E(t),++s):x(t);S()},O.getServerKey=function(e){o["a"].typeOf.string("url",e);let t=new i["a"](e);""===t.scheme()&&(t=new i["a"](e).absoluteTo(y),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${"https"===t.scheme()?"443":"80"}`);const r=b[n];return Object(s["a"])(r)||(b[n]=0),n},O.request=function(e){if(o["a"].typeOf.object("request",e),o["a"].typeOf.string("request.url",e.url),o["a"].typeOf.func("request.requestFunction",e.requestFunction),Object(h["a"])(e.url)||Object(u["a"])(e.url))return v.raiseEvent(),e.state=d["a"].RECEIVED,e.requestFunction();if(++p.numberOfAttemptedRequests,Object(s["a"])(e.serverKey)||(e.serverKey=O.getServerKey(e.url)),O.throttleRequests&&e.throttleByServer&&!O.serverHasOpenSlots(e.serverKey))return;if(!O.throttleRequests||!e.throttle)return E(e);if(g.length>=O.maximumRequests)return;w(e);const t=_.insert(e);if(Object(s["a"])(t)){if(t===e)return;x(t)}return A(e)},O.clearForSpecs=function(){while(_.length>0){const e=_.pop();x(e)}const e=g.length;for(let t=0;t<e;++t)x(g[t]);g.length=0,b={},p.numberOfAttemptedRequests=0,p.numberOfActiveRequests=0,p.numberOfCancelledRequests=0,p.numberOfCancelledActiveRequests=0,p.numberOfFailedRequests=0,p.numberOfActiveRequestsEver=0,p.lastNumberOfActiveRequests=0},O.numberOfActiveRequestsByServer=function(e){return b[e]},O.requestHeap=_,t["a"]=O},"780f":function(e,t,n){"use strict";e.exports=r;var i=n("27bf"),o=Object.create(n("3a7c"));function r(e){if(!(this instanceof r))return new r(e);i.call(this,e)}o.inherits=n("3fb5"),o.inherits(r,i),r.prototype._transform=function(e,t,n){n(null,e)}},"7aae":function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};i.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},i.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(1664525*((4294901760&r)>>>16)<<16)+1664525*(65535&r))+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(1566083941*((4294901760&r)>>>16)<<16)+1566083941*(65535&r))-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648},i.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[1&e];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0},i.prototype.random_int31=function(){return this.random_int()>>>1},i.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},i.prototype.random=function(){return this.random_int()*(1/4294967296)},i.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},i.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(67108864*e+t)*(1/9007199254740992)};var o=i},"7d72":function(e,t,n){"use strict";var i=n("8707").Buffer,o=i.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(e){if(!e)return"utf8";var t;while(1)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function a(e){var t=r(e);if("string"!==typeof t&&(i.isEncoding===o||!o(e)))throw new Error("Unknown encoding: "+e);return t||e}function s(e){var t;switch(this.encoding=a(e),this.encoding){case"utf16le":this.text=p,this.end=m,t=4;break;case"utf8":this.fillLast=h,t=4;break;case"base64":this.text=_,this.end=g,t=3;break;default:return this.write=b,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function c(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function l(e,t,n){var i=t.length-1;if(i<n)return 0;var o=c(t[i]);return o>=0?(o>0&&(e.lastNeed=o-1),o):--i<n||-2===o?0:(o=c(t[i]),o>=0?(o>0&&(e.lastNeed=o-2),o):--i<n||-2===o?0:(o=c(t[i]),o>=0?(o>0&&(2===o?o=0:e.lastNeed=o-3),o):0))}function u(e,t,n){if(128!==(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"�"}}function h(e){var t=this.lastTotal-this.lastNeed,n=u(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function d(e,t){var n=l(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function p(e,t){if((e.length-t)%2===0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function m(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function _(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function b(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}t.StringDecoder=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(t=this.fillLast(e),void 0===t)return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},s.prototype.end=f,s.prototype.text=d,s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},"7eb1":function(e,t,n){"use strict";var i=30,o=12;e.exports=function(e,t){var n,r,a,s,c,l,u,h,d,f,p,m,_,g,b,y,v,O,w,A,T,C,E,x,S;n=e.state,r=e.next_in,x=e.input,a=r+(e.avail_in-5),s=e.next_out,S=e.output,c=s-(t-e.avail_out),l=s+(e.avail_out-257),u=n.dmax,h=n.wsize,d=n.whave,f=n.wnext,p=n.window,m=n.hold,_=n.bits,g=n.lencode,b=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{_<15&&(m+=x[r++]<<_,_+=8,m+=x[r++]<<_,_+=8),O=g[m&y];t:for(;;){if(w=O>>>24,m>>>=w,_-=w,w=O>>>16&255,0===w)S[s++]=65535&O;else{if(!(16&w)){if(0===(64&w)){O=g[(65535&O)+(m&(1<<w)-1)];continue t}if(32&w){n.mode=o;break e}e.msg="invalid literal/length code",n.mode=i;break e}A=65535&O,w&=15,w&&(_<w&&(m+=x[r++]<<_,_+=8),A+=m&(1<<w)-1,m>>>=w,_-=w),_<15&&(m+=x[r++]<<_,_+=8,m+=x[r++]<<_,_+=8),O=b[m&v];n:for(;;){if(w=O>>>24,m>>>=w,_-=w,w=O>>>16&255,!(16&w)){if(0===(64&w)){O=b[(65535&O)+(m&(1<<w)-1)];continue n}e.msg="invalid distance code",n.mode=i;break e}if(T=65535&O,w&=15,_<w&&(m+=x[r++]<<_,_+=8,_<w&&(m+=x[r++]<<_,_+=8)),T+=m&(1<<w)-1,T>u){e.msg="invalid distance too far back",n.mode=i;break e}if(m>>>=w,_-=w,w=s-c,T>w){if(w=T-w,w>d&&n.sane){e.msg="invalid distance too far back",n.mode=i;break e}if(C=0,E=p,0===f){if(C+=h-w,w<A){A-=w;do{S[s++]=p[C++]}while(--w);C=s-T,E=S}}else if(f<w){if(C+=h+f-w,w-=f,w<A){A-=w;do{S[s++]=p[C++]}while(--w);if(C=0,f<A){w=f,A-=w;do{S[s++]=p[C++]}while(--w);C=s-T,E=S}}}else if(C+=f-w,w<A){A-=w;do{S[s++]=p[C++]}while(--w);C=s-T,E=S}while(A>2)S[s++]=E[C++],S[s++]=E[C++],S[s++]=E[C++],A-=3;A&&(S[s++]=E[C++],A>1&&(S[s++]=E[C++]))}else{C=s-T;do{S[s++]=S[C++],S[s++]=S[C++],S[s++]=S[C++],A-=3}while(A>2);A&&(S[s++]=S[C++],A>1&&(S[s++]=S[C++]))}break}}break}}while(r<a&&s<l);A=_>>3,r-=A,_-=A<<3,m&=(1<<_)-1,e.next_in=r,e.next_out=s,e.avail_in=r<a?a-r+5:5-(r-a),e.avail_out=s<l?l-s+257:257-(s-l),n.hold=m,n.bits=_}},8707:function(e,t,n){var i=n("b639"),o=i.Buffer;function r(e,t){for(var n in e)t[n]=e[n]}function a(e,t,n){return o(e,t,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=i:(r(i,t),t.Buffer=a),r(o,a),a.from=function(e,t,n){if("number"===typeof e)throw new TypeError("Argument must not be a number");return o(e,t,n)},a.alloc=function(e,t,n){if("number"!==typeof e)throw new TypeError("Argument must be a number");var i=o(e);return void 0!==t?"string"===typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},a.allocUnsafe=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return o(e)},a.allocUnsafeSlow=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},"881b":function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n("7491"),o=Object(i["b"])((function(e,t){(function(n){var o=t&&!t.nodeType&&t,r=e&&!e.nodeType&&e,a="object"==typeof i["a"]&&i["a"];a.global!==a&&a.window!==a&&a.self!==a||(n=a);var s,c,l=2147483647,u=36,h=1,d=26,f=38,p=700,m=72,_=128,g="-",b=/^xn--/,y=/[^\x20-\x7E]/,v=/[\x2E\u3002\uFF0E\uFF61]/g,O={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},w=u-h,A=Math.floor,T=String.fromCharCode;function C(e){throw new RangeError(O[e])}function E(e,t){var n=e.length,i=[];while(n--)i[n]=t(e[n]);return i}function x(e,t){var n=e.split("@"),i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(v,".");var o=e.split("."),r=E(o,t).join(".");return i+r}function S(e){var t,n,i=[],o=0,r=e.length;while(o<r)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<r?(n=e.charCodeAt(o++),56320==(64512&n)?i.push(((1023&t)<<10)+(1023&n)+65536):(i.push(t),o--)):i.push(t);return i}function I(e){return E(e,(function(e){var t="";return e>65535&&(e-=65536,t+=T(e>>>10&1023|55296),e=56320|1023&e),t+=T(e),t})).join("")}function D(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:u}function j(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function P(e,t,n){var i=0;for(e=n?A(e/p):e>>1,e+=A(e/t);e>w*d>>1;i+=u)e=A(e/w);return A(i+(w+1)*e/(e+f))}function R(e){var t,n,i,o,r,a,s,c,f,p,b=[],y=e.length,v=0,O=_,w=m;for(n=e.lastIndexOf(g),n<0&&(n=0),i=0;i<n;++i)e.charCodeAt(i)>=128&&C("not-basic"),b.push(e.charCodeAt(i));for(o=n>0?n+1:0;o<y;){for(r=v,a=1,s=u;;s+=u){if(o>=y&&C("invalid-input"),c=D(e.charCodeAt(o++)),(c>=u||c>A((l-v)/a))&&C("overflow"),v+=c*a,f=s<=w?h:s>=w+d?d:s-w,c<f)break;p=u-f,a>A(l/p)&&C("overflow"),a*=p}t=b.length+1,w=P(v-r,t,0==r),A(v/t)>l-O&&C("overflow"),O+=A(v/t),v%=t,b.splice(v++,0,O)}return I(b)}function M(e){var t,n,i,o,r,a,s,c,f,p,b,y,v,O,w,E=[];for(e=S(e),y=e.length,t=_,n=0,r=m,a=0;a<y;++a)b=e[a],b<128&&E.push(T(b));i=o=E.length,o&&E.push(g);while(i<y){for(s=l,a=0;a<y;++a)b=e[a],b>=t&&b<s&&(s=b);for(v=i+1,s-t>A((l-n)/v)&&C("overflow"),n+=(s-t)*v,t=s,a=0;a<y;++a)if(b=e[a],b<t&&++n>l&&C("overflow"),b==t){for(c=n,f=u;;f+=u){if(p=f<=r?h:f>=r+d?d:f-r,c<p)break;w=c-p,O=u-p,E.push(T(j(p+w%O,0))),c=A(w/O)}E.push(T(j(c,0))),r=P(n,v,i==o),n=0,++i}++n,++t}return E.join("")}function N(e){return x(e,(function(e){return b.test(e)?R(e.slice(4).toLowerCase()):e}))}function L(e){return x(e,(function(e){return y.test(e)?"xn--"+M(e):e}))}if(s={version:"1.3.2",ucs2:{decode:S,encode:I},decode:R,encode:M,toASCII:L,toUnicode:N},o&&r)if(e.exports==o)r.exports=s;else for(c in s)s.hasOwnProperty(c)&&(o[c]=s[c]);else n.punycode=s})(i["a"])})),r=Object(i["b"])((function(e){
  7. /*!
  8. * URI.js - Mutating URLs
  9. * IPv6 Support
  10. *
  11. * Version: 1.19.11
  12. *
  13. * Author: Rodney Rehm
  14. * Web: http://medialize.github.io/URI.js/
  15. *
  16. * Licensed under
  17. * MIT License http://www.opensource.org/licenses/mit-license
  18. *
  19. */
  20. (function(t,n){e.exports?e.exports=n():t.IPv6=n(t)})(i["a"],(function(e){var t=e&&e.IPv6;function n(e){var t,n,i=e.toLowerCase(),o=i.split(":"),r=o.length,a=8;for(""===o[0]&&""===o[1]&&""===o[2]?(o.shift(),o.shift()):""===o[0]&&""===o[1]?o.shift():""===o[r-1]&&""===o[r-2]&&o.pop(),r=o.length,-1!==o[r-1].indexOf(".")&&(a=7),t=0;t<r;t++)if(""===o[t])break;if(t<a){o.splice(t,1,"0000");while(o.length<a)o.splice(t,0,"0000")}for(var s=0;s<a;s++){n=o[s].split("");for(var c=0;c<3;c++){if(!("0"===n[0]&&n.length>1))break;n.splice(0,1)}o[s]=n.join("")}var l=-1,u=0,h=0,d=-1,f=!1;for(s=0;s<a;s++)f?"0"===o[s]?h+=1:(f=!1,h>u&&(l=d,u=h)):"0"===o[s]&&(f=!0,d=s,h=1);h>u&&(l=d,u=h),u>1&&o.splice(l,u,""),r=o.length;var p="";for(""===o[0]&&(p=":"),s=0;s<r;s++){if(p+=o[s],s===r-1)break;p+=":"}return""===o[r-1]&&(p+=":"),p}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}}))})),a=Object(i["b"])((function(e){
  21. /*!
  22. * URI.js - Mutating URLs
  23. * Second Level Domain (SLD) Support
  24. *
  25. * Version: 1.19.11
  26. *
  27. * Author: Rodney Rehm
  28. * Web: http://medialize.github.io/URI.js/
  29. *
  30. * Licensed under
  31. * MIT License http://www.opensource.org/licenses/mit-license
  32. *
  33. */
  34. (function(t,n){e.exports?e.exports=n():t.SecondLevelDomains=n(t)})(i["a"],(function(e){var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return!1;var o=n.list[e.slice(t+1)];return!!o&&o.indexOf(" "+e.slice(i+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var i=e.lastIndexOf(".",t-1);if(i>=0)return!1;var o=n.list[e.slice(t+1)];return!!o&&o.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return null;var o=n.list[e.slice(t+1)];return o?o.indexOf(" "+e.slice(i+1,t)+" ")<0?null:e.slice(i+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n}))})),s=Object(i["b"])((function(e){
  35. /*!
  36. * URI.js - Mutating URLs
  37. *
  38. * Version: 1.19.11
  39. *
  40. * Author: Rodney Rehm
  41. * Web: http://medialize.github.io/URI.js/
  42. *
  43. * Licensed under
  44. * MIT License http://www.opensource.org/licenses/mit-license
  45. *
  46. */
  47. (function(t,n){e.exports?e.exports=n(o,r,a):t.URI=n(t.punycode,t.IPv6,t.SecondLevelDomains,t)})(i["a"],(function(e,t,n,i){var o=i&&i.URI;function r(e,t){var n=arguments.length>=1,i=arguments.length>=2;if(!(this instanceof r))return n?i?new r(e,t):new r(e):new r;if(void 0===e){if(n)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!==typeof location?location.href+"":""}if(null===e&&n)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}function a(e){return/^[0-9]+$/.test(e)}r.version="1.19.11";var s=r.prototype,c=Object.prototype.hasOwnProperty;function l(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function u(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function h(e){return"Array"===u(e)}function d(e,t){var n,i,o={};if("RegExp"===u(t))o=null;else if(h(t))for(n=0,i=t.length;n<i;n++)o[t[n]]=!0;else o[t]=!0;for(n=0,i=e.length;n<i;n++){var r=o&&void 0!==o[e[n]]||!o&&t.test(e[n]);r&&(e.splice(n,1),i--,n--)}return e}function f(e,t){var n,i;if(h(t)){for(n=0,i=t.length;n<i;n++)if(!f(e,t[n]))return!1;return!0}var o=u(t);for(n=0,i=e.length;n<i;n++)if("RegExp"===o){if("string"===typeof e[n]&&e[n].match(t))return!0}else if(e[n]===t)return!0;return!1}function p(e,t){if(!h(e)||!h(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var n=0,i=e.length;n<i;n++)if(e[n]!==t[n])return!1;return!0}function m(e){var t=/^\/+|\/+$/g;return e.replace(t,"")}function _(e){return escape(e)}function g(e){return encodeURIComponent(e).replace(/[!'()*]/g,_).replace(/\*/g,"%2A")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return r.domAttributes[t]}},r.encode=g,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=g,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(e,t){var n=r.encode(e+"");return void 0===t&&(t=r.escapeQuerySpace),t?n.replace(/%20/g,"+"):n},r.decodeQuery=function(e,t){e+="",void 0===t&&(t=r.escapeQuerySpace);try{return r.decode(t?e.replace(/\+/g,"%20"):e)}catch(n){return e}};var b,y={encode:"encode",decode:"decode"},v=function(e,t){return function(n){try{return r[t](n+"").replace(r.characters[e][t].expression,(function(n){return r.characters[e][t].map[n]}))}catch(i){return n}}};for(b in y)r[b+"PathSegment"]=v("pathname",y[b]),r[b+"UrnPathSegment"]=v("urnpath",y[b]);var O=function(e,t,n){return function(i){var o;o=n?function(e){return r[t](r[n](e))}:r[t];for(var a=(i+"").split(e),s=0,c=a.length;s<c;s++)a[s]=o(a[s]);return a.join(e)}};function w(e){return function(t,n){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!n),this)}}function A(e,t){return function(n,i){return void 0===n?this._parts[e]||"":(null!==n&&(n+="",n.charAt(0)===t&&(n=n.substring(1))),this._parts[e]=n,this.build(!i),this)}}r.decodePath=O("/","decodePathSegment"),r.decodeUrnPath=O(":","decodeUrnPathSegment"),r.recodePath=O("/","encodePathSegment","decode"),r.recodeUrnPath=O(":","encodeUrnPathSegment","decode"),r.encodeReserved=v("reserved","encode"),r.parse=function(e,t){var n;return t||(t={preventInvalidHostname:r.preventInvalidHostname}),e=e.replace(r.leading_whitespace_expression,""),e=e.replace(r.ascii_tab_whitespace,""),n=e.indexOf("#"),n>-1&&(t.fragment=e.substring(n+1)||null,e=e.substring(0,n)),n=e.indexOf("?"),n>-1&&(t.query=e.substring(n+1)||null,e=e.substring(0,n)),e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),e=e.replace(/^[/\\]{2,}/i,"//"),"//"===e.substring(0,2)?(t.protocol=null,e=e.substring(2),e=r.parseAuthority(e,t)):(n=e.indexOf(":"),n>-1&&(t.protocol=e.substring(0,n)||null,t.protocol&&!t.protocol.match(r.protocol_expression)?t.protocol=void 0:"//"===e.substring(n+1,n+3).replace(/\\/g,"/")?(e=e.substring(n+3),e=r.parseAuthority(e,t)):(e=e.substring(n+1),t.urn=!0))),t.path=e,t},r.parseHost=function(e,t){e||(e=""),e=e.replace(/\\/g,"/");var n,i,o=e.indexOf("/");if(-1===o&&(o=e.length),"["===e.charAt(0))n=e.indexOf("]"),t.hostname=e.substring(1,n)||null,t.port=e.substring(n+2,o)||null,"/"===t.port&&(t.port=null);else{var a=e.indexOf(":"),s=e.indexOf("/"),c=e.indexOf(":",a+1);-1!==c&&(-1===s||c<s)?(t.hostname=e.substring(0,o)||null,t.port=null):(i=e.substring(0,o).split(":"),t.hostname=i[0]||null,t.port=i[1]||null)}return t.hostname&&"/"!==e.substring(o).charAt(0)&&(o++,e="/"+e),t.preventInvalidHostname&&r.ensureValidHostname(t.hostname,t.protocol),t.port&&r.ensureValidPort(t.port),e.substring(o)||"/"},r.parseAuthority=function(e,t){return e=r.parseUserinfo(e,t),r.parseHost(e,t)},r.parseUserinfo=function(e,t){var n=e,i=e.indexOf("\\");-1!==i&&(e=e.replace(/\\/g,"/"));var o,a=e.indexOf("/"),s=e.lastIndexOf("@",a>-1?a:e.length-1);return s>-1&&(-1===a||s<a)?(o=e.substring(0,s).split(":"),t.username=o[0]?r.decode(o[0]):null,o.shift(),t.password=o[0]?r.decode(o.join(":")):null,e=n.substring(s+1)):(t.username=null,t.password=null),e},r.parseQuery=function(e,t){if(!e)return{};if(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!e)return{};for(var n,i,o,a={},s=e.split("&"),l=s.length,u=0;u<l;u++)n=s[u].split("="),i=r.decodeQuery(n.shift(),t),o=n.length?r.decodeQuery(n.join("="),t):null,"__proto__"!==i&&(c.call(a,i)?("string"!==typeof a[i]&&null!==a[i]||(a[i]=[a[i]]),a[i].push(o)):a[i]=o);return a},r.build=function(e){var t="",n=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",n=!0),t+=r.buildAuthority(e)||"","string"===typeof e.path&&("/"!==e.path.charAt(0)&&n&&(t+="/"),t+=e.path),"string"===typeof e.query&&e.query&&(t+="?"+e.query),"string"===typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},r.buildHost=function(e){var t="";return e.hostname?(r.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},r.buildAuthority=function(e){return r.buildUserinfo(e)+r.buildHost(e)},r.buildUserinfo=function(e){var t="";return e.username&&(t+=r.encode(e.username)),e.password&&(t+=":"+r.encode(e.password)),t&&(t+="@"),t},r.buildQuery=function(e,t,n){var i,o,a,s,l="";for(o in e)if("__proto__"!==o&&c.call(e,o))if(h(e[o]))for(i={},a=0,s=e[o].length;a<s;a++)void 0!==e[o][a]&&void 0===i[e[o][a]+""]&&(l+="&"+r.buildQueryParameter(o,e[o][a],n),!0!==t&&(i[e[o][a]+""]=!0));else void 0!==e[o]&&(l+="&"+r.buildQueryParameter(o,e[o],n));return l.substring(1)},r.buildQueryParameter=function(e,t,n){return r.encodeQuery(e,n)+(null!==t?"="+r.encodeQuery(t,n):"")},r.addQuery=function(e,t,n){if("object"===typeof t)for(var i in t)c.call(t,i)&&r.addQuery(e,i,t[i]);else{if("string"!==typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=n);"string"===typeof e[t]&&(e[t]=[e[t]]),h(n)||(n=[n]),e[t]=(e[t]||[]).concat(n)}},r.setQuery=function(e,t,n){if("object"===typeof t)for(var i in t)c.call(t,i)&&r.setQuery(e,i,t[i]);else{if("string"!==typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===n?null:n}},r.removeQuery=function(e,t,n){var i,o,a;if(h(t))for(i=0,o=t.length;i<o;i++)e[t[i]]=void 0;else if("RegExp"===u(t))for(a in e)t.test(a)&&(e[a]=void 0);else if("object"===typeof t)for(a in t)c.call(t,a)&&r.removeQuery(e,a,t[a]);else{if("string"!==typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==n?"RegExp"===u(n)?!h(e[t])&&n.test(e[t])?e[t]=void 0:e[t]=d(e[t],n):e[t]!==String(n)||h(n)&&1!==n.length?h(e[t])&&(e[t]=d(e[t],n)):e[t]=void 0:e[t]=void 0}},r.hasQuery=function(e,t,n,i){switch(u(t)){case"String":break;case"RegExp":for(var o in e)if(c.call(e,o)&&t.test(o)&&(void 0===n||r.hasQuery(e,o,n)))return!0;return!1;case"Object":for(var a in t)if(c.call(t,a)&&!r.hasQuery(e,a,t[a]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(u(n)){case"Undefined":return t in e;case"Boolean":var s=Boolean(h(e[t])?e[t].length:e[t]);return n===s;case"Function":return!!n(e[t],t,e);case"Array":if(!h(e[t]))return!1;var l=i?f:p;return l(e[t],n);case"RegExp":return h(e[t])?!!i&&f(e[t],n):Boolean(e[t]&&e[t].match(n));case"Number":n=String(n);case"String":return h(e[t])?!!i&&f(e[t],n):e[t]===n;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var e=[],t=[],n=0,i=0;i<arguments.length;i++){var o=new r(arguments[i]);e.push(o);for(var a=o.segment(),s=0;s<a.length;s++)"string"===typeof a[s]&&t.push(a[s]),a[s]&&n++}if(!t.length||!n)return new r("");var c=new r("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||c.path("/"+c.path()),c.normalize()},r.commonPath=function(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n<i;n++)if(e.charAt(n)!==t.charAt(n)){n--;break}return n<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(n)&&"/"===t.charAt(n)||(n=e.substring(0,n).lastIndexOf("/")),e.substring(0,n+1))},r.withinString=function(e,t,n){n||(n={});var i=n.start||r.findUri.start,o=n.end||r.findUri.end,a=n.trim||r.findUri.trim,s=n.parens||r.findUri.parens,c=/[a-z0-9-]=["']?$/i;i.lastIndex=0;while(1){var l=i.exec(e);if(!l)break;var u=l.index;if(n.ignoreHtml){var h=e.slice(Math.max(u-3,0),u);if(h&&c.test(h))continue}var d=u+e.slice(u).search(o),f=e.slice(u,d),p=-1;while(1){var m=s.exec(f);if(!m)break;var _=m.index+m[0].length;p=Math.max(p,_)}if(f=p>-1?f.slice(0,p)+f.slice(p).replace(a,""):f.replace(a,""),!(f.length<=l[0].length)&&(!n.ignore||!n.ignore.test(f))){d=u+f.length;var g=t(f,u,d,e);void 0!==g?(g=String(g),e=e.slice(0,u)+g+e.slice(d),i.lastIndex=u+g.length):i.lastIndex=d}}return i.lastIndex=0,e},r.ensureValidHostname=function(t,n){var i=!!t,o=!!n,a=!1;if(o&&(a=f(r.hostProtocols,n)),a&&!i)throw new TypeError("Hostname cannot be empty, if protocol is "+n);if(t&&t.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(e){if(e){var t=Number(e);if(!(a(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},r.noConflict=function(e){if(e){var t={URI:this.noConflict()};return i.URITemplate&&"function"===typeof i.URITemplate.noConflict&&(t.URITemplate=i.URITemplate.noConflict()),i.IPv6&&"function"===typeof i.IPv6.noConflict&&(t.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&"function"===typeof i.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=i.SecondLevelDomains.noConflict()),t}return i.URI===this&&(i.URI=o),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new r(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=w("protocol"),s.username=w("username"),s.password=w("password"),s.hostname=w("hostname"),s.port=w("port"),s.query=A("query","?"),s.fragment=A("fragment","#"),s.search=function(e,t){var n=this.query(e,t);return"string"===typeof n&&n.length?"?"+n:n},s.hash=function(e,t){var n=this.fragment(e,t);return"string"===typeof n&&n.length?"#"+n:n},s.pathname=function(e,t){if(void 0===e||!0===e){var n=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?r.decodeUrnPath:r.decodePath)(n):n}return this._parts.urn?this._parts.path=e?r.recodeUrnPath(e):"":this._parts.path=e?r.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var n;if(void 0===e)return this.toString();this._string="",this._parts=r._parts();var i=e instanceof r,o="object"===typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName){var a=r.getDomAttribute(e);e=e[a]||"",o=!1}if(!i&&o&&void 0!==e.pathname&&(e=e.toString()),"string"===typeof e||e instanceof String)this._parts=r.parse(String(e),this._parts);else{if(!i&&!o)throw new TypeError("invalid input");var s=i?e._parts:e;for(n in s)"query"!==n&&c.call(this._parts,n)&&(this._parts[n]=s[n]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,i=!1,o=!1,a=!1,s=!1,c=!1,l=!1,u=!this._parts.urn;switch(this._parts.hostname&&(u=!1,i=r.ip4_expression.test(this._parts.hostname),o=r.ip6_expression.test(this._parts.hostname),t=i||o,a=!t,s=a&&n&&n.has(this._parts.hostname),c=a&&r.idn_expression.test(this._parts.hostname),l=a&&r.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return u;case"absolute":return!u;case"domain":case"name":return a;case"sld":return s;case"ip":return t;case"ip4":case"ipv4":case"inet4":return i;case"ip6":case"ipv6":case"inet6":return o;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return l}return null};var T=s.protocol,C=s.port,E=s.hostname;s.protocol=function(e,t){if(e&&(e=e.replace(/:(\/\/)?$/,""),!e.match(r.protocol_expression)))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return T.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(e+="",":"===e.charAt(0)&&(e=e.substring(1)),r.ensureValidPort(e))),C.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var n={preventInvalidHostname:this._parts.preventInvalidHostname},i=r.parseHost(e,n);if("/"!==i)throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=n.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(e,this._parts.protocol)}return E.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=this.protocol(),i=this.authority();return i?(n?n+"://":"")+this.authority():""}var o=r(e);return this.protocol(o.protocol()).authority(o.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?r.buildHost(this._parts):"";var n=r.parseHost(e,this._parts);if("/"!==n)throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?r.buildAuthority(this._parts):"";var n=r.parseAuthority(e,this._parts);if("/"!==n)throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=r.buildUserinfo(this._parts);return n?n.substring(0,n.length-1):n}return"@"!==e[e.length-1]&&(e+="@"),r.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var n;return void 0===e?this.path()+this.search()+this.hash():(n=r.parse(e),this._parts.path=n.path,this._parts.query=n.query,this._parts.fragment=n.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,n)||""}var i=this._parts.hostname.length-this.domain().length,o=this._parts.hostname.substring(0,i),a=new RegExp("^"+l(o));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&r.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(a,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"===typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.match(/\./g);if(n&&n.length<2)return this._parts.hostname;var i=this._parts.hostname.length-this.tld(t).length-1;return i=this._parts.hostname.lastIndexOf(".",i-1)+1,this._parts.hostname.substring(i)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var o=new RegExp(l(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"===typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.lastIndexOf("."),o=this._parts.hostname.substring(i+1);return!0!==t&&n&&n.list[o.toLowerCase()]&&n.get(this._parts.hostname)||o}var r;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!n||!n.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');r=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(r,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");r=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(r,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var n=this._parts.path.length-this.filename().length-1,i=this._parts.path.substring(0,n)||(this._parts.hostname?"/":"");return e?r.decodePath(i):i}var o=this._parts.path.length-this.filename().length,a=this._parts.path.substring(0,o),s=new RegExp("^"+l(a));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=r.recodePath(e),this._parts.path=this._parts.path.replace(s,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!==typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var n=this._parts.path.lastIndexOf("/"),i=this._parts.path.substring(n+1);return e?r.decodePathSegment(i):i}var o=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(o=!0);var a=new RegExp(l(this.filename())+"$");return e=r.recodePath(e),this._parts.path=this._parts.path.replace(a,e),o?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var n,i,o=this.filename(),a=o.lastIndexOf(".");return-1===a?"":(n=o.substring(a+1),i=/^[a-z0-9%]+$/i.test(n)?n:"",e?r.decodePathSegment(i):i)}"."===e.charAt(0)&&(e=e.substring(1));var s,c=this.suffix();if(c)s=e?new RegExp(l(c)+"$"):new RegExp(l("."+c)+"$");else{if(!e)return this;this._parts.path+="."+r.recodePath(e)}return s&&(e=r.recodePath(e),this._parts.path=this._parts.path.replace(s,e)),this.build(!t),this},s.segment=function(e,t,n){var i=this._parts.urn?":":"/",o=this.path(),r="/"===o.substring(0,1),a=o.split(i);if(void 0!==e&&"number"!==typeof e&&(n=t,t=e,e=void 0),void 0!==e&&"number"!==typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(r&&a.shift(),e<0&&(e=Math.max(a.length+e,0)),void 0===t)return void 0===e?a:a[e];if(null===e||void 0===a[e])if(h(t)){a=[];for(var s=0,c=t.length;s<c;s++)(t[s].length||a.length&&a[a.length-1].length)&&(a.length&&!a[a.length-1].length&&a.pop(),a.push(m(t[s])))}else(t||"string"===typeof t)&&(t=m(t),""===a[a.length-1]?a[a.length-1]=t:a.push(t));else t?a[e]=m(t):a.splice(e,1);return r&&a.unshift(""),this.path(a.join(i),n)},s.segmentCoded=function(e,t,n){var i,o,a;if("number"!==typeof e&&(n=t,t=e,e=void 0),void 0===t){if(i=this.segment(e,t,n),h(i))for(o=0,a=i.length;o<a;o++)i[o]=r.decode(i[o]);else i=void 0!==i?r.decode(i):void 0;return i}if(h(t))for(o=0,a=t.length;o<a;o++)t[o]=r.encode(t[o]);else t="string"===typeof t||t instanceof String?r.encode(t):t;return this.segment(e,t,n)};var x=s.query;return s.query=function(e,t){if(!0===e)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"===typeof e){var n=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),i=e.call(this,n);return this._parts.query=r.buildQuery(i||n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!==typeof e?(this._parts.query=r.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):x.call(this,e,t)},s.setQuery=function(e,t,n){var i=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"===typeof e||e instanceof String)i[e]=void 0!==t?t:null;else{if("object"!==typeof e)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var o in e)c.call(e,o)&&(i[o]=e[o])}return this._parts.query=r.buildQuery(i,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!==typeof e&&(n=t),this.build(!n),this},s.addQuery=function(e,t,n){var i=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(i,e,void 0===t?null:t),this._parts.query=r.buildQuery(i,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!==typeof e&&(n=t),this.build(!n),this},s.removeQuery=function(e,t,n){var i=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(i,e,t),this._parts.query=r.buildQuery(i,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!==typeof e&&(n=t),this.build(!n),this},s.hasQuery=function(e,t,n){var i=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(i,e,t,n)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"===typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(n){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!n)),this},s.normalizePort=function(e){return"string"===typeof this._parts.protocol&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,n=this._parts.path;if(!n)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;n=r.recodePath(n);var i,o,a="";"/"!==n.charAt(0)&&(t=!0,n="/"+n),"/.."!==n.slice(-3)&&"/."!==n.slice(-2)||(n+="/"),n=n.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(a=n.substring(1).match(/^(\.\.\/)+/)||"",a&&(a=a[0]));while(1){if(i=n.search(/\/\.\.(\/|$)/),-1===i)break;0!==i?(o=n.substring(0,i).lastIndexOf("/"),-1===o&&(o=i),n=n.substring(0,o)+n.substring(i+3)):n=n.substring(3)}return t&&this.is("relative")&&(n=a+n.substring(1)),this._parts.path=n,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"===typeof this._parts.query&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=r.encode,t=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=e,r.decode=t}return this},s.unicode=function(){var e=r.encode,t=r.decode;r.encode=g,r.decode=unescape;try{this.normalize()}finally{r.encode=e,r.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var n="";if(t._parts.protocol&&(n+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(n+=e.toUnicode(t._parts.hostname),t._parts.port&&(n+=":"+t._parts.port)):n+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(n+="/"),n+=t.path(!0),t._parts.query){for(var i="",o=0,a=t._parts.query.split("&"),s=a.length;o<s;o++){var c=(a[o]||"").split("=");i+="&"+r.decodeQuery(c[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==c[1]&&(i+="="+r.decodeQuery(c[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}n+="?"+i.substring(1)}return n+=r.decodeQuery(t.hash(),!0),n},s.absoluteTo=function(e){var t,n,i,o=this.clone(),a=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof r||(e=new r(e)),o._parts.protocol)return o;if(o._parts.protocol=e._parts.protocol,this._parts.hostname)return o;for(n=0;i=a[n];n++)o._parts[i]=e._parts[i];return o._parts.path?(".."===o._parts.path.substring(-2)&&(o._parts.path+="/"),"/"!==o.path().charAt(0)&&(t=e.directory(),t=t||(0===e.path().indexOf("/")?"/":""),o._parts.path=(t?t+"/":"")+o._parts.path,o.normalizePath())):(o._parts.path=e._parts.path,o._parts.query||(o._parts.query=e._parts.query)),o.build(),o},s.relativeTo=function(e){var t,n,i,o,a,s=this.clone().normalize();if(s._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new r(e).normalize(),t=s._parts,n=e._parts,o=s.path(),a=e.path(),"/"!==o.charAt(0))throw new Error("URI is already relative");if("/"!==a.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===n.protocol&&(t.protocol=null),t.username!==n.username||t.password!==n.password)return s.build();if(null!==t.protocol||null!==t.username||null!==t.password)return s.build();if(t.hostname!==n.hostname||t.port!==n.port)return s.build();if(t.hostname=null,t.port=null,o===a)return t.path="",s.build();if(i=r.commonPath(o,a),!i)return s.build();var c=n.path.substring(i.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=c+t.path.substring(i.length)||"./",s.build()},s.equals=function(e){var t,n,i,o=this.clone(),a=new r(e),s={},l={},u={};if(o.normalize(),a.normalize(),o.toString()===a.toString())return!0;if(t=o.query(),n=a.query(),o.query(""),a.query(""),o.toString()!==a.toString())return!1;if(t.length!==n.length)return!1;for(i in s=r.parseQuery(t,this._parts.escapeQuerySpace),l=r.parseQuery(n,this._parts.escapeQuerySpace),s)if(c.call(s,i)){if(h(s[i])){if(!p(s[i],l[i]))return!1}else if(s[i]!==l[i])return!1;u[i]=!0}for(i in l)if(c.call(l,i)&&!u[i])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},r}))}))},8936:function(e,t,n){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},"8a39":function(e,t,n){"use strict";const i={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5};t["a"]=Object.freeze(i)},"8c05":function(e,t){e.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},"8d8a":function(e,t,n){"use strict";n("99af");var i=n("f46b"),o=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"".concat(e.url),method:"get"})},r=function(e,t){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"".concat(e,"?rid=").concat(t.rid),method:"post",data:t})},a=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"recommen/findAllChartjz?wpId=".concat(e.wpId,"&type=").concat(e.type),method:"get"})},s=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"recommen/recommenConfirmedList",method:"get"})},c=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"powercompare/windturbineAjax?wpId=".concat(e.wpId),method:"get"})},l=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"recommen/unfinishedList?wpId=".concat(e.wpId,"&wtId=").concat(e.wtId,"&beginDate=").concat(e.beginDate,"&endDate=").concat(e.endDate),method:"get"})},u=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"recommen/findMainTrack?rid=".concat(e.rid),method:"get"})},h=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"recommen/unfinishedList?wpId=".concat(e.wpId,"&wtId=").concat(e.wtId,"&beginDate=").concat(e.beginDate,"&endDate=").concat(e.endDate),method:"get"})},d=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/findAllMap",method:"get"})},f=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/countWpwarn?type=".concat(e.type),method:"get"})},p=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/countStop?type=".concat(e.type),method:"get"})},m=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/countWpOrProStatus?type=".concat(e.type),method:"get"})},_=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/findWpOrProStatusForHistory?type=".concat(e.type,"&status=").concat(e.status),method:"get"})},g=function(){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/findHealthMatrixMap",method:"get"})},b=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"powercompare/windfarmAjax",method:"get"})},y=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"/health/windTurbineHealthList?wpId=".concat(e.wpId),method:"get"})},v=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/hsFjValueIndex?wtId=".concat(e.wtId),method:"get"})},O=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/gadaytop5?wtId=".concat(e.wtId),method:"get"})},w=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/queryStopTop10?wtId=".concat(e.wtId),method:"get"})},A=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/getWtMttrandMtbfByBj?wtId=".concat(e.wtId),method:"get"})},T=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/findPowerChar?wtId=".concat(e.wtId),method:"get"})},C=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/getWeatherRealDay5Info?wpId=".concat(e.wpId),method:"get"})},E=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"health/findWtHisValueForBj?wtId=".concat(e.wtId),method:"get"})},x=function(e){return Object(i["a"])({baseURL:"http://10.81.3.155:8170",url:"healthreport/healthReport?wtid=".concat(e.wtid,"&date=").concat(e.date),method:"get"})};t["a"]={requestRecommen:o,recommen:r,findAllChartjz:a,recommenRecommenConfirmedList:s,powercompareWindturbineAjax:c,recommenUnfinishedList:l,recommenFindMainTrack:u,recommenFinishedList:h,healthmainFindAllMap:d,healthoperationCountWpwarn:f,healthoperationCountStop:p,healthoperationCountWpOrProStatus:m,healthoperationFindWpOrProStatusForHistory:_,healthmainFindHealthMatrixMap:g,powercompareWindfarmAjax:b,wtHealthListWindTurbineHealthList:y,healthsubHsFjValueIndex:v,healthsubGadaytop5:O,healthsubQueryStopTop10:w,healthsubGetWtMttrandMtbfByBj:A,healthsubFindPowerChar:T,healthsubGetWeatherRealDay5Info:C,healthsubFindWtHisValueForBj:E,healthreportHealthReport:x}},"91dd":function(e,t,n){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,r){t=t||"&",n=n||"=";var a={};if("string"!==typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var c=1e3;r&&"number"===typeof r.maxKeys&&(c=r.maxKeys);var l=e.length;c>0&&l>c&&(l=c);for(var u=0;u<l;++u){var h,d,f,p,m=e[u].replace(s,"%20"),_=m.indexOf(n);_>=0?(h=m.substr(0,_),d=m.substr(_+1)):(h=m,d=""),f=decodeURIComponent(h),p=decodeURIComponent(d),i(a,f)?o(a[f])?a[f].push(p):a[f]=[a[f],p]:a[f]=p}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},92500:function(e,t,n){"use strict";n("b680"),n("a9e3");var i=n("f2bf"),o=function(e){return Object(i["pushScopeId"])("data-v-4e1bc29d"),e=e(),Object(i["popScopeId"])(),e},r=Object(i["createTextVNode"])(" 导出为PDF"),a={class:"pdfDom"},s=o((function(){return Object(i["createElementVNode"])("div",{class:"title"},"健康评价报告概述",-1)})),c=Object(i["createTextVNode"])("健康状态:2022C505513"),l={class:"tableBox"},u={class:"l"},h=Object(i["createTextVNode"])("主要参数指标数据:"),d=Object(i["createTextVNode"])("注:本报告表述了健康管理系统对该设备的健康评级观点,仅供参考,并非是最终的决策的结论、建议。"),f={class:"r"},p=Object(i["createTextVNode"])("评级观点:"),m={class:"infoBox"},_={key:0,class:"red"},g={key:1,class:"red"},b={key:2,class:"purple"},y=o((function(){return Object(i["createElementVNode"])("p",{class:"info"},"功率对部件温度影响较高是齿轮箱、主轴",-1)})),v=o((function(){return Object(i["createElementVNode"])("p",{class:"info"},"部件劣化较高是发电机、主轴",-1)})),O=o((function(){return Object(i["createElementVNode"])("p",null,"定捡已超过三个月,近三个月无维修记录",-1)})),w={key:3},A={key:4},T={class:"textBox"},C=o((function(){return Object(i["createElementVNode"])("b",null,"性能",-1)})),E=Object(i["createTextVNode"])("曲线拟合及偏差率"),x=Object(i["createTextVNode"])(" 统计周期内,曲线偏差率-5%,其中风速在3-5m/s区间曲线偏差率10%,风速在5-11m/s区间曲线偏差率为-8%,风速在11-25m/s区间曲线偏差率为3%,总体低于该型号机组平均值(3%)。 "),S={key:0},I=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"功率曲线拟合",-1)})),D={key:1},j=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"曲线偏差率",-1)})),P={class:"textBox"},R=Object(i["createTextVNode"])("对风偏差:"),M=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"对风偏差率(频次)",-1)})),N=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"对风偏差率(功率)",-1)})),L=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"对风偏差率(风速)",-1)})),B={class:"textBox"},F=o((function(){return Object(i["createElementVNode"])("b",null,"可靠性",-1)})),k=Object(i["createTextVNode"])(":"),z=Object(i["createTextVNode"])("部件隐患:"),U=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"隐患模型对比",-1)})),V={class:"textBox"},H={class:"textBox"},G=o((function(){return Object(i["createElementVNode"])("b",null,"部件劣化状态",-1)})),q=Object(i["createTextVNode"])("总览:"),W=Object(i["createTextVNode"])("统计周期内,发电机劣化频次为1次,齿轮箱劣化频次为0次;变桨劣化频次为0次;主轴劣化频次为1次。 "),Y=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"部件劣化频次总览",-1)})),X={class:"textBox"},K=Object(i["createTextVNode"])("发电机:"),J=Object(i["createTextVNode"])("关键参数:发电机采用“发电机转速”、“发电机轴A温度” 、“发电机轴B温度”为关键参数,该参数在统计周期内数据显示样本在安全运行区内,没有超过进入劣化区 "),Z=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"发电机关键参数值",-1)})),$={class:"textBox"},Q=Object(i["createTextVNode"])("震动监测:时域分析分析法"),ee=Object(i["createTextVNode"])("有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120"),te=Object(i["createTextVNode"])("无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77"),ne=Object(i["createTextVNode"])("结合两种指标都位发现明显劣化值"),ie=Object(i["createTextVNode"])("频域分析法:根据震动检测提供频域分析结果,现有设备运行正常"),oe=Object(i["createTextVNode"])("统计分析:"),re=Object(i["createTextVNode"])("发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。"),ae={class:"textBox"},se=Object(i["createTextVNode"])("齿轮箱:"),ce=Object(i["createTextVNode"])(" 齿轮箱采用“齿轮箱温度”为关键参数,该参数在统计周期内数据显示样本超出了劣化区,并且有明显的瞬时的上升趋势,引发了温度超限报警一次,恢复后运行平稳,该风机齿轮箱历史总体运行正常,近期存在报警信息,状态评价为良。 "),le=Object(i["createTextVNode"])("主轴:"),ue=Object(i["createTextVNode"])("关键参数:主轴采用“主轴承温度”、“主轴承油脂启动时间间隔” 、“主轴承油脂泵运行周期”为关键参数,该参数在统计周期内拟故障应进行检查 "),he=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"发电机关键参数值",-1)})),de={class:"textBox"},fe=Object(i["createTextVNode"])("震动监测:时域分析分析法"),pe=Object(i["createTextVNode"])("有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120"),me=Object(i["createTextVNode"])("无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77"),_e=Object(i["createTextVNode"])("结合两种指标都位发现明显劣化值"),ge=Object(i["createTextVNode"])("频域分析法:根据震动检测提供频域分析结果,现有设备运行正常"),be=Object(i["createTextVNode"])("统计分析:"),ye=Object(i["createTextVNode"])("发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。"),ve={class:"textBox"},Oe=Object(i["createTextVNode"])("变桨"),we=o((function(){return Object(i["createElementVNode"])("div",{class:"infoBox"},[Object(i["createElementVNode"])("p",null," 1)关键参数:变桨采用“变桨电机温度1”、“变桨电机温度2” 、“变桨电机温度3”、“变频器温度1”、“变频器温度2” 、“变频器温度3”为关键参数,该参数在统计周期内数据显示样本在安全运行区内,没有超过进入劣化区 ")],-1)})),Ae=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"发电机关键参数值",-1)})),Te=Object(i["createTextVNode"])("震动监测:"),Ce=Object(i["createTextVNode"])("时域分析分析法"),Ee=Object(i["createTextVNode"])("有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120"),xe=Object(i["createTextVNode"])("无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77"),Se=Object(i["createTextVNode"])("结合两种指标都位发现明显劣化值"),Ie=Object(i["createTextVNode"])("频域分析法:根据震动检测提供频域分析结果,现有设备运行正常"),De=Object(i["createTextVNode"])("统计分析:"),je=Object(i["createTextVNode"])("发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。"),Pe={class:"textBox"},Re=o((function(){return Object(i["createElementVNode"])("b",null,"全生命周期管理",-1)})),Me=Object(i["createTextVNode"])(":"),Ne=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"定检记录",-1)})),Le=Object(i["createTextVNode"])("设备维修"),Be=Object(i["createTextVNode"])("统计周期内, 年7月27日星期二更换测风系统中风向仪风速标;2021年7月27日星期二维修齿轮箱中齿轮箱冷却风扇。(只显示近三个月内维修换件记录,如果完全没有就显示在统计周期内,机组运行良好,未进行维修换件) "),Fe=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"维修换件频次",-1)})),ke={class:"textBox"},ze=o((function(){return Object(i["createElementVNode"])("b",null,"指标",-1)})),Ue=Object(i["createTextVNode"])(":"),Ve=Object(i["createTextVNode"])("1、风能利用率"),He={class:"infoBox",style:{margin:"20px 0"}},Ge=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"风机绩效榜(kWh)",-1)})),qe=Object(i["createTextVNode"])("2、设备可利用率"),We={class:"infoBox",style:{margin:"20px 0"}},Ye=o((function(){return Object(i["createElementVNode"])("div",{class:"logHead"},"可靠性分析(小时)",-1)})),Xe={class:"textBox"},Ke=Object(i["createTextVNode"])("3、性能评价"),Je={class:"infoBox",style:{margin:"20px 0"}},Ze={class:"logHead"},$e={class:"logHead"},Qe={border:"1",class:"xnpjfx",style:{width:"100%"},cellspacing:"",cellpadding:""},et={align:"center"},tt={class:"border-b p-5"},nt={class:"border-b"},it={class:"border-b"},ot=o((function(){return Object(i["createElementVNode"])("td",{valign:"top"},null,-1)})),rt=o((function(){return Object(i["createElementVNode"])("td",{style:{display:"flex","justify-content":"center"}},"基础指标",-1)})),at={key:0,class:"textBox"},st=o((function(){return Object(i["createElementVNode"])("b",null,"推荐检修方案",-1)})),ct=Object(i["createTextVNode"])("故障预测"),lt=Object(i["createTextVNode"])("结论:健康报告达到推荐级别,推荐检修!"),ut={class:"textBox"},ht=Object(i["createTextVNode"])("数据来源:集控中心大数据分析系统 ");function dt(e,t,n,o,dt,ft){var pt=Object(i["resolveComponent"])("el-button"),mt=Object(i["resolveComponent"])("el-form-item"),_t=Object(i["resolveComponent"])("el-form"),gt=Object(i["resolveComponent"])("el-table-column"),bt=Object(i["resolveComponent"])("el-table"),yt=Object(i["resolveComponent"])("double-line-chart"),vt=Object(i["resolveComponent"])("normal-line-chart"),Ot=Object(i["resolveComponent"])("DoubleLineChart"),wt=Object(i["resolveComponent"])("font"),At=Object(i["resolveComponent"])("multiple-line-chart"),Tt=Object(i["resolveComponent"])("normal-radar-chart"),Ct=Object(i["resolveComponent"])("el-dialog");return Object(i["openBlock"])(),Object(i["createBlock"])(Ct,{"custom-class":"cDialog",top:"50px",modelValue:dt.dialogVisible,"onUpdate:modelValue":t[0]||(t[0]=function(e){return dt.dialogVisible=e}),width:"80%",onClosed:ft.dialogClosed},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(pt,{style:{position:"absolute",right:"24px",top:"60px","z-index":"5000"},type:"primary",onClick:ft.exportPDF},{default:Object(i["withCtx"])((function(){return[r]})),_:1},8,["onClick"]),Object(i["createElementVNode"])("div",a,[s,Object(i["createVNode"])(_t,{style:{"margin-top":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,null,{default:Object(i["withCtx"])((function(){return[c]})),_:1})]})),_:1}),Object(i["createElementVNode"])("div",l,[Object(i["createElementVNode"])("div",u,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(dt.datas.wtname),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("评级结果:"+Object(i["toDisplayString"])(dt.healthreport.pjjg),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("评级展望:"+Object(i["toDisplayString"])(dt.healthreport.pjzw),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("评级有效期:"+Object(i["toDisplayString"])(dt.healthreport.pjyxq),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[h]})),_:1})]})),_:1}),Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.bjzb,"header-cell-style":{background:"rgb(153,204,255)",color:"#000"},"cell-style":ft.columnStyle,border:"",stripe:"",style:{width:"100%",margin:"10px 0"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"partname",label:"指标"}),Object(i["createVNode"])(gt,{prop:"q1yjkqk",label:"近一月健康情况"}),Object(i["createVNode"])(gt,{prop:"q2yjkqk",label:"近两月健康情况"}),Object(i["createVNode"])(gt,{prop:"q3yjkqk",label:"近三月健康情况"})]})),_:1},8,["data","header-cell-style","cell-style"]),Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("报告确认人:"+Object(i["toDisplayString"])(dt.healthreport.bgqrr),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("报告出具时间:"+Object(i["toDisplayString"])(new Date(dt.healthreport.bgcjrq).formatDate("yyyy-MM-dd")),1)]})),_:1}),Object(i["createVNode"])(mt,null,{default:Object(i["withCtx"])((function(){return[d]})),_:1})]})),_:1})]),Object(i["createElementVNode"])("div",f,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw",style:{"border-bottom":"8px solid #000"}},{default:Object(i["withCtx"])((function(){return[p]})),_:1}),Object(i["createElementVNode"])("div",m,[Object(i["createElementVNode"])("p",null,Object(i["toDisplayString"])(dt.datas.wtname)+"于"+Object(i["toDisplayString"])(new Date(dt.healthreport.bwsj).formatDate("yyyy-MM-dd"))+"并网运行,服役"+Object(i["toDisplayString"])(dt.healthreport.fyts)+"天,统计周期内累计发电量为"+Object(i["toDisplayString"])(Number(dt.healthreport.yfdl).toFixed(1))+"万Kwh,风能利用率89%,环比增加"+Object(i["toDisplayString"])(Number(dt.healthreport.hbzj).toFixed(1))+"%;设备可利用率"+Object(i["toDisplayString"])(Number(dt.healthreport.sbklyl).toFixed(1))+"%,环比下降"+Object(i["toDisplayString"])(Number(dt.healthreport.hbxj).toFixed(1))+"%,MTTF为"+Object(i["toDisplayString"])(Number(dt.healthreport.mttf).toFixed(1))+"小时,MTBF为"+Object(i["toDisplayString"])(Number(dt.healthreport.mtbf).toFixed(1))+"小时。 ",1),Object(i["createElementVNode"])("p",null," 统计期内故障发生"+Object(i["toDisplayString"])(Number(dt.faultclass[0]?dt.faultclass[0].monthwarningnum:32)+Number(dt.faultclass[1]?dt.faultclass[1].monthwarningnum:46)+Number(dt.faultclass[2]?dt.faultclass[2].monthwarningnum:37))+"次 ",1),dt.faultclass[0]?(Object(i["openBlock"])(),Object(i["createElementBlock"])("p",_,Object(i["toDisplayString"])(dt.faultclass[0].warningtype)+"频次为"+Object(i["toDisplayString"])(dt.faultclass[0].monthwarningnum)+"次 ",1)):Object(i["createCommentVNode"])("",!0),dt.faultclass[1]?(Object(i["openBlock"])(),Object(i["createElementBlock"])("p",g,Object(i["toDisplayString"])(dt.faultclass[1].warningtype)+"频次为"+Object(i["toDisplayString"])(dt.faultclass[1].monthwarningnum)+"次 ",1)):Object(i["createCommentVNode"])("",!0),dt.yhmxdbs2.length>0?(Object(i["openBlock"])(),Object(i["createElementBlock"])("p",b," 隐患集中在"+Object(i["toDisplayString"])(dt.yhmxdbs2[0])+"、"+Object(i["toDisplayString"])(dt.yhmxdbs2[1])+"、"+Object(i["toDisplayString"])(dt.yhmxdbs2[2]),1)):Object(i["createCommentVNode"])("",!0),y,v,O,1==Number(dt.datas.isrecommend)?(Object(i["openBlock"])(),Object(i["createElementBlock"])("p",w," 该机组总体运行状态不佳,可安排检修人员排查。 ")):(Object(i["openBlock"])(),Object(i["createElementBlock"])("p",A,"该机组总体运行状态良好,不需要作为重点关注。"))])]})),_:1})])]),Object(i["createElementVNode"])("div",T,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[C]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[E]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[x]})),_:1}),dt.healthreport.glqxnh?(Object(i["openBlock"])(),Object(i["createElementBlock"])("div",S,[I,Object(i["createVNode"])(yt,{height:"250px",list:dt.glqxnh},null,8,["list"])])):Object(i["createCommentVNode"])("",!0),dt.healthreport.qxpcls?(Object(i["openBlock"])(),Object(i["createElementBlock"])("div",D,[j,Object(i["createVNode"])(vt,{list:dt.qxpcls},null,8,["list"])])):Object(i["createCommentVNode"])("",!0)]})),_:1})]),Object(i["createElementVNode"])("div",P,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[R]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(" 统计周期内,对应的偏航对风偏差角度信号大部分集中在0度附近,近似于正态分布,正负偏差15%以内的频率"+Object(i["toDisplayString"])(Number(dt.healthreport.withincount))+"次,以外的频次"+Object(i["toDisplayString"])(Number(dt.healthreport.beyondcount))+"次,对风偏差率为"+Object(i["toDisplayString"])(Number(dt.healthreport.dfpcl).toFixed(1))+",总体高于该型号机组平均值(3%)。 ",1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("其中风速在3-5m/s区间的对风偏差率"+Object(i["toDisplayString"])(Number(dt.healthreport.threedfpcl).toFixed(1))+",风速在5-11m/s区间的对风偏差率"+Object(i["toDisplayString"])(Number(dt.healthreport.fivedfpcl).toFixed(1))+",风速在11-25m/s区间的对风偏差率"+Object(i["toDisplayString"])(Number(dt.healthreport.elevendfpcl).toFixed(1))+"。 ",1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(" 对于功率分别在100,200,300,400,...,"+Object(i["toDisplayString"])(dt.healthreport.glfw)+"KW的偏航对风偏差角度信号进行统计,对风偏差率分别为"+Object(i["toDisplayString"])(dt.healthreport.descriptiondfpcl)+";(如果需要查看在每一个功率等高线下偏航对风偏差角度信号在角度数值上的聚集程度,可参考能效分析中对风偏差分析模块) ",1)]})),_:1}),M,Object(i["createVNode"])(Ot,{style:{margin:"10px 0"},width:"100%",height:"300px",list:dt.dfpc.nipples},null,8,["list"]),N,Object(i["createVNode"])(Ot,{style:{margin:"10px 0"},width:"100%",height:"300px",list:dt.dfpc.dfpclpowers},null,8,["list"]),L,Object(i["createVNode"])(Ot,{style:{margin:"10px 0"},width:"100%",height:"300px",list:dt.dfpc.dfpclSpeeds},null,8,["list"])]})),_:1})]),Object(i["createElementVNode"])("div",B,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[F,k]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[z]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(" 统计周期内,传动链隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.cdlcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.cdltime)+"分钟;测风系统隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.cfxtcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.cfxttime)+"分钟;齿轮箱隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.clxcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.clxtime?dt.yhbjcount.clxtime:0)+"分钟;发电机隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.fdjcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.fdjtime)+"分钟;变桨隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.bjcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.bjtime)+"分钟;机舱隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.jccount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.jctime)+"分钟;偏航隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.phcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.phtime)+"分钟; 塔底柜隐患频次为"+Object(i["toDisplayString"])(dt.yhbjcount.tdgcount)+"次,持续时长"+Object(i["toDisplayString"])(dt.yhbjcount.tdgtime)+"分钟。 ",1)]})),_:1}),dt.bjyhcount.length>0?(Object(i["openBlock"])(),Object(i["createBlock"])(mt,{key:0,class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[dt.bjyhcount[0].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:0},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("其中以"+Object(i["toDisplayString"])(dt.bjyhcount[0].yhmx)+"发生频次最高,为"+Object(i["toDisplayString"])(dt.bjyhcount[0].count)+"次;",1)]})),_:1})):Object(i["createCommentVNode"])("",!0),dt.bjyhcount[1].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:1},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(dt.bjyhcount[1].yhmx)+"次之,为"+Object(i["toDisplayString"])(dt.bjyhcount[1].count)+"次;",1)]})),_:1})):Object(i["createCommentVNode"])("",!0),dt.bjyhcount[2].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:2},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(dt.bjyhcount[2].yhmx)+"第三,为"+Object(i["toDisplayString"])(dt.bjyhcount[0].count)+"次。",1)]})),_:1})):Object(i["createCommentVNode"])("",!0)]})),_:1})):Object(i["createCommentVNode"])("",!0),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[dt.bjyhcount[3].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:0},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("其中以"+Object(i["toDisplayString"])(dt.bjyhcount[3].yhmx)+"发生时长最长,为"+Object(i["toDisplayString"])(dt.bjyhcount[3].times)+"分钟;",1)]})),_:1})):Object(i["createCommentVNode"])("",!0),dt.bjyhcount[4].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:1},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(dt.bjyhcount[4].yhmx)+"次之,为"+Object(i["toDisplayString"])(dt.bjyhcount[4].yhmx)+"分钟;",1)]})),_:1})):Object(i["createCommentVNode"])("",!0),dt.bjyhcount[5].yhmx?(Object(i["openBlock"])(),Object(i["createBlock"])(wt,{key:2},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(dt.bjyhcount[5].yhmx)+"第三,为"+Object(i["toDisplayString"])(dt.bjyhcount[5].yhmx)+"分钟。",1)]})),_:1})):Object(i["createCommentVNode"])("",!0)]})),_:1}),U,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.yhmxdbs,"span-method":ft.yhmxdbMethod,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"part",label:"部件"}),Object(i["createVNode"])(gt,{prop:"yhmx",label:"隐患模型"}),Object(i["createVNode"])(gt,{prop:"count",label:"频次"}),Object(i["createVNode"])(gt,{prop:"meancount",label:"均值"}),Object(i["createVNode"])(gt,{prop:"times",label:"时长(分钟)"}),Object(i["createVNode"])(gt,{prop:"meantimes",label:"均值(分钟)"})]})),_:1},8,["data","span-method","header-cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",V,[Object(i["createVNode"])(_t)]),Object(i["createElementVNode"])("div",H,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[G]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[q]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[W]})),_:1}),Y,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.bjlhpczl,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"sjzq",label:"时间周期"}),Object(i["createVNode"])(gt,{prop:"fdj",label:"发电机"}),Object(i["createVNode"])(gt,{prop:"clx",label:"齿轮箱"}),Object(i["createVNode"])(gt,{prop:"bj",label:"变桨"}),Object(i["createVNode"])(gt,{prop:"zz",label:"主轴"}),Object(i["createVNode"])(gt,{prop:"zj",label:"总计"})]})),_:1},8,["data","header-cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",X,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[K]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[J]})),_:1}),Z,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.fdjgjcsz,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"gjcs",label:"关键参数"}),Object(i["createVNode"])(gt,{prop:"edz",label:"额定值"}),Object(i["createVNode"])(gt,{prop:"yxfw",label:"允许范围"}),Object(i["createVNode"])(gt,{prop:"qz",label:"权重"}),Object(i["createVNode"])(gt,{prop:"scz",label:"实测值"}),Object(i["createVNode"])(gt,{prop:"df",label:"得分"})]})),_:1},8,["data","header-cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",$,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Q]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ee]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[te]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ne]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ie]})),_:1}),Object(i["createVNode"])(At,{showLegend:!0,hoverType:"axis",list:dt.wttragetreportcharts.fdj},null,8,["list"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[oe]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[re]})),_:1})]})),_:1})]),Object(i["createElementVNode"])("div",ae,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[se]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ce]})),_:1}),Object(i["createVNode"])(At,{showLegend:!0,hoverType:"axis",list:dt.wttragetreportcharts.clx},null,8,["list"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[le]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ue]})),_:1}),he,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.fdjgjcsz2,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"gjcs",label:"关键参数"}),Object(i["createVNode"])(gt,{prop:"edz",label:"额定值"}),Object(i["createVNode"])(gt,{prop:"yxfw",label:"允许范围"}),Object(i["createVNode"])(gt,{prop:"qz",label:"权重"}),Object(i["createVNode"])(gt,{prop:"scz",label:"实测值"}),Object(i["createVNode"])(gt,{prop:"df",label:"得分"})]})),_:1},8,["data","header-cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",de,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[fe]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[pe]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[me]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[_e]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ge]})),_:1}),Object(i["createVNode"])(At,{showLegend:!0,hoverType:"axis",list:dt.wttragetreportcharts.zk},null,8,["list"]),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[be]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[ye]})),_:1})]})),_:1})]),Object(i["createElementVNode"])("div",ve,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Oe]})),_:1}),we,Ae,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.bjgjcs,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%",margin:"10px 0"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"gjcs",label:"关键参数"}),Object(i["createVNode"])(gt,{prop:"edz",label:"额定值"}),Object(i["createVNode"])(gt,{prop:"yxfw",label:"允许范围"}),Object(i["createVNode"])(gt,{prop:"qz",label:"权重"}),Object(i["createVNode"])(gt,{prop:"scz",label:"实测值"}),Object(i["createVNode"])(gt,{prop:"df",label:"得分"})]})),_:1},8,["data","header-cell-style"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Te]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Ce]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Ee]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[xe]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Se]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Ie]})),_:1}),Object(i["createVNode"])(At,{showLegend:!0,hoverType:"axis",list:dt.wttragetreportcharts.bj},null,8,["list"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[De]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[je]})),_:1})]})),_:1})]),Object(i["createElementVNode"])("div",Pe,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Re,Me]})),_:1}),Ne,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.djjl,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"rq",label:"日期"}),Object(i["createVNode"])(gt,{prop:"ms",label:"描述"})]})),_:1},8,["data","header-cell-style"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Le]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Be]})),_:1}),Fe,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.wxhjpc,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"bjjg",label:"部件结构"}),Object(i["createVNode"])(gt,{label:"近三个月"},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"wx1",label:"维修"}),Object(i["createVNode"])(gt,{prop:"hj1",label:"换件"})]})),_:1}),Object(i["createVNode"])(gt,{label:"近一年"},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"wx2",label:"维修"}),Object(i["createVNode"])(gt,{prop:"hj2",label:"换件"})]})),_:1}),Object(i["createVNode"])(gt,{label:"全部"},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"wx3",label:"维修"}),Object(i["createVNode"])(gt,{prop:"hj3",label:"换件"})]})),_:1})]})),_:1},8,["data","header-cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",ke,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[ze,Ue]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[Ve]})),_:1}),Object(i["createElementVNode"])("div",He,[Object(i["createElementVNode"])("p",null," 近三月,受宁夏电网限电,及自然天气情况等因素影响,"+Object(i["toDisplayString"])(dt.datas.wtname)+"发电能力在这个三个月程下降趋势,但非计划损失电量和计划损失电量逐渐减少,风能利用率并未体现出递减趋势,而是逐步增长。 "+Object(i["toDisplayString"])(dt.datas.year)+"年"+Object(i["toDisplayString"])(dt.datas.month)+"月,非计划检修率和计划检修率分别为6%和12%,计划检修率尚可,风机产生的非计划检修率还存在,但较前两月明显较低。 风机因自身原因造成5%的性能损失率,在可接受范围。 总体来看,该风机逐步进入平稳期,风能利用率增长趋势,可利率较高。 ",1)]),Ge,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.fnlyls,"header-cell-style":{background:"rgb(153,204,255)",color:"#000"},"cell-style":ft.columnStyle,border:"",stripe:"","max-height":"300",style:{width:"100%",margin:"10px 0"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"name",label:"项目"}),Object(i["createVNode"])(gt,{prop:"q1ysj",label:dt.sbklyls[2].date},null,8,["label"]),Object(i["createVNode"])(gt,{prop:"q2ysj",label:dt.sbklyls[1].date},null,8,["label"]),Object(i["createVNode"])(gt,{prop:"q3ysj",label:dt.sbklyls[0].date},null,8,["label"])]})),_:1},8,["data","header-cell-style","cell-style"]),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[qe]})),_:1}),Object(i["createElementVNode"])("div",We,[Object(i["createElementVNode"])("p",null,Object(i["toDisplayString"])(dt.healthreport.wpname)+"近期温度较高,温度超限类故障较多,但近三个月,"+Object(i["toDisplayString"])(dt.datas.wtname)+"可利用呈增长趋势,"+Object(i["toDisplayString"])(Number(dt.datas.month)-2)+"~"+Object(i["toDisplayString"])(Number(dt.datas.month))+"月,非计划小时数分别为"+Object(i["toDisplayString"])(dt.sbklyls[2].fjhjxxs)+"小时、"+Object(i["toDisplayString"])(dt.sbklyls[1].fjhjxxs)+"小时和"+Object(i["toDisplayString"])(dt.sbklyls[0].fjhjxxs)+"小时。故障次数分别是2次、3次和2次 "+Object(i["toDisplayString"])(dt.datas.month)+"月,"+Object(i["toDisplayString"])(dt.datas.wtname)+"设备可利用率为"+Object(i["toDisplayString"])(Number(dt.healthreport.sbklyl).toFixed(2))+"%,可靠性尚可。 ",1)]),Ye,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.sbklyls2,"header-cell-style":{background:"rgb(153,204,255)",color:"#000"},"cell-style":ft.columnStyle,border:"",stripe:"","max-height":"300",style:{width:"100%",margin:"10px 0"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"name",label:"项目"}),Object(i["createVNode"])(gt,{prop:"q1ysj",label:dt.sbklyls[2].date},null,8,["label"]),Object(i["createVNode"])(gt,{prop:"q2ysj",label:dt.sbklyls[1].date},null,8,["label"]),Object(i["createVNode"])(gt,{prop:"q3ysj",label:dt.sbklyls[0].date},null,8,["label"])]})),_:1},8,["data","header-cell-style","cell-style"])]})),_:1})]),Object(i["createElementVNode"])("div",Xe,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[Ke]})),_:1}),Object(i["createElementVNode"])("div",Je,[Object(i["createElementVNode"])("p",null,Object(i["toDisplayString"])(dt.datas.wtname)+"近三个月性能评价良好,整体排名考前,"+Object(i["toDisplayString"])(dt.datas.year)+"年"+Object(i["toDisplayString"])(dt.datas.month)+"月性能评价指标横向对比良好。 ",1)]),Object(i["createElementVNode"])("div",Ze,Object(i["toDisplayString"])(dt.datas.year)+"年"+Object(i["toDisplayString"])(dt.datas.month-2)+"-"+Object(i["toDisplayString"])(dt.datas.year)+"年"+Object(i["toDisplayString"])(dt.datas.month)+"性能评价结果 ",1),Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.xnpjjg,"header-cell-style":{background:"rgb(224,224,224)",color:"#000"},border:"",stripe:"",style:{width:"100%","margin-bottom":"10px"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"yf",label:"月份"}),Object(i["createVNode"])(gt,{prop:"jb",label:"级别"}),Object(i["createVNode"])(gt,{prop:"df",label:"得分"}),Object(i["createVNode"])(gt,{prop:"ph",label:"排行"})]})),_:1},8,["data","header-cell-style"]),Object(i["createElementVNode"])("div",$e,Object(i["toDisplayString"])(dt.datas.year)+"年"+Object(i["toDisplayString"])(dt.datas.month)+"月性能评价明细 ",1),Object(i["createElementVNode"])("table",Qe,[Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("td",et,[Object(i["createElementVNode"])("div",tt,"风机编号:"+Object(i["toDisplayString"])(dt.datas.wtname),1),Object(i["createElementVNode"])("div",nt,"量化评级:"+Object(i["toDisplayString"])(dt.healthreport.pjjg),1),Object(i["createElementVNode"])("div",it,"综合排名:"+Object(i["toDisplayString"])(dt.zhrank),1),Object(i["createVNode"])(Tt,{height:"500px",width:"500px",value:dt.pjmxs},null,8,["value"])]),ot,rt,Object(i["createVNode"])(bt,{"empty-text":"暂无数据",data:dt.xnpjmx,"header-cell-style":{color:"#000"},border:"",stripe:"","max-height":"570",style:{width:"100%"}},{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(gt,{prop:"lx",label:"类型"}),Object(i["createVNode"])(gt,{prop:"zb",label:"指标"}),Object(i["createVNode"])(gt,{prop:"sz",label:"数值"}),Object(i["createVNode"])(gt,{prop:"pm",label:"排名"}),Object(i["createVNode"])(gt,{prop:"pf",label:"评分"})]})),_:1},8,["data"])])])]})),_:1})]),1==Number(dt.datas.isrecommend)?(Object(i["openBlock"])(),Object(i["createElementBlock"])("div",at,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"imp fw"},{default:Object(i["withCtx"])((function(){return[st]})),_:1}),Object(i["createVNode"])(mt,{class:"imp fw text-indent-2"},{default:Object(i["withCtx"])((function(){return[ct]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-4"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("高频:"+Object(i["toDisplayString"])(dt.datas.highfrequency?dt.datas.highfrequency:"传动链"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-4"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("中频:"+Object(i["toDisplayString"])(dt.datas.mediatefrequency?dt.datas.mediatefrequency:"齿轮箱"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"m-b-10 text-indent-4"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("低频:"+Object(i["toDisplayString"])(dt.datas.fowfrequency?dt.datas.fowfrequency:"变桨系统"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐检修理由:"+Object(i["toDisplayString"])(dt.datas.reason?dt.datas.reason:"暂无数据"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐检修日期:"+Object(i["toDisplayString"])(new Date(dt.datas.maindate).formatDate("yyyy-MM-dd")),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐排查方法:"+Object(i["toDisplayString"])(dt.datas.troublemethods?dt.datas.troublemethods:"暂无数据"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐处理方法:"+Object(i["toDisplayString"])(dt.datas.processingmethod?dt.datas.processingmethod:"暂无数据"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐工具器:"+Object(i["toDisplayString"])(dt.datas.tools?dt.datas.tools:"暂无数据"),1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("平均消缺时长:"+Object(i["toDisplayString"])(0==Number(dt.datas.averagetime).toFixed(1)?4.6:Number(dt.datas.averagetime).toFixed(1))+"小时",1)]})),_:1}),Object(i["createVNode"])(mt,{class:"text-indent-2"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])("推荐检修风速:"+Object(i["toDisplayString"])(0==Number(dt.datas.mainspeed).toFixed(1)?2.4:Number(dt.datas.mainspeed).toFixed(1))+"m/s",1)]})),_:1}),Object(i["createVNode"])(mt,null,{default:Object(i["withCtx"])((function(){return[lt]})),_:1}),Object(i["createVNode"])(mt,null,{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("b",null,"报告出具时间:"+Object(i["toDisplayString"])(new Date(dt.datas.recommenddate).formatDate("yyyy-MM-dd")),1)]})),_:1})]})),_:1})])):Object(i["createCommentVNode"])("",!0),Object(i["createElementVNode"])("div",ut,[Object(i["createVNode"])(_t,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(mt,{class:"fw",style:{margin:"10px 0","text-align":"center"}},{default:Object(i["withCtx"])((function(){return[ht]})),_:1})]})),_:1})])])]})),_:1},8,["modelValue","onClosed"])}var ft=n("b85c"),pt=(n("d3b7"),n("159b"),n("4e82"),n("2a66")),mt=n("5419"),_t=n("6baa"),gt=n("d109"),bt=n("1157"),yt=n.n(bt),vt=n("8d8a"),Ot={components:{DoubleLineChart:pt["a"],NormalLineChart:mt["a"],MultipleLineChart:pt["a"],NormalRadarChart:_t["a"]},data:function(){return{datas:{},healthreport:{},dfpc:{nipples:[{title:"频次",smooth:!0,value:[]}],dfpclpowers:[{title:"功率",smooth:!0,value:[]}],dfpclSpeeds:[{title:"风速",smooth:!0,value:[]}]},qrqcs:[{foreignkeyid:"",xfqr:0,xfqc:0,dfqr:0,dfqc:0}],glqxnh:[{title:"保证功率",smooth:!0,value:[]},{title:"拟合功率",smooth:!0,value:[]}],qxpcls:[{title:"曲线偏差率",yAxisIndex:0,value:[{text:"1",value:0}]},{title:"基准值",yAxisIndex:0,value:[{text:"1",value:0}]}],yhbjcount:{cdlcount:0,cdltime:0,cfxtcount:0,cfxttime:0,clxcount:0,clxttime:0,fdjcount:0,fdjtime:0,bjcount:0,bjtime:0,jccount:0,jctime:0,phcount:0,phtime:0,tdgcount:0,tdgtime:0},bjyhcount:[{yhmx:"主轴温度温差大于8度",count:64},{yhmx:"主轴温度温差大于8度",count:64},{yhmx:"主轴温度温差大于8度",count:64},{yhmx:"主轴温度温差大于8度",times:64},{yhmx:"主轴温度温差大于8度",times:64},{yhmx:"主轴温度温差大于8度",times:64}],bjyhdbs:[],yhmxdbs:[],yhmxdbs2:[],faultclass:[],sbklyls:[{date:"2021-08-01",yxxs:8.23,djxs:15.77,fjhjxxs:0,jhjxxs:0,slxs:0,gzcs:null,sbklyl:100},{date:"2021-08-01",yxxs:8.23,djxs:15.77,fjhjxxs:0,jhjxxs:0,slxs:0,gzcs:null,sbklyl:100},{date:"2021-08-01",yxxs:8.23,djxs:15.77,fjhjxxs:0,jhjxxs:0,slxs:0,gzcs:null,sbklyl:100}],sbklyls2:[],fnlyls:[],partwds:[],xnpjjg:[],xnpjmx:[],pjmxs:[],wttragetreportcharts:[],zhrank:2,wxhjpc:[{bjjg:"叶片",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"轮毂及变桨系统",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"主控柜",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"机舱",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"偏航系统",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"齿轮箱",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"发电机",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"液压",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"测风",wx1:"0",hj1:"1",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"联轴器",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"主轴",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"塔架",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"塔底控制柜",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"变频器",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"辅助系统",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"},{bjjg:"基础",wx1:"0",hj1:"0",wx2:"0",hj2:"0",wx3:"0",hj3:"0"}],djjl:[{rq:"2021-7-26",ms:"正常"},{rq:"2021-7-20",ms:"发现齿轮箱漏油,已加油,联系厂家维修"},{rq:"2021-6-12",ms:"正常"}],Powertrend:[{title:"",yAxisIndex:0,value:[]}],fdjgjcsz:[{gjcs:"发电机转速",edz:"1700",yxfw:"<2000",qz:"0.35",scz:"1500",df:"0.3"},{gjcs:"发电机轴A温度",edz:"70",yxfw:"<100",qz:"0.15",scz:"56",df:"0.12"},{gjcs:"发电机轴B温度",edz:"70",yxfw:"<100",qz:"0.15",scz:"54",df:"0.12"}],fdjgjcsz2:[{gjcs:"主轴承温度",edz:"30",yxfw:"<80",qz:"0.35",scz:"36.2",df:"0.79"},{gjcs:"主轴承油脂启动时间间隔",edz:"",yxfw:"<500",qz:"0.15",scz:"394",df:"0.03"},{gjcs:"主轴承油脂泵运行周期",edz:"",yxfw:"<14",qz:"0.15",scz:"6",df:"0"}],bjlhpczl:[{sjzq:"近1天",fdj:"1",clx:"0",bj:"0",zz:"1",zj:"2"},{sjzq:"近3天",fdj:"1",clx:"0",bj:"0",zz:"1",zj:"2"},{sjzq:"统计期内",fdj:"1",clx:"0",bj:"0",zz:"1",zj:"2"}],bjgjcs:[{gjcs:"变桨电机温度1",edz:"55",yxfw:"<100",qz:"0.12",scz:"68",df:"0.24"},{gjcs:"变桨电机温度2",edz:"55",yxfw:"<100",qz:"0.12",scz:"87",df:"0.59"},{gjcs:"变桨电机温度3",edz:"55",yxfw:"<100",qz:"0.12",scz:"79",df:"0.48"},{gjcs:"变频器温度1",edz:"25",yxfw:"<45",qz:"0.20",scz:"31",df:"0.34"},{gjcs:"变频器温度2",edz:"25",yxfw:"<45",qz:"0.20",scz:"31",df:"0.90"},{gjcs:"变频器温度3",edz:"25",yxfw:"<45",qz:"0.20",scz:"30",df:"0.12"}],scatterLineData:{data:[{title:"男",value:[[14.49,1537],[5.78,368],[5.08,247],[4.79,171],[4.05,120],[3.17,49],[2.45,5],[2.93,28],[2.55,6],[2.39,-6],[1.51,0],[1.21,0],[9.85,1233],[11.21,1540],[11.15,1554],[11.64,1534],[11.44,1531],[10.96,1522],[10.23,1540],[11.26,816],[12.43,673],[10.37,693],[10.83,715],[12.66,718],[13.49,739],[14.78,732],[13.16,1414],[14.48,1532],[12.24,1539],[11.48,1535],[12.82,1538],[11.93,1547],[10.42,1410],[10.05,1532],[10.05,1497],[10.07,1486],[9.67,1454],[11.3,1419],[11.14,1510],[10.77,1538],[10.55,1542],[10.43,1517],[12.58,1541],[11.05,1551],[10.85,1535],[11.87,1540],[13.79,1530],[13.63,1537],[12.01,1535],[12.12,1532],[11.53,1524],[10.62,1541],[10.23,1409],[10.89,1541],[10.45,1541],[11.59,1536],[12.1,1544],[11.83,1534],[12.57,1544],[10.88,1538],[11.15,1539],[11.37,1536],[11.62,1546],[11.98,1537],[11.72,1533],[10.92,1530],[11.77,1547],[10.46,1414],[10.08,1308],[10.82,1487],[9.68,1485],[10.13,1279]]}],lineData:{xTitle:"风速",yTitle:"功率",legends:[],data:[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],[0,0,0,93.67,98.38,165,295.84,471.84,648.28,871.72,1124.84,1296.42,1448.63,1548,1548,1548,1548,1548,1548,1548,1548,1548,1548,1548,1548,1548]]}},qrqc:[{xm:"发电机转速",xfqr:"1700",xfqc:"2000",dfqr:"0.35",dfqc:"1500"},{xm:"发电机转速",xfqr:"1700",xfqc:"2000",dfqr:"0.35",dfqc:"1500"}],gzfltj:[{fl:"xxx",pc1:"1500",pc2:"1500",pc3:"1500",sc1:"1500",sc2:"1500",sc3:"1500"},{fl:"xxx",pc1:"1500",pc2:"1500",pc3:"1500",sc1:"1500",sc2:"1500",sc3:"1500"}],dialogVisible:!1,bjzb:[],chartmap:{fdj:[{title:"发电机",yAxisIndex:0,value:[]}],clx:[{title:"齿轮箱",yAxisIndex:0,value:[]}],zk:[{title:"主轴",yAxisIndex:0,value:[]}],bj:[{title:"变桨",yAxisIndex:0,value:[]}]},djpg:[],fnlyl:[{name:"name",q1ysj:"1500",q2ysj:"1500",q3ysj:"1500"},{name:"name",q1ysj:"1500",q2ysj:"1500",q3ysj:"1500"}],jczbmap:{},kkxfx:[{name:"name",q1ysj:"1500",q2ysj:"1500",q3ysj:"1500"},{name:"name",q1ysj:"1500",q2ysj:"1500",q3ysj:"1500"}],fnlylItem:{},sbklylItem:{},reqData:{}}},props:{show:{type:Boolean,default:!1},params:{type:Boolean,default:function(){}}},created:function(){this.getReport()},beforeUpdate:function(){var e=this;e.$nextTick((function(){e.others()}))},mounted:function(){this.dialogVisible=this.show},methods:{others:function(){yt()(".bjyhdb .el-table__header-wrapper table .is-group tr").eq(1).remove()},yhmxdbMethod:function(e){e.row,e.column;var t=e.rowIndex,n=e.columnIndex;if(t<8){if(0===t&&0===n)return[8,1];if(t>=1&&0===n)return[0,0]}else if(t>=8&&t<13){if(8===t&&0===n)return[5,1];if(t>=9&&0===n)return[0,0]}else if(t>=13&&t<27){if(13===t&&0===n)return[14,1];if(t>=14&&0===n)return[0,0]}else if(t>=27&&t<63){if(27===t&&0===n)return[36,1];if(t>=28&&0===n)return[0,0]}else if(t>=63&&t<78){if(63===t&&0===n)return[15,1];if(t>=64&&0===n)return[0,0]}else if(t>=78&&t<85){if(78===t&&0===n)return[7,1];if(t>=79&&0===n)return[0,0]}else if(t>=85&&t<88){if(85===t&&0===n)return[3,1];if(t>=86&&0===n)return[0,0]}},exportPDF:function(e){this.BASE.showMsg({type:"success",msg:"正在导出...请稍后..."}),gt["a"].downloadPDF(document.querySelector(".pdfDom"),"健康评价报告概述")},dialogClosed:function(){this.dialogVisible=!1,this.$emit("closed",!1)},columnStyle:function(e){e.row,e.column,e.rowIndex;var t=e.columnIndex;if(0===t)return"background:rgb(204,255,255);"},getReport:function(e,t){var n=this;if(void 0!=e){var i=this;this.params;vt["a"].healthreportHealthReport({wtid:e,date:t}).then((function(e){if(200==e.code){n.datas=e.data,n.healthreport=e.data.healthreport,n.randomInitDate(),n.qxpcls=[];var t=[{title:"保证功率",smooth:!0,value:[]},{title:"拟合功率",smooth:!0,value:[]}];e.data.healthreport.nhglqxs&&e.data.healthreport.nhglqxs.forEach((function(e){Number(e.speed)%1==0&&(t[0].value.push({text:e.speed,value:e.bzgl}),t[1].value.push({text:e.speed,value:e.nhgl}))})),i.glqxnh=t,n.qxpcls=[];var o=[{title:"曲线偏差率",yAxisIndex:0,value:[]},{title:"基准值",yAxisIndex:0,value:[]}];if(e.data.healthreport.qxpcls){var r=e.data.healthreport.qxpcls.sort(i.compare("date"));if(null!=r&&void 0!=r){for(var a=r.length-1;a>=0;a--)o[0].value.push({text:new Date(r[a].date).formatDate("yyyy-MM-dd"),value:Number(r[a].qxpcl).toFixed(2)}),o[1].value.push({text:new Date(r[a].date).formatDate("yyyy-MM-dd"),value:Number(r[a].jzz).toFixed(2)});n.qxpcls=o}}var s={nipples:[{title:"频次",smooth:!0,value:[{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:2},{text:"",value:1},{text:"",value:2},{text:"",value:4},{text:"",value:7},{text:"",value:18},{text:"",value:29},{text:"",value:41},{text:"",value:58},{text:"",value:65},{text:"",value:84},{text:"",value:126},{text:"",value:167},{text:"",value:196},{text:"",value:233},{text:"",value:301},{text:"",value:355},{text:"",value:341},{text:"",value:395},{text:"",value:459},{text:"",value:488},{text:"",value:480},{text:"",value:559},{text:"",value:1093},{text:"",value:566},{text:"",value:509},{text:"",value:524},{text:"",value:526},{text:"",value:458},{text:"",value:447},{text:"",value:372},{text:"",value:320},{text:"",value:258},{text:"",value:275},{text:"",value:211},{text:"",value:136},{text:"",value:116},{text:"",value:80},{text:"",value:68},{text:"",value:56},{text:"",value:46},{text:"",value:40},{text:"",value:20},{text:"",value:13},{text:"",value:2},{text:"",value:10},{text:"",value:6},{text:"",value:8},{text:"",value:0},{text:"",value:3},{text:"",value:3},{text:"",value:2},{text:"",value:2},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:1},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0},{text:"",value:0}]}],dfpclpowers:[{title:"功率",smooth:!0,value:[{text:"",value:98},{text:"",value:97},{text:"",value:98},{text:"",value:99},{text:"",value:98},{text:"",value:99},{text:"",value:100},{text:"",value:98},{text:"",value:98},{text:"",value:96},{text:"",value:98},{text:"",value:97},{text:"",value:98},{text:"",value:95},{text:"",value:97},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100}]}],dfpclSpeeds:[{title:"风速",smooth:!0,value:[{text:"",value:95},{text:"",value:97},{text:"",value:97},{text:"",value:99},{text:"",value:98},{text:"",value:98},{text:"",value:99},{text:"",value:95},{text:"",value:94},{text:"",value:94},{text:"",value:94},{text:"",value:94},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:100},{text:"",value:98},{text:"",value:100},{text:"",value:100},{text:"",value:100}]}]},c=[-50,-49,-48,-47,-46,-45,-44,-43,-42,-41,-40,-39,-38,-37,-36,-35,-34,-33,-32,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50];s.nipples[0].value.forEach((function(e,t){e.text=c[t]})),s.dfpclpowers[0].value.forEach((function(e,t){e.text=100*(t+1)})),s.dfpclSpeeds[0].value.forEach((function(e,t){e.text=t+3})),0===e.data.healthreport.nipples.length||(s={nipples:[{title:"频次",smooth:!0,value:[]}],dfpclpowers:[{title:"功率",smooth:!0,value:[]}],dfpclSpeeds:[{title:"风速",smooth:!0,value:[]}]},i.dfpc=[],e.data.healthreport.nipples&&e.data.healthreport.nipples.forEach((function(e){var t={text:e.pcl,value:e.count};s.nipples[0].value.push(t)})),e.data.healthreport.dfpclpowers&&e.data.healthreport.dfpclpowers.forEach((function(e){var t={text:e.power,value:e.dfpcl};s.dfpclpowers[0].value.push(t)})),e.data.healthreport.dfpclSpeeds&&e.data.healthreport.dfpclSpeeds.forEach((function(e){var t={text:e.speed,value:e.dfpcl};s.dfpclSpeeds[0].value.push(t)}))),i.dfpc=s,i.bjyhdbs=[],i.bjyhdbs=i.datas.healthreport.bjyhdbs;var l=i.datas.healthreport.yhmxdbs;if(null!=l){var u,h=Object(ft["a"])(l);try{for(h.s();!(u=h.n()).done;){var d=u.value;d.part.indexOf("传动链")&&(i.yhbjcount.cdlcount+=d.count,i.yhbjcount.cdltime+=d.times),d.part.indexOf("测风")&&(i.yhbjcount.cfxtcount+=d.count,i.yhbjcount.cfxttime+=d.times),d.part.indexOf("齿轮箱")&&(i.yhbjcount.clxcount+=d.count,i.yhbjcount.clxttime+=d.times),d.part.indexOf("发电机")&&(i.yhbjcount.fdjcount+=d.count,i.yhbjcount.fdjtime+=d.times),d.part.indexOf("变桨")&&(i.yhbjcount.bjcount+=d.count,i.yhbjcount.bjtime+=d.times),d.part.indexOf("机舱")&&(i.yhbjcount.jccount+=d.count,i.yhbjcount.jctime+=d.times),d.part.indexOf("偏航")&&(i.yhbjcount.phcount+=d.count,i.yhbjcount.phtime+=d.times),d.part.indexOf("塔底柜")&&(i.yhbjcount.tdgcount+=d.count,i.yhbjcount.tdgtime+=d.times)}}catch(ye){h.e(ye)}finally{h.f()}i.yhmxdbs=l,i.yhmxdbs2=[];var f,p=l.sort(i.compare("count")),m="",_=Object(ft["a"])(p);try{for(_.s();!(f=_.n()).done;){var g=f.value;if(g.part!=m&&(m=g.part,i.yhmxdbs2.push(m)),3==i.yhmxdbs2.length)break}}catch(ye){_.e(ye)}finally{_.f()}var b=Object.assign([],l),y=Object.assign([],l),v=b.sort(i.compare("count")),O=y.sort(i.compare("times"));v.length>0&&O.length>0&&(i.bjyhcount=[],i.bjyhcount.push(v[0]),i.bjyhcount.push(v[1]),i.bjyhcount.push(v[2]),i.bjyhcount.push(O[0]),i.bjyhcount.push(O[1]),i.bjyhcount.push(O[2]))}0!=e.data.healthreport.qrqcs.length&&(i.qrqcs=[],e.data.healthreport.qrqcs&&e.data.healthreport.qrqcs.forEach((function(e){e.xfqr=null==e.xfqr?0:e.xfqr.toFixed(2),e.xfqc=null==e.xfqc?0:e.xfqc.toFixed(2),e.dfqr=null==e.dfqr?0:e.dfqr.toFixed(2),e.dfqc=null==e.dfqc?0:e.dfqc.toFixed(2),i.qrqcs.push(e)})));var w=i.datas.healthreport.sbklyls;i.sbklyls=w,i.sbklyls2=[];var A=Object.assign([],w);if(null!=A){var T={name:"运行小时",q1ysj:A[2].yxxs,q2ysj:A[1].yxxs,q3ysj:A[0].yxxs},C={name:"待机小时",q1ysj:A[2].djxs,q2ysj:A[1].djxs,q3ysj:A[0].djxs},E={name:"非计划检修时间",q1ysj:A[2].fjhjxxs,q2ysj:A[1].fjhjxxs,q3ysj:A[0].fjhjxxs},x={name:"计划检修时间",q1ysj:A[2].jhjxxs,q2ysj:A[1].jhjxxs,q3ysj:A[0].jhjxxs},S={name:"受累小时",q1ysj:A[2].slxs,q2ysj:A[1].slxs,q3ysj:A[0].slxs},I={name:"故障次数",q1ysj:null==A[2].gzcs?0:A[2].gzcs,q2ysj:null==A[1].gzcs?0:A[1].gzcs,q3ysj:null==A[0].gzcs?0:A[0].gzcs},D={name:"设备可利用率",q1ysj:A[2].sbklyl.toFixed(2),q2ysj:A[1].sbklyl.toFixed(2),q3ysj:A[0].sbklyl.toFixed(2)};i.sbklyls2.push(T),i.sbklyls2.push(C),i.sbklyls2.push(E),i.sbklyls2.push(x),i.sbklyls2.push(S),i.sbklyls2.push(I),i.sbklyls2.push(D);var j=i.datas.healthreport.fnlyls,P={name:"发电量",q1ysj:j[2].fdl.toFixed(2),q2ysj:j[1].fdl.toFixed(2),q3ysj:j[0].fdl.toFixed(2)},R={name:"计划检修损失电量",q1ysj:j[2].whdl.toFixed(2),q2ysj:j[1].whdl.toFixed(2),q3ysj:j[0].whdl.toFixed(2)},M={name:"非计划检修损失电量",q1ysj:j[2].gzdl.toFixed(2),q2ysj:j[1].gzdl.toFixed(2),q3ysj:j[0].gzdl.toFixed(2)},N={name:"受累损失电量",q1ysj:j[2].sldl.toFixed(2),q2ysj:j[1].sldl.toFixed(2),q3ysj:j[0].sldl.toFixed(2)},L={name:"限电损失电量",q1ysj:j[2].xddl.toFixed(2),q2ysj:j[1].xddl.toFixed(2),q3ysj:j[0].xddl.toFixed(2)},B={name:"性能损失电量",q1ysj:j[2].xndl.toFixed(2),q2ysj:j[1].xndl.toFixed(2),q3ysj:j[0].xndl.toFixed(2)},F={name:"理论发电量",q1ysj:j[2].llfdl.toFixed(2),q2ysj:j[1].llfdl.toFixed(2),q3ysj:j[0].llfdl.toFixed(2)},k={name:"平均风速(m/s)",q1ysj:j[2].speed.toFixed(2),q2ysj:j[1].speed.toFixed(2),q3ysj:j[0].speed.toFixed(2)},z={name:"风能利用率",q1ysj:j[2].fnlyl.toFixed(2),q2ysj:j[1].fnlyl.toFixed(2),q3ysj:j[0].fnlyl.toFixed(2)};i.fnlyls.push(P),i.fnlyls.push(R),i.fnlyls.push(M),i.fnlyls.push(N),i.fnlyls.push(L),i.fnlyls.push(B),i.fnlyls.push(F),i.fnlyls.push(k),i.fnlyls.push(z)}i.faultclass=i.datas.healthreport.faultclass.sort(i.compare("monthwarningnum")),i.partwds=[];var U=i.datas.healthreport.partwds,V=[];U&&U.forEach((function(e,t){var n="";"zk"==e.part?n="主控":"fdj"==e.part?n="发电机":"clx"==e.part?n="齿轮箱":"bj"==e.part?n="变桨":e.part.indexOf("ph")?n="偏航":"bj"==e.part?n="变桨":e.part.indexOf("yy")?n="液压":e.part.indexOf("cdl")?n="传动链":e.part.indexOf("cf")&&(n="测风系统"),V.push({bj:n,wdcd:e.type,min0:"0kw-150kw"==e.power?e.value:0,min150:"150kw-300kw"==e.power?e.value:0,min300:"300kw-450kw"==e.power?e.value:0,min450:"450kw-600kw"==e.power?e.value:0,min600:"600kw-750kw"==e.power?e.value:0,min750:"750kw-900kw"==e.power?e.value:0,min900:"900kw-1050kw"==e.power?e.value:0,min1050:"1050kw-1200kw"==e.power?e.value:0,min1200:"1200kw-1350kw"==e.power?e.value:0,min1350:"1350kw-1500kw"==e.power?e.value:0})})),i.partwds=V,i.xnpjjg=[];var H=i.datas.healthreport.pjjgs;if(null!=H&&void 0!=H){if(void 0!=H[2]){var G={yf:new Date(H[2].date).formatDate("yyyy-MM"),jb:H[2].level,df:H[2].score,ph:H[2].rank};i.xnpjjg.push(G)}if(void 0!=H[1]){var q={yf:new Date(H[1].date).formatDate("yyyy-MM"),jb:H[1].level,df:H[1].score,ph:H[1].rank};i.xnpjjg.push(q)}if(void 0!=H[0]){var W={yf:new Date(H[0].date).formatDate("yyyy-MM"),jb:H[0].level,df:H[0].score,ph:H[0].rank};i.xnpjjg.push(W)}}i.xnpjmx=[];var Y=i.datas.healthreport.pjmxs[0];i.zhrank=Y.rank;var X={lx:"",zb:"发电量",sz:Y.dayfdl,pm:Y.monthfdl,pf:null==Y.yearfdl?0:Y.yearfdl},K={lx:"",zb:"理论发电量",sz:Y.dayllfdl,pm:Y.monthllfdl,pf:null==Y.yearllfdl?0:Y.yearllfdl},J={lx:"",zb:"平均功率",sz:Y.daygl,pm:Y.monthgl,pf:null==Y.yeargl?0:Y.yeargl},Z={lx:"",zb:"故障损失电量",sz:Y.daygzssdl,pm:Y.monthgzssdl,pf:null==Y.yeargzssdl?0:Y.yeargzssdl},$={lx:"",zb:"限电损失电量",sz:Y.dayxdssdl,pm:Y.monthxdssdl,pf:null==Y.yearxdssdl?0:Y.yearxdssdl},Q={lx:"",zb:"维护损失电量",sz:Y.daywhssdl,pm:Y.monthwhssdl,pf:null==Y.yearwhssdl?0:Y.yearwhssdl},ee={lx:"",zb:"故障时间",sz:Y.daygzsj,pm:Y.monthgzsj,pf:null==Y.yeargzsj?0:Y.yeargzsj},te={lx:"",zb:"维护时间",sz:Y.daywhsj,pm:Y.monthwhsj,pf:null==Y.yearwhsj?0:Y.yearwhsj},ne={lx:"",zb:"运行时间",sz:Y.dayyxsj,pm:Y.monthyxsj,pf:null==Y.yearyxsj?0:Y.yearyxsj},ie={lx:"",zb:"停机时间",sz:Y.daytjsj,pm:Y.monthtjsj,pf:null==Y.yeartjsj?0:Y.yeartjsj},oe={lx:"性能",zb:"平均切入风速",sz:Y.dayxfqr,pm:Y.monthxfqr,pf:null==Y.yearxfqr?0:Y.yearxfqr},re={lx:"性能",zb:"性能损失电量",sz:Y.dayxnssdl,pm:Y.monthxnssdl,pf:null==Y.yearxnssdl?0:Y.yearxnssdl},ae={lx:"性能",zb:"拟合优度",sz:Y.dayNHYD,pm:Y.monthNHYD,pf:null==Y.yearNHYD?0:Y.yearNHYD},se={lx:"性能",zb:"功率一致性系数",sz:Y.dayglyzxxs,pm:9,pf:null==Y.yearglyzxxs?0:Y.yearglyzxxs},ce={lx:"可靠性管理",zb:"利用小时",sz:Y.dayLYXS,pm:Y.monthLYXS,pf:null==Y.yearLYXS?0:Y.yearLYXS},le={lx:"可靠性管理",zb:"设备可利用率",sz:Y.daySBKLYL,pm:Y.monthSBKLYL,pf:null==Y.yearSBKLYL?0:Y.yearSBKLYL},ue={lx:"可靠性管理",zb:"等效可利用系数",sz:Y.dayDXKYXS,pm:Y.monthDXKYXS,pf:null==Y.yearDXKYXS?0:Y.yearDXKYXS},he={lx:"可靠性管理",zb:"有效风时数",sz:Y.dayyxfss,pm:Y.monthyxfss,pf:null==Y.yearyxfss?0:Y.yearyxfss},de={lx:"资源",zb:"平均风速",sz:Y.dayfs,pm:Y.monthfs,pf:null==Y.yearfs?0:Y.yearfs},fe={lx:"资源",zb:"静风频率",sz:Y.dayjfpl,pm:Y.monthjfpl,pf:null==Y.yearjfpl?0:Y.yearjfpl};i.xnpjmx.push(X),i.xnpjmx.push(K),i.xnpjmx.push(J),i.xnpjmx.push(Z),i.xnpjmx.push($),i.xnpjmx.push(Q),i.xnpjmx.push(ee),i.xnpjmx.push(te),i.xnpjmx.push(ne),i.xnpjmx.push(ie),i.xnpjmx.push(oe),i.xnpjmx.push(re),i.xnpjmx.push(ae),i.xnpjmx.push(se),i.xnpjmx.push(ce),i.xnpjmx.push(le),i.xnpjmx.push(ue),i.xnpjmx.push(he),i.xnpjmx.push(de),i.xnpjmx.push(fe);var pe=i.datas.healthreport.pjmxs[0];i.pjmxs=[{indicator:["平均切入风速","性能损失电量","拟合优度","功率一致性系数","利用小时","设备科理由率","等效可利用系数","有效风时数","平均风速","静风频率"],data:[{value:[pe.dayxfqr,pe.dayxnssdl,pe.dayNHYD,pe.dayglyzxxs,pe.dayLYXS,pe.daySBKLYL,pe.dayDXKYXS,pe.dayyxfss,pe.dayfs,pe.dayjfpl],name:"量化评级分析"}]}];var me=[{title:"发电机",smooth:!0,value:[]}],_e=[{title:"齿轮箱",smooth:!0,value:[]}],ge=[{title:"主轴",smooth:!0,value:[]}],be=[{title:"变桨",smooth:!0,value:[]}];e.data.healthreport.wttragetreportcharts&&e.data.healthreport.wttragetreportcharts.forEach((function(e){var t=new Date(e.recorddate).formatDate("yyyy-MM-dd hh:mm");"fdj"===e.partid?me[0].value.push({text:t,value:e.value}):"clx"==e.partid?_e[0].value.push({text:t,value:e.value}):"zk"==e.partid?ge[0].value.push({text:t,value:e.value}):"bj"==e.partid&&be[0].value.push({text:t,value:e.value})})),i.wttragetreportcharts={fdj:me,clx:_e,zk:ge,bj:be}}}))}},compare:function(e){return function(t,n){var i=t[e],o=n[e];return isNaN(Number(i))||isNaN(Number(o))||(i=Number(i),o=Number(o)),i>o?-1:i<o?1:0}},randomInitDate:function(){this.bjzb=[];var e={partname:"曲线偏差率(5-11m/s)",q1yjkqk:(5*Math.random()+6).toFixed(2),q2yjkqk:(5*Math.random()+6).toFixed(2),q3yjkqk:(5*Math.random()+6).toFixed(2)},t={partname:"对风偏差率(5-11m/s)",q1yjkqk:(3*Math.random()+5).toFixed(2),q2yjkqk:(3*Math.random()+5).toFixed(2),q3yjkqk:(3*Math.random()+5).toFixed(2)},n={partname:"小风切入",q1yjkqk:(Math.random()+2.8).toFixed(2),q2yjkqk:(Math.random()+2.8).toFixed(2),q3yjkqk:(Math.random()+2.8).toFixed(2)},i={partname:"小风切出",q1yjkqk:(Math.random()+2.5).toFixed(2),q2yjkqk:(Math.random()+2.5).toFixed(2),q3yjkqk:(Math.random()+2.5).toFixed(2)},o={partname:"部件隐患",q1yjkqk:"主轴",q2yjkqk:"齿轮箱",q3yjkqk:"齿轮箱"},r={partname:"故障",q1yjkqk:"液压类故障",q2yjkqk:"液压类故障",q3yjkqk:"传动链"},a={partname:"功率对应温度",q1yjkqk:"齿轮箱",q2yjkqk:"发电机",q3yjkqk:"发电机"},s={partname:"发电机",q1yjkqk:"优",q2yjkqk:"良",q3yjkqk:"优"},c={partname:"齿轮箱",q1yjkqk:"良",q2yjkqk:"注意",q3yjkqk:"注意"},l={partname:"变桨",q1yjkqk:"注意",q2yjkqk:"良",q3yjkqk:"良"},u={partname:"主轴",q1yjkqk:"良",q2yjkqk:"良",q3yjkqk:"注意"},h={partname:"风能利用率",q1yjkqk:(10*Math.random()+75).toFixed(2),q2yjkqk:(10*Math.random()+75).toFixed(2),q3yjkqk:(10*Math.random()+75).toFixed(2)},d={partname:"设备可利用率",q1yjkqk:(10*Math.random()+90).toFixed(2),q2yjkqk:(10*Math.random()+90).toFixed(2),q3yjkqk:(10*Math.random()+90).toFixed(2)},f={partname:"性能评价",q1yjkqk:(10*Math.random()+75).toFixed(2),q2yjkqk:(10*Math.random()+75).toFixed(2),q3yjkqk:(10*Math.random()+75).toFixed(2)};this.bjzb.push(e),this.bjzb.push(t),this.bjzb.push(n),this.bjzb.push(i),this.bjzb.push(o),this.bjzb.push(r),this.bjzb.push(a),this.bjzb.push(s),this.bjzb.push(c),this.bjzb.push(l),this.bjzb.push(u),this.bjzb.push(h),this.bjzb.push(d),this.bjzb.push(f)}},watch:{show:function(e){this.dialogVisible=e},params:function(e){this.reqData=e}}},wt=(n("f509"),n("2b0e"),n("6b0d")),At=n.n(wt);const Tt=At()(Ot,[["render",dt],["__scopeId","data-v-4e1bc29d"]]);t["a"]=Tt},"925e":function(e,t,n){(function(t,i,o){var r=n("a9f1"),a=n("3fb5"),s=n("c90b"),c=n("e372"),l=n("d938"),u=s.IncomingMessage,h=s.readyStates;function d(e,t){return r.fetch&&t?"fetch":r.mozchunkedarraybuffer?"moz-chunked-arraybuffer":r.msstream?"ms-stream":r.arraybuffer&&e?"arraybuffer":r.vbArray&&e?"text:vbarray":"text"}var f=e.exports=function(e){var n,i=this;c.Writable.call(i),i._opts=e,i._body=[],i._headers={},e.auth&&i.setHeader("Authorization","Basic "+new t(e.auth).toString("base64")),Object.keys(e.headers).forEach((function(t){i.setHeader(t,e.headers[t])}));var o=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!r.abortController)o=!1,n=!0;else if("prefer-streaming"===e.mode)n=!1;else if("allow-wrong-content-type"===e.mode)n=!r.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");n=!0}i._mode=d(n,o),i._fetchTimer=null,i.on("finish",(function(){i._onFinish()}))};function p(e){try{var t=e.status;return null!==t&&0!==t}catch(n){return!1}}a(f,c.Writable),f.prototype.setHeader=function(e,t){var n=this,i=e.toLowerCase();-1===m.indexOf(i)&&(n._headers[i]={name:e,value:t})},f.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},f.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},f.prototype._onFinish=function(){var e=this;if(!e._destroyed){var n=e._opts,a=e._headers,s=null;"GET"!==n.method&&"HEAD"!==n.method&&(s=r.arraybuffer?l(t.concat(e._body)):r.blobConstructor?new i.Blob(e._body.map((function(e){return l(e)})),{type:(a["content-type"]||{}).value||""}):t.concat(e._body).toString());var c=[];if(Object.keys(a).forEach((function(e){var t=a[e].name,n=a[e].value;Array.isArray(n)?n.forEach((function(e){c.push([t,e])})):c.push([t,n])})),"fetch"===e._mode){var u=null;if(r.abortController){var d=new AbortController;u=d.signal,e._fetchAbortController=d,"requestTimeout"in n&&0!==n.requestTimeout&&(e._fetchTimer=i.setTimeout((function(){e.emit("requestTimeout"),e._fetchAbortController&&e._fetchAbortController.abort()}),n.requestTimeout))}i.fetch(e._opts.url,{method:e._opts.method,headers:c,body:s||void 0,mode:"cors",credentials:n.withCredentials?"include":"same-origin",signal:u}).then((function(t){e._fetchResponse=t,e._connect()}),(function(t){i.clearTimeout(e._fetchTimer),e._destroyed||e.emit("error",t)}))}else{var f=e._xhr=new i.XMLHttpRequest;try{f.open(e._opts.method,e._opts.url,!0)}catch(p){return void o.nextTick((function(){e.emit("error",p)}))}"responseType"in f&&(f.responseType=e._mode.split(":")[0]),"withCredentials"in f&&(f.withCredentials=!!n.withCredentials),"text"===e._mode&&"overrideMimeType"in f&&f.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in n&&(f.timeout=n.requestTimeout,f.ontimeout=function(){e.emit("requestTimeout")}),c.forEach((function(e){f.setRequestHeader(e[0],e[1])})),e._response=null,f.onreadystatechange=function(){switch(f.readyState){case h.LOADING:case h.DONE:e._onXHRProgress();break}},"moz-chunked-arraybuffer"===e._mode&&(f.onprogress=function(){e._onXHRProgress()}),f.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{f.send(s)}catch(p){return void o.nextTick((function(){e.emit("error",p)}))}}}},f.prototype._onXHRProgress=function(){var e=this;p(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},f.prototype._connect=function(){var e=this;e._destroyed||(e._response=new u(e._xhr,e._fetchResponse,e._mode,e._fetchTimer),e._response.on("error",(function(t){e.emit("error",t)})),e.emit("response",e._response))},f.prototype._write=function(e,t,n){var i=this;i._body.push(e),n()},f.prototype.abort=f.prototype.destroy=function(){var e=this;e._destroyed=!0,i.clearTimeout(e._fetchTimer),e._response&&(e._response._destroyed=!0),e._xhr?e._xhr.abort():e._fetchAbortController&&e._fetchAbortController.abort()},f.prototype.end=function(e,t,n){var i=this;"function"===typeof e&&(n=e,e=void 0),c.Writable.prototype.end.call(i,e,t,n)},f.prototype.flushHeaders=function(){},f.prototype.setTimeout=function(){},f.prototype.setNoDelay=function(){},f.prototype.setSocketKeepAlive=function(){};var m=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,n("b639").Buffer,n("c8ba"),n("4362"))},"93da":function(e,t,n){"use strict";var i=n("7aae"),o=n("d4da"),r=n("535a"),a=n("2f63"),s=n("4f04");const c={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,EPSILON21:1e-21,GRAVITATIONALPARAMETER:3986004418e5,SOLAR_RADIUS:6955e5,LUNAR_RADIUS:1737400,SIXTY_FOUR_KILOBYTES:65536,FOUR_GIGABYTES:4294967296};c.sign=Object(r["a"])(Math.sign,(function(e){return e=+e,0===e||e!==e?e:e>0?1:-1})),c.signNotZero=function(e){return e<0?-1:1},c.toSNorm=function(e,t){return t=Object(r["a"])(t,255),Math.round((.5*c.clamp(e,-1,1)+.5)*t)},c.fromSNorm=function(e,t){return t=Object(r["a"])(t,255),c.clamp(e,0,t)/t*2-1},c.normalize=function(e,t,n){return n=Math.max(n-t,0),0===n?0:c.clamp((e-t)/n,0,1)},c.sinh=Object(r["a"])(Math.sinh,(function(e){return(Math.exp(e)-Math.exp(-e))/2})),c.cosh=Object(r["a"])(Math.cosh,(function(e){return(Math.exp(e)+Math.exp(-e))/2})),c.lerp=function(e,t,n){return(1-n)*e+n*t},c.PI=Math.PI,c.ONE_OVER_PI=1/Math.PI,c.PI_OVER_TWO=Math.PI/2,c.PI_OVER_THREE=Math.PI/3,c.PI_OVER_FOUR=Math.PI/4,c.PI_OVER_SIX=Math.PI/6,c.THREE_PI_OVER_TWO=3*Math.PI/2,c.TWO_PI=2*Math.PI,c.ONE_OVER_TWO_PI=1/(2*Math.PI),c.RADIANS_PER_DEGREE=Math.PI/180,c.DEGREES_PER_RADIAN=180/Math.PI,c.RADIANS_PER_ARCSECOND=c.RADIANS_PER_DEGREE/3600,c.toRadians=function(e){if(!Object(a["a"])(e))throw new s["a"]("degrees is required.");return e*c.RADIANS_PER_DEGREE},c.toDegrees=function(e){if(!Object(a["a"])(e))throw new s["a"]("radians is required.");return e*c.DEGREES_PER_RADIAN},c.convertLongitudeRange=function(e){if(!Object(a["a"])(e))throw new s["a"]("angle is required.");const t=c.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n},c.clampToLatitudeRange=function(e){if(!Object(a["a"])(e))throw new s["a"]("angle is required.");return c.clamp(e,-1*c.PI_OVER_TWO,c.PI_OVER_TWO)},c.negativePiToPi=function(e){if(!Object(a["a"])(e))throw new s["a"]("angle is required.");return e>=-c.PI&&e<=c.PI?e:c.zeroToTwoPi(e+c.PI)-c.PI},c.zeroToTwoPi=function(e){if(!Object(a["a"])(e))throw new s["a"]("angle is required.");if(e>=0&&e<=c.TWO_PI)return e;const t=c.mod(e,c.TWO_PI);return Math.abs(t)<c.EPSILON14&&Math.abs(e)>c.EPSILON14?c.TWO_PI:t},c.mod=function(e,t){if(!Object(a["a"])(e))throw new s["a"]("m is required.");if(!Object(a["a"])(t))throw new s["a"]("n is required.");if(0===t)throw new s["a"]("divisor cannot be 0.");return c.sign(e)===c.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t},c.equalsEpsilon=function(e,t,n,i){if(!Object(a["a"])(e))throw new s["a"]("left is required.");if(!Object(a["a"])(t))throw new s["a"]("right is required.");n=Object(r["a"])(n,0),i=Object(r["a"])(i,n);const o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))},c.lessThan=function(e,t,n){if(!Object(a["a"])(e))throw new s["a"]("first is required.");if(!Object(a["a"])(t))throw new s["a"]("second is required.");if(!Object(a["a"])(n))throw new s["a"]("absoluteEpsilon is required.");return e-t<-n},c.lessThanOrEquals=function(e,t,n){if(!Object(a["a"])(e))throw new s["a"]("first is required.");if(!Object(a["a"])(t))throw new s["a"]("second is required.");if(!Object(a["a"])(n))throw new s["a"]("absoluteEpsilon is required.");return e-t<n},c.greaterThan=function(e,t,n){if(!Object(a["a"])(e))throw new s["a"]("first is required.");if(!Object(a["a"])(t))throw new s["a"]("second is required.");if(!Object(a["a"])(n))throw new s["a"]("absoluteEpsilon is required.");return e-t>n},c.greaterThanOrEquals=function(e,t,n){if(!Object(a["a"])(e))throw new s["a"]("first is required.");if(!Object(a["a"])(t))throw new s["a"]("second is required.");if(!Object(a["a"])(n))throw new s["a"]("absoluteEpsilon is required.");return e-t>-n};const l=[1];c.factorial=function(e){if("number"!==typeof e||e<0)throw new s["a"]("A number greater than or equal to 0 is required.");const t=l.length;if(e>=t){let n=l[t-1];for(let i=t;i<=e;i++){const e=n*i;l.push(e),n=e}}return l[e]},c.incrementWrap=function(e,t,n){if(n=Object(r["a"])(n,0),!Object(a["a"])(e))throw new s["a"]("n is required.");if(t<=n)throw new s["a"]("maximumValue must be greater than minimumValue.");return++e,e>t&&(e=n),e},c.isPowerOfTwo=function(e){if("number"!==typeof e||e<0||e>4294967295)throw new s["a"]("A number between 0 and (2^32)-1 is required.");return 0!==e&&0===(e&e-1)},c.nextPowerOfTwo=function(e){if("number"!==typeof e||e<0||e>2147483648)throw new s["a"]("A number between 0 and 2^31 is required.");return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},c.previousPowerOfTwo=function(e){if("number"!==typeof e||e<0||e>4294967295)throw new s["a"]("A number between 0 and (2^32)-1 is required.");return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e},c.clamp=function(e,t,n){return o["a"].typeOf.number("value",e),o["a"].typeOf.number("min",t),o["a"].typeOf.number("max",n),e<t?t:e>n?n:e};let u=new i["a"];c.setRandomNumberSeed=function(e){if(!Object(a["a"])(e))throw new s["a"]("seed is required.");u=new i["a"](e)},c.nextRandomNumber=function(){return u.random()},c.randomBetween=function(e,t){return c.nextRandomNumber()*(t-e)+e},c.acosClamped=function(e){if(!Object(a["a"])(e))throw new s["a"]("value is required.");return Math.acos(c.clamp(e,-1,1))},c.asinClamped=function(e){if(!Object(a["a"])(e))throw new s["a"]("value is required.");return Math.asin(c.clamp(e,-1,1))},c.chordLength=function(e,t){if(!Object(a["a"])(e))throw new s["a"]("angle is required.");if(!Object(a["a"])(t))throw new s["a"]("radius is required.");return 2*t*Math.sin(.5*e)},c.logBase=function(e,t){if(!Object(a["a"])(e))throw new s["a"]("number is required.");if(!Object(a["a"])(t))throw new s["a"]("base is required.");return Math.log(e)/Math.log(t)},c.cbrt=Object(r["a"])(Math.cbrt,(function(e){const t=Math.pow(Math.abs(e),1/3);return e<0?-t:t})),c.log2=Object(r["a"])(Math.log2,(function(e){return Math.log(e)*Math.LOG2E})),c.fog=function(e,t){const n=e*t;return 1-Math.exp(-n*n)},c.fastApproximateAtan=function(e){return o["a"].typeOf.number("x",e),e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)},c.fastApproximateAtan2=function(e,t){let n;o["a"].typeOf.number("x",e),o["a"].typeOf.number("y",t);let i=Math.abs(e);n=Math.abs(t);const r=Math.max(i,n);n=Math.min(i,n);const a=n/r;if(isNaN(a))throw new s["a"]("either x or y must be nonzero");return i=c.fastApproximateAtan(a),i=Math.abs(t)>Math.abs(e)?c.PI_OVER_TWO-i:i,i=e<0?c.PI-i:i,i=t<0?-i:i,i},t["a"]=c},9490:function(e,t,n){(function(e){var i=n("925e"),o=n("c90b"),r=n("53a8"),a=n("8c05"),s=n("0b16"),c=t;c.request=function(t,n){t="string"===typeof t?s.parse(t):r(t);var o=-1===e.location.protocol.search(/^https?:$/)?"http:":"",a=t.protocol||o,c=t.hostname||t.host,l=t.port,u=t.path||"/";c&&-1!==c.indexOf(":")&&(c="["+c+"]"),t.url=(c?a+"//"+c:"")+(l?":"+l:"")+u,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new i(t);return n&&h.on("response",n),h},c.get=function(e,t){var n=c.request(e,t);return n.end(),n},c.ClientRequest=i,c.IncomingMessage=o.IncomingMessage,c.Agent=function(){},c.Agent.defaultMaxSockets=4,c.globalAgent=new c.Agent,c.STATUS_CODES=a,c.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this,n("c8ba"))},"966d":function(e,t,n){"use strict";(function(t){function n(e,n,i,o){if("function"!==typeof e)throw new TypeError('"callback" argument must be a function');var r,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,n)}));case 3:return t.nextTick((function(){e.call(null,n,i)}));case 4:return t.nextTick((function(){e.call(null,n,i,o)}));default:r=new Array(s-1),a=0;while(a<r.length)r[a++]=arguments[a];return t.nextTick((function(){e.apply(null,r)}))}}"undefined"===typeof t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:n}:e.exports=t}).call(this,n("4362"))},"96e8":function(e,t,n){"use strict";var i=n("d4da");const o=/^blob:/i;function r(e){return i["a"].typeOf.string("uri",e),o.test(e)}t["a"]=r},9746:function(e,t,n){"use strict";n("b669")},"97e0":function(e,t,n){"use strict";(function(e){var n;"undefined"!==typeof ko&&(n=ko),function(){
  48. /*!
  49. * Knockout JavaScript library v3.5.1
  50. * (c) The Knockout.js team - http://knockoutjs.com/
  51. * License: MIT (http://www.opensource.org/licenses/mit-license.php)
  52. */
  53. (function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||"undefined"===typeof jQuery||(o=jQuery),function(e){e(t.ko={})}((function(a,s){function c(e,t){return(null===e||typeof e in m)&&e===t}function l(t,n){var i;return function(){i||(i=p.a.setTimeout((function(){i=e,t()}),n))}}function u(e,t){var n;return function(){clearTimeout(n),n=p.a.setTimeout(e,t)}}function h(e,t){t&&"change"!==t?"beforeChange"===t?this.pc(e):this.gb(e,t):this.qc(e)}function d(e,t){null!==t&&t.s&&t.s()}function f(e,t){var n=this.qd,i=n[v];i.ra||(this.Qb&&this.mb[t]?(n.uc(t,e,this.mb[t]),this.mb[t]=null,--this.Qb):i.I[t]||n.uc(t,e,i.J?{da:e}:n.$c(e)),e.Ja&&e.gd())}var p="undefined"!==typeof a?a:{};p.b=function(e,t){for(var n=e.split("."),i=p,o=0;o<n.length-1;o++)i=i[n[o]];i[n[n.length-1]]=t},p.L=function(e,t,n){e[t]=n},p.version="3.5.1",p.b("version",p.version),p.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},p.a=function(){function a(e,t){for(var n in e)u.call(e,n)&&t(n,e[n])}function s(e,t){if(t)for(var n in t)u.call(t,n)&&(e[n]=t[n]);return e}function c(e,t){return e.__proto__=t,e}function l(e,t,n,i){var o=e[t].match(y)||[];p.a.D(n.match(y),(function(e){p.a.Na(o,e,i)})),e[t]=o.join(" ")}var u=Object.prototype.hasOwnProperty,h={__proto__:[]}instanceof Array,d="function"===typeof Symbol,f={},m={};f[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],f.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),a(f,(function(e,t){if(t.length)for(var n=0,i=t.length;n<i;n++)m[t[n]]=e}));var _,g={propertychange:!0},b=n&&function(){for(var t=3,i=n.createElement("div"),o=i.getElementsByTagName("i");i.innerHTML="\x3c!--[if gt IE "+ ++t+"]><i></i><![endif]--\x3e",o[0];);return 4<t?t:e}(),y=/\S+/g;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(e,t,n){for(var i=0,o=e.length;i<o;i++)t.call(n,e[i],i,e)},A:"function"==typeof Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t)}:function(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1},Lb:function(t,n,i){for(var o=0,r=t.length;o<r;o++)if(n.call(i,t[o],o,t))return t[o];return e},Pa:function(e,t){var n=p.a.A(e,t);0<n?e.splice(n,1):0===n&&e.shift()},wc:function(e){var t=[];return e&&p.a.D(e,(function(e){0>p.a.A(t,e)&&t.push(e)})),t},Mb:function(e,t,n){var i=[];if(e)for(var o=0,r=e.length;o<r;o++)i.push(t.call(n,e[o],o));return i},jb:function(e,t,n){var i=[];if(e)for(var o=0,r=e.length;o<r;o++)t.call(n,e[o],o)&&i.push(e[o]);return i},Nb:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var n=0,i=t.length;n<i;n++)e.push(t[n]);return e},Na:function(e,t,n){var i=p.a.A(p.a.bc(e),t);0>i?n&&e.push(t):n||e.splice(i,1)},Ba:h,extend:s,setPrototypeOf:c,Ab:h?c:s,P:a,Ga:function(e,t,n){if(!e)return e;var i,o={};for(i in e)u.call(e,i)&&(o[i]=t.call(n,e[i],i,e));return o},Tb:function(e){for(;e.firstChild;)p.removeNode(e.firstChild)},Yb:function(e){e=p.a.la(e);for(var t=(e[0]&&e[0].ownerDocument||n).createElement("div"),i=0,o=e.length;i<o;i++)t.appendChild(p.oa(e[i]));return t},Ca:function(e,t){for(var n=0,i=e.length,o=[];n<i;n++){var r=e[n].cloneNode(!0);o.push(t?p.oa(r):r)}return o},va:function(e,t){if(p.a.Tb(e),t)for(var n=0,i=t.length;n<i;n++)e.appendChild(t[n])},Xc:function(e,t){var n=e.nodeType?[e]:e;if(0<n.length){for(var i=n[0],o=i.parentNode,r=0,a=t.length;r<a;r++)o.insertBefore(t[r],i);for(r=0,a=n.length;r<a;r++)p.removeNode(n[r])}},Ua:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;1<e.length&&e[e.length-1].parentNode!==t;)e.length--;if(1<e.length){var n=e[0],i=e[e.length-1];for(e.length=0;n!==i;)e.push(n),n=n.nextSibling;e.push(i)}}return e},Zc:function(e,t){7>b?e.setAttribute("selected",t):e.selected=t},Db:function(t){return null===t||t===e?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(e,t){return e=e||"",!(t.length>e.length)&&e.substring(0,t.length)===t},vd:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(1!==e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},Sb:function(e){return p.a.vd(e,e.ownerDocument.documentElement)},kd:function(e){return!!p.a.Lb(e,p.a.Sb)},R:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},Ac:function(e){return p.onError?function(){try{return e.apply(this,arguments)}catch(s){throw p.onError&&p.onError(s),s}}:e},setTimeout:function(e,t){return setTimeout(p.a.Ac(e),t)},Gc:function(e){setTimeout((function(){throw p.onError&&p.onError(e),e}),0)},B:function(e,t,n){var i=p.a.Ac(n);if(n=g[t],p.options.useOnlyNativeEvents||n||!o)if(n||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw Error("Browser doesn't support addEventListener or attachEvent");var r=function(t){i.call(e,t)},a="on"+t;e.attachEvent(a,r),p.a.K.za(e,(function(){e.detachEvent(a,r)}))}else e.addEventListener(t,i,!1);else _||(_="function"==typeof o(e).on?"on":"bind"),o(e)[_](t,i)},Fb:function(e,i){if(!e||!e.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var r;if("input"===p.a.R(e)&&e.type&&"click"==i.toLowerCase()?(r=e.type,r="checkbox"==r||"radio"==r):r=!1,p.options.useOnlyNativeEvents||!o||r)if("function"==typeof n.createEvent){if("function"!=typeof e.dispatchEvent)throw Error("The supplied element doesn't support dispatchEvent");r=n.createEvent(m[i]||"HTMLEvents"),r.initEvent(i,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(r)}else if(r&&e.click)e.click();else{if("undefined"==typeof e.fireEvent)throw Error("Browser doesn't support triggering events");e.fireEvent("on"+i)}else o(e).trigger(i)},f:function(e){return p.O(e)?e():e},bc:function(e){return p.O(e)?e.v():e},Eb:function(e,t,n){var i;t&&("object"===typeof e.classList?(i=e.classList[n?"add":"remove"],p.a.D(t.match(y),(function(t){i.call(e.classList,t)}))):"string"===typeof e.className.baseVal?l(e.className,"baseVal",t,n):l(e,"className",t,n))},Bb:function(t,n){var i=p.a.f(n);null!==i&&i!==e||(i="");var o=p.h.firstChild(t);!o||3!=o.nodeType||p.h.nextSibling(o)?p.h.va(t,[t.ownerDocument.createTextNode(i)]):o.data=i,p.a.Ad(t)},Yc:function(e,t){if(e.name=t,7>=b)try{var i=e.name.replace(/[&<>'"]/g,(function(e){return"&#"+e.charCodeAt(0)+";"}));e.mergeAttributes(n.createElement("<input name='"+i+"'/>"),!1)}catch(c){}},Ad:function(e){9<=b&&(e=1==e.nodeType?e:e.parentNode,e.style&&(e.style.zoom=e.style.zoom))},wd:function(e){if(b){var t=e.style.width;e.style.width=0,e.style.width=t}},Pd:function(e,t){e=p.a.f(e),t=p.a.f(t);for(var n=[],i=e;i<=t;i++)n.push(i);return n},la:function(e){for(var t=[],n=0,i=e.length;n<i;n++)t.push(e[n]);return t},Da:function(e){return d?Symbol(e):e},Zd:6===b,$d:7===b,W:b,Lc:function(e,t){for(var n=p.a.la(e.getElementsByTagName("input")).concat(p.a.la(e.getElementsByTagName("textarea"))),i="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},o=[],r=n.length-1;0<=r;r--)i(n[r])&&o.push(n[r]);return o},Nd:function(e){return"string"==typeof e&&(e=p.a.Db(e))?r&&r.parse?r.parse(e):new Function("return "+e)():null},hc:function(e,t,n){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(p.a.f(e),t,n)},Od:function(e,t,i){i=i||{};var o=i.params||{},r=i.includeFields||this.Jc,s=e;if("object"==typeof e&&"form"===p.a.R(e)){s=e.action;for(var c=r.length-1;0<=c;c--)for(var l=p.a.Lc(e,r[c]),u=l.length-1;0<=u;u--)o[l[u].name]=l[u].value}t=p.a.f(t);var h=n.createElement("form");for(var d in h.style.display="none",h.action=s,h.method="post",t)e=n.createElement("input"),e.type="hidden",e.name=d,e.value=p.a.hc(p.a.f(t[d])),h.appendChild(e);a(o,(function(e,t){var i=n.createElement("input");i.type="hidden",i.name=e,i.value=t,h.appendChild(i)})),n.body.appendChild(h),i.submitter?i.submitter(h):h.submit(),setTimeout((function(){h.parentNode.removeChild(h)}),0)}}}(),p.b("utils",p.a),p.b("utils.arrayForEach",p.a.D),p.b("utils.arrayFirst",p.a.Lb),p.b("utils.arrayFilter",p.a.jb),p.b("utils.arrayGetDistinctValues",p.a.wc),p.b("utils.arrayIndexOf",p.a.A),p.b("utils.arrayMap",p.a.Mb),p.b("utils.arrayPushAll",p.a.Nb),p.b("utils.arrayRemoveItem",p.a.Pa),p.b("utils.cloneNodes",p.a.Ca),p.b("utils.createSymbolOrString",p.a.Da),p.b("utils.extend",p.a.extend),p.b("utils.fieldsIncludedWithJsonPost",p.a.Jc),p.b("utils.getFormFields",p.a.Lc),p.b("utils.objectMap",p.a.Ga),p.b("utils.peekObservable",p.a.bc),p.b("utils.postJson",p.a.Od),p.b("utils.parseJson",p.a.Nd),p.b("utils.registerEventHandler",p.a.B),p.b("utils.stringifyJson",p.a.hc),p.b("utils.range",p.a.Pd),p.b("utils.toggleDomNodeCssClass",p.a.Eb),p.b("utils.triggerEvent",p.a.Fb),p.b("utils.unwrapObservable",p.a.f),p.b("utils.objectForEach",p.a.P),p.b("utils.addOrRemoveItem",p.a.Na),p.b("utils.setTextContent",p.a.Bb),p.b("unwrap",p.a.f),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var i=n.slice(0);return i.push.apply(i,arguments),t.apply(e,i)}}),p.a.g=new function(){var t,n,i=0,o="__ko__"+(new Date).getTime(),r={};return p.a.W?(t=function(t,n){var a=t[o];if(!a||"null"===a||!r[a]){if(!n)return e;a=t[o]="ko"+i++,r[a]={}}return r[a]},n=function(e){var t=e[o];return!!t&&(delete r[t],e[o]=null,!0)}):(t=function(e,t){var n=e[o];return!n&&t&&(n=e[o]={}),n},n=function(e){return!!e[o]&&(delete e[o],!0)}),{get:function(e,n){var i=t(e,!1);return i&&i[n]},set:function(n,i,o){(n=t(n,o!==e))&&(n[i]=o)},Ub:function(e,n,i){return e=t(e,!0),e[n]||(e[n]=i)},clear:n,Z:function(){return i+++o}}},p.b("utils.domData",p.a.g),p.b("utils.domData.clear",p.a.g.clear),p.a.K=new function(){function t(t,n){var i=p.a.g.get(t,r);return i===e&&n&&(i=[],p.a.g.set(t,r,i)),i}function n(e){var n=t(e,!1);if(n){n=n.slice(0);for(var o=0;o<n.length;o++)n[o](e)}p.a.g.clear(e),p.a.K.cleanExternalData(e),s[e.nodeType]&&i(e.childNodes,!0)}function i(e,t){for(var i,o=[],r=0;r<e.length;r++)if((!t||8===e[r].nodeType)&&(n(o[o.length]=i=e[r]),e[r]!==i))for(;r--&&-1==p.a.A(o,e[r]););}var r=p.a.g.Z(),a={1:!0,8:!0,9:!0},s={1:!0,9:!0};return{za:function(e,n){if("function"!=typeof n)throw Error("Callback must be a function");t(e,!0).push(n)},yb:function(n,i){var o=t(n,!1);o&&(p.a.Pa(o,i),0==o.length&&p.a.g.set(n,r,e))},oa:function(e){return p.u.G((function(){a[e.nodeType]&&(n(e),s[e.nodeType]&&i(e.getElementsByTagName("*")))})),e},removeNode:function(e){p.oa(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){o&&"function"==typeof o.cleanData&&o.cleanData([e])}}},p.oa=p.a.K.oa,p.removeNode=p.a.K.removeNode,p.b("cleanNode",p.oa),p.b("removeNode",p.removeNode),p.b("utils.domNodeDisposal",p.a.K),p.b("utils.domNodeDisposal.addDisposeCallback",p.a.K.za),p.b("utils.domNodeDisposal.removeDisposeCallback",p.a.K.yb),function(){var i=[0,"",""],r=[1,"<table>","</table>"],a=[3,"<table><tbody><tr>","</tr></tbody></table>"],s=[1,"<select multiple='multiple'>","</select>"],c={thead:r,tbody:r,tfoot:r,tr:[2,"<table><tbody>","</tbody></table>"],td:a,th:a,option:s,optgroup:s},l=8>=p.a.W;p.a.ua=function(e,r){var a;if(o){if(o.parseHTML)a=o.parseHTML(e,r)||[];else if((a=o.clean([e],r))&&a[0]){for(var s=a[0];s.parentNode&&11!==s.parentNode.nodeType;)s=s.parentNode;s.parentNode&&s.parentNode.removeChild(s)}}else{(a=r)||(a=n);s=a.parentWindow||a.defaultView||t;var u,h=p.a.Db(e).toLowerCase(),d=a.createElement("div");for(u=(h=h.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&c[h[1]]||i,h=u[0],u="ignored<div>"+u[1]+e+u[2]+"</div>","function"==typeof s.innerShiv?d.appendChild(s.innerShiv(u)):(l&&a.body.appendChild(d),d.innerHTML=u,l&&d.parentNode.removeChild(d));h--;)d=d.lastChild;a=p.a.la(d.lastChild.childNodes)}return a},p.a.Md=function(e,t){var n=p.a.ua(e,t);return n.length&&n[0].parentElement||p.a.Yb(n)},p.a.fc=function(t,n){if(p.a.Tb(t),n=p.a.f(n),null!==n&&n!==e)if("string"!=typeof n&&(n=n.toString()),o)o(t).html(n);else for(var i=p.a.ua(n,t.ownerDocument),r=0;r<i.length;r++)t.appendChild(i[r])}}(),p.b("utils.parseHtmlFragment",p.a.ua),p.b("utils.setHtml",p.a.fc),p.aa=function(){function t(e,n){if(e)if(8==e.nodeType){var i=p.aa.Uc(e.nodeValue);null!=i&&n.push({ud:e,Kd:i})}else if(1==e.nodeType){i=0;for(var o=e.childNodes,r=o.length;i<r;i++)t(o[i],n)}}var n={};return{Xb:function(e){if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var t=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return n[t]=e,"\x3c!--[ko_memo:"+t+"]--\x3e"},bd:function(t,i){var o=n[t];if(o===e)throw Error("Couldn't find any memo with ID "+t+". Perhaps it's already been unmemoized.");try{return o.apply(null,i||[]),!0}finally{delete n[t]}},cd:function(e,n){var i=[];t(e,i);for(var o=0,r=i.length;o<r;o++){var a=i[o].ud,s=[a];n&&p.a.Nb(s,n),p.aa.bd(i[o].Kd,s),a.nodeValue="",a.parentNode&&a.parentNode.removeChild(a)}},Uc:function(e){return(e=e.match(/^\[ko_memo\:(.*?)\]$/))?e[1]:null}}}(),p.b("memoization",p.aa),p.b("memoization.memoize",p.aa.Xb),p.b("memoization.unmemoize",p.aa.bd),p.b("memoization.parseMemoText",p.aa.Uc),p.b("memoization.unmemoizeDomNodeAndDescendants",p.aa.cd),p.na=function(){function e(){if(a)for(var e,t=a,n=0;c<a;)if(e=r[c++]){if(c>t){if(5e3<=++n){c=a,p.a.Gc(Error("'Too much recursion' after processing "+n+" task groups."));break}t=a}try{e()}catch(i){p.a.Gc(i)}}}function i(){e(),c=a=r.length=0}var o,r=[],a=0,s=1,c=0;return o=t.MutationObserver?function(e){var t=n.createElement("div");return new MutationObserver(e).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(i):n&&"onreadystatechange"in n.createElement("script")?function(e){var t=n.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,n.documentElement.removeChild(t),t=null,e()},n.documentElement.appendChild(t)}:function(e){setTimeout(e,0)},{scheduler:o,zb:function(e){return a||p.na.scheduler(i),r[a++]=e,s++},cancel:function(e){e-=s-a,e>=c&&e<a&&(r[e]=null)},resetForTesting:function(){var e=a-c;return c=a=r.length=0,e},Sd:e}}(),p.b("tasks",p.na),p.b("tasks.schedule",p.na.zb),p.b("tasks.runEarly",p.na.Sd),p.Ta={throttle:function(e,t){e.throttleEvaluation=t;var n=null;return p.$({read:e,write:function(i){clearTimeout(n),n=p.a.setTimeout((function(){e(i)}),t)}})},rateLimit:function(e,t){var n,i,o;"number"==typeof t?n=t:(n=t.timeout,i=t.method),e.Hb=!1,o="function"==typeof i?i:"notifyWhenChangesStop"==i?u:l,e.ub((function(e){return o(e,n,t)}))},deferred:function(t,n){if(!0!==n)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");t.Hb||(t.Hb=!0,t.ub((function(n){var i,o=!1;return function(){if(!o){p.na.cancel(i),i=p.na.zb(n);try{o=!0,t.notifySubscribers(e,"dirty")}finally{o=!1}}}})))},notify:function(e,t){e.equalityComparer="always"==t?null:c}};var m={undefined:1,boolean:1,number:1,string:1};p.b("extenders",p.Ta),p.ic=function(e,t,n){this.da=e,this.lc=t,this.mc=n,this.Ib=!1,this.fb=this.Jb=null,p.L(this,"dispose",this.s),p.L(this,"disposeWhenNodeIsRemoved",this.l)},p.ic.prototype.s=function(){this.Ib||(this.fb&&p.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},p.ic.prototype.l=function(e){this.Jb=e,p.a.K.za(e,this.fb=this.s.bind(this))},p.T=function(){p.a.Ab(this,_),_.qb(this)};var _={qb:function(e){e.U={change:[]},e.sc=1},subscribe:function(e,t,n){var i=this;n=n||"change";var o=new p.ic(i,t?e.bind(t):e,(function(){p.a.Pa(i.U[n],o),i.hb&&i.hb(n)}));return i.Qa&&i.Qa(n),i.U[n]||(i.U[n]=[]),i.U[n].push(o),o},notifySubscribers:function(e,t){if(t=t||"change","change"===t&&this.Gb(),this.Wa(t)){var n="change"===t&&this.ed||this.U[t].slice(0);try{p.u.xc();for(var i,o=0;i=n[o];++o)i.Ib||i.lc(e)}finally{p.u.end()}}},ob:function(){return this.sc},Dd:function(e){return this.ob()!==e},Gb:function(){++this.sc},ub:function(e){var t,n,i,o,r,a=this,s=p.O(a);a.gb||(a.gb=a.notifySubscribers,a.notifySubscribers=h);var c=e((function(){a.Ja=!1,s&&o===a&&(o=a.nc?a.nc():a());var e=n||r&&a.sb(i,o);r=n=t=!1,e&&a.gb(i=o)}));a.qc=function(e,n){n&&a.Ja||(r=!n),a.ed=a.U.change.slice(0),a.Ja=t=!0,o=e,c()},a.pc=function(e){t||(i=e,a.gb(e,"beforeChange"))},a.rc=function(){r=!0},a.gd=function(){a.sb(i,a.v(!0))&&(n=!0)}},Wa:function(e){return this.U[e]&&this.U[e].length},Bd:function(e){if(e)return this.U[e]&&this.U[e].length||0;var t=0;return p.a.P(this.U,(function(e,n){"dirty"!==e&&(t+=n.length)})),t},sb:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},toString:function(){return"[object Object]"},extend:function(e){var t=this;return e&&p.a.P(e,(function(e,n){var i=p.Ta[e];"function"==typeof i&&(t=i(t,n)||t)})),t}};p.L(_,"init",_.qb),p.L(_,"subscribe",_.subscribe),p.L(_,"extend",_.extend),p.L(_,"getSubscriptionsCount",_.Bd),p.a.Ba&&p.a.setPrototypeOf(_,Function.prototype),p.T.fn=_,p.Qc=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},p.b("subscribable",p.T),p.b("isSubscribable",p.Qc),p.S=p.u=function(){function e(e){i.push(n),n=e}function t(){n=i.pop()}var n,i=[],o=0;return{xc:e,end:t,cc:function(e){if(n){if(!p.Qc(e))throw Error("Only subscribable things can act as dependencies");n.od.call(n.pd,e,e.fd||(e.fd=++o))}},G:function(n,i,o){try{return e(),n.apply(i,o||[])}finally{t()}},qa:function(){if(n)return n.o.qa()},Va:function(){if(n)return n.o.Va()},Ya:function(){if(n)return n.Ya},o:function(){if(n)return n.o}}}(),p.b("computedContext",p.S),p.b("computedContext.getDependenciesCount",p.S.qa),p.b("computedContext.getDependencies",p.S.Va),p.b("computedContext.isInitial",p.S.Ya),p.b("computedContext.registerDependency",p.S.cc),p.b("ignoreDependencies",p.Yd=p.u.G);var g=p.a.Da("_latestValue");p.ta=function(e){function t(){return 0<arguments.length?(t.sb(t[g],arguments[0])&&(t.ya(),t[g]=arguments[0],t.xa()),this):(p.u.cc(t),t[g])}return t[g]=e,p.a.Ba||p.a.extend(t,p.T.fn),p.T.fn.qb(t),p.a.Ab(t,b),p.options.deferUpdates&&p.Ta.deferred(t,!0),t};var b={equalityComparer:c,v:function(){return this[g]},xa:function(){this.notifySubscribers(this[g],"spectate"),this.notifySubscribers(this[g])},ya:function(){this.notifySubscribers(this[g],"beforeChange")}};p.a.Ba&&p.a.setPrototypeOf(b,p.T.fn);var y=p.ta.Ma="__ko_proto__";b[y]=p.ta,p.O=function(e){if((e="function"==typeof e&&e[y])&&e!==b[y]&&e!==p.o.fn[y])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!e},p.Za=function(e){return"function"==typeof e&&(e[y]===b[y]||e[y]===p.o.fn[y]&&e.Nc)},p.b("observable",p.ta),p.b("isObservable",p.O),p.b("isWriteableObservable",p.Za),p.b("isWritableObservable",p.Za),p.b("observable.fn",b),p.L(b,"peek",b.v),p.L(b,"valueHasMutated",b.xa),p.L(b,"valueWillMutate",b.ya),p.Ha=function(e){if(e=e||[],"object"!=typeof e||!("length"in e))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return e=p.ta(e),p.a.Ab(e,p.Ha.fn),e.extend({trackArrayChanges:!0})},p.Ha.fn={remove:function(e){for(var t=this.v(),n=[],i="function"!=typeof e||p.O(e)?function(t){return t===e}:e,o=0;o<t.length;o++){var r=t[o];if(i(r)){if(0===n.length&&this.ya(),t[o]!==r)throw Error("Array modified during remove; cannot remove item");n.push(r),t.splice(o,1),o--}}return n.length&&this.xa(),n},removeAll:function(t){if(t===e){var n=this.v(),i=n.slice(0);return this.ya(),n.splice(0,n.length),this.xa(),i}return t?this.remove((function(e){return 0<=p.a.A(t,e)})):[]},destroy:function(e){var t=this.v(),n="function"!=typeof e||p.O(e)?function(t){return t===e}:e;this.ya();for(var i=t.length-1;0<=i;i--){var o=t[i];n(o)&&(o._destroy=!0)}this.xa()},destroyAll:function(t){return t===e?this.destroy((function(){return!0})):t?this.destroy((function(e){return 0<=p.a.A(t,e)})):[]},indexOf:function(e){var t=this();return p.a.A(t,e)},replace:function(e,t){var n=this.indexOf(e);0<=n&&(this.ya(),this.v()[n]=t,this.xa())},sorted:function(e){var t=this().slice(0);return e?t.sort(e):t.sort()},reversed:function(){return this().slice(0).reverse()}},p.a.Ba&&p.a.setPrototypeOf(p.Ha.fn,p.ta.fn),p.a.D("pop push reverse shift sort splice unshift".split(" "),(function(e){p.Ha.fn[e]=function(){var t=this.v();this.ya(),this.zc(t,e,arguments);var n=t[e].apply(t,arguments);return this.xa(),n===t?this:n}})),p.a.D(["slice"],(function(e){p.Ha.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}})),p.Pc=function(e){return p.O(e)&&"function"==typeof e.remove&&"function"==typeof e.push},p.b("observableArray",p.Ha),p.b("isObservableArray",p.Pc),p.Ta.trackArrayChanges=function(t,n){function i(){function e(){if(l){var e,n=[].concat(t.v()||[]);t.Wa("arrayChange")&&((!c||1<l)&&(c=p.a.Pb(a,n,t.Ob)),e=c),a=n,c=null,l=0,e&&e.length&&t.notifySubscribers(e,"arrayChange")}}s?e():(s=!0,r=t.subscribe((function(){++l}),null,"spectate"),a=[].concat(t.v()||[]),c=null,o=t.subscribe(e))}if(t.Ob={},n&&"object"==typeof n&&p.a.extend(t.Ob,n),t.Ob.sparse=!0,!t.zc){var o,r,a,s=!1,c=null,l=0,u=t.Qa,h=t.hb;t.Qa=function(e){u&&u.call(t,e),"arrayChange"===e&&i()},t.hb=function(n){h&&h.call(t,n),"arrayChange"!==n||t.Wa("arrayChange")||(o&&o.s(),r&&r.s(),r=o=null,s=!1,a=e)},t.zc=function(e,t,n){function i(e,t,n){return o[o.length]={status:e,value:t,index:n}}if(s&&!l){var o=[],r=e.length,a=n.length,u=0;switch(t){case"push":u=r;case"unshift":for(t=0;t<a;t++)i("added",n[t],u+t);break;case"pop":u=r-1;case"shift":r&&i("deleted",e[u],u);break;case"splice":t=Math.min(Math.max(0,0>n[0]?r+n[0]:n[0]),r);r=1===a?r:Math.min(t+(n[1]||0),r),a=t+a-2,u=Math.max(r,a);for(var h=[],d=[],f=2;t<u;++t,++f)t<r&&d.push(i("deleted",e[t],t)),t<a&&h.push(i("added",n[f],t));p.a.Kc(d,h);break;default:return}c=o}}}};var v=p.a.Da("_state");p.o=p.$=function(t,n,i){function o(){if(0<arguments.length){if("function"!==typeof r)throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return r.apply(a.nb,arguments),this}return a.ra||p.u.cc(o),(a.ka||a.J&&o.Xa())&&o.ha(),a.X}if("object"===typeof t?i=t:(i=i||{},t&&(i.read=t)),"function"!=typeof i.read)throw Error("Pass a function that returns the value of the ko.computed");var r=i.write,a={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:i.read,nb:n||i.owner,l:i.disposeWhenNodeIsRemoved||i.l||null,Sa:i.disposeWhen||i.Sa,Rb:null,I:{},V:0,Ic:null};return o[v]=a,o.Nc="function"===typeof r,p.a.Ba||p.a.extend(o,p.T.fn),p.T.fn.qb(o),p.a.Ab(o,O),i.pure?(a.wb=!0,a.J=!0,p.a.extend(o,w)):i.deferEvaluation&&p.a.extend(o,A),p.options.deferUpdates&&p.Ta.deferred(o,!0),a.l&&(a.jc=!0,a.l.nodeType||(a.l=null)),a.J||i.deferEvaluation||o.ha(),a.l&&o.ja()&&p.a.K.za(a.l,a.Rb=function(){o.s()}),o};var O={equalityComparer:c,qa:function(){return this[v].V},Va:function(){var e=[];return p.a.P(this[v].I,(function(t,n){e[n.Ka]=n.da})),e},Vb:function(e){if(!this[v].V)return!1;var t=this.Va();return-1!==p.a.A(t,e)||!!p.a.Lb(t,(function(t){return t.Vb&&t.Vb(e)}))},uc:function(e,t,n){if(this[v].wb&&t===this)throw Error("A 'pure' computed must not be called recursively");this[v].I[e]=n,n.Ka=this[v].V++,n.La=t.ob()},Xa:function(){var e,t,n=this[v].I;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&(t=n[e],this.Ia&&t.da.Ja||t.da.Dd(t.La)))return!0},Jd:function(){this.Ia&&!this[v].rb&&this.Ia(!1)},ja:function(){var e=this[v];return e.ka||0<e.V},Rd:function(){this.Ja?this[v].ka&&(this[v].sa=!0):this.Hc()},$c:function(e){if(e.Hb){var t=e.subscribe(this.Jd,this,"dirty"),n=e.subscribe(this.Rd,this);return{da:e,s:function(){t.s(),n.s()}}}return e.subscribe(this.Hc,this)},Hc:function(){var e=this,t=e.throttleEvaluation;t&&0<=t?(clearTimeout(this[v].Ic),this[v].Ic=p.a.setTimeout((function(){e.ha(!0)}),t)):e.Ia?e.Ia(!0):e.ha(!0)},ha:function(e){var t=this[v],n=t.Sa,i=!1;if(!t.rb&&!t.ra){if(t.l&&!p.a.Sb(t.l)||n&&n()){if(!t.jc)return void this.s()}else t.jc=!1;t.rb=!0;try{i=this.zd(e)}finally{t.rb=!1}return i}},zd:function(t){var n=this[v],i=!1,o=n.wb?e:!n.V;i={qd:this,mb:n.I,Qb:n.V};p.u.xc({pd:i,od:f,o:this,Ya:o}),n.I={},n.V=0;var r=this.yd(n,i);return n.V?i=this.sb(n.X,r):(this.s(),i=!0),i&&(n.J?this.Gb():this.notifySubscribers(n.X,"beforeChange"),n.X=r,this.notifySubscribers(n.X,"spectate"),!n.J&&t&&this.notifySubscribers(n.X),this.rc&&this.rc()),o&&this.notifySubscribers(n.X,"awake"),i},yd:function(e,t){try{var n=e.Wc;return e.nb?n.call(e.nb):n()}finally{p.u.end(),t.Qb&&!e.J&&p.a.P(t.mb,d),e.sa=e.ka=!1}},v:function(e){var t=this[v];return(t.ka&&(e||!t.V)||t.J&&this.Xa())&&this.ha(),t.X},ub:function(e){p.T.fn.ub.call(this,e),this.nc=function(){return this[v].J||(this[v].sa?this.ha():this[v].ka=!1),this[v].X},this.Ia=function(e){this.pc(this[v].X),this[v].ka=!0,e&&(this[v].sa=!0),this.qc(this,!e)}},s:function(){var t=this[v];!t.J&&t.I&&p.a.P(t.I,(function(e,t){t.s&&t.s()})),t.l&&t.Rb&&p.a.K.yb(t.l,t.Rb),t.I=e,t.V=0,t.ra=!0,t.sa=!1,t.ka=!1,t.J=!1,t.l=e,t.Sa=e,t.Wc=e,this.Nc||(t.nb=e)}},w={Qa:function(e){var t=this,n=t[v];if(!n.ra&&n.J&&"change"==e){if(n.J=!1,n.sa||t.Xa())n.I=null,n.V=0,t.ha()&&t.Gb();else{var i=[];p.a.P(n.I,(function(e,t){i[t.Ka]=e})),p.a.D(i,(function(e,i){var o=n.I[e],r=t.$c(o.da);r.Ka=i,r.La=o.La,n.I[e]=r})),t.Xa()&&t.ha()&&t.Gb()}n.ra||t.notifySubscribers(n.X,"awake")}},hb:function(t){var n=this[v];n.ra||"change"!=t||this.Wa("change")||(p.a.P(n.I,(function(e,t){t.s&&(n.I[e]={da:t.da,Ka:t.Ka,La:t.La},t.s())})),n.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var e=this[v];return e.J&&(e.sa||this.Xa())&&this.ha(),p.T.fn.ob.call(this)}},A={Qa:function(e){"change"!=e&&"beforeChange"!=e||this.v()}};p.a.Ba&&p.a.setPrototypeOf(O,p.T.fn);var T=p.ta.Ma;O[T]=p.o,p.Oc=function(e){return"function"==typeof e&&e[T]===O[T]},p.Fd=function(e){return p.Oc(e)&&e[v]&&e[v].wb},p.b("computed",p.o),p.b("dependentObservable",p.o),p.b("isComputed",p.Oc),p.b("isPureComputed",p.Fd),p.b("computed.fn",O),p.L(O,"peek",O.v),p.L(O,"dispose",O.s),p.L(O,"isActive",O.ja),p.L(O,"getDependenciesCount",O.qa),p.L(O,"getDependencies",O.Va),p.xb=function(e,t){return"function"===typeof e?p.o(e,t,{pure:!0}):(e=p.a.extend({},e),e.pure=!0,p.o(e,t))},p.b("pureComputed",p.xb),function(){function t(o,r,a){if(a=a||new i,o=r(o),"object"!=typeof o||null===o||o===e||o instanceof RegExp||o instanceof Date||o instanceof String||o instanceof Number||o instanceof Boolean)return o;var s=o instanceof Array?[]:{};return a.save(o,s),n(o,(function(n){var i=r(o[n]);switch(typeof i){case"boolean":case"number":case"string":case"function":s[n]=i;break;case"object":case"undefined":var c=a.get(i);s[n]=c!==e?c:t(i,r,a)}})),s}function n(e,t){if(e instanceof Array){for(var n=0;n<e.length;n++)t(n);"function"==typeof e.toJSON&&t("toJSON")}else for(n in e)t(n)}function i(){this.keys=[],this.values=[]}p.ad=function(e){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return t(e,(function(e){for(var t=0;p.O(e)&&10>t;t++)e=e();return e}))},p.toJSON=function(e,t,n){return e=p.ad(e),p.a.hc(e,t,n)},i.prototype={constructor:i,save:function(e,t){var n=p.a.A(this.keys,e);0<=n?this.values[n]=t:(this.keys.push(e),this.values.push(t))},get:function(t){return t=p.a.A(this.keys,t),0<=t?this.values[t]:e}}}(),p.b("toJS",p.ad),p.b("toJSON",p.toJSON),p.Wd=function(e,t,n){function i(t){var i=p.xb(e,n).extend({ma:"always"}),o=i.subscribe((function(e){e&&(o.s(),t(e))}));return i.notifySubscribers(i.v()),o}return"function"!==typeof Promise||t?i(t.bind(n)):new Promise(i)},p.b("when",p.Wd),function(){p.w={M:function(t){switch(p.a.R(t)){case"option":return!0===t.__ko__hasDomDataOptionValue__?p.a.g.get(t,p.c.options.$b):7>=p.a.W?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return 0<=t.selectedIndex?p.w.M(t.options[t.selectedIndex]):e;default:return t.value}},cb:function(t,n,i){switch(p.a.R(t)){case"option":"string"===typeof n?(p.a.g.set(t,p.c.options.$b,e),"__ko__hasDomDataOptionValue__"in t&&delete t.__ko__hasDomDataOptionValue__,t.value=n):(p.a.g.set(t,p.c.options.$b,n),t.__ko__hasDomDataOptionValue__=!0,t.value="number"===typeof n?n:"");break;case"select":""!==n&&null!==n||(n=e);for(var o,r=-1,a=0,s=t.options.length;a<s;++a)if(o=p.w.M(t.options[a]),o==n||""===o&&n===e){r=a;break}(i||0<=r||n===e&&1<t.size)&&(t.selectedIndex=r,6===p.a.W&&p.a.setTimeout((function(){t.selectedIndex=r}),0));break;default:null!==n&&n!==e||(n=""),t.value=n}}}}(),p.b("selectExtensions",p.w),p.b("selectExtensions.readValue",p.w.M),p.b("selectExtensions.writeValue",p.w.cb),p.m=function(){function e(e){e=p.a.Db(e),123===e.charCodeAt(0)&&(e=e.slice(1,-1)),e+="\n,";var t,n=[],a=e.match(i),s=[],c=0;if(1<a.length){for(var l,u=0;l=a[u];++u){var h=l.charCodeAt(0);if(44===h){if(0>=c){n.push(t&&s.length?{key:t,value:s.join("")}:{unknown:t||s.join("")}),t=c=0,s=[];continue}}else if(58===h){if(!c&&!t&&1===s.length){t=s.pop();continue}}else{if(47===h&&1<l.length&&(47===l.charCodeAt(1)||42===l.charCodeAt(1)))continue;47===h&&u&&1<l.length?(h=a[u-1].match(o))&&!r[h[0]]&&(e=e.substr(e.indexOf(l)+1),a=e.match(i),u=-1,l="/"):40===h||123===h||91===h?++c:41===h||125===h||93===h?--c:t||s.length||34!==h&&39!==h||(l=l.slice(1,-1))}s.push(l)}if(0<c)throw Error("Unbalanced parentheses, braces, or brackets")}return n}var t=["true","false","null","undefined"],n=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,i=RegExp("\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|`(?:\\\\.|[^`])*`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*\n|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,\"'`{}()/:[\\]]*[^\\s,\"'`{}()/:[\\]]|[^\\s]","g"),o=/[\])"'A-Za-z0-9_$]+$/,r={in:1,return:1,typeof:1},a={};return{Ra:[],wa:a,ac:e,vb:function(i,o){function r(e,i){var o;if(!u){var h=p.getBindingHandler(e);if(h&&h.preprocess&&!(i=h.preprocess(i,e,r)))return;(h=a[e])&&(o=i,0<=p.a.A(t,o)?o=!1:(h=o.match(n),o=null!==h&&(h[1]?"Object("+h[1]+")"+h[2]:o)),h=o),h&&c.push("'"+("string"==typeof a[e]?a[e]:e)+"':function(_z){"+o+"=_z}")}l&&(i="function(){return "+i+" }"),s.push("'"+e+"':"+i)}o=o||{};var s=[],c=[],l=o.valueAccessors,u=o.bindingParams,h="string"===typeof i?e(i):i;return p.a.D(h,(function(e){r(e.key||e.unknown,e.value)})),c.length&&r("_ko_property_writers","{"+c.join(",")+" }"),s.join(",")},Id:function(e,t){for(var n=0;n<e.length;n++)if(e[n].key==t)return!0;return!1},eb:function(e,t,n,i,o){e&&p.O(e)?!p.Za(e)||o&&e.v()===i||e(i):(e=t.get("_ko_property_writers"))&&e[n]&&e[n](i)}}}(),p.b("expressionRewriting",p.m),p.b("expressionRewriting.bindingRewriteValidators",p.m.Ra),p.b("expressionRewriting.parseObjectLiteral",p.m.ac),p.b("expressionRewriting.preProcessBindings",p.m.vb),p.b("expressionRewriting._twoWayBindings",p.m.wa),p.b("jsonExpressionRewriting",p.m),p.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",p.m.vb),function(){function e(e){return 8==e.nodeType&&a.test(r?e.text:e.nodeValue)}function t(e){return 8==e.nodeType&&s.test(r?e.text:e.nodeValue)}function i(n,i){for(var o=n,r=1,a=[];o=o.nextSibling;){if(t(o)&&(p.a.g.set(o,l,!0),r--,0===r))return a;a.push(o),e(o)&&r++}if(!i)throw Error("Cannot find closing comment tag to match: "+n.nodeValue);return null}function o(e,t){var n=i(e,t);return n?0<n.length?n[n.length-1].nextSibling:e.nextSibling:null}var r=n&&"\x3c!--test--\x3e"===n.createComment("test").text,a=r?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,s=r?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,c={ul:!0,ol:!0},l="__ko_matchedEndComment__";p.h={ea:{},childNodes:function(t){return e(t)?i(t):t.childNodes},Ea:function(t){if(e(t)){t=p.h.childNodes(t);for(var n=0,i=t.length;n<i;n++)p.removeNode(t[n])}else p.a.Tb(t)},va:function(t,n){if(e(t)){p.h.Ea(t);for(var i=t.nextSibling,o=0,r=n.length;o<r;o++)i.parentNode.insertBefore(n[o],i)}else p.a.va(t,n)},Vc:function(t,n){var i;e(t)?(i=t.nextSibling,t=t.parentNode):i=t.firstChild,i?n!==i&&t.insertBefore(n,i):t.appendChild(n)},Wb:function(t,n,i){i?(i=i.nextSibling,e(t)&&(t=t.parentNode),i?n!==i&&t.insertBefore(n,i):t.appendChild(n)):p.h.Vc(t,n)},firstChild:function(n){if(e(n))return!n.nextSibling||t(n.nextSibling)?null:n.nextSibling;if(n.firstChild&&t(n.firstChild))throw Error("Found invalid end comment, as the first child of "+n);return n.firstChild},nextSibling:function(n){if(e(n)&&(n=o(n)),n.nextSibling&&t(n.nextSibling)){var i=n.nextSibling;if(t(i)&&!p.a.g.get(i,l))throw Error("Found end comment without a matching opening comment, as child of "+n);return null}return n.nextSibling},Cd:e,Vd:function(e){return(e=(r?e.text:e.nodeValue).match(a))?e[1]:null},Sc:function(n){if(c[p.a.R(n)]){var i=n.firstChild;if(i)do{if(1===i.nodeType){var r;r=i.firstChild;var a=null;if(r)do{if(a)a.push(r);else if(e(r)){var s=o(r,!0);s?r=s:a=[r]}else t(r)&&(a=[r])}while(r=r.nextSibling);if(r=a)for(a=i.nextSibling,s=0;s<r.length;s++)a?n.insertBefore(r[s],a):n.appendChild(r[s])}}while(i=i.nextSibling)}}}}(),p.b("virtualElements",p.h),p.b("virtualElements.allowedBindings",p.h.ea),p.b("virtualElements.emptyNode",p.h.Ea),p.b("virtualElements.insertAfter",p.h.Wb),p.b("virtualElements.prepend",p.h.Vc),p.b("virtualElements.setDomNodeChildren",p.h.va),function(){p.ga=function(){this.nd={}},p.a.extend(p.ga.prototype,{nodeHasBindings:function(e){switch(e.nodeType){case 1:return null!=e.getAttribute("data-bind")||p.j.getComponentNameForNode(e);case 8:return p.h.Cd(e);default:return!1}},getBindings:function(e,t){var n=this.getBindingsString(e,t);n=n?this.parseBindingsString(n,t,e):null;return p.j.tc(n,e,t,!1)},getBindingAccessors:function(e,t){var n=this.getBindingsString(e,t);n=n?this.parseBindingsString(n,t,e,{valueAccessors:!0}):null;return p.j.tc(n,e,t,!0)},getBindingsString:function(e){switch(e.nodeType){case 1:return e.getAttribute("data-bind");case 8:return p.h.Vd(e);default:return null}},parseBindingsString:function(e,t,n,i){try{var o,r=this.nd,a=e+(i&&i.valueAccessors||"");if(!(o=r[a])){var s,c="with($context){with($data||{}){return{"+p.m.vb(e,i)+"}}}";s=new Function("$context","$element",c),o=r[a]=s}return o(t,n)}catch(l){throw l.message="Unable to parse bindings.\nBindings value: "+e+"\nMessage: "+l.message,l}}}),p.ga.instance=new p.ga}(),p.b("bindingProvider",p.ga),function(){function i(e){var t=(e=p.a.g.get(e,w))&&e.N;t&&(e.N=null,t.Tc())}function r(e,t,n){this.node=e,this.yc=t,this.kb=[],this.H=!1,t.N||p.a.K.za(e,i),n&&n.N&&(n.N.kb.push(e),this.Kb=n)}function a(e){return function(){return e}}function s(e){return e()}function c(e){return p.a.Ga(p.u.G(e),(function(t,n){return function(){return e()[n]}}))}function l(e,t,n){return"function"===typeof e?c(e.bind(null,t,n)):p.a.Ga(e,a)}function u(e,t){return c(this.getBindings.bind(this,e,t))}function h(e,t){var n=p.h.firstChild(t);if(n){var i,o=p.ga.instance,r=o.preprocessNode;if(r){for(;i=n;)n=p.h.nextSibling(i),r.call(o,i);n=p.h.firstChild(t)}for(;i=n;)n=p.h.nextSibling(i),d(e,i)}p.i.ma(t,p.i.H)}function d(e,t){var n=e,i=1===t.nodeType;i&&p.h.Sc(t),(i||p.ga.instance.nodeHasBindings(t))&&(n=m(t,null,e).bindingContextForDescendants),n&&!v[p.a.R(t)]&&h(n,t)}function f(e){var t=[],n={},i=[];return p.a.P(e,(function o(r){if(!n[r]){var a=p.getBindingHandler(r);a&&(a.after&&(i.push(r),p.a.D(a.after,(function(t){if(e[t]){if(-1!==p.a.A(i,t))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+i.join(", "));o(t)}})),i.length--),t.push({key:r,Mc:a})),n[r]=!0}})),t}function m(t,n,i){var o,r=p.a.g.Ub(t,w,{}),a=r.hd;if(!n){if(a)throw Error("You cannot apply bindings multiple times to the same element.");r.hd=!0}if(a||(r.context=i),r.Zb||(r.Zb={}),n&&"function"!==typeof n)o=n;else{var c=p.ga.instance,l=c.getBindingAccessors||u,h=p.$((function(){return(o=n?n(i,t):l.call(c,t,i))&&(i[g]&&i[g](),i[y]&&i[y]()),o}),null,{l:t});o&&h.ja()||(h=null)}var d,m=i;if(o){var _=function(){return p.a.Ga(h?h():o,s)},b=h?function(e){return function(){return s(h()[e])}}:function(e){return o[e]};_.get=function(e){return o[e]&&s(b(e))},_.has=function(e){return e in o},p.i.H in o&&p.i.subscribe(t,p.i.H,(function(){var e=(0,o[p.i.H])();if(e){var n=p.h.childNodes(t);n.length&&e(n,p.Ec(n[0]))}})),p.i.pa in o&&(m=p.i.Cb(t,i),p.i.subscribe(t,p.i.pa,(function(){var e=(0,o[p.i.pa])();e&&p.h.firstChild(t)&&e(t)}))),r=f(o),p.a.D(r,(function(n){var i=n.Mc.init,r=n.Mc.update,s=n.key;if(8===t.nodeType&&!p.h.ea[s])throw Error("The binding '"+s+"' cannot be used with virtual elements");try{"function"==typeof i&&p.u.G((function(){var n=i(t,b(s),_,m.$data,m);if(n&&n.controlsDescendantBindings){if(d!==e)throw Error("Multiple bindings ("+d+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");d=s}})),"function"==typeof r&&p.$((function(){r(t,b(s),_,m.$data,m)}),null,{l:t})}catch(a){throw a.message='Unable to process binding "'+s+": "+o[s]+'"\nMessage: '+a.message,a}}))}return r=d===e,{shouldBindDescendants:r,bindingContextForDescendants:r&&m}}function _(t,n){return t&&t instanceof p.fa?t:new p.fa(t,e,e,n)}var g=p.a.Da("_subscribable"),b=p.a.Da("_ancestorBindingInfo"),y=p.a.Da("_dataDependency");p.c={};var v={script:!0,textarea:!0,template:!0};p.getBindingHandler=function(e){return p.c[e]};var O={};p.fa=function(t,n,i,o,r){function a(){var e=h?u():u,t=p.a.f(e);return n?(p.a.extend(c,n),b in n&&(c[b]=n[b])):(c.$parents=[],c.$root=t,c.ko=p),c[g]=s,l?t=c.$data:(c.$rawData=e,c.$data=t),i&&(c[i]=t),o&&o(c,n,t),n&&n[g]&&!p.S.o().Vb(n[g])&&n[g](),d&&(c[y]=d),c.$data}var s,c=this,l=t===O,u=l?e:t,h="function"==typeof u&&!p.O(u),d=r&&r.dataDependency;r&&r.exportDependencies?a():(s=p.xb(a),s.v(),s.ja()?s.equalityComparer=null:c[g]=e)},p.fa.prototype.createChildContext=function(e,t,n,i){if(!i&&t&&"object"==typeof t&&(i=t,t=i.as,n=i.extend),t&&i&&i.noChildContext){var o="function"==typeof e&&!p.O(e);return new p.fa(O,this,null,(function(i){n&&n(i),i[t]=o?e():e}),i)}return new p.fa(e,this,t,(function(e,t){e.$parentContext=t,e.$parent=t.$data,e.$parents=(t.$parents||[]).slice(0),e.$parents.unshift(e.$parent),n&&n(e)}),i)},p.fa.prototype.extend=function(e,t){return new p.fa(O,this,null,(function(t){p.a.extend(t,"function"==typeof e?e(t):e)}),t)};var w=p.a.g.Z();r.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},r.prototype.sd=function(e){p.a.Pa(this.kb,e),!this.kb.length&&this.H&&this.Cc()},r.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,p.a.K.yb(this.node,i),p.i.ma(this.node,p.i.pa),this.Tc())},p.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(e,t,n,i,o){var r=p.a.g.Ub(e,w,{});return r.Fa||(r.Fa=new p.T),o&&o.notifyImmediately&&r.Zb[t]&&p.u.G(n,i,[e]),r.Fa.subscribe(n,i,t)},ma:function(t,n){var i=p.a.g.get(t,w);if(i&&(i.Zb[n]=!0,i.Fa&&i.Fa.notifySubscribers(t,n),n==p.i.H))if(i.N)i.N.Cc();else if(i.N===e&&i.Fa&&i.Fa.Wa(p.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")},Cb:function(e,t){var n=p.a.g.Ub(e,w,{});return n.N||(n.N=new r(e,n,t[b])),t[b]==n?t:t.extend((function(e){e[b]=n}))}},p.Td=function(e){return(e=p.a.g.get(e,w))&&e.context},p.ib=function(e,t,n){return 1===e.nodeType&&p.h.Sc(e),m(e,t,_(n))},p.ld=function(e,t,n){return n=_(n),p.ib(e,l(t,n,e),n)},p.Oa=function(e,t){1!==t.nodeType&&8!==t.nodeType||h(_(e),t)},p.vc=function(e,i,r){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(i=n.body,!i)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!i||1!==i.nodeType&&8!==i.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");d(_(e,r),i)},p.Dc=function(t){return!t||1!==t.nodeType&&8!==t.nodeType?e:p.Td(t)},p.Ec=function(t){return(t=p.Dc(t))?t.$data:e},p.b("bindingHandlers",p.c),p.b("bindingEvent",p.i),p.b("bindingEvent.subscribe",p.i.subscribe),p.b("bindingEvent.startPossiblyAsyncContentBinding",p.i.Cb),p.b("applyBindings",p.vc),p.b("applyBindingsToDescendants",p.Oa),p.b("applyBindingAccessorsToNode",p.ib),p.b("applyBindingsToNode",p.ld),p.b("contextFor",p.Dc),p.b("dataFor",p.Ec)}(),function(e){function t(t,i){var a,s=Object.prototype.hasOwnProperty.call(o,t)?o[t]:e;s?s.subscribe(i):(s=o[t]=new p.T,s.subscribe(i),n(t,(function(e,n){var i=!(!n||!n.synchronous);r[t]={definition:e,Gd:i},delete o[t],a||i?s.notifySubscribers(e):p.na.zb((function(){s.notifySubscribers(e)}))})),a=!0)}function n(e,t){i("getConfig",[e],(function(n){n?i("loadComponent",[e,n],(function(e){t(e,n)})):t(null,null)}))}function i(t,n,o,r){r||(r=p.j.loaders.slice(0));var a=r.shift();if(a){var s=a[t];if(s){var c=!1;if(s.apply(a,n.concat((function(e){c?o(null):null!==e?o(e):i(t,n,o,r)})))!==e&&(c=!0,!a.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else i(t,n,o,r)}else o(null)}var o={},r={};p.j={get:function(n,i){var o=Object.prototype.hasOwnProperty.call(r,n)?r[n]:e;o?o.Gd?p.u.G((function(){i(o.definition)})):p.na.zb((function(){i(o.definition)})):t(n,i)},Bc:function(e){delete r[e]},oc:i},p.j.loaders=[],p.b("components",p.j),p.b("components.get",p.j.get),p.b("components.clearCachedDefinition",p.j.Bc)}(),function(){function e(e,t,n,i){function o(){0===--s&&i(r)}var r={},s=2,c=n.template;n=n.viewModel,c?a(t,c,(function(t){p.j.oc("loadTemplate",[e,t],(function(e){r.template=e,o()}))})):o(),n?a(t,n,(function(t){p.j.oc("loadViewModel",[e,t],(function(e){r[u]=e,o()}))})):o()}function i(e,t,n){if("function"===typeof t)n((function(e){return new t(e)}));else if("function"===typeof t[u])n(t[u]);else if("instance"in t){var o=t.instance;n((function(){return o}))}else"viewModel"in t?i(e,t.viewModel,n):e("Unknown viewModel value: "+t)}function o(e){switch(p.a.R(e)){case"script":return p.a.ua(e.text);case"textarea":return p.a.ua(e.value);case"template":if(r(e.content))return p.a.Ca(e.content.childNodes)}return p.a.Ca(e.childNodes)}function r(e){return t.DocumentFragment?e instanceof DocumentFragment:e&&11===e.nodeType}function a(e,n,i){"string"===typeof n.require?s||t.require?(s||t.require)([n.require],(function(e){e&&"object"===typeof e&&e.Xd&&e["default"]&&(e=e["default"]),i(e)})):e("Uses require, but no AMD loader is present"):i(n)}function c(e){return function(t){throw Error("Component '"+e+"': "+t)}}var l={};p.j.register=function(e,t){if(!t)throw Error("Invalid configuration for "+e);if(p.j.tb(e))throw Error("Component "+e+" is already registered");l[e]=t},p.j.tb=function(e){return Object.prototype.hasOwnProperty.call(l,e)},p.j.unregister=function(e){delete l[e],p.j.Bc(e)},p.j.Fc={getConfig:function(e,t){t(p.j.tb(e)?l[e]:null)},loadComponent:function(t,n,i){var o=c(t);a(o,n,(function(n){e(t,o,n,i)}))},loadTemplate:function(e,i,a){if(e=c(e),"string"===typeof i)a(p.a.ua(i));else if(i instanceof Array)a(i);else if(r(i))a(p.a.la(i.childNodes));else if(i.element)if(i=i.element,t.HTMLElement?i instanceof HTMLElement:i&&i.tagName&&1===i.nodeType)a(o(i));else if("string"===typeof i){var s=n.getElementById(i);s?a(o(s)):e("Cannot find element with ID "+i)}else e("Unknown element type: "+i);else e("Unknown template value: "+i)},loadViewModel:function(e,t,n){i(c(e),t,n)}};var u="createViewModel";p.b("components.register",p.j.register),p.b("components.isRegistered",p.j.tb),p.b("components.unregister",p.j.unregister),p.b("components.defaultLoader",p.j.Fc),p.j.loaders.push(p.j.Fc),p.j.dd=l}(),function(){function e(e,n){var i=e.getAttribute("params");if(i){i=t.parseBindingsString(i,n,e,{valueAccessors:!0,bindingParams:!0}),i=p.a.Ga(i,(function(t){return p.o(t,null,{l:e})}));var o=p.a.Ga(i,(function(t){var n=t.v();return t.ja()?p.o({read:function(){return p.a.f(t())},write:p.Za(n)&&function(e){t()(e)},l:e}):n}));return Object.prototype.hasOwnProperty.call(o,"$raw")||(o.$raw=i),o}return{$raw:{}}}p.j.getComponentNameForNode=function(e){var t=p.a.R(e);if(p.j.tb(t)&&(-1!=t.indexOf("-")||"[object HTMLUnknownElement]"==""+e||8>=p.a.W&&e.tagName===t))return t},p.j.tc=function(t,n,i,o){if(1===n.nodeType){var r=p.j.getComponentNameForNode(n);if(r){if(t=t||{},t.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var a={name:r,params:e(n,i)};t.component=o?function(){return a}:a}}return t};var t=new p.ga;9>p.a.W&&(p.j.register=function(e){return function(t){return e.apply(this,arguments)}}(p.j.register),n.createDocumentFragment=function(e){return function(){var t,n=e(),i=p.j.dd;for(t in i);return n}}(n.createDocumentFragment))}(),function(){function e(e,t,n){if(t=t.template,!t)throw Error("Component '"+e+"' has no template");e=p.a.Ca(t),p.h.va(n,e)}function t(e,t,n){var i=e.createViewModel;return i?i.call(e,t,n):t}var n=0;p.c.component={init:function(i,o,r,a,s){function c(){var e=l&&l.dispose;"function"===typeof e&&e.call(l),h&&h.s(),u=l=h=null}var l,u,h,d=p.a.la(p.h.childNodes(i));return p.h.Ea(i),p.a.K.za(i,c),p.o((function(){var r,a,f=p.a.f(o());if("string"===typeof f?r=f:(r=p.a.f(f.name),a=p.a.f(f.params)),!r)throw Error("No component name specified");var m=p.i.Cb(i,s),_=u=++n;p.j.get(r,(function(n){if(u===_){if(c(),!n)throw Error("Unknown component '"+r+"'");e(r,n,i);var o=t(n,a,{element:i,templateNodes:d});n=m.createChildContext(o,{extend:function(e){e.$component=o,e.$componentTemplateNodes=d}}),o&&o.koDescendantsComplete&&(h=p.i.subscribe(i,p.i.pa,o.koDescendantsComplete,o)),l=o,p.Oa(n,i)}}))}),null,{l:i}),{controlsDescendantBindings:!0}}},p.h.ea.component=!0}();var C={class:"className",for:"htmlFor"};p.c.attr={update:function(t,n){var i=p.a.f(n())||{};p.a.P(i,(function(n,i){i=p.a.f(i);var o=n.indexOf(":"),r=(o="lookupNamespaceURI"in t&&0<o&&t.lookupNamespaceURI(n.substr(0,o)),!1===i||null===i||i===e);r?o?t.removeAttributeNS(o,n):t.removeAttribute(n):i=i.toString(),8>=p.a.W&&n in C?(n=C[n],r?t.removeAttribute(n):t[n]=i):r||(o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)),"name"===n&&p.a.Yc(t,r?"":i)}))}},function(){p.c.checked={after:["value","attr"],init:function(t,n,i){function o(){var o=t.checked,r=a();if(!p.S.Ya()&&(o||!c&&!p.S.qa())){var l=p.u.G(n);if(u){var d=h?l.v():l,m=f;f=r,m!==r?o&&(p.a.Na(d,r,!0),p.a.Na(d,m,!1)):p.a.Na(d,r,o),h&&p.Za(l)&&l(d)}else s&&(r===e?r=o:o||(r=e)),p.m.eb(l,i,"checked",r,!0)}}function r(){var i=p.a.f(n()),o=a();u?(t.checked=0<=p.a.A(i,o),f=o):t.checked=s&&o===e?!!i:a()===i}var a=p.xb((function(){return i.has("checkedValue")?p.a.f(i.get("checkedValue")):d?i.has("value")?p.a.f(i.get("value")):t.value:void 0})),s="checkbox"==t.type,c="radio"==t.type;if(s||c){var l=n(),u=s&&p.a.f(l)instanceof Array,h=!(u&&l.push&&l.splice),d=c||u,f=u?a():e;c&&!t.name&&p.c.uniqueName.init(t,(function(){return!0})),p.o(o,null,{l:t}),p.a.B(t,"click",o),p.o(r,null,{l:t}),l=e}}},p.m.wa.checked=!0,p.c.checkedValue={update:function(e,t){e.value=p.a.f(t())}}}(),p.c["class"]={update:function(e,t){var n=p.a.Db(p.a.f(t()));p.a.Eb(e,e.__ko__cssValue,!1),e.__ko__cssValue=n,p.a.Eb(e,n,!0)}},p.c.css={update:function(e,t){var n=p.a.f(t());null!==n&&"object"==typeof n?p.a.P(n,(function(t,n){n=p.a.f(n),p.a.Eb(e,t,n)})):p.c["class"].update(e,t)}},p.c.enable={update:function(e,t){var n=p.a.f(t());n&&e.disabled?e.removeAttribute("disabled"):n||e.disabled||(e.disabled=!0)}},p.c.disable={update:function(e,t){p.c.enable.update(e,(function(){return!p.a.f(t())}))}},p.c.event={init:function(e,t,n,i,o){var r=t()||{};p.a.P(r,(function(r){"string"==typeof r&&p.a.B(e,r,(function(e){var a,s=t()[r];if(s){try{var c=p.a.la(arguments);i=o.$data,c.unshift(i),a=s.apply(i,c)}finally{!0!==a&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}!1===n.get(r+"Bubble")&&(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}}))}))}},p.c.foreach={Rc:function(e){return function(){var t=e(),n=p.a.bc(t);return n&&"number"!=typeof n.length?(p.a.f(t),{foreach:n.data,as:n.as,noChildContext:n.noChildContext,includeDestroyed:n.includeDestroyed,afterAdd:n.afterAdd,beforeRemove:n.beforeRemove,afterRender:n.afterRender,beforeMove:n.beforeMove,afterMove:n.afterMove,templateEngine:p.ba.Ma}):{foreach:t,templateEngine:p.ba.Ma}}},init:function(e,t){return p.c.template.init(e,p.c.foreach.Rc(t))},update:function(e,t,n,i,o){return p.c.template.update(e,p.c.foreach.Rc(t),n,i,o)}},p.m.Ra.foreach=!1,p.h.ea.foreach=!0,p.c.hasfocus={init:function(e,t,n){function i(i){e.__ko_hasfocusUpdating=!0;var o=e.ownerDocument;if("activeElement"in o){var r;try{r=o.activeElement}catch(a){r=o.body}i=r===e}o=t(),p.m.eb(o,n,"hasfocus",i,!0),e.__ko_hasfocusLastValue=i,e.__ko_hasfocusUpdating=!1}var o=i.bind(null,!0),r=i.bind(null,!1);p.a.B(e,"focus",o),p.a.B(e,"focusin",o),p.a.B(e,"blur",r),p.a.B(e,"focusout",r),e.__ko_hasfocusLastValue=!1},update:function(e,t){var n=!!p.a.f(t());e.__ko_hasfocusUpdating||e.__ko_hasfocusLastValue===n||(n?e.focus():e.blur(),!n&&e.__ko_hasfocusLastValue&&e.ownerDocument.body.focus(),p.u.G(p.a.Fb,null,[e,n?"focusin":"focusout"]))}},p.m.wa.hasfocus=!0,p.c.hasFocus=p.c.hasfocus,p.m.wa.hasFocus="hasfocus",p.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){p.a.fc(e,t())}},function(){function e(e,t,n){p.c[e]={init:function(e,i,o,r,a){var s,c,l,u,h,d={};if(t){r=o.get("as");var f=o.get("noChildContext");h=!(r&&f),d={as:r,noChildContext:f,exportDependencies:h}}return u=(l="render"==o.get("completeOn"))||o.has(p.i.pa),p.o((function(){var o,r=p.a.f(i()),f=!n!==!r,m=!c;(h||f!==s)&&(u&&(a=p.i.Cb(e,a)),f&&(t&&!h||(d.dataDependency=p.S.o()),o=t?a.createChildContext("function"==typeof r?r:i,d):p.S.qa()?a.extend(null,d):a),m&&p.S.qa()&&(c=p.a.Ca(p.h.childNodes(e),!0)),f?(m||p.h.va(e,p.a.Ca(c)),p.Oa(o,e)):(p.h.Ea(e),l||p.i.ma(e,p.i.H)),s=f)}),null,{l:e}),{controlsDescendantBindings:!0}}},p.m.Ra[e]=!1,p.h.ea[e]=!0}e("if"),e("ifnot",!1,!0),e("with",!0)}(),p.c.let={init:function(e,t,n,i,o){return t=o.extend(t),p.Oa(t,e),{controlsDescendantBindings:!0}}},p.h.ea.let=!0;var E={};p.c.options={init:function(e){if("select"!==p.a.R(e))throw Error("options binding applies only to SELECT elements");for(;0<e.length;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(t,n,i){function o(){return p.a.jb(t.options,(function(e){return e.selected}))}function r(e,t,n){var i=typeof t;return"function"==i?t(e):"string"==i?e[t]:n}function a(e,n){if(_&&u)p.i.ma(t,p.i.H);else if(f.length){var i=0<=p.a.A(f,p.w.M(n[0]));p.a.Zc(n[0],i),_&&!i&&p.u.G(p.a.Fb,null,[t,"change"])}}var s=t.multiple,c=0!=t.length&&s?t.scrollTop:null,l=p.a.f(n()),u=i.get("valueAllowUnset")&&i.has("value"),h=i.get("optionsIncludeDestroyed");n={};var d,f=[];u||(s?f=p.a.Mb(o(),p.w.M):0<=t.selectedIndex&&f.push(p.w.M(t.options[t.selectedIndex]))),l&&("undefined"==typeof l.length&&(l=[l]),d=p.a.jb(l,(function(t){return h||t===e||null===t||!p.a.f(t._destroy)})),i.has("optionsCaption")&&(l=p.a.f(i.get("optionsCaption")),null!==l&&l!==e&&d.unshift(E)));var m,_=!1;(n.beforeRemove=function(e){t.removeChild(e)},l=a,i.has("optionsAfterRender")&&"function"==typeof i.get("optionsAfterRender")&&(l=function(t,n){a(0,n),p.u.G(i.get("optionsAfterRender"),null,[n[0],t!==E?t:e])}),p.a.ec(t,d,(function(n,o,a){return a.length&&(f=!u&&a[0].selected?[p.w.M(a[0])]:[],_=!0),o=t.ownerDocument.createElement("option"),n===E?(p.a.Bb(o,i.get("optionsCaption")),p.w.cb(o,e)):(a=r(n,i.get("optionsValue"),n),p.w.cb(o,p.a.f(a)),n=r(n,i.get("optionsText"),a),p.a.Bb(o,n)),[o]}),n,l),u)||(m=s?f.length&&o().length<f.length:f.length&&0<=t.selectedIndex?p.w.M(t.options[t.selectedIndex])!==f[0]:f.length||0<=t.selectedIndex,m&&p.u.G(p.a.Fb,null,[t,"change"]));(u||p.S.Ya())&&p.i.ma(t,p.i.H),p.a.wd(t),c&&20<Math.abs(c-t.scrollTop)&&(t.scrollTop=c)}},p.c.options.$b=p.a.g.Z(),p.c.selectedOptions={init:function(e,t,n){function i(){var i=t(),o=[];p.a.D(e.getElementsByTagName("option"),(function(e){e.selected&&o.push(p.w.M(e))})),p.m.eb(i,n,"selectedOptions",o)}function o(){var n=p.a.f(t()),i=e.scrollTop;n&&"number"==typeof n.length&&p.a.D(e.getElementsByTagName("option"),(function(e){var t=0<=p.a.A(n,p.w.M(e));e.selected!=t&&p.a.Zc(e,t)})),e.scrollTop=i}if("select"!=p.a.R(e))throw Error("selectedOptions binding applies only to SELECT elements");var r;p.i.subscribe(e,p.i.H,(function(){r?i():(p.a.B(e,"change",i),r=p.o(o,null,{l:e}))}),null,{notifyImmediately:!0})},update:function(){}},p.m.wa.selectedOptions=!0,p.c.style={update:function(t,n){var i=p.a.f(n()||{});p.a.P(i,(function(n,i){if(i=p.a.f(i),null!==i&&i!==e&&!1!==i||(i=""),o)o(t).css(n,i);else if(/^--/.test(n))t.style.setProperty(n,i);else{n=n.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}));var r=t.style[n];t.style[n]=i,i===r||t.style[n]!=r||isNaN(i)||(t.style[n]=i+"px")}}))}},p.c.submit={init:function(e,t,n,i,o){if("function"!=typeof t())throw Error("The value for a submit binding must be a function");p.a.B(e,"submit",(function(n){var i,r=t();try{i=r.call(o.$data,e)}finally{!0!==i&&(n.preventDefault?n.preventDefault():n.returnValue=!1)}}))}},p.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){p.a.Bb(e,t())}},p.h.ea.text=!0,function(){if(t&&t.navigator){var n,i,o,r,a,s=function(e){if(e)return parseFloat(e[1])},c=t.navigator.userAgent;(n=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(a=s(c.match(/Edge\/([^ ]+)$/)))||s(c.match(/Chrome\/([^ ]+)/))||(i=s(c.match(/Version\/([^ ]+) Safari/)))||(o=s(c.match(/Firefox\/([^ ]+)/)))||(r=p.a.W||s(c.match(/MSIE ([^ ]+)/)))||(r=s(c.match(/rv:([^ )]+)/)))}if(8<=r&&10>r)var l=p.a.g.Z(),u=p.a.g.Z(),h=function(e){var t=this.activeElement;(t=t&&p.a.g.get(t,u))&&t(e)},d=function(e,t){var n=e.ownerDocument;p.a.g.get(n,l)||(p.a.g.set(n,l,!0),p.a.B(n,"selectionchange",h)),p.a.g.set(e,u,t)};p.c.textInput={init:function(t,s,c){function l(e,n){p.a.B(t,e,n)}function u(){var n=p.a.f(s());null!==n&&n!==e||(n=""),_!==e&&n===_?p.a.setTimeout(u,4):t.value!==n&&(y=!0,t.value=n,y=!1,g=t.value)}function h(){m||(_=t.value,m=p.a.setTimeout(f,4))}function f(){clearTimeout(m),_=m=e;var n=t.value;g!==n&&(g=n,p.m.eb(s(),c,"textInput",n))}var m,_,g=t.value,b=9==p.a.W?h:f,y=!1;r&&l("keypress",f),11>r&&l("propertychange",(function(e){y||"value"!==e.propertyName||b(e)})),8==r&&(l("keyup",f),l("keydown",f)),d&&(d(t,b),l("dragend",h)),(!r||9<=r)&&l("input",b),5>i&&"textarea"===p.a.R(t)?(l("keydown",h),l("paste",h),l("cut",h)):11>n?l("keydown",h):4>o?(l("DOMAutoComplete",f),l("dragdrop",f),l("drop",f)):a&&"number"===t.type&&l("keydown",h),l("change",f),l("blur",f),p.o(u,null,{l:t})}},p.m.wa.textInput=!0,p.c.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),p.c.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++p.c.uniqueName.rd;p.a.Yc(e,n)}}},p.c.uniqueName.rd=0,p.c.using={init:function(e,t,n,i,o){var r;return n.has("as")&&(r={as:n.get("as"),noChildContext:n.get("noChildContext")}),t=o.createChildContext(t,r),p.Oa(t,e),{controlsDescendantBindings:!0}}},p.h.ea.using=!0,p.c.value={init:function(t,n,i){var o=p.a.R(t),r="input"==o;if(!r||"checkbox"!=t.type&&"radio"!=t.type){var a=[],s=i.get("valueUpdate"),c=!1,l=null;s&&(a="string"==typeof s?[s]:p.a.wc(s),p.a.Pa(a,"change"));var u,h,d=function(){l=null,c=!1;var e=n(),o=p.w.M(t);p.m.eb(e,i,"value",o)};if(!p.a.W||!r||"text"!=t.type||"off"==t.autocomplete||t.form&&"off"==t.form.autocomplete||-1!=p.a.A(a,"propertychange")||(p.a.B(t,"propertychange",(function(){c=!0})),p.a.B(t,"focus",(function(){c=!1})),p.a.B(t,"blur",(function(){c&&d()}))),p.a.D(a,(function(e){var n=d;p.a.Ud(e,"after")&&(n=function(){l=p.w.M(t),p.a.setTimeout(d,0)},e=e.substring(5)),p.a.B(t,e,n)})),u=r&&"file"==t.type?function(){var i=p.a.f(n());null===i||i===e||""===i?t.value="":p.u.G(d)}:function(){var r=p.a.f(n()),a=p.w.M(t);null!==l&&r===l?p.a.setTimeout(u,0):r===a&&a!==e||("select"===o?(a=i.get("valueAllowUnset"),p.w.cb(t,r,a),a||r===p.w.M(t)||p.u.G(d)):p.w.cb(t,r))},"select"===o)p.i.subscribe(t,p.i.H,(function(){h?i.get("valueAllowUnset")?u():d():(p.a.B(t,"change",d),h=p.o(u,null,{l:t}))}),null,{notifyImmediately:!0});else p.a.B(t,"change",d),p.o(u,null,{l:t})}else p.ib(t,{checkedValue:n})},update:function(){}},p.m.wa.value=!0,p.c.visible={update:function(e,t){var n=p.a.f(t()),i="none"!=e.style.display;n&&!i?e.style.display="":!n&&i&&(e.style.display="none")}},p.c.hidden={update:function(e,t){p.c.visible.update(e,(function(){return!p.a.f(t())}))}},function(e){p.c[e]={init:function(t,n,i,o,r){return p.c.event.init.call(this,t,(function(){var t={};return t[e]=n(),t}),i,o,r)}}}("click"),p.ca=function(){},p.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},p.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},p.ca.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=t||n;var i=t.getElementById(e);if(!i)throw Error("Cannot find template with ID "+e);return new p.C.F(i)}if(1==e.nodeType||8==e.nodeType)return new p.C.ia(e);throw Error("Unknown template type: "+e)},p.ca.prototype.renderTemplate=function(e,t,n,i){return e=this.makeTemplateSource(e,i),this.renderTemplateSource(e,t,n,i)},p.ca.prototype.isTemplateRewritten=function(e,t){return!1===this.allowTemplateRewriting||this.makeTemplateSource(e,t).data("isRewritten")},p.ca.prototype.rewriteTemplate=function(e,t,n){e=this.makeTemplateSource(e,n),t=t(e.text()),e.text(t),e.data("isRewritten",!0)},p.b("templateEngine",p.ca),p.kc=function(){function e(e,t,n,i){e=p.m.ac(e);for(var o=p.m.Ra,r=0;r<e.length;r++){var a=e[r].key;if(Object.prototype.hasOwnProperty.call(o,a)){var s=o[a];if("function"===typeof s){if(a=s(e[r].value))throw Error(a)}else if(!s)throw Error("This template engine does not support the '"+a+"' binding within its templates")}}return n="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+p.m.vb(e,{valueAccessors:!0})+" } })()},'"+n.toLowerCase()+"')",i.createJavaScriptEvaluatorBlock(n)+t}var t=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,n=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,(function(e){return p.kc.Ld(e,t)}),n)},Ld:function(i,o){return i.replace(t,(function(t,n,i,r,a){return e(a,n,i,o)})).replace(n,(function(t,n){return e(n,"\x3c!-- ko --\x3e","#comment",o)}))},md:function(e,t){return p.aa.Xb((function(n,i){var o=n.nextSibling;o&&o.nodeName.toLowerCase()===t&&p.ib(o,e,i)}))}}}(),p.b("__tr_ambtns",p.kc.md),function(){p.C={},p.C.F=function(e){if(this.F=e){var t=p.a.R(e);this.ab="script"===t?1:"textarea"===t?2:"template"==t&&e.content&&11===e.content.nodeType?3:4}},p.C.F.prototype.text=function(){var e=1===this.ab?"text":2===this.ab?"value":"innerHTML";if(0==arguments.length)return this.F[e];var t=arguments[0];"innerHTML"===e?p.a.fc(this.F,t):this.F[e]=t};var t=p.a.g.Z()+"_";p.C.F.prototype.data=function(e){if(1===arguments.length)return p.a.g.get(this.F,t+e);p.a.g.set(this.F,t+e,arguments[1])};var n=p.a.g.Z();p.C.F.prototype.nodes=function(){var t=this.F;if(0==arguments.length){var i=p.a.g.get(t,n)||{},o=i.lb||(3===this.ab?t.content:4===this.ab?t:e);if(!o||i.jd){var r=this.text();r&&r!==i.bb&&(o=p.a.Md(r,t.ownerDocument),p.a.g.set(t,n,{lb:o,bb:r,jd:!0}))}return o}i=arguments[0],this.ab!==e&&this.text(""),p.a.g.set(t,n,{lb:i})},p.C.ia=function(e){this.F=e},p.C.ia.prototype=new p.C.F,p.C.ia.prototype.constructor=p.C.ia,p.C.ia.prototype.text=function(){if(0==arguments.length){var t=p.a.g.get(this.F,n)||{};return t.bb===e&&t.lb&&(t.bb=t.lb.innerHTML),t.bb}p.a.g.set(this.F,n,{bb:arguments[0]})},p.b("templateSources",p.C),p.b("templateSources.domElement",p.C.F),p.b("templateSources.anonymousTemplate",p.C.ia)}(),function(){function t(e,t,n){var i;for(t=p.h.nextSibling(t);e&&(i=e)!==t;)e=p.h.nextSibling(i),n(i,e)}function n(e,n){if(e.length){var i=e[0],o=e[e.length-1],r=i.parentNode,a=p.ga.instance,s=a.preprocessNode;if(s){if(t(i,o,(function(e,t){var n=e.previousSibling,r=s.call(a,e);r&&(e===i&&(i=r[0]||t),e===o&&(o=r[r.length-1]||n))})),e.length=0,!i)return;i===o?e.push(i):(e.push(i,o),p.a.Ua(e,r))}t(i,o,(function(e){1!==e.nodeType&&8!==e.nodeType||p.vc(n,e)})),t(i,o,(function(e){1!==e.nodeType&&8!==e.nodeType||p.aa.cd(e,[n])})),p.a.Ua(e,r)}}function i(e){return e.nodeType?e:0<e.length?e[0]:null}function o(e,t,o,r,s){s=s||{};var c=(e&&i(e)||o||{}).ownerDocument,l=s.templateEngine||a;if(p.kc.xd(o,l,c),o=l.renderTemplate(o,r,s,c),"number"!=typeof o.length||0<o.length&&"number"!=typeof o[0].nodeType)throw Error("Template engine must return an array of DOM nodes");switch(c=!1,t){case"replaceChildren":p.h.va(e,o),c=!0;break;case"replaceNode":p.a.Xc(e,o),c=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+t)}return c&&(n(o,r),s.afterRender&&p.u.G(s.afterRender,null,[o,r[s.as||"$data"]]),"replaceChildren"==t&&p.i.ma(e,p.i.H)),o}function r(e,t,n){return p.O(e)?e():"function"===typeof e?e(t,n):e}var a;p.gc=function(t){if(t!=e&&!(t instanceof p.ca))throw Error("templateEngine must inherit from ko.templateEngine");a=t},p.dc=function(t,n,s,c,l){if(s=s||{},(s.templateEngine||a)==e)throw Error("Set a template engine before calling renderTemplate");if(l=l||"replaceChildren",c){var u=i(c);return p.$((function(){var e=n&&n instanceof p.fa?n:new p.fa(n,null,null,null,{exportDependencies:!0}),a=r(t,e.$data,e);e=o(c,l,a,e,s);"replaceNode"==l&&(c=e,u=i(c))}),null,{Sa:function(){return!u||!p.a.Sb(u)},l:u&&"replaceNode"==l?u.parentNode:u})}return p.aa.Xb((function(e){p.dc(t,n,s,e,"replaceNode")}))},p.Qd=function(t,i,a,s,c){function l(e,t){p.u.G(p.a.ec,null,[s,e,h,a,u,t]),p.i.ma(s,p.i.H)}function u(e,t){n(t,d),a.afterRender&&a.afterRender(t,e),d=null}function h(e,n){d=c.createChildContext(e,{as:f,noChildContext:a.noChildContext,extend:function(e){e.$index=n,f&&(e[f+"Index"]=n)}});var i=r(t,e,d);return o(s,"ignoreTargetNode",i,d,a)}var d,f=a.as,m=!1===a.includeDestroyed||p.options.foreachHidesDestroyed&&!a.includeDestroyed;if(m||a.beforeRemove||!p.Pc(i))return p.$((function(){var t=p.a.f(i)||[];"undefined"==typeof t.length&&(t=[t]),m&&(t=p.a.jb(t,(function(t){return t===e||null===t||!p.a.f(t._destroy)}))),l(t)}),null,{l:s});l(i.v());var _=i.subscribe((function(e){l(i(),e)}),null,"arrayChange");return _.l(s),_};var s=p.a.g.Z(),c=p.a.g.Z();p.c.template={init:function(e,t){var n=p.a.f(t());if("string"==typeof n||"name"in n)p.h.Ea(e);else if("nodes"in n){if(n=n.nodes||[],p.O(n))throw Error('The "nodes" option must be a plain, non-observable array.');var i=n[0]&&n[0].parentNode;i&&p.a.g.get(i,c)||(i=p.a.Yb(n),p.a.g.set(i,c,!0)),new p.C.ia(e).nodes(i)}else{if(n=p.h.childNodes(e),!(0<n.length))throw Error("Anonymous template defined, but no template content was provided");i=p.a.Yb(n),new p.C.ia(e).nodes(i)}return{controlsDescendantBindings:!0}},update:function(t,n,i,o,r){var a=n();n=p.a.f(a),i=!0,o=null,"string"==typeof n?n={}:(a="name"in n?n.name:t,"if"in n&&(i=p.a.f(n["if"])),i&&"ifnot"in n&&(i=!p.a.f(n.ifnot)),i&&!a&&(i=!1)),"foreach"in n?o=p.Qd(a,i&&n.foreach||[],n,t,r):i?(i=r,"data"in n&&(i=r.createChildContext(n.data,{as:n.as,noChildContext:n.noChildContext,exportDependencies:!0})),o=p.dc(a,i,n,t)):p.h.Ea(t),r=o,(n=p.a.g.get(t,s))&&"function"==typeof n.s&&n.s(),p.a.g.set(t,s,!r||r.ja&&!r.ja()?e:r)}},p.m.Ra.template=function(e){return e=p.m.ac(e),1==e.length&&e[0].unknown||p.m.Id(e,"name")?null:"This template engine does not support anonymous templates nested within its templates"},p.h.ea.template=!0}(),p.b("setTemplateEngine",p.gc),p.b("renderTemplate",p.dc),p.a.Kc=function(e,t,n){var i,o,r,a,s;if(e.length&&t.length)for(i=o=0;(!n||i<n)&&(a=e[o]);++o){for(r=0;s=t[r];++r)if(a.value===s.value){a.moved=s.index,s.moved=a.index,t.splice(r,1),i=r=0;break}i+=r}},p.a.Pb=function(){function e(e,t,n,i,o){var r,a,s,c,l,u=Math.min,h=Math.max,d=[],f=e.length,m=t.length,_=m-f||1,g=f+m+1;for(r=0;r<=f;r++)for(c=s,d.push(s=[]),l=u(m,r+_),a=h(0,r-1);a<=l;a++)s[a]=a?r?e[r-1]===t[a-1]?c[a-1]:u(c[a]||g,s[a-1]||g)+1:a+1:r+1;for(u=[],h=[],_=[],r=f,a=m;r||a;)m=d[r][a]-1,a&&m===d[r][a-1]?h.push(u[u.length]={status:n,value:t[--a],index:a}):r&&m===d[r-1][a]?_.push(u[u.length]={status:i,value:e[--r],index:r}):(--a,--r,o.sparse||u.push({status:"retained",value:t[a]}));return p.a.Kc(_,h,!o.dontLimitMoves&&10*f),u.reverse()}return function(t,n,i){return i="boolean"===typeof i?{dontLimitMoves:i}:i||{},t=t||[],n=n||[],t.length<n.length?e(t,n,"added","deleted",i):e(n,t,"deleted","added",i)}}(),p.b("utils.compareArrays",p.a.Pb),function(){function t(t,n,i,o,r){var a=[],s=p.$((function(){var e=n(i,r,p.a.Ua(a,t))||[];0<a.length&&(p.a.Xc(a,e),o&&p.u.G(o,null,[i,e,r])),a.length=0,p.a.Nb(a,e)}),null,{l:t,Sa:function(){return!p.a.kd(a)}});return{Y:a,$:s.ja()?s:e}}var n=p.a.g.Z(),i=p.a.g.Z();p.a.ec=function(o,r,a,s,c,l){function u(e){f={Aa:e,pb:p.ta(w++)},v.push(f),y||S.push(f)}function h(e){f=b[e],w!==f.pb.v()&&x.push(f),f.pb(w++),p.a.Ua(f.Y,o),v.push(f)}function d(e,t){if(e)for(var n=0,i=t.length;n<i;n++)p.a.D(t[n].Y,(function(i){e(i,n,t[n].Aa)}))}r=r||[],"undefined"==typeof r.length&&(r=[r]),s=s||{};var f,m,_,g,b=p.a.g.get(o,n),y=!b,v=[],O=0,w=0,A=[],C=[],E=[],x=[],S=[],I=0;if(y)p.a.D(r,u);else{if(!l||b&&b._countWaitingForRemove){var D=p.a.Mb(b,(function(e){return e.Aa}));l=p.a.Pb(D,r,{dontLimitMoves:s.dontLimitMoves,sparse:!0})}var j,P,R;for(D=0;j=l[D];D++)switch(P=j.moved,R=j.index,j.status){case"deleted":for(;O<R;)h(O++);P===e&&(f=b[O],f.$&&(f.$.s(),f.$=e),p.a.Ua(f.Y,o).length&&(s.beforeRemove&&(v.push(f),I++,f.Aa===i?f=null:E.push(f)),f&&A.push.apply(A,f.Y))),O++;break;case"added":for(;w<R;)h(O++);P!==e?(C.push(v.length),h(P)):u(j.value)}for(;w<r.length;)h(O++);v._countWaitingForRemove=I}p.a.g.set(o,n,v),d(s.beforeMove,x),p.a.D(A,s.beforeRemove?p.oa:p.removeNode);try{g=o.ownerDocument.activeElement}catch(T){}if(C.length)for(;(D=C.shift())!=e;){for(f=v[D],m=e;D;)if((_=v[--D].Y)&&_.length){m=_[_.length-1];break}for(r=0;O=f.Y[r];m=O,r++)p.h.Wb(o,O,m)}for(D=0;f=v[D];D++){for(f.Y||p.a.extend(f,t(o,a,f.Aa,c,f.pb)),r=0;O=f.Y[r];m=O,r++)p.h.Wb(o,O,m);!f.Ed&&c&&(c(f.Aa,f.Y,f.pb),f.Ed=!0,m=f.Y[f.Y.length-1])}for(g&&o.ownerDocument.activeElement!=g&&g.focus(),d(s.beforeRemove,E),D=0;D<E.length;++D)E[D].Aa=i;d(s.afterMove,x),d(s.afterAdd,S)}}(),p.b("utils.setDomNodeChildrenFromArrayMapping",p.a.ec),p.ba=function(){this.allowTemplateRewriting=!1},p.ba.prototype=new p.ca,p.ba.prototype.constructor=p.ba,p.ba.prototype.renderTemplateSource=function(e,t,n,i){return(t=9>p.a.W||!e.nodes?null:e.nodes())?p.a.la(t.cloneNode(!0).childNodes):(e=e.text(),p.a.ua(e,i))},p.ba.Ma=new p.ba,p.gc(p.ba.Ma),p.b("nativeTemplateEngine",p.ba),function(){p.$a=function(){var e=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(e){}return 1}();this.renderTemplateSource=function(t,i,r,a){if(a=a||n,r=r||{},2>e)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var s=t.data("precompiled");return s||(s=t.text()||"",s=o.template(null,"{{ko_with $item.koBindingContext}}"+s+"{{/ko_with}}"),t.data("precompiled",s)),t=[i.$data],i=o.extend({koBindingContext:i},r.templateOptions),i=o.tmpl(s,t,i),i.appendTo(a.createElement("div")),o.fragments={},i},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){n.write("<script type='text/html' id='"+e+"'>"+t+"<\/script>")},0<e&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},p.$a.prototype=new p.ca,p.$a.prototype.constructor=p.$a;var e=new p.$a;0<e.Hd&&p.gc(e),p.b("jqueryTmplTemplateEngine",p.$a)}()}))})()})()}();var i=ko;"undefined"!==typeof window?(ko=window.ko,"undefined"!==typeof n?window.ko=n:delete window.ko):(ko=e.ko,"undefined"!==typeof n?e.ko=n:delete e.ko),t["a"]=i}).call(this,n("c8ba"))},"99b0":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return protobuf$1}));var _commonjsHelpers_3aae1032_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("7491");function _mergeNamespaces(e,t){return t.forEach((function(t){t&&"string"!==typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if("default"!==n&&!(n in e)){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}var protobuf=Object(_commonjsHelpers_3aae1032_js__WEBPACK_IMPORTED_MODULE_0__["b"])((function(module){
  54. /*!
  55. * protobuf.js v6.7.0 (c) 2016, Daniel Wirtz
  56. * Compiled Sun, 02 Apr 2017 11:28:29 UTC
  57. * Licensed under the BSD-3-Clause License
  58. * see: https://github.com/dcodeIO/protobuf.js for details
  59. */
  60. (function(global,undefined$1){(function(e,t,n){function i(n){var o=t[n];return o||e[n][0].call(o=t[n]={exports:{}},i,o,o.exports),o.exports}var o=global.protobuf=i(n[0]);"function"===typeof undefined$1&&undefined$1.amd&&undefined$1(["long"],(function(e){return e&&e.isLong&&(o.util.Long=e,o.configure()),o})),module&&module.exports&&(module.exports=o)})({1:[function(e,t,n){function i(e,t){for(var n=[],i=2;i<arguments.length;)n.push(arguments[i++]);var o=!0;return new Promise((function(i,r){n.push((function(e){if(o)if(o=!1,e)r(e);else{for(var t=[],n=1;n<arguments.length;)t.push(arguments[n++]);i.apply(null,t)}}));try{e.apply(t||this,n)}catch(a){o&&(o=!1,r(a))}}))}t.exports=i},{}],2:[function(e,t,n){var i=n;i.length=function(e){var t=e.length;if(!t)return 0;var n=0;while(--t%4>1&&"="===e.charAt(t))++n;return Math.ceil(3*e.length)/4-n};for(var o=new Array(64),r=new Array(123),a=0;a<64;)r[o[a]=a<26?a+65:a<52?a+71:a<62?a-4:a-59|43]=a++;i.encode=function(e,t,n){var i,r=[],a=0,s=0;while(t<n){var c=e[t++];switch(s){case 0:r[a++]=o[c>>2],i=(3&c)<<4,s=1;break;case 1:r[a++]=o[i|c>>4],i=(15&c)<<2,s=2;break;case 2:r[a++]=o[i|c>>6],r[a++]=o[63&c],s=0;break}}return s&&(r[a++]=o[i],r[a]=61,1===s&&(r[a+1]=61)),String.fromCharCode.apply(String,r)};var s="invalid encoding";i.decode=function(e,t,n){for(var i,o=n,a=0,c=0;c<e.length;){var l=e.charCodeAt(c++);if(61===l&&a>1)break;if((l=r[l])===undefined$1)throw Error(s);switch(a){case 0:i=l,a=1;break;case 1:t[n++]=i<<2|(48&l)>>4,i=l,a=2;break;case 2:t[n++]=(15&i)<<4|(60&l)>>2,i=l,a=3;break;case 3:t[n++]=(3&i)<<6|l,a=0;break}}if(1===a)throw Error(s);return n-o},i.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},{}],3:[function(e,t,n){function i(){this._listeners={}}t.exports=i,i.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},i.prototype.off=function(e,t){if(e===undefined$1)this._listeners={};else if(t===undefined$1)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===t?n.splice(i,1):++i;return this},i.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<t.length;)t[i].fn.apply(t[i++].ctx,n)}return this}},{}],4:[function(e,t,n){function i(e){return"undefined"!==typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),i=128===n[3];function o(e,i,o){t[0]=e,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3]}function r(e,i,o){t[0]=e,i[o]=n[3],i[o+1]=n[2],i[o+2]=n[1],i[o+3]=n[0]}function a(e,i){return n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],t[0]}function s(e,i){return n[3]=e[i],n[2]=e[i+1],n[1]=e[i+2],n[0]=e[i+3],t[0]}e.writeFloatLE=i?o:r,e.writeFloatBE=i?r:o,e.readFloatLE=i?a:s,e.readFloatBE=i?s:a}():function(){function t(e,t,n,i){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,n,i);else if(isNaN(t))e(2143289344,n,i);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,n,i);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,n,i);else{var r=Math.floor(Math.log(t)/Math.LN2),a=8388607&Math.round(t*Math.pow(2,-r)*8388608);e((o<<31|r+127<<23|a)>>>0,n,i)}}function n(e,t,n){var i=e(t,n),o=2*(i>>31)+1,r=i>>>23&255,a=8388607&i;return 255===r?a?NaN:o*(1/0):0===r?1401298464324817e-60*o*a:o*Math.pow(2,r-150)*(a+8388608)}e.writeFloatLE=t.bind(null,o),e.writeFloatBE=t.bind(null,r),e.readFloatLE=n.bind(null,a),e.readFloatBE=n.bind(null,s)}(),"undefined"!==typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),i=128===n[7];function o(e,i,o){t[0]=e,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3],i[o+4]=n[4],i[o+5]=n[5],i[o+6]=n[6],i[o+7]=n[7]}function r(e,i,o){t[0]=e,i[o]=n[7],i[o+1]=n[6],i[o+2]=n[5],i[o+3]=n[4],i[o+4]=n[3],i[o+5]=n[2],i[o+6]=n[1],i[o+7]=n[0]}function a(e,i){return n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],n[4]=e[i+4],n[5]=e[i+5],n[6]=e[i+6],n[7]=e[i+7],t[0]}function s(e,i){return n[7]=e[i],n[6]=e[i+1],n[5]=e[i+2],n[4]=e[i+3],n[3]=e[i+4],n[2]=e[i+5],n[1]=e[i+6],n[0]=e[i+7],t[0]}e.writeDoubleLE=i?o:r,e.writeDoubleBE=i?r:o,e.readDoubleLE=i?a:s,e.readDoubleBE=i?s:a}():function(){function t(e,t,n,i,o,r){var a=i<0?1:0;if(a&&(i=-i),0===i)e(0,o,r+t),e(1/i>0?0:2147483648,o,r+n);else if(isNaN(i))e(0,o,r+t),e(2146959360,o,r+n);else if(i>17976931348623157e292)e(0,o,r+t),e((a<<31|2146435072)>>>0,o,r+n);else{var s;if(i<22250738585072014e-324)s=i/5e-324,e(s>>>0,o,r+t),e((a<<31|s/4294967296)>>>0,o,r+n);else{var c=Math.floor(Math.log(i)/Math.LN2);1024===c&&(c=1023),s=i*Math.pow(2,-c),e(4503599627370496*s>>>0,o,r+t),e((a<<31|c+1023<<20|1048576*s&1048575)>>>0,o,r+n)}}}function n(e,t,n,i,o){var r=e(i,o+t),a=e(i,o+n),s=2*(a>>31)+1,c=a>>>20&2047,l=4294967296*(1048575&a)+r;return 2047===c?l?NaN:s*(1/0):0===c?5e-324*s*l:s*Math.pow(2,c-1075)*(l+4503599627370496)}e.writeDoubleLE=t.bind(null,o,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=n.bind(null,a,0,4),e.readDoubleBE=n.bind(null,s,4,0)}(),e}function o(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}t.exports=i(i)},{}],5:[function(require,module,exports){function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},{}],6:[function(e,t,n){function i(e,t,n){var i=n||8192,o=i>>>1,r=null,a=i;return function(n){if(n<1||n>o)return e(n);a+n>i&&(r=e(i),a=0);var s=t.call(r,a,a+=n);return 7&a&&(a=1+(7|a)),s}}t.exports=i},{}],7:[function(e,t,n){var i=n;i.length=function(e){for(var t=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?t+=1:n<2048?t+=2:55296===(64512&n)&&56320===(64512&e.charCodeAt(i+1))?(++i,t+=4):t+=3;return t},i.read=function(e,t,n){var i=n-t;if(i<1)return"";var o,r=null,a=[],s=0;while(t<n)o=e[t++],o<128?a[s++]=o:o>191&&o<224?a[s++]=(31&o)<<6|63&e[t++]:o>239&&o<365?(o=((7&o)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,a[s++]=55296+(o>>10),a[s++]=56320+(1023&o)):a[s++]=(15&o)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,a)),s=0);return r?(s&&r.push(String.fromCharCode.apply(String,a.slice(0,s))),r.join("")):String.fromCharCode.apply(String,a.slice(0,s))},i.write=function(e,t,n){for(var i,o,r=n,a=0;a<e.length;++a)i=e.charCodeAt(a),i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=63&i|128):55296===(64512&i)&&56320===(64512&(o=e.charCodeAt(a+1)))?(i=65536+((1023&i)<<10)+(1023&o),++a,t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=63&i|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=63&i|128);return n-r}},{}],8:[function(e,t,n){var i=n;function o(){i.Reader._configure(i.BufferReader),i.util._configure()}i.build="minimal",i.roots={},i.Writer=e(15),i.BufferWriter=e(16),i.Reader=e(9),i.BufferReader=e(10),i.util=e(14),i.rpc=e(11),i.configure=o,i.Writer._configure(i.BufferWriter),o()},{10:10,11:11,14:14,15:15,16:16,9:9}],9:[function(e,t,n){t.exports=c;var i,o=e(14),r=o.LongBits,a=o.utf8;function s(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var l="undefined"!==typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")};function u(){var e=new r(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw s(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw s(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function d(){if(this.pos+8>this.len)throw s(this,8);return new r(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new i(e):l(e)})(e)}:l,c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,s(this,10);return e}}(),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw s(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw s(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw s(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw s(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw s(this,e);return this.pos+=e,t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return a.read(e,0,e.length)},c.prototype.skip=function(e){if("number"===typeof e){if(this.pos+e>this.len)throw s(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw s(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:do{if(4===(e=7&this.uint32()))break;this.skipType(e)}while(1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){i=e;var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return u.call(this)[t](!1)},uint64:function(){return u.call(this)[t](!0)},sint64:function(){return u.call(this).zzDecode()[t](!1)},fixed64:function(){return d.call(this)[t](!0)},sfixed64:function(){return d.call(this)[t](!1)}})}},{14:14}],10:[function(e,t,n){t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(14);function r(e){i.call(this,e)}o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice),r.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len))}},{14:14,9:9}],11:[function(e,t,n){var i=n;i.Service=e(12)},{12:12}],12:[function(e,t,n){t.exports=o;var i=e(14);function o(e,t,n){if("function"!==typeof e)throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,n,o,r,a){if(!r)throw TypeError("request must be specified");var s=this;if(!a)return i.asPromise(e,s,t,n,o,r);if(!s.rpcImpl)return setTimeout((function(){a(Error("already ended"))}),0),undefined$1;try{return s.rpcImpl(t,n[s.requestDelimited?"encodeDelimited":"encode"](r).finish(),(function(e,n){if(e)return s.emit("error",e,t),a(e);if(null===n)return s.end(!0),undefined$1;if(!(n instanceof o))try{n=o[s.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return s.emit("error",e,t),a(e)}return s.emit("data",n,t),a(null,n)}))}catch(c){return s.emit("error",c,t),setTimeout((function(){a(c)}),0),undefined$1}},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{14:14}],13:[function(e,t,n){t.exports=o;var i=e(14);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var a=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return r;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new o(n,i)},o.from=function(e){if("number"===typeof e)return o.fromNumber(e);if(i.isString(e)){if(!i.Long)return o.fromNumber(parseInt(e,10));e=i.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):r},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var s=String.prototype.charCodeAt;o.fromHash=function(e){return e===a?r:new o((s.call(e,0)|s.call(e,1)<<8|s.call(e,2)<<16|s.call(e,3)<<24)>>>0,(s.call(e,4)|s.call(e,5)<<8|s.call(e,6)<<16|s.call(e,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},{14:14}],14:[function(e,t,n){var i=n;function o(e,t,n){for(var i=Object.keys(t),o=0;o<i.length;++o)e[i[o]]!==undefined$1&&n||(e[i[o]]=t[i[o]]);return e}function r(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&o(this,n)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(13),i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isNode=Boolean(global.process&&global.process.versions&&global.process.versions.node),i.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},i.isString=function(e){return"string"===typeof e||e instanceof String},i.isObject=function(e){return e&&"object"===typeof e},i.isset=i.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!==typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},i.Buffer=function(){try{var e=i.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(t){return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(e){return"number"===typeof e?i.Buffer?i._Buffer_allocUnsafe(e):new i.Array(e):i.Buffer?i._Buffer_from(e):"undefined"===typeof Uint8Array?e:new Uint8Array(e)},i.Array="undefined"!==typeof Uint8Array?Uint8Array:Array,i.Long=global.dcodeIO&&global.dcodeIO.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(e){return e?i.LongBits.from(e).toHash():i.LongBits.zeroHash},i.longFromHash=function(e,t){var n=i.LongBits.fromHash(e);return i.Long?i.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},i.merge=o,i.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&this[e[n]]!==undefined$1&&null!==this[e[n]])return e[n]}},i.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},i.lazyResolve=function(e,t){for(var n=0;n<t.length;++n)for(var i=Object.keys(t[n]),o=0;o<i.length;++o){var r=t[n][i[o]].split("."),a=e;while(r.length)a=a[r.shift()];t[n][i[o]]=a}},i.toJSONOptions={longs:String,enums:String,bytes:String},i._configure=function(){var e=i.Buffer;e?(i._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},i._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):i._Buffer_from=i._Buffer_allocUnsafe=null}},{1:1,13:13,2:2,3:3,4:4,5:5,6:6,7:7}],15:[function(e,t,n){t.exports=h;var i,o=e(14),r=o.LongBits,a=o.base64,s=o.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=undefined$1,this.val=n}function l(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function h(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}function d(e,t,n){t[n]=255&e}function f(e,t,n){while(e>127)t[n++]=127&e|128,e>>>=7;t[n]=e}function p(e,t){this.len=e,this.next=undefined$1,this.val=t}function m(e,t,n){while(e.hi)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;while(e.lo>127)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function _(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}h.create=o.Buffer?function(){return(h.create=function(){return new i})()}:function(){return new h},h.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(h.alloc=o.pool(h.alloc,o.Array.prototype.subarray)),h.prototype.push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},p.prototype=Object.create(c.prototype),p.prototype.fn=f,h.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new p((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},h.prototype.int32=function(e){return e<0?this.push(m,10,r.fromNumber(e)):this.uint32(e)},h.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},h.prototype.uint64=function(e){var t=r.from(e);return this.push(m,t.length(),t)},h.prototype.int64=h.prototype.uint64,h.prototype.sint64=function(e){var t=r.from(e).zzEncode();return this.push(m,t.length(),t)},h.prototype.bool=function(e){return this.push(d,1,e?1:0)},h.prototype.fixed32=function(e){return this.push(_,4,e>>>0)},h.prototype.sfixed32=h.prototype.fixed32,h.prototype.fixed64=function(e){var t=r.from(e);return this.push(_,4,t.lo).push(_,4,t.hi)},h.prototype.sfixed64=h.prototype.fixed64,h.prototype.float=function(e){return this.push(o.float.writeFloatLE,4,e)},h.prototype.double=function(e){return this.push(o.float.writeDoubleLE,8,e)};var g=o.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i<e.length;++i)t[n+i]=e[i]};h.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this.push(d,1,0);if(o.isString(e)){var n=h.alloc(t=a.length(e));a.decode(e,n,0),e=n}return this.uint32(t).push(g,t,e)},h.prototype.string=function(e){var t=s.length(e);return t?this.uint32(t).push(s.write,t,e):this.push(d,1,0)},h.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(l,0,0),this.len=0,this},h.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},h.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},h.prototype.finish=function(){var e=this.head.next,t=this.constructor.alloc(this.len),n=0;while(e)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},h._configure=function(e){i=e}},{14:14}],16:[function(e,t,n){t.exports=a;var i=e(15);(a.prototype=Object.create(i.prototype)).constructor=a;var o=e(14),r=o.Buffer;function a(){i.call(this)}a.alloc=function(e){return(a.alloc=o._Buffer_allocUnsafe)(e)};var s=r&&r.prototype instanceof Uint8Array&&"set"===r.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i<e.length;)t[n++]=e[i++]};function c(e,t,n){e.length<40?o.utf8.write(e,t,n):t.utf8Write(e,n)}a.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this.push(s,t,e),this},a.prototype.string=function(e){var t=r.byteLength(e);return this.uint32(t),t&&this.push(c,t,e),this}},{14:14,15:15}]},{},[8])})("object"===typeof window&&window||"object"===typeof self&&self||_commonjsHelpers_3aae1032_js__WEBPACK_IMPORTED_MODULE_0__["a"])})),protobuf$1=_mergeNamespaces({__proto__:null,default:protobuf},[protobuf])},"9bdd":function(e,t,n){var i=n("825a"),o=n("2a62");e.exports=function(e,t,n,r){try{return r?t(i(n)[0],n[1]):t(n)}catch(a){o(e,"throw",a)}}},"9c35":function(e,t,n){"use strict";function i(){let e,t;const n=new Promise((function(n,i){e=n,t=i}));return{resolve:e,reject:t,promise:n}}t["a"]=i},"9e6e":function(e,t,n){"use strict";var i=n("be7f"),o=n("c834"),r=n("eeda"),a=n("7eb1"),s=n("6853"),c=0,l=1,u=2,h=4,d=5,f=6,p=0,m=1,_=2,g=-2,b=-3,y=-4,v=-5,O=8,w=1,A=2,T=3,C=4,E=5,x=6,S=7,I=8,D=9,j=10,P=11,R=12,M=13,N=14,L=15,B=16,F=17,k=18,z=19,U=20,V=21,H=22,G=23,q=24,W=25,Y=26,X=27,K=28,J=29,Z=30,$=31,Q=32,ee=852,te=592,ne=15,ie=ne;function oe(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function re(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ae(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=w,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(ee),t.distcode=t.distdyn=new i.Buf32(te),t.sane=1,t.back=-1,p):g}function se(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,ae(e)):g}function ce(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?g:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,se(e))):g}function le(e,t){var n,i;return e?(i=new re,e.state=i,i.window=null,n=ce(e,t),n!==p&&(e.state=null),n):g}function ue(e){return le(e,ie)}var he,de,fe=!0;function pe(e){if(fe){var t;he=new i.Buf32(512),de=new i.Buf32(32),t=0;while(t<144)e.lens[t++]=8;while(t<256)e.lens[t++]=9;while(t<280)e.lens[t++]=7;while(t<288)e.lens[t++]=8;s(l,e.lens,0,288,he,0,e.work,{bits:9}),t=0;while(t<32)e.lens[t++]=5;s(u,e.lens,0,32,de,0,e.work,{bits:5}),fe=!1}e.lencode=he,e.lenbits=9,e.distcode=de,e.distbits=5}function me(e,t,n,o){var r,a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new i.Buf8(a.wsize)),o>=a.wsize?(i.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>o&&(r=o),i.arraySet(a.window,t,n-o,r,a.wnext),o-=r,o?(i.arraySet(a.window,t,n-o,o,0),a.wnext=o,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0}function _e(e,t){var n,ee,te,ne,ie,re,ae,se,ce,le,ue,he,de,fe,_e,ge,be,ye,ve,Oe,we,Ae,Te,Ce,Ee=0,xe=new i.Buf8(4),Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return g;n=e.state,n.mode===R&&(n.mode=M),ie=e.next_out,te=e.output,ae=e.avail_out,ne=e.next_in,ee=e.input,re=e.avail_in,se=n.hold,ce=n.bits,le=re,ue=ae,Ae=p;e:for(;;)switch(n.mode){case w:if(0===n.wrap){n.mode=M;break}while(ce<16){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(2&n.wrap&&35615===se){n.check=0,xe[0]=255&se,xe[1]=se>>>8&255,n.check=r(n.check,xe,2,0),se=0,ce=0,n.mode=A;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&se)<<8)+(se>>8))%31){e.msg="incorrect header check",n.mode=Z;break}if((15&se)!==O){e.msg="unknown compression method",n.mode=Z;break}if(se>>>=4,ce-=4,we=8+(15&se),0===n.wbits)n.wbits=we;else if(we>n.wbits){e.msg="invalid window size",n.mode=Z;break}n.dmax=1<<we,e.adler=n.check=1,n.mode=512&se?j:R,se=0,ce=0;break;case A:while(ce<16){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(n.flags=se,(255&n.flags)!==O){e.msg="unknown compression method",n.mode=Z;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=Z;break}n.head&&(n.head.text=se>>8&1),512&n.flags&&(xe[0]=255&se,xe[1]=se>>>8&255,n.check=r(n.check,xe,2,0)),se=0,ce=0,n.mode=T;case T:while(ce<32){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.head&&(n.head.time=se),512&n.flags&&(xe[0]=255&se,xe[1]=se>>>8&255,xe[2]=se>>>16&255,xe[3]=se>>>24&255,n.check=r(n.check,xe,4,0)),se=0,ce=0,n.mode=C;case C:while(ce<16){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.head&&(n.head.xflags=255&se,n.head.os=se>>8),512&n.flags&&(xe[0]=255&se,xe[1]=se>>>8&255,n.check=r(n.check,xe,2,0)),se=0,ce=0,n.mode=E;case E:if(1024&n.flags){while(ce<16){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.length=se,n.head&&(n.head.extra_len=se),512&n.flags&&(xe[0]=255&se,xe[1]=se>>>8&255,n.check=r(n.check,xe,2,0)),se=0,ce=0}else n.head&&(n.head.extra=null);n.mode=x;case x:if(1024&n.flags&&(he=n.length,he>re&&(he=re),he&&(n.head&&(we=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,ee,ne,he,we)),512&n.flags&&(n.check=r(n.check,ee,he,ne)),re-=he,ne+=he,n.length-=he),n.length))break e;n.length=0,n.mode=S;case S:if(2048&n.flags){if(0===re)break e;he=0;do{we=ee[ne+he++],n.head&&we&&n.length<65536&&(n.head.name+=String.fromCharCode(we))}while(we&&he<re);if(512&n.flags&&(n.check=r(n.check,ee,he,ne)),re-=he,ne+=he,we)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=I;case I:if(4096&n.flags){if(0===re)break e;he=0;do{we=ee[ne+he++],n.head&&we&&n.length<65536&&(n.head.comment+=String.fromCharCode(we))}while(we&&he<re);if(512&n.flags&&(n.check=r(n.check,ee,he,ne)),re-=he,ne+=he,we)break e}else n.head&&(n.head.comment=null);n.mode=D;case D:if(512&n.flags){while(ce<16){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(se!==(65535&n.check)){e.msg="header crc mismatch",n.mode=Z;break}se=0,ce=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=R;break;case j:while(ce<32){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}e.adler=n.check=oe(se),se=0,ce=0,n.mode=P;case P:if(0===n.havedict)return e.next_out=ie,e.avail_out=ae,e.next_in=ne,e.avail_in=re,n.hold=se,n.bits=ce,_;e.adler=n.check=1,n.mode=R;case R:if(t===d||t===f)break e;case M:if(n.last){se>>>=7&ce,ce-=7&ce,n.mode=X;break}while(ce<3){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}switch(n.last=1&se,se>>>=1,ce-=1,3&se){case 0:n.mode=N;break;case 1:if(pe(n),n.mode=U,t===f){se>>>=2,ce-=2;break e}break;case 2:n.mode=F;break;case 3:e.msg="invalid block type",n.mode=Z}se>>>=2,ce-=2;break;case N:se>>>=7&ce,ce-=7&ce;while(ce<32){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if((65535&se)!==(se>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Z;break}if(n.length=65535&se,se=0,ce=0,n.mode=L,t===f)break e;case L:n.mode=B;case B:if(he=n.length,he){if(he>re&&(he=re),he>ae&&(he=ae),0===he)break e;i.arraySet(te,ee,ne,he,ie),re-=he,ne+=he,ae-=he,ie+=he,n.length-=he;break}n.mode=R;break;case F:while(ce<14){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(n.nlen=257+(31&se),se>>>=5,ce-=5,n.ndist=1+(31&se),se>>>=5,ce-=5,n.ncode=4+(15&se),se>>>=4,ce-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Z;break}n.have=0,n.mode=k;case k:while(n.have<n.ncode){while(ce<3){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.lens[Se[n.have++]]=7&se,se>>>=3,ce-=3}while(n.have<19)n.lens[Se[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,Te={bits:n.lenbits},Ae=s(c,n.lens,0,19,n.lencode,0,n.work,Te),n.lenbits=Te.bits,Ae){e.msg="invalid code lengths set",n.mode=Z;break}n.have=0,n.mode=z;case z:while(n.have<n.nlen+n.ndist){for(;;){if(Ee=n.lencode[se&(1<<n.lenbits)-1],_e=Ee>>>24,ge=Ee>>>16&255,be=65535&Ee,_e<=ce)break;if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(be<16)se>>>=_e,ce-=_e,n.lens[n.have++]=be;else{if(16===be){Ce=_e+2;while(ce<Ce){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(se>>>=_e,ce-=_e,0===n.have){e.msg="invalid bit length repeat",n.mode=Z;break}we=n.lens[n.have-1],he=3+(3&se),se>>>=2,ce-=2}else if(17===be){Ce=_e+3;while(ce<Ce){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}se>>>=_e,ce-=_e,we=0,he=3+(7&se),se>>>=3,ce-=3}else{Ce=_e+7;while(ce<Ce){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}se>>>=_e,ce-=_e,we=0,he=11+(127&se),se>>>=7,ce-=7}if(n.have+he>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Z;break}while(he--)n.lens[n.have++]=we}}if(n.mode===Z)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Z;break}if(n.lenbits=9,Te={bits:n.lenbits},Ae=s(l,n.lens,0,n.nlen,n.lencode,0,n.work,Te),n.lenbits=Te.bits,Ae){e.msg="invalid literal/lengths set",n.mode=Z;break}if(n.distbits=6,n.distcode=n.distdyn,Te={bits:n.distbits},Ae=s(u,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,Te),n.distbits=Te.bits,Ae){e.msg="invalid distances set",n.mode=Z;break}if(n.mode=U,t===f)break e;case U:n.mode=V;case V:if(re>=6&&ae>=258){e.next_out=ie,e.avail_out=ae,e.next_in=ne,e.avail_in=re,n.hold=se,n.bits=ce,a(e,ue),ie=e.next_out,te=e.output,ae=e.avail_out,ne=e.next_in,ee=e.input,re=e.avail_in,se=n.hold,ce=n.bits,n.mode===R&&(n.back=-1);break}for(n.back=0;;){if(Ee=n.lencode[se&(1<<n.lenbits)-1],_e=Ee>>>24,ge=Ee>>>16&255,be=65535&Ee,_e<=ce)break;if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(ge&&0===(240&ge)){for(ye=_e,ve=ge,Oe=be;;){if(Ee=n.lencode[Oe+((se&(1<<ye+ve)-1)>>ye)],_e=Ee>>>24,ge=Ee>>>16&255,be=65535&Ee,ye+_e<=ce)break;if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}se>>>=ye,ce-=ye,n.back+=ye}if(se>>>=_e,ce-=_e,n.back+=_e,n.length=be,0===ge){n.mode=Y;break}if(32&ge){n.back=-1,n.mode=R;break}if(64&ge){e.msg="invalid literal/length code",n.mode=Z;break}n.extra=15&ge,n.mode=H;case H:if(n.extra){Ce=n.extra;while(ce<Ce){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.length+=se&(1<<n.extra)-1,se>>>=n.extra,ce-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=G;case G:for(;;){if(Ee=n.distcode[se&(1<<n.distbits)-1],_e=Ee>>>24,ge=Ee>>>16&255,be=65535&Ee,_e<=ce)break;if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(0===(240&ge)){for(ye=_e,ve=ge,Oe=be;;){if(Ee=n.distcode[Oe+((se&(1<<ye+ve)-1)>>ye)],_e=Ee>>>24,ge=Ee>>>16&255,be=65535&Ee,ye+_e<=ce)break;if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}se>>>=ye,ce-=ye,n.back+=ye}if(se>>>=_e,ce-=_e,n.back+=_e,64&ge){e.msg="invalid distance code",n.mode=Z;break}n.offset=be,n.extra=15&ge,n.mode=q;case q:if(n.extra){Ce=n.extra;while(ce<Ce){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}n.offset+=se&(1<<n.extra)-1,se>>>=n.extra,ce-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Z;break}n.mode=W;case W:if(0===ae)break e;if(he=ue-ae,n.offset>he){if(he=n.offset-he,he>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Z;break}he>n.wnext?(he-=n.wnext,de=n.wsize-he):de=n.wnext-he,he>n.length&&(he=n.length),fe=n.window}else fe=te,de=ie-n.offset,he=n.length;he>ae&&(he=ae),ae-=he,n.length-=he;do{te[ie++]=fe[de++]}while(--he);0===n.length&&(n.mode=V);break;case Y:if(0===ae)break e;te[ie++]=n.length,ae--,n.mode=V;break;case X:if(n.wrap){while(ce<32){if(0===re)break e;re--,se|=ee[ne++]<<ce,ce+=8}if(ue-=ae,e.total_out+=ue,n.total+=ue,ue&&(e.adler=n.check=n.flags?r(n.check,te,ue,ie-ue):o(n.check,te,ue,ie-ue)),ue=ae,(n.flags?se:oe(se))!==n.check){e.msg="incorrect data check",n.mode=Z;break}se=0,ce=0}n.mode=K;case K:if(n.wrap&&n.flags){while(ce<32){if(0===re)break e;re--,se+=ee[ne++]<<ce,ce+=8}if(se!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=Z;break}se=0,ce=0}n.mode=J;case J:Ae=m;break e;case Z:Ae=b;break e;case $:return y;case Q:default:return g}return e.next_out=ie,e.avail_out=ae,e.next_in=ne,e.avail_in=re,n.hold=se,n.bits=ce,(n.wsize||ue!==e.avail_out&&n.mode<Z&&(n.mode<X||t!==h))&&me(e,e.output,e.next_out,ue-e.avail_out)?(n.mode=$,y):(le-=e.avail_in,ue-=e.avail_out,e.total_in+=le,e.total_out+=ue,n.total+=ue,n.wrap&&ue&&(e.adler=n.check=n.flags?r(n.check,te,ue,e.next_out-ue):o(n.check,te,ue,e.next_out-ue)),e.data_type=n.bits+(n.last?64:0)+(n.mode===R?128:0)+(n.mode===U||n.mode===L?256:0),(0===le&&0===ue||t===h)&&Ae===p&&(Ae=v),Ae)}function ge(e){if(!e||!e.state)return g;var t=e.state;return t.window&&(t.window=null),e.state=null,p}function be(e,t){var n;return e&&e.state?(n=e.state,0===(2&n.wrap)?g:(n.head=t,t.done=!1,p)):g}function ye(e,t){var n,i,r,a=t.length;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==P?g:n.mode===P&&(i=1,i=o(i,t,a,0),i!==n.check)?b:(r=me(e,t,a,a),r?(n.mode=$,y):(n.havedict=1,p))):g}t.inflateReset=se,t.inflateReset2=ce,t.inflateResetKeep=ae,t.inflateInit=ue,t.inflateInit2=le,t.inflate=_e,t.inflateEnd=ge,t.inflateGetHeader=be,t.inflateSetDictionary=ye,t.inflateInfo="pako inflate (from Nodeca project)"},a177:function(e,t,n){"use strict";var i,o=n("be7f"),r=n("07f4"),a=n("c834"),s=n("eeda"),c=n("4dc6"),l=0,u=1,h=3,d=4,f=5,p=0,m=1,_=-2,g=-3,b=-5,y=-1,v=1,O=2,w=3,A=4,T=0,C=2,E=8,x=9,S=15,I=8,D=29,j=256,P=j+1+D,R=30,M=19,N=2*P+1,L=15,B=3,F=258,k=F+B+1,z=32,U=42,V=69,H=73,G=91,q=103,W=113,Y=666,X=1,K=2,J=3,Z=4,$=3;function Q(e,t){return e.msg=c[t],t}function ee(e){return(e<<1)-(e>4?9:0)}function te(e){var t=e.length;while(--t>=0)e[t]=0}function ne(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(o.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function ie(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ne(e.strm)}function oe(e,t){e.pending_buf[e.pending++]=t}function re(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ae(e,t,n,i){var r=e.avail_in;return r>i&&(r=i),0===r?0:(e.avail_in-=r,o.arraySet(t,e.input,e.next_in,r,n),1===e.state.wrap?e.adler=a(e.adler,t,r,n):2===e.state.wrap&&(e.adler=s(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)}function se(e,t){var n,i,o=e.max_chain_length,r=e.strstart,a=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-k?e.strstart-(e.w_size-k):0,l=e.window,u=e.w_mask,h=e.prev,d=e.strstart+F,f=l[r+a-1],p=l[r+a];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(n=t,l[n+a]===p&&l[n+a-1]===f&&l[n]===l[r]&&l[++n]===l[r+1]){r+=2,n++;do{}while(l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&r<d);if(i=F-(d-r),r=d-F,i>a){if(e.match_start=t,a=i,i>=s)break;f=l[r+a-1],p=l[r+a]}}}while((t=h[t&u])>c&&0!==--o);return a<=e.lookahead?a:e.lookahead}function ce(e){var t,n,i,r,a,s=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=s+(s-k)){o.arraySet(e.window,e.window,s,s,0),e.match_start-=s,e.strstart-=s,e.block_start-=s,n=e.hash_size,t=n;do{i=e.head[--t],e.head[t]=i>=s?i-s:0}while(--n);n=s,t=n;do{i=e.prev[--t],e.prev[t]=i>=s?i-s:0}while(--n);r+=s}if(0===e.strm.avail_in)break;if(n=ae(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=B){a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;while(e.insert)if(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+B-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,e.lookahead+e.insert<B)break}}while(e.lookahead<k&&0!==e.strm.avail_in)}function le(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(ce(e),0===e.lookahead&&t===l)return X;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,ie(e,!1),0===e.strm.avail_out))return X;if(e.strstart-e.block_start>=e.w_size-k&&(ie(e,!1),0===e.strm.avail_out))return X}return e.insert=0,t===d?(ie(e,!0),0===e.strm.avail_out?J:Z):(e.strstart>e.block_start&&(ie(e,!1),e.strm.avail_out),X)}function ue(e,t){for(var n,i;;){if(e.lookahead<k){if(ce(e),e.lookahead<k&&t===l)return X;if(0===e.lookahead)break}if(n=0,e.lookahead>=B&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-k&&(e.match_length=se(e,n)),e.match_length>=B)if(i=r._tr_tally(e,e.strstart-e.match_start,e.match_length-B),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=B){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ie(e,!1),0===e.strm.avail_out))return X}return e.insert=e.strstart<B-1?e.strstart:B-1,t===d?(ie(e,!0),0===e.strm.avail_out?J:Z):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?X:K}function he(e,t){for(var n,i,o;;){if(e.lookahead<k){if(ce(e),e.lookahead<k&&t===l)return X;if(0===e.lookahead)break}if(n=0,e.lookahead>=B&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=B-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-k&&(e.match_length=se(e,n),e.match_length<=5&&(e.strategy===v||e.match_length===B&&e.strstart-e.match_start>4096)&&(e.match_length=B-1)),e.prev_length>=B&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-B,i=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-B),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=B-1,e.strstart++,i&&(ie(e,!1),0===e.strm.avail_out))return X}else if(e.match_available){if(i=r._tr_tally(e,0,e.window[e.strstart-1]),i&&ie(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return X}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=r._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<B-1?e.strstart:B-1,t===d?(ie(e,!0),0===e.strm.avail_out?J:Z):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?X:K}function de(e,t){for(var n,i,o,a,s=e.window;;){if(e.lookahead<=F){if(ce(e),e.lookahead<=F&&t===l)return X;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=B&&e.strstart>0&&(o=e.strstart-1,i=s[o],i===s[++o]&&i===s[++o]&&i===s[++o])){a=e.strstart+F;do{}while(i===s[++o]&&i===s[++o]&&i===s[++o]&&i===s[++o]&&i===s[++o]&&i===s[++o]&&i===s[++o]&&i===s[++o]&&o<a);e.match_length=F-(a-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=B?(n=r._tr_tally(e,1,e.match_length-B),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ie(e,!1),0===e.strm.avail_out))return X}return e.insert=0,t===d?(ie(e,!0),0===e.strm.avail_out?J:Z):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?X:K}function fe(e,t){for(var n;;){if(0===e.lookahead&&(ce(e),0===e.lookahead)){if(t===l)return X;break}if(e.match_length=0,n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ie(e,!1),0===e.strm.avail_out))return X}return e.insert=0,t===d?(ie(e,!0),0===e.strm.avail_out?J:Z):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?X:K}function pe(e,t,n,i,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=o}function me(e){e.window_size=2*e.w_size,te(e.head),e.max_lazy_match=i[e.level].max_lazy,e.good_match=i[e.level].good_length,e.nice_match=i[e.level].nice_length,e.max_chain_length=i[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=B-1,e.match_available=0,e.ins_h=0}function _e(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=E,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*N),this.dyn_dtree=new o.Buf16(2*(2*R+1)),this.bl_tree=new o.Buf16(2*(2*M+1)),te(this.dyn_ltree),te(this.dyn_dtree),te(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(L+1),this.heap=new o.Buf16(2*P+1),te(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*P+1),te(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ge(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=C,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?U:W,e.adler=2===t.wrap?0:1,t.last_flush=l,r._tr_init(t),p):Q(e,_)}function be(e){var t=ge(e);return t===p&&me(e.state),t}function ye(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,p):_}function ve(e,t,n,i,r,a){if(!e)return _;var s=1;if(t===y&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>x||n!==E||i<8||i>15||t<0||t>9||a<0||a>A)return Q(e,_);8===i&&(i=9);var c=new _e;return e.state=c,c.strm=e,c.wrap=s,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=r+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+B-1)/B),c.window=new o.Buf8(2*c.w_size),c.head=new o.Buf16(c.hash_size),c.prev=new o.Buf16(c.w_size),c.lit_bufsize=1<<r+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new o.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=t,c.strategy=a,c.method=n,be(e)}function Oe(e,t){return ve(e,t,E,S,I,T)}function we(e,t){var n,o,a,c;if(!e||!e.state||t>f||t<0)return e?Q(e,_):_;if(o=e.state,!e.output||!e.input&&0!==e.avail_in||o.status===Y&&t!==d)return Q(e,0===e.avail_out?b:_);if(o.strm=e,n=o.last_flush,o.last_flush=t,o.status===U)if(2===o.wrap)e.adler=0,oe(o,31),oe(o,139),oe(o,8),o.gzhead?(oe(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),oe(o,255&o.gzhead.time),oe(o,o.gzhead.time>>8&255),oe(o,o.gzhead.time>>16&255),oe(o,o.gzhead.time>>24&255),oe(o,9===o.level?2:o.strategy>=O||o.level<2?4:0),oe(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(oe(o,255&o.gzhead.extra.length),oe(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(e.adler=s(e.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=V):(oe(o,0),oe(o,0),oe(o,0),oe(o,0),oe(o,0),oe(o,9===o.level?2:o.strategy>=O||o.level<2?4:0),oe(o,$),o.status=W);else{var g=E+(o.w_bits-8<<4)<<8,y=-1;y=o.strategy>=O||o.level<2?0:o.level<6?1:6===o.level?2:3,g|=y<<6,0!==o.strstart&&(g|=z),g+=31-g%31,o.status=W,re(o,g),0!==o.strstart&&(re(o,e.adler>>>16),re(o,65535&e.adler)),e.adler=1}if(o.status===V)if(o.gzhead.extra){a=o.pending;while(o.gzindex<(65535&o.gzhead.extra.length)){if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),ne(e),a=o.pending,o.pending===o.pending_buf_size))break;oe(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++}o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=H)}else o.status=H;if(o.status===H)if(o.gzhead.name){a=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),ne(e),a=o.pending,o.pending===o.pending_buf_size)){c=1;break}c=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,oe(o,c)}while(0!==c);o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),0===c&&(o.gzindex=0,o.status=G)}else o.status=G;if(o.status===G)if(o.gzhead.comment){a=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),ne(e),a=o.pending,o.pending===o.pending_buf_size)){c=1;break}c=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,oe(o,c)}while(0!==c);o.gzhead.hcrc&&o.pending>a&&(e.adler=s(e.adler,o.pending_buf,o.pending-a,a)),0===c&&(o.status=q)}else o.status=q;if(o.status===q&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&ne(e),o.pending+2<=o.pending_buf_size&&(oe(o,255&e.adler),oe(o,e.adler>>8&255),e.adler=0,o.status=W)):o.status=W),0!==o.pending){if(ne(e),0===e.avail_out)return o.last_flush=-1,p}else if(0===e.avail_in&&ee(t)<=ee(n)&&t!==d)return Q(e,b);if(o.status===Y&&0!==e.avail_in)return Q(e,b);if(0!==e.avail_in||0!==o.lookahead||t!==l&&o.status!==Y){var v=o.strategy===O?fe(o,t):o.strategy===w?de(o,t):i[o.level].func(o,t);if(v!==J&&v!==Z||(o.status=Y),v===X||v===J)return 0===e.avail_out&&(o.last_flush=-1),p;if(v===K&&(t===u?r._tr_align(o):t!==f&&(r._tr_stored_block(o,0,0,!1),t===h&&(te(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),ne(e),0===e.avail_out))return o.last_flush=-1,p}return t!==d?p:o.wrap<=0?m:(2===o.wrap?(oe(o,255&e.adler),oe(o,e.adler>>8&255),oe(o,e.adler>>16&255),oe(o,e.adler>>24&255),oe(o,255&e.total_in),oe(o,e.total_in>>8&255),oe(o,e.total_in>>16&255),oe(o,e.total_in>>24&255)):(re(o,e.adler>>>16),re(o,65535&e.adler)),ne(e),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?p:m)}function Ae(e){var t;return e&&e.state?(t=e.state.status,t!==U&&t!==V&&t!==H&&t!==G&&t!==q&&t!==W&&t!==Y?Q(e,_):(e.state=null,t===W?Q(e,g):p)):_}function Te(e,t){var n,i,r,s,c,l,u,h,d=t.length;if(!e||!e.state)return _;if(n=e.state,s=n.wrap,2===s||1===s&&n.status!==U||n.lookahead)return _;1===s&&(e.adler=a(e.adler,t,d,0)),n.wrap=0,d>=n.w_size&&(0===s&&(te(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new o.Buf8(n.w_size),o.arraySet(h,t,d-n.w_size,n.w_size,0),t=h,d=n.w_size),c=e.avail_in,l=e.next_in,u=e.input,e.avail_in=d,e.next_in=0,e.input=t,ce(n);while(n.lookahead>=B){i=n.strstart,r=n.lookahead-(B-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+B-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++}while(--r);n.strstart=i,n.lookahead=B-1,ce(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=B-1,n.match_available=0,e.next_in=l,e.input=u,e.avail_in=c,n.wrap=s,p}i=[new pe(0,0,0,0,le),new pe(4,4,8,4,ue),new pe(4,5,16,8,ue),new pe(4,6,32,32,ue),new pe(4,4,16,16,he),new pe(8,16,32,32,he),new pe(8,16,128,128,he),new pe(8,32,128,256,he),new pe(32,128,258,1024,he),new pe(32,258,258,4096,he)],t.deflateInit=Oe,t.deflateInit2=ve,t.deflateReset=be,t.deflateResetKeep=ge,t.deflateSetHeader=ye,t.deflate=we,t.deflateEnd=Ae,t.deflateSetDictionary=Te,t.deflateInfo="pako deflate (from Nodeca project)"},a630:function(e,t,n){var i=n("23e7"),o=n("4df4"),r=n("1c7e"),a=!r((function(e){Array.from(e)}));i({target:"Array",stat:!0,forced:a},{from:o})},a734:function(e,t,n){"use strict";var i=n("881b"),o=n("535a"),r=n("2f63"),a=n("4f04");function s(e,t){let n;return"undefined"!==typeof document&&(n=document),s._implementation(e,t,n)}s._implementation=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("relative uri is required.");if(!Object(r["a"])(t)){if("undefined"===typeof n)return e;t=Object(o["a"])(n.baseURI,n.location.href)}const s=new i["a"](e);return""!==s.scheme()?s.toString():s.absoluteTo(t).toString()},t["a"]=s},a9f1:function(e,t,n){(function(e){t.fetch=s(e.fetch)&&s(e.ReadableStream),t.writableStream=s(e.WritableStream),t.abortController=s(e.AbortController),t.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),t.blobConstructor=!0}catch(c){}var n;function i(){if(void 0!==n)return n;if(e.XMLHttpRequest){n=new e.XMLHttpRequest;try{n.open("GET",e.XDomainRequest?"/":"https://example.com")}catch(c){n=null}}else n=null;return n}function o(e){var t=i();if(!t)return!1;try{return t.responseType=e,t.responseType===e}catch(c){}return!1}var r="undefined"!==typeof e.ArrayBuffer,a=r&&s(e.ArrayBuffer.prototype.slice);function s(e){return"function"===typeof e}t.arraybuffer=t.fetch||r&&o("arraybuffer"),t.msstream=!t.fetch&&a&&o("ms-stream"),t.mozchunkedarraybuffer=!t.fetch&&r&&o("moz-chunked-arraybuffer"),t.overrideMimeType=t.fetch||!!i()&&s(i().overrideMimeType),t.vbArray=s(e.VBArray),n=null}).call(this,n("c8ba"))},ad71:function(e,t,n){"use strict";(function(t,i){var o=n("966d");e.exports=w;var r,a=n("e3db");w.ReadableState=O;n("faa1").EventEmitter;var s=function(e,t){return e.listeners(t).length},c=n("429b"),l=n("8707").Buffer,u=t.Uint8Array||function(){};function h(e){return l.from(e)}function d(e){return l.isBuffer(e)||e instanceof u}var f=Object.create(n("3a7c"));f.inherits=n("3fb5");var p=n(3),m=void 0;m=p&&p.debuglog?p.debuglog("stream"):function(){};var _,g=n("5e1a"),b=n("4681");f.inherits(w,c);var y=["error","close","destroy","pause","resume"];function v(e,t,n){if("function"===typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?a(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function O(e,t){r=r||n("b19a"),e=e||{};var i=t instanceof r;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,a=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:i&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(_||(_=n("7d72").StringDecoder),this.decoder=new _(e.encoding),this.encoding=e.encoding)}function w(e){if(r=r||n("b19a"),!(this instanceof w))return new w(e);this._readableState=new O(e,this),this.readable=!0,e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function A(e,t,n,i,o){var r,a=e._readableState;null===t?(a.reading=!1,D(e,a)):(o||(r=C(a,t)),r?e.emit("error",r):a.objectMode||t&&t.length>0?("string"===typeof t||a.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=h(t)),i?a.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):T(e,a,t,!0):a.ended?e.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!n?(t=a.decoder.write(t),a.objectMode||0!==t.length?T(e,a,t,!1):R(e,a)):T(e,a,t,!1))):i||(a.reading=!1));return E(a)}function T(e,t,n,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&j(e)),R(e,t)}function C(e,t){var n;return d(t)||"string"===typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function E(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}Object.defineProperty(w.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),w.prototype.destroy=b.destroy,w.prototype._undestroy=b.undestroy,w.prototype._destroy=function(e,t){this.push(null),t(e)},w.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:"string"===typeof e&&(t=t||i.defaultEncoding,t!==i.encoding&&(e=l.from(e,t),t=""),n=!0),A(this,e,t,!1,n)},w.prototype.unshift=function(e){return A(this,e,null,!0,!1)},w.prototype.isPaused=function(){return!1===this._readableState.flowing},w.prototype.setEncoding=function(e){return _||(_=n("7d72").StringDecoder),this._readableState.decoder=new _(e),this._readableState.encoding=e,this};var x=8388608;function S(e){return e>=x?e=x:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function I(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=S(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function D(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,j(e)}}function j(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(m("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(P,e):P(e))}function P(e){m("emit readable"),e.emit("readable"),k(e)}function R(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(M,e,t))}function M(e,t){var n=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark){if(m("maybeReadMore read 0"),e.read(0),n===t.length)break;n=t.length}t.readingMore=!1}function N(e){return function(){var t=e._readableState;m("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,k(e))}}function L(e){m("readable nexttick read 0"),e.read(0)}function B(e,t){t.resumeScheduled||(t.resumeScheduled=!0,o.nextTick(F,e,t))}function F(e,t){t.reading||(m("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),k(e),t.flowing&&!t.reading&&e.read(0)}function k(e){var t=e._readableState;m("flow",t.flowing);while(t.flowing&&null!==e.read());}function z(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=U(e,t.buffer,t.decoder),n);var n}function U(e,t,n){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():n?V(e,t):H(e,t),i}function V(e,t){var n=t.head,i=1,o=n.data;e-=o.length;while(n=n.next){var r=n.data,a=e>r.length?r.length:e;if(a===r.length?o+=r:o+=r.slice(0,e),e-=a,0===e){a===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(a));break}++i}return t.length-=i,o}function H(e,t){var n=l.allocUnsafe(e),i=t.head,o=1;i.data.copy(n),e-=i.data.length;while(i=i.next){var r=i.data,a=e>r.length?r.length:e;if(r.copy(n,n.length-e,0,a),e-=a,0===e){a===r.length?(++o,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=r.slice(a));break}++o}return t.length-=o,n}function G(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(q,t,e))}function q(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function W(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}w.prototype.read=function(e){m("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return m("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):j(this),null;if(e=I(e,t),0===e&&t.ended)return 0===t.length&&G(this),null;var i,o=t.needReadable;return m("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&(o=!0,m("length less than watermark",o)),t.ended||t.reading?(o=!1,m("reading or ended",o)):o&&(m("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=I(n,t))),i=e>0?z(e,t):null,null===i?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&G(this)),null!==i&&this.emit("data",i),i},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e);break}r.pipesCount+=1,m("pipe count=%d opts=%j",r.pipesCount,t);var a=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr,c=a?u:O;function l(e,t){m("onunpipe"),e===n&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,f())}function u(){m("onend"),e.end()}r.endEmitted?o.nextTick(c):n.once("end",c),e.on("unpipe",l);var h=N(n);e.on("drain",h);var d=!1;function f(){m("cleanup"),e.removeListener("close",b),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",g),e.removeListener("unpipe",l),n.removeListener("end",u),n.removeListener("end",O),n.removeListener("data",_),d=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||h()}var p=!1;function _(t){m("ondata"),p=!1;var i=e.write(t);!1!==i||p||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==W(r.pipes,e))&&!d&&(m("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){m("onerror",t),O(),e.removeListener("error",g),0===s(e,"error")&&e.emit("error",t)}function b(){e.removeListener("finish",y),O()}function y(){m("onfinish"),e.removeListener("close",b),O()}function O(){m("unpipe"),n.unpipe(e)}return n.on("data",_),v(e,"error",g),e.once("close",b),e.once("finish",y),e.emit("pipe",n),r.flowing||(m("pipe resume"),n.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<o;r++)i[r].emit("unpipe",this,n);return this}var a=W(t.pipes,e);return-1===a||(t.pipes.splice(a,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n)),this},w.prototype.on=function(e,t){var n=c.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&j(this):o.nextTick(L,this))}return n},w.prototype.addListener=w.prototype.on,w.prototype.resume=function(){var e=this._readableState;return e.flowing||(m("resume"),e.flowing=!0,B(this,e)),this},w.prototype.pause=function(){return m("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(m("pause"),this._readableState.flowing=!1,this.emit("pause")),this},w.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var o in e.on("end",(function(){if(m("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(o){if(m("wrapped data"),n.decoder&&(o=n.decoder.write(o)),(!n.objectMode||null!==o&&void 0!==o)&&(n.objectMode||o&&o.length)){var r=t.push(o);r||(i=!0,e.pause())}})),e)void 0===this[o]&&"function"===typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));for(var r=0;r<y.length;r++)e.on(y[r],this.emit.bind(this,y[r]));return this._read=function(t){m("wrapped _read",t),i&&(i=!1,e.resume())},this},Object.defineProperty(w.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),w._fromList=z}).call(this,n("c8ba"),n("4362"))},b0b2:function(e,t,n){},b19a:function(e,t,n){"use strict";var i=n("966d"),o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var r=Object.create(n("3a7c"));r.inherits=n("3fb5");var a=n("ad71"),s=n("dc14");r.inherits(h,a);for(var c=o(s.prototype),l=0;l<c.length;l++){var u=c[l];h.prototype[u]||(h.prototype[u]=s.prototype[u])}function h(e){if(!(this instanceof h))return new h(e);a.call(this,e),s.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||i.nextTick(f,this)}function f(e){e.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),i.nextTick(t,e)}},b383:function(e,t,n){"use strict";t.decode=t.parse=n("91dd"),t.encode=t.stringify=n("e099")},b669:function(e,t,n){},b7d1:function(e,t,n){(function(t){function n(e,t){if(i("noDeprecation"))return e;var n=!1;function o(){if(!n){if(i("throwDeprecation"))throw new Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return o}function i(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=n}).call(this,n("c8ba"))},b82e:function(e,t,n){"use strict";const i={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3};t["a"]=Object.freeze(i)},b85c:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("d9e2");var i=n("06c5");function o(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Object(i["a"])(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n["return"]||n["return"]()}finally{if(c)throw a}}}}},be7f:function(e,t,n){"use strict";var i="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Int32Array;function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);while(t.length){var n=t.shift();if(n){if("object"!==typeof n)throw new TypeError(n+"must be non-object");for(var i in n)o(n,i)&&(e[i]=n[i])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),o);else for(var r=0;r<i;r++)e[o+r]=t[n+r]},flattenChunks:function(e){var t,n,i,o,r,a;for(i=0,t=0,n=e.length;t<n;t++)i+=e[t].length;for(a=new Uint8Array(i),o=0,t=0,n=e.length;t<n;t++)r=e[t],a.set(r,o),o+=r.length;return a}},a={arraySet:function(e,t,n,i,o){for(var r=0;r<i;r++)e[o+r]=t[n+r]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,r)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,a))},t.setTyped(i)},bee2:function(e,t,n){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}n.d(t,"a",(function(){return o}))},c0fd:function(e,t,n){"use strict";var i=n("2f63"),o=n("4f04");function r(e){if(!Object(i["a"])(e))throw new o["a"]("queryString is required.");const t={};if(""===e)return t;const n=e.replace(/\+/g,"%20").split(/[&;]/);for(let o=0,r=n.length;o<r;++o){const e=n[o].split("="),r=decodeURIComponent(e[0]);let a=e[1];a=Object(i["a"])(a)?decodeURIComponent(a):"";const s=t[r];"string"===typeof s?t[r]=[s,a]:Array.isArray(s)?s.push(a):t[r]=a}return t}t["a"]=r},c2ae:function(e,t,n){e.exports=n("e372").PassThrough},c834:function(e,t,n){"use strict";function i(e,t,n,i){var o=65535&e|0,r=e>>>16&65535|0,a=0;while(0!==n){a=n>2e3?2e3:n,n-=a;do{o=o+t[i++]|0,r=r+o|0}while(--a);o%=65521,r%=65521}return o|r<<16|0}e.exports=i},c90b:function(e,t,n){(function(e,i,o){var r=n("a9f1"),a=n("3fb5"),s=n("e372"),c=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=t.IncomingMessage=function(t,n,a,c){var l=this;if(s.Readable.call(l),l._mode=a,l.headers={},l.rawHeaders=[],l.trailers={},l.rawTrailers=[],l.on("end",(function(){e.nextTick((function(){l.emit("close")}))})),"fetch"===a){if(l._fetchResponse=n,l.url=n.url,l.statusCode=n.status,l.statusMessage=n.statusText,n.headers.forEach((function(e,t){l.headers[t.toLowerCase()]=e,l.rawHeaders.push(t,e)})),r.writableStream){var u=new WritableStream({write:function(e){return new Promise((function(t,n){l._destroyed?n():l.push(new i(e))?t():l._resumeFetch=t}))},close:function(){o.clearTimeout(c),l._destroyed||l.push(null)},abort:function(e){l._destroyed||l.emit("error",e)}});try{return void n.body.pipeTo(u).catch((function(e){o.clearTimeout(c),l._destroyed||l.emit("error",e)}))}catch(_){}}var h=n.body.getReader();function d(){h.read().then((function(e){if(!l._destroyed){if(e.done)return o.clearTimeout(c),void l.push(null);l.push(new i(e.value)),d()}})).catch((function(e){o.clearTimeout(c),l._destroyed||l.emit("error",e)}))}d()}else{l._xhr=t,l._pos=0,l.url=t.responseURL,l.statusCode=t.status,l.statusMessage=t.statusText;var f=t.getAllResponseHeaders().split(/\r?\n/);if(f.forEach((function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var n=t[1].toLowerCase();"set-cookie"===n?(void 0===l.headers[n]&&(l.headers[n]=[]),l.headers[n].push(t[2])):void 0!==l.headers[n]?l.headers[n]+=", "+t[2]:l.headers[n]=t[2],l.rawHeaders.push(t[1],t[2])}})),l._charset="x-user-defined",!r.overrideMimeType){var p=l.rawHeaders["mime-type"];if(p){var m=p.match(/;\s*charset=([^;])(;|$)/);m&&(l._charset=m[1].toLowerCase())}l._charset||(l._charset="utf-8")}}};a(l,s.Readable),l.prototype._read=function(){var e=this,t=e._resumeFetch;t&&(e._resumeFetch=null,t())},l.prototype._onXHRProgress=function(){var e=this,t=e._xhr,n=null;switch(e._mode){case"text:vbarray":if(t.readyState!==c.DONE)break;try{n=new o.VBArray(t.responseBody).toArray()}catch(u){}if(null!==n){e.push(new i(n));break}case"text":try{n=t.responseText}catch(u){e._mode="text:vbarray";break}if(n.length>e._pos){var r=n.substr(e._pos);if("x-user-defined"===e._charset){for(var a=new i(r.length),s=0;s<r.length;s++)a[s]=255&r.charCodeAt(s);e.push(a)}else e.push(r,e._charset);e._pos=n.length}break;case"arraybuffer":if(t.readyState!==c.DONE||!t.response)break;n=t.response,e.push(new i(new Uint8Array(n)));break;case"moz-chunked-arraybuffer":if(n=t.response,t.readyState!==c.LOADING||!n)break;e.push(new i(new Uint8Array(n)));break;case"ms-stream":if(n=t.response,t.readyState!==c.LOADING)break;var l=new o.MSStreamReader;l.onprogress=function(){l.result.byteLength>e._pos&&(e.push(new i(new Uint8Array(l.result.slice(e._pos)))),e._pos=l.result.byteLength)},l.onload=function(){e.push(null)},l.readAsArrayBuffer(n);break}e._xhr.readyState===c.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(this,n("4362"),n("b639").Buffer,n("c8ba"))},d17b:function(e,t,n){e.exports=n("e372").Transform},d485:function(e,t,n){e.exports=r;var i=n("faa1").EventEmitter,o=n("3fb5");function r(){i.call(this)}o(r,i),r.Readable=n("e372"),r.Writable=n("2c63a"),r.Duplex=n("0960"),r.Transform=n("d17b"),r.PassThrough=n("c2ae"),r.Stream=r,r.prototype.pipe=function(e,t){var n=this;function o(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function r(){n.readable&&n.resume&&n.resume()}n.on("data",o),e.on("drain",r),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",c));var a=!1;function s(){a||(a=!0,e.end())}function c(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function l(e){if(u(),0===i.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",o),e.removeListener("drain",r),n.removeListener("end",s),n.removeListener("close",c),n.removeListener("error",l),e.removeListener("error",l),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",l),e.on("error",l),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}},d4da:function(e,t,n){"use strict";var i=n("2f63"),o=n("4f04");const r={};function a(e){return e+" is required, actual value was undefined"}function s(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}r.typeOf={},r.defined=function(e,t){if(!Object(i["a"])(t))throw new o["a"](a(e))},r.typeOf.func=function(e,t){if("function"!==typeof t)throw new o["a"](s(typeof t,"function",e))},r.typeOf.string=function(e,t){if("string"!==typeof t)throw new o["a"](s(typeof t,"string",e))},r.typeOf.number=function(e,t){if("number"!==typeof t)throw new o["a"](s(typeof t,"number",e))},r.typeOf.number.lessThan=function(e,t,n){if(r.typeOf.number(e,t),t>=n)throw new o["a"](`Expected ${e} to be less than ${n}, actual value was ${t}`)},r.typeOf.number.lessThanOrEquals=function(e,t,n){if(r.typeOf.number(e,t),t>n)throw new o["a"](`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)},r.typeOf.number.greaterThan=function(e,t,n){if(r.typeOf.number(e,t),t<=n)throw new o["a"](`Expected ${e} to be greater than ${n}, actual value was ${t}`)},r.typeOf.number.greaterThanOrEquals=function(e,t,n){if(r.typeOf.number(e,t),t<n)throw new o["a"](`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)},r.typeOf.object=function(e,t){if("object"!==typeof t)throw new o["a"](s(typeof t,"object",e))},r.typeOf.bool=function(e,t){if("boolean"!==typeof t)throw new o["a"](s(typeof t,"boolean",e))},r.typeOf.bigint=function(e,t){if("bigint"!==typeof t)throw new o["a"](s(typeof t,"bigint",e))},r.typeOf.number.equals=function(e,t,n,i){if(r.typeOf.number(e,n),r.typeOf.number(t,i),n!==i)throw new o["a"](`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)},t["a"]=r},d4ec:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));n("d9e2");function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},d4ed:function(e,t,n){"use strict";(function(e){var i=n("881b"),o=n("de5b"),r=n("d4da"),a=n("dc1c"),s=n("2bb9"),c=n("535a"),l=n("9c35"),u=n("2f63"),h=n("4f04"),d=n("a734"),f=n("1a99"),p=n("1f30"),m=n("2720"),_=n("96e8"),g=n("083c"),b=n("166e"),y=n("0e68"),v=n("93da"),O=n("0569"),w=n("c0fd"),A=n("de66"),T=n("4ca2"),C=n("75b2"),E=n("8a39"),x=n("283e"),S=n("3e44");const I=function(){try{const e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob","blob"===e.responseType}catch(e){return!1}}();function D(e,t,n,i){const o=e.query();if(0===o.length)return{};let r;if(-1===o.indexOf("=")){const e={};e[o]=void 0,r=e}else r=Object(w["a"])(o);t._queryParameters=n?M(r,t._queryParameters,i):r,e.search("")}function j(e,t){const n=t._queryParameters,i=Object.keys(n);1!==i.length||Object(u["a"])(n[i[0]])?e.search(Object(O["a"])(n)):e.search(i[0])}function P(e,t){return Object(u["a"])(e)?Object(u["a"])(e.clone)?e.clone():Object(a["a"])(e):t}function R(e){if(e.state===E["a"].ISSUED||e.state===E["a"].ACTIVE)throw new x["a"]("The Resource is already being fetched.");e.state=E["a"].UNISSUED,e.deferred=void 0}function M(e,t,n){if(!n)return Object(s["a"])(e,t);const i=Object(a["a"])(e,!0);for(const o in t)if(t.hasOwnProperty(o)){let e=i[o];const n=t[o];Object(u["a"])(e)?(Array.isArray(e)||(e=i[o]=[e]),i[o]=e.concat(n)):i[o]=Array.isArray(n)?n.slice():n}return i}function N(e){e=Object(c["a"])(e,c["a"].EMPTY_OBJECT),"string"===typeof e&&(e={url:e}),r["a"].typeOf.string("options.url",e.url),this._url=void 0,this._templateValues=P(e.templateValues,{}),this._queryParameters=P(e.queryParameters,{}),this.headers=P(e.headers,{}),this.request=Object(c["a"])(e.request,new A["a"]),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=Object(c["a"])(e.retryAttempts,0),this._retryCount=0;const t=new i["a"](e.url);D(t,this,!0,!0),t.fragment(""),this._url=t.toString()}let L;function B(e){const t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let e=!1;t.isDataUri||t.isBlobUri||(e=t.isCrossOriginUrl);const a=Object(l["a"])();return N._Implementations.createImage(r,e,a,n,i,o),a.promise};const a=C["a"].request(r);if(Object(u["a"])(a))return a.catch((function(e){return r.state!==E["a"].FAILED?Promise.reject(e):t.retryOnError(e).then((function(a){return a?(r.state=E["a"].UNISSUED,r.deferred=void 0,B({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(e)}))}))}function F(e,t,n){const i={};i[t]=n,e.setQueryParameters(i);const o=e.request;o.url=e.url,o.requestFunction=function(){const t=Object(l["a"])();return window[n]=function(e){t.resolve(e);try{delete window[n]}catch(i){window[n]=void 0}},N._Implementations.loadAndExecuteScript(e.url,n,t),t.promise};const r=C["a"].request(o);if(Object(u["a"])(r))return r.catch((function(i){return o.state!==E["a"].FAILED?Promise.reject(i):e.retryOnError(i).then((function(r){return r?(o.state=E["a"].UNISSUED,o.deferred=void 0,F(e,t,n)):Promise.reject(i)}))}))}N.createIfNeeded=function(e){return e instanceof N?e.getDerivedResource({request:e.request}):"string"!==typeof e?e:new N({url:e})},N.supportsImageBitmapOptions=function(){if(Object(u["a"])(L))return L;if("function"!==typeof createImageBitmap)return L=Promise.resolve(!1),L;const e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC";return L=N.fetchBlob({url:e}).then((function(e){const t={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(e,t),createImageBitmap(e)])})).then((function(e){const t=Object(m["a"])(e[0]),n=Object(m["a"])(e[1]);return t[1]!==n[1]})).catch((function(){return!1})),L},Object.defineProperties(N,{isBlobSupported:{get:function(){return I}}}),Object.defineProperties(N.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){const t=new i["a"](e);D(t,this,!1),t.fragment(""),this._url=t.toString()}},extension:{get:function(){return Object(p["a"])(this._url)}},isDataUri:{get:function(){return Object(b["a"])(this._url)}},isBlobUri:{get:function(){return Object(_["a"])(this._url)}},isCrossOriginUrl:{get:function(){return Object(g["a"])(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}}}),N.prototype.toString=function(){return this.getUrlComponent(!0,!0)},N.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;const n=new i["a"](this._url);e&&j(n,this);let o=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}");const r=this._templateValues;return o=o.replace(/{(.*?)}/g,(function(e,t){const n=r[t];return Object(u["a"])(n)?encodeURIComponent(n):e})),t&&Object(u["a"])(this.proxy)&&(o=this.proxy.getURL(o)),o},N.prototype.setQueryParameters=function(e,t){this._queryParameters=t?M(this._queryParameters,e,!1):M(e,this._queryParameters,!1)},N.prototype.appendQueryParameters=function(e){this._queryParameters=M(e,this._queryParameters,!0)},N.prototype.setTemplateValues=function(e,t){this._templateValues=t?Object(s["a"])(this._templateValues,e):Object(s["a"])(e,this._templateValues)},N.prototype.getDerivedResource=function(e){const t=this.clone();if(t._retryCount=0,Object(u["a"])(e.url)){const n=new i["a"](e.url),o=Object(c["a"])(e.preserveQueryParameters,!1);D(n,t,!0,o),n.fragment(""),""!==n.scheme()?t._url=n.toString():t._url=n.absoluteTo(new i["a"](Object(d["a"])(this._url))).toString()}return Object(u["a"])(e.queryParameters)&&(t._queryParameters=Object(s["a"])(e.queryParameters,t._queryParameters)),Object(u["a"])(e.templateValues)&&(t._templateValues=Object(s["a"])(e.templateValues,t.templateValues)),Object(u["a"])(e.headers)&&(t.headers=Object(s["a"])(e.headers,t.headers)),Object(u["a"])(e.proxy)&&(t.proxy=e.proxy),Object(u["a"])(e.request)&&(t.request=e.request),Object(u["a"])(e.retryCallback)&&(t.retryCallback=e.retryCallback),Object(u["a"])(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t},N.prototype.retryOnError=function(e){const t=this.retryCallback;if("function"!==typeof t||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);const n=this;return Promise.resolve(t(this,e)).then((function(e){return++n._retryCount,e}))},N.prototype.clone=function(e){return Object(u["a"])(e)||(e=new N({url:this._url})),e._url=this._url,e._queryParameters=Object(a["a"])(this._queryParameters),e._templateValues=Object(a["a"])(this._templateValues),e.headers=Object(a["a"])(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e},N.prototype.getBaseUri=function(e){return Object(f["a"])(this.getUrlComponent(e),e)},N.prototype.appendForwardSlash=function(){this._url=Object(o["a"])(this._url)},N.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})},N.fetchArrayBuffer=function(e){const t=new N(e);return t.fetchArrayBuffer()},N.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})},N.fetchBlob=function(e){const t=new N(e);return t.fetchBlob()},N.prototype.fetchImage=function(e){e=Object(c["a"])(e,c["a"].EMPTY_OBJECT);const t=Object(c["a"])(e.preferImageBitmap,!1),n=Object(c["a"])(e.preferBlob,!1),i=Object(c["a"])(e.flipY,!1),o=Object(c["a"])(e.skipColorSpaceConversion,!1);if(R(this.request),!I||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return B({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});const r=this.fetchBlob();if(!Object(u["a"])(r))return;let a,s,l,h;return N.supportsImageBitmapOptions().then((function(e){return a=e,s=a&&t,r})).then((function(e){if(!Object(u["a"])(e))return;if(h=e,s)return N.createImageBitmapFromBlob(e,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});const t=window.URL.createObjectURL(e);return l=new N({url:t}),B({resource:l,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})})).then((function(e){if(Object(u["a"])(e))return e.blob=h,s||window.URL.revokeObjectURL(l.url),e})).catch((function(e){return Object(u["a"])(l)&&window.URL.revokeObjectURL(l.url),e.blob=h,Promise.reject(e)}))},N.fetchImage=function(e){const t=new N(e);return t.fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})},N.prototype.fetchText=function(){return this.fetch({responseType:"text"})},N.fetchText=function(e){const t=new N(e);return t.fetchText()},N.prototype.fetchJson=function(){const e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(Object(u["a"])(e))return e.then((function(e){if(Object(u["a"])(e))return JSON.parse(e)}))},N.fetchJson=function(e){const t=new N(e);return t.fetchJson()},N.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})},N.fetchXML=function(e){const t=new N(e);return t.fetchXML()},N.prototype.fetchJsonp=function(e){let t;e=Object(c["a"])(e,"callback"),R(this.request);do{t="loadJsonp"+v["a"].nextRandomNumber().toString().substring(2,8)}while(Object(u["a"])(window[t]));return F(this,e,t)},N.fetchJsonp=function(e){const t=new N(e);return t.fetchJsonp(e.callbackParameterName)},N.prototype._makeRequest=function(e){const t=this;R(t.request);const n=t.request;n.url=t.url,n.requestFunction=function(){const i=e.responseType,o=Object(s["a"])(e.headers,t.headers),r=e.overrideMimeType,a=e.method,c=e.data,h=Object(l["a"])(),d=N._Implementations.loadWithXhr(t.url,i,a,c,o,h,r);return Object(u["a"])(d)&&Object(u["a"])(d.abort)&&(n.cancelFunction=function(){d.abort()}),h.promise};const i=C["a"].request(n);if(Object(u["a"])(i))return i.then((function(e){return n.cancelFunction=void 0,e})).catch((function(i){return n.cancelFunction=void 0,n.state!==E["a"].FAILED?Promise.reject(i):t.retryOnError(i).then((function(o){return o?(n.state=E["a"].UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(i)}))}))};const k=/^data:(.*?)(;base64)?,(.*)$/;function z(e,t){const n=decodeURIComponent(t);return e?atob(n):n}function U(e,t){const n=z(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function V(e,t){t=Object(c["a"])(t,"");const n=e[1],i=!!e[2],o=e[3];let r,a;switch(t){case"":case"text":return z(i,o);case"arraybuffer":return U(i,o);case"blob":return r=U(i,o),new Blob([r],{type:n});case"document":return a=new DOMParser,a.parseFromString(z(i,o),n);case"json":return JSON.parse(z(i,o));default:throw new h["a"]("Unhandled responseType: "+t)}}function H(e,t){switch(t){case"text":return e.toString("utf8");case"json":return JSON.parse(e.toString("utf8"));default:return new Uint8Array(e).buffer}}function G(t,i,o,r,a,s,c){const l=n("0b16").parse(t),u="https:"===l.protocol?n("24f8"):n("9490"),h=n("470b"),d={protocol:l.protocol,hostname:l.hostname,port:l.port,path:l.path,query:l.query,method:o,headers:a};u.request(d).on("response",(function(t){if(t.statusCode<200||t.statusCode>=300)return void s.reject(new T["a"](t.statusCode,t,t.headers));const n=[];t.on("data",(function(e){n.push(e)})),t.on("end",(function(){const o=e.concat(n);"gzip"===t.headers["content-encoding"]?h.gunzip(o,(function(e,t){e?s.reject(new x["a"]("Error decompressing response.")):s.resolve(H(t,i))})):s.resolve(H(o,i))}))})).on("error",(function(e){s.reject(new T["a"])})).end()}N.prototype.fetch=function(e){return e=P(e,{}),e.method="GET",this._makeRequest(e)},N.fetch=function(e){const t=new N(e);return t.fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N.prototype.delete=function(e){return e=P(e,{}),e.method="DELETE",this._makeRequest(e)},N.delete=function(e){const t=new N(e);return t.delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})},N.prototype.head=function(e){return e=P(e,{}),e.method="HEAD",this._makeRequest(e)},N.head=function(e){const t=new N(e);return t.head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N.prototype.options=function(e){return e=P(e,{}),e.method="OPTIONS",this._makeRequest(e)},N.options=function(e){const t=new N(e);return t.options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N.prototype.post=function(e,t){return r["a"].defined("data",e),t=P(t,{}),t.method="POST",t.data=e,this._makeRequest(t)},N.post=function(e){const t=new N(e);return t.post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N.prototype.put=function(e,t){return r["a"].defined("data",e),t=P(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)},N.put=function(e){const t=new N(e);return t.put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N.prototype.patch=function(e,t){return r["a"].defined("data",e),t=P(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)},N.patch=function(e){const t=new N(e);return t.patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},N._Implementations={},N._Implementations.loadImageElement=function(e,t,n){const i=new Image;i.onload=function(){0===i.naturalWidth&&0===i.naturalHeight&&0===i.width&&0===i.height&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(e){n.reject(e)},t&&(S["a"].contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e},N._Implementations.createImage=function(e,t,n,i,o,r){const a=e.url;N.supportsImageBitmapOptions().then((function(s){if(!s||!r)return void N._Implementations.loadImageElement(a,t,n);const c="blob",h="GET",d=Object(l["a"])(),f=N._Implementations.loadWithXhr(a,c,h,void 0,void 0,d,void 0,void 0,void 0);return Object(u["a"])(f)&&Object(u["a"])(f.abort)&&(e.cancelFunction=function(){f.abort()}),d.promise.then((function(e){if(Object(u["a"])(e))return N.createImageBitmapFromBlob(e,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});n.reject(new x["a"](`Successfully retrieved ${a} but it contained no content.`))})).then((function(e){n.resolve(e)}))})).catch((function(e){n.reject(e)}))},N.createImageBitmapFromBlob=function(e,t){return r["a"].defined("options",t),r["a"].typeOf.bool("options.flipY",t.flipY),r["a"].typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),r["a"].typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};const q="undefined"===typeof XMLHttpRequest;N._Implementations.loadWithXhr=function(e,t,n,i,o,r,a){const s=k.exec(e);if(null!==s)return void r.resolve(V(s,t));if(q)return void G(e,t,n,i,o,r,a);const c=new XMLHttpRequest;if(S["a"].contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),Object(u["a"])(a)&&Object(u["a"])(c.overrideMimeType)&&c.overrideMimeType(a),Object(u["a"])(o))for(const u in o)o.hasOwnProperty(u)&&c.setRequestHeader(u,o[u]);Object(u["a"])(t)&&(c.responseType=t);let l=!1;return"string"===typeof e&&(l=0===e.indexOf("file://")||"undefined"!==typeof window&&"file://"===window.location.origin),c.onload=function(){if((c.status<200||c.status>=300)&&(!l||0!==c.status))return void r.reject(new T["a"](c.status,c.response,c.getAllResponseHeaders()));const e=c.response,i=c.responseType;if("HEAD"===n||"OPTIONS"===n){const e=c.getAllResponseHeaders(),t=e.trim().split(/[\r\n]+/),n={};return t.forEach((function(e){const t=e.split(": "),i=t.shift();n[i]=t.join(": ")})),void r.resolve(n)}if(204===c.status)r.resolve();else if(!Object(u["a"])(e)||Object(u["a"])(t)&&i!==t)if("json"===t&&"string"===typeof e)try{r.resolve(JSON.parse(e))}catch(o){r.reject(o)}else(""===i||"document"===i)&&Object(u["a"])(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):""!==i&&"text"!==i||!Object(u["a"])(c.responseText)?r.reject(new x["a"]("Invalid XMLHttpRequest response type.")):r.resolve(c.responseText);else r.resolve(e)},c.onerror=function(e){r.reject(new T["a"])},c.send(i),c},N._Implementations.loadAndExecuteScript=function(e,t,n){return Object(y["a"])(e,t).catch((function(e){n.reject(e)}))},N._DefaultImplementations={},N._DefaultImplementations.createImage=N._Implementations.createImage,N._DefaultImplementations.loadWithXhr=N._Implementations.loadWithXhr,N._DefaultImplementations.loadAndExecuteScript=N._Implementations.loadAndExecuteScript,N.DEFAULT=Object.freeze(new N({url:"undefined"===typeof document?"":document.location.href.split("?")[0]})),t["a"]=N}).call(this,n("b639").Buffer)},d60a:function(e,t){e.exports=function(e){return e&&"object"===typeof e&&"function"===typeof e.copy&&"function"===typeof e.fill&&"function"===typeof e.readUInt8}},d938:function(e,t,n){var i=n("b639").Buffer;e.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"===typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(i.isBuffer(e)){for(var t=new Uint8Array(e.length),n=e.length,o=0;o<n;o++)t[o]=e[o];return t.buffer}throw new Error("Argument must be a Buffer")}},dc14:function(e,t,n){"use strict";(function(t,i){var o=n("966d");function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){L(t,e)}}e.exports=y;var a,s=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?setImmediate:o.nextTick;y.WritableState=b;var c=Object.create(n("3a7c"));c.inherits=n("3fb5");var l={deprecate:n("b7d1")},u=n("429b"),h=n("8707").Buffer,d=i.Uint8Array||function(){};function f(e){return h.from(e)}function p(e){return h.isBuffer(e)||e instanceof d}var m,_=n("4681");function g(){}function b(e,t){a=a||n("b19a"),e=e||{};var i=t instanceof a;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,s=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:i&&(s||0===s)?s:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){x(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function y(e){if(a=a||n("b19a"),!m.call(y,this)&&!(this instanceof a))return new y(e);this._writableState=new b(e,this),this.writable=!0,e&&("function"===typeof e.write&&(this._write=e.write),"function"===typeof e.writev&&(this._writev=e.writev),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.final&&(this._final=e.final)),u.call(this)}function v(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}function O(e,t,n,i){var r=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):"string"===typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),o.nextTick(i,a),r=!1),r}function w(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!==typeof t||(t=h.from(t,n)),t}function A(e,t,n,i,o,r){if(!n){var a=w(t,i,o);i!==a&&(n=!0,o="buffer",i=a)}var s=t.objectMode?1:i.length;t.length+=s;var c=t.length<t.highWaterMark;if(c||(t.needDrain=!0),t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:o,isBuf:n,callback:r,next:null},l?l.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else T(e,t,!1,s,i,o,r);return c}function T(e,t,n,i,o,r,a){t.writelen=i,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,r,t.onwrite),t.sync=!1}function C(e,t,n,i,r){--t.pendingcb,n?(o.nextTick(r,i),o.nextTick(M,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(r(i),e._writableState.errorEmitted=!0,e.emit("error",i),M(e,t))}function E(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function x(e,t){var n=e._writableState,i=n.sync,o=n.writecb;if(E(n),t)C(e,n,i,t,o);else{var r=j(n);r||n.corked||n.bufferProcessing||!n.bufferedRequest||D(e,n),i?s(S,e,n,r,o):S(e,n,r,o)}}function S(e,t,n,i){n||I(e,t),t.pendingcb--,i(),M(e,t)}function I(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function D(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,o=new Array(i),a=t.corkedRequestsFree;a.entry=n;var s=0,c=!0;while(n)o[s]=n,n.isBuf||(c=!1),n=n.next,s+=1;o.allBuffers=c,T(e,t,!0,t.length,o,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{while(n){var l=n.chunk,u=n.encoding,h=n.callback,d=t.objectMode?1:l.length;if(T(e,t,!1,d,l,u,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function j(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function P(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),M(e,t)}))}function R(e,t){t.prefinished||t.finalCalled||("function"===typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(P,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function M(e,t){var n=j(t);return n&&(R(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function N(e,t,n){t.ending=!0,M(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}function L(e,t,n){var i=e.entry;e.entry=null;while(i){var o=i.callback;t.pendingcb--,o(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}c.inherits(y,u),b.prototype.getBuffer=function(){var e=this.bufferedRequest,t=[];while(e)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(b.prototype,"buffer",{get:l.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"===typeof Symbol&&Symbol.hasInstance&&"function"===typeof Function.prototype[Symbol.hasInstance]?(m=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!m.call(this,e)||this===y&&(e&&e._writableState instanceof b)}})):m=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var i=this._writableState,o=!1,r=!i.objectMode&&p(e);return r&&!h.isBuffer(e)&&(e=f(e)),"function"===typeof t&&(n=t,t=null),r?t="buffer":t||(t=i.defaultEncoding),"function"!==typeof n&&(n=g),i.ended?v(this,n):(r||O(this,i,e,n))&&(i.pendingcb++,o=A(this,i,r,e,t,n)),o},y.prototype.cork=function(){var e=this._writableState;e.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||D(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"===typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var i=this._writableState;"function"===typeof e?(n=e,e=null,t=null):"function"===typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||N(this,i,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=_.destroy,y.prototype._undestroy=_.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n("4362"),n("c8ba"))},dc1c:function(e,t,n){"use strict";var i=n("535a");function o(e,t){if(null===e||"object"!==typeof e)return e;t=Object(i["a"])(t,!1);const n=new e.constructor;for(const i in e)if(e.hasOwnProperty(i)){let r=e[i];t&&(r=o(r,t)),n[i]=r}return n}t["a"]=o},de5b:function(e,t,n){"use strict";function i(e){return 0!==e.length&&"/"===e[e.length-1]||(e+="/"),e}t["a"]=i},de66:function(e,t,n){"use strict";var i=n("535a"),o=n("2f63"),r=n("8a39"),a=n("b82e");function s(e){e=Object(i["a"])(e,i["a"].EMPTY_OBJECT);const t=Object(i["a"])(e.throttleByServer,!1),n=Object(i["a"])(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=Object(i["a"])(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=Object(i["a"])(e.type,a["a"].OTHER),this.serverKey=void 0,this.state=r["a"].UNISSUED,this.deferred=void 0,this.cancelled=!1}s.prototype.cancel=function(){this.cancelled=!0},s.prototype.clone=function(e){return Object(o["a"])(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=this.RequestState.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new s(this)},t["a"]=s},e099:function(e,t,n){"use strict";var i=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,s){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"===typeof e?r(a(e),(function(a){var s=encodeURIComponent(i(a))+n;return o(e[a])?r(e[a],(function(e){return s+encodeURIComponent(i(e))})).join(t):s+encodeURIComponent(i(e[a]))})).join(t):s?encodeURIComponent(i(s))+n+encodeURIComponent(i(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function r(e,t){if(e.map)return e.map(t);for(var n=[],i=0;i<e.length;i++)n.push(t(e[i],i));return n}var a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},e372:function(e,t,n){t=e.exports=n("ad71"),t.Stream=t,t.Readable=t,t.Writable=n("dc14"),t.Duplex=n("b19a"),t.Transform=n("27bf"),t.PassThrough=n("780f")},ec35:function(e,t,n){"use strict";n.r(t),n.d(t,"VERSION",(function(){return npt})),n.d(t,"ApproximateTerrainHeights",(function(){return on})),n.d(t,"ArcGISTiledElevationTerrainProvider",(function(){return lh})),n.d(t,"ArcType",(function(){return hh})),n.d(t,"AssociativeArray",(function(){return fh})),n.d(t,"AttributeCompression",(function(){return gl})),n.d(t,"AxisAlignedBoundingBox",(function(){return yi})),n.d(t,"BingMapsGeocoderService",(function(){return _h})),n.d(t,"BoundingRectangle",(function(){return Oh})),n.d(t,"BoundingSphere",(function(){return Tt})),n.d(t,"BoxGeometry",(function(){return td})),n.d(t,"BoxOutlineGeometry",(function(){return sd})),n.d(t,"Cartesian2",(function(){return Ht})),n.d(t,"Cartesian3",(function(){return g})),n.d(t,"Cartesian4",(function(){return be})),n.d(t,"Cartographic",(function(){return I})),n.d(t,"CartographicGeocoderService",(function(){return ld})),n.d(t,"CatmullRomSpline",(function(){return Rd})),n.d(t,"CesiumTerrainProvider",(function(){return pf})),n.d(t,"Check",(function(){return i["a"]})),n.d(t,"CircleGeometry",(function(){return $m})),n.d(t,"CircleOutlineGeometry",(function(){return f_})),n.d(t,"Clock",(function(){return O_})),n.d(t,"ClockRange",(function(){return m_})),n.d(t,"ClockStep",(function(){return g_})),n.d(t,"Color",(function(){return j_})),n.d(t,"ColorGeometryInstanceAttribute",(function(){return R_})),n.d(t,"ComponentDatatype",(function(){return $c})),n.d(t,"CompressedTextureBuffer",(function(){return N_})),n.d(t,"ConstantSpline",(function(){return B_})),n.d(t,"CoplanarPolygonGeometry",(function(){return Zb})),n.d(t,"CoplanarPolygonGeometryLibrary",(function(){return X_})),n.d(t,"CoplanarPolygonOutlineGeometry",(function(){return ty})),n.d(t,"CornerType",(function(){return iy})),n.d(t,"CorridorGeometry",(function(){return AO})),n.d(t,"CorridorGeometryLibrary",(function(){return Kv})),n.d(t,"CorridorOutlineGeometry",(function(){return RO})),n.d(t,"Credit",(function(){return fi})),n.d(t,"CubicRealPolynomial",(function(){return Hi})),n.d(t,"CullingVolume",(function(){return kO})),n.d(t,"CustomHeightmapTerrainProvider",(function(){return UO})),n.d(t,"CylinderGeometry",(function(){return QO})),n.d(t,"CylinderGeometryLibrary",(function(){return HO})),n.d(t,"CylinderOutlineGeometry",(function(){return iw})),n.d(t,"DefaultProxy",(function(){return rw})),n.d(t,"DeveloperError",(function(){return a["a"]})),n.d(t,"DistanceDisplayCondition",(function(){return sw})),n.d(t,"DistanceDisplayConditionGeometryInstanceAttribute",(function(){return lw})),n.d(t,"DoubleEndedPriorityQueue",(function(){return _w})),n.d(t,"DoublyLinkedList",(function(){return vw})),n.d(t,"EarthOrientationParameters",(function(){return Tr})),n.d(t,"EarthOrientationParametersSample",(function(){return ko})),n.d(t,"EasingFunction",(function(){return Aw})),n.d(t,"EllipseGeometry",(function(){return Xm})),n.d(t,"EllipseGeometryLibrary",(function(){return Sf})),n.d(t,"EllipseOutlineGeometry",(function(){return l_})),n.d(t,"Ellipsoid",(function(){return z})),n.d(t,"EllipsoidGeodesic",(function(){return dy})),n.d(t,"EllipsoidGeometry",(function(){return Fw})),n.d(t,"EllipsoidOutlineGeometry",(function(){return Ww})),n.d(t,"EllipsoidRhumbLine",(function(){return rg})),n.d(t,"EllipsoidTangentPlane",(function(){return Js})),n.d(t,"EllipsoidTerrainProvider",(function(){return Xw})),n.d(t,"EllipsoidalOccluder",(function(){return Bi})),n.d(t,"EncodedCartesian3",(function(){return kf})),n.d(t,"Event",(function(){return pi["a"]})),n.d(t,"EventHelper",(function(){return Jw})),n.d(t,"ExperimentalFeatures",(function(){return $w})),n.d(t,"ExtrapolationType",(function(){return eA})),n.d(t,"FeatureDetection",(function(){return Ta})),n.d(t,"FrustumGeometry",(function(){return VA})),n.d(t,"FrustumOutlineGeometry",(function(){return JA})),n.d(t,"Fullscreen",(function(){return Fr})),n.d(t,"GeocodeType",(function(){return $A})),n.d(t,"GeocoderService",(function(){return eT})),n.d(t,"GeographicProjection",(function(){return V})),n.d(t,"GeographicTilingScheme",(function(){return qt})),n.d(t,"Geometry",(function(){return kh})),n.d(t,"GeometryAttribute",(function(){return Uh})),n.d(t,"GeometryAttributes",(function(){return Hh})),n.d(t,"GeometryFactory",(function(){return nT})),n.d(t,"GeometryInstance",(function(){return Df})),n.d(t,"GeometryInstanceAttribute",(function(){return oT})),n.d(t,"GeometryOffsetAttribute",(function(){return qh})),n.d(t,"GeometryPipeline",(function(){return _m})),n.d(t,"GeometryType",(function(){return Ch})),n.d(t,"GoogleEarthEnterpriseMetadata",(function(){return CT})),n.d(t,"GoogleEarthEnterpriseTerrainData",(function(){return GT})),n.d(t,"GoogleEarthEnterpriseTerrainProvider",(function(){return $T})),n.d(t,"GoogleEarthEnterpriseTileInformation",(function(){return pT})),n.d(t,"GregorianDate",(function(){return Uo})),n.d(t,"GroundPolylineGeometry",(function(){return DE})),n.d(t,"HeadingPitchRange",(function(){return PE})),n.d(t,"HeadingPitchRoll",(function(){return Er})),n.d(t,"Heap",(function(){return RE["a"]})),n.d(t,"HeightmapEncoding",(function(){return _i})),n.d(t,"HeightmapTerrainData",(function(){return Su})),n.d(t,"HeightmapTessellator",(function(){return Vl})),n.d(t,"HermitePolynomialApproximation",(function(){return kE})),n.d(t,"HermiteSpline",(function(){return Cd})),n.d(t,"HilbertOrder",(function(){return VE})),n.d(t,"Iau2000Orientation",(function(){return cx})),n.d(t,"Iau2006XysData",(function(){return Mr})),n.d(t,"Iau2006XysSample",(function(){return Ir})),n.d(t,"IauOrientationAxes",(function(){return _x})),n.d(t,"IauOrientationParameters",(function(){return GE})),n.d(t,"IndexDatatype",(function(){return uu})),n.d(t,"InterpolationAlgorithm",(function(){return bx})),n.d(t,"InterpolationType",(function(){return vx})),n.d(t,"Intersect",(function(){return G})),n.d(t,"IntersectionTests",(function(){return So})),n.d(t,"Intersections2D",(function(){return Ud})),n.d(t,"Interval",(function(){return W})),n.d(t,"Ion",(function(){return Tx})),n.d(t,"IonGeocoderService",(function(){return Sx})),n.d(t,"IonResource",(function(){return jx})),n.d(t,"Iso8601",(function(){return kx})),n.d(t,"JulianDate",(function(){return gr})),n.d(t,"KTX2Transcoder",(function(){return Vx})),n.d(t,"KeyboardEventModifier",(function(){return Gx})),n.d(t,"LagrangePolynomialApproximation",(function(){return Wx})),n.d(t,"LeapSecond",(function(){return qo})),n.d(t,"LinearApproximation",(function(){return Xx})),n.d(t,"LinearSpline",(function(){return fd})),n.d(t,"ManagedArray",(function(){return Jx})),n.d(t,"MapProjection",(function(){return $x})),n.d(t,"Math",(function(){return s["a"]})),n.d(t,"Matrix2",(function(){return al})),n.d(t,"Matrix3",(function(){return ce})),n.d(t,"Matrix4",(function(){return Ne})),n.d(t,"MorphWeightSpline",(function(){return eS})),n.d(t,"MortonOrder",(function(){return aS})),n.d(t,"NearFarScalar",(function(){return cS})),n.d(t,"Occluder",(function(){return TS})),n.d(t,"OffsetGeometryInstanceAttribute",(function(){return ES})),n.d(t,"OpenCageGeocoderService",(function(){return IS})),n.d(t,"OrientedBoundingBox",(function(){return Xc})),n.d(t,"OrthographicFrustum",(function(){return uA})),n.d(t,"OrthographicOffCenterFrustum",(function(){return sA})),n.d(t,"Packable",(function(){return jS})),n.d(t,"PackableForInterpolation",(function(){return RS})),n.d(t,"PeliasGeocoderService",(function(){return Ex})),n.d(t,"PerspectiveFrustum",(function(){return vA})),n.d(t,"PerspectiveOffCenterFrustum",(function(){return gA})),n.d(t,"PinBuilder",(function(){return GS})),n.d(t,"PixelFormat",(function(){return XS})),n.d(t,"Plane",(function(){return No})),n.d(t,"PlaneGeometry",(function(){return eI})),n.d(t,"PlaneOutlineGeometry",(function(){return oI})),n.d(t,"PolygonGeometry",(function(){return kI})),n.d(t,"PolygonGeometryLibrary",(function(){return jb})),n.d(t,"PolygonHierarchy",(function(){return UI})),n.d(t,"PolygonOutlineGeometry",(function(){return KI})),n.d(t,"PolygonPipeline",(function(){return ab})),n.d(t,"PolylineGeometry",(function(){return aD})),n.d(t,"PolylinePipeline",(function(){return Ly})),n.d(t,"PolylineVolumeGeometry",(function(){return fD})),n.d(t,"PolylineVolumeGeometryLibrary",(function(){return Tv})),n.d(t,"PolylineVolumeOutlineGeometry",(function(){return yD})),n.d(t,"PrimitiveType",(function(){return xh})),n.d(t,"Proxy",(function(){return OD})),n.d(t,"QuadraticRealPolynomial",(function(){return zi})),n.d(t,"QuantizedMeshTerrainData",(function(){return of})),n.d(t,"QuarticRealPolynomial",(function(){return Yi})),n.d(t,"Quaternion",(function(){return $a})),n.d(t,"QuaternionSpline",(function(){return TD})),n.d(t,"Queue",(function(){return cb})),n.d(t,"Ray",(function(){return Ki})),n.d(t,"Rectangle",(function(){return Fe})),n.d(t,"RectangleCollisionChecker",(function(){return KD})),n.d(t,"RectangleGeometry",(function(){return Uj})),n.d(t,"RectangleGeometryLibrary",(function(){return aj})),n.d(t,"RectangleOutlineGeometry",(function(){return Qj})),n.d(t,"ReferenceFrame",(function(){return tP})),n.d(t,"Request",(function(){return Iu["a"]})),n.d(t,"RequestErrorEvent",(function(){return nP["a"]})),n.d(t,"RequestScheduler",(function(){return iP["a"]})),n.d(t,"RequestState",(function(){return Du["a"]})),n.d(t,"RequestType",(function(){return ju["a"]})),n.d(t,"Resource",(function(){return Et["a"]})),n.d(t,"RuntimeError",(function(){return ye["a"]})),n.d(t,"S2Cell",(function(){return RP})),n.d(t,"ScreenSpaceEventHandler",(function(){return yR})),n.d(t,"ScreenSpaceEventType",(function(){return NP})),n.d(t,"ShowGeometryInstanceAttribute",(function(){return OR})),n.d(t,"Simon1994PlanetaryPositions",(function(){return WM})),n.d(t,"SimplePolylineGeometry",(function(){return $M})),n.d(t,"SphereGeometry",(function(){return nN})),n.d(t,"SphereOutlineGeometry",(function(){return aN})),n.d(t,"Spherical",(function(){return cN})),n.d(t,"Spline",(function(){return hd})),n.d(t,"SteppedSpline",(function(){return uN})),n.d(t,"TaskProcessor",(function(){return ou})),n.d(t,"TerrainData",(function(){return au})),n.d(t,"TerrainEncoding",(function(){return Ml})),n.d(t,"TerrainExaggeration",(function(){return vl})),n.d(t,"TerrainMesh",(function(){return cu})),n.d(t,"TerrainProvider",(function(){return bu})),n.d(t,"TerrainQuantization",(function(){return wl})),n.d(t,"TileAvailability",(function(){return Ju})),n.d(t,"TileEdge",(function(){return dN})),n.d(t,"TileProviderError",(function(){return eh})),n.d(t,"TilingScheme",(function(){return pN})),n.d(t,"TimeConstants",(function(){return Yo})),n.d(t,"TimeInterval",(function(){return Mx})),n.d(t,"TimeIntervalCollection",(function(){return CN})),n.d(t,"TimeStandard",(function(){return Ko})),n.d(t,"Tipsify",(function(){return Uf})),n.d(t,"Transforms",(function(){return Hs})),n.d(t,"TranslationRotationScale",(function(){return DN})),n.d(t,"TridiagonalSystemSolver",(function(){return md})),n.d(t,"TrustedServers",(function(){return jN["a"]})),n.d(t,"VRTheWorldTerrainProvider",(function(){return FN})),n.d(t,"VertexFormat",(function(){return Yh})),n.d(t,"VideoSynchronizer",(function(){return UN})),n.d(t,"Visibility",(function(){return uS})),n.d(t,"VulkanConstants",(function(){return HN})),n.d(t,"WallGeometry",(function(){return uL})),n.d(t,"WallGeometryLibrary",(function(){return $N})),n.d(t,"WallOutlineGeometry",(function(){return _L})),n.d(t,"WebGLConstants",(function(){return Jc})),n.d(t,"WebMercatorProjection",(function(){return Ll})),n.d(t,"WebMercatorTilingScheme",(function(){return nh})),n.d(t,"WindingOrder",(function(){return Ug})),n.d(t,"WireframeIndexGenerator",(function(){return TL})),n.d(t,"appendForwardSlash",(function(){return CL["a"]})),n.d(t,"arrayFill",(function(){return Ah})),n.d(t,"arrayRemoveDuplicates",(function(){return z_})),n.d(t,"arraySlice",(function(){return xL})),n.d(t,"barycentricCoordinates",(function(){return Nf})),n.d(t,"binarySearch",(function(){return Bo})),n.d(t,"buildModuleUrl",(function(){return Lt})),n.d(t,"cancelAnimationFrame",(function(){return DL})),n.d(t,"clone",(function(){return jL["a"]})),n.d(t,"combine",(function(){return xS["a"]})),n.d(t,"createGuid",(function(){return RL})),n.d(t,"createWorldTerrain",(function(){return NL})),n.d(t,"decodeGoogleEarthEnterpriseData",(function(){return kL})),n.d(t,"decodeVectorPolylinePositions",(function(){return GL})),n.d(t,"defaultValue",(function(){return o["a"]})),n.d(t,"defer",(function(){return xr["a"]})),n.d(t,"defined",(function(){return r["a"]})),n.d(t,"deprecationWarning",(function(){return WL})),n.d(t,"destroyObject",(function(){return Wl})),n.d(t,"formatError",(function(){return $u})),n.d(t,"getAbsoluteUri",(function(){return Ct["a"]})),n.d(t,"getBaseUri",(function(){return YL["a"]})),n.d(t,"getExtensionFromUri",(function(){return XL["a"]})),n.d(t,"getFilenameFromUri",(function(){return JL})),n.d(t,"getImagePixels",(function(){return PN["a"]})),n.d(t,"getJsonFromTypedArray",(function(){return kd})),n.d(t,"getMagic",(function(){return $L})),n.d(t,"getStringFromTypedArray",(function(){return Bd})),n.d(t,"getTimestamp",(function(){return y_})),n.d(t,"isBitSet",(function(){return sT})),n.d(t,"isBlobUri",(function(){return QL["a"]})),n.d(t,"isCrossOriginUrl",(function(){return Yl["a"]})),n.d(t,"isDataUri",(function(){return eB["a"]})),n.d(t,"isLeapYear",(function(){return Ho})),n.d(t,"loadAndExecuteScript",(function(){return mT["a"]})),n.d(t,"loadImageFromTypedArray",(function(){return nB})),n.d(t,"loadKTX2",(function(){return rB})),n.d(t,"mergeSort",(function(){return hB})),n.d(t,"objectToQuery",(function(){return dB["a"]})),n.d(t,"oneTimeWarning",(function(){return ky})),n.d(t,"parseResponseHeaders",(function(){return fB["a"]})),n.d(t,"pointInsideTriangle",(function(){return _B})),n.d(t,"queryToObject",(function(){return gB["a"]})),n.d(t,"requestAnimationFrame",(function(){return vB})),n.d(t,"sampleTerrain",(function(){return EB})),n.d(t,"sampleTerrainMostDetailed",(function(){return IB})),n.d(t,"scaleToGeodeticSurface",(function(){return O})),n.d(t,"subdivideArray",(function(){return jB})),n.d(t,"webGLConstantToGlslType",(function(){return RB})),n.d(t,"wrapFunction",(function(){return NB})),n.d(t,"writeTextToCanvas",(function(){return BS})),n.d(t,"BillboardGraphics",(function(){return HB})),n.d(t,"BillboardVisualizer",(function(){return wF})),n.d(t,"BoundingSphereState",(function(){return ZB})),n.d(t,"BoxGeometryUpdater",(function(){return WK})),n.d(t,"BoxGraphics",(function(){return mX})),n.d(t,"CallbackProperty",(function(){return PK})),n.d(t,"Cesium3DTilesetGraphics",(function(){return YX})),n.d(t,"Cesium3DTilesetVisualizer",(function(){return XOe})),n.d(t,"CheckerboardMaterialProperty",(function(){return QOe})),n.d(t,"ColorMaterialProperty",(function(){return Zk})),n.d(t,"CompositeEntityCollection",(function(){return fwe})),n.d(t,"CompositeMaterialProperty",(function(){return bwe})),n.d(t,"CompositePositionProperty",(function(){return vwe})),n.d(t,"CompositeProperty",(function(){return _we})),n.d(t,"ConstantPositionProperty",(function(){return vX})),n.d(t,"ConstantProperty",(function(){return BB})),n.d(t,"CorridorGeometryUpdater",(function(){return jwe})),n.d(t,"CorridorGraphics",(function(){return wX})),n.d(t,"CustomDataSource",(function(){return iTe})),n.d(t,"CylinderGeometryUpdater",(function(){return hTe})),n.d(t,"CylinderGraphics",(function(){return xX})),n.d(t,"CzmlDataSource",(function(){return sxe})),n.d(t,"DataSource",(function(){return Rwe})),n.d(t,"DataSourceClock",(function(){return fTe})),n.d(t,"DataSourceCollection",(function(){return hxe})),n.d(t,"DataSourceDisplay",(function(){return Sje})),n.d(t,"DynamicGeometryBatch",(function(){return bxe})),n.d(t,"DynamicGeometryUpdater",(function(){return LY})),n.d(t,"EllipseGeometryUpdater",(function(){return Exe})),n.d(t,"EllipseGraphics",(function(){return IX})),n.d(t,"EllipsoidGeometryUpdater",(function(){return Bxe})),n.d(t,"EllipsoidGraphics",(function(){return jX})),n.d(t,"Entity",(function(){return vK})),n.d(t,"EntityCluster",(function(){return tTe})),n.d(t,"EntityCollection",(function(){return iwe})),n.d(t,"EntityView",(function(){return qje})),n.d(t,"GeoJsonDataSource",(function(){return YPe})),n.d(t,"GeometryUpdater",(function(){return DK})),n.d(t,"GeometryVisualizer",(function(){return wIe})),n.d(t,"GpxDataSource",(function(){return GMe})),n.d(t,"GridMaterialProperty",(function(){return vTe})),n.d(t,"GroundGeometryUpdater",(function(){return Awe})),n.d(t,"ImageMaterialProperty",(function(){return uX})),n.d(t,"KmlCamera",(function(){return WMe})),n.d(t,"KmlDataSource",(function(){return gHe})),n.d(t,"KmlLookAt",(function(){return gUe})),n.d(t,"KmlTour",(function(){return wUe})),n.d(t,"KmlTourFlyTo",(function(){return TUe})),n.d(t,"KmlTourWait",(function(){return EUe})),n.d(t,"LabelGraphics",(function(){return RX})),n.d(t,"LabelVisualizer",(function(){return ZIe})),n.d(t,"MaterialProperty",(function(){return MY})),n.d(t,"ModelGraphics",(function(){return qX})),n.d(t,"ModelVisualizer",(function(){return _De})),n.d(t,"NodeTransformationProperty",(function(){return LX})),n.d(t,"PathGraphics",(function(){return KX})),n.d(t,"PathVisualizer",(function(){return NDe})),n.d(t,"PlaneGeometryUpdater",(function(){return Zxe})),n.d(t,"PlaneGraphics",(function(){return ZX})),n.d(t,"PointGraphics",(function(){return QX})),n.d(t,"PointVisualizer",(function(){return JDe})),n.d(t,"PolygonGeometryUpdater",(function(){return lSe})),n.d(t,"PolygonGraphics",(function(){return nK})),n.d(t,"PolylineArrowMaterialProperty",(function(){return wTe})),n.d(t,"PolylineDashMaterialProperty",(function(){return STe})),n.d(t,"PolylineGeometryUpdater",(function(){return hje})),n.d(t,"PolylineGlowMaterialProperty",(function(){return RTe})),n.d(t,"PolylineGraphics",(function(){return oK})),n.d(t,"PolylineOutlineMaterialProperty",(function(){return FTe})),n.d(t,"PolylineVisualizer",(function(){return Tje})),n.d(t,"PolylineVolumeGeometryUpdater",(function(){return pSe})),n.d(t,"PolylineVolumeGraphics",(function(){return aK})),n.d(t,"PositionProperty",(function(){return bX})),n.d(t,"PositionPropertyArray",(function(){return zTe})),n.d(t,"Property",(function(){return QB})),n.d(t,"PropertyArray",(function(){return VTe})),n.d(t,"PropertyBag",(function(){return zX})),n.d(t,"RectangleGeometryUpdater",(function(){return TSe})),n.d(t,"RectangleGraphics",(function(){return cK})),n.d(t,"ReferenceProperty",(function(){return qTe})),n.d(t,"Rotation",(function(){return YTe})),n.d(t,"SampledPositionProperty",(function(){return oCe})),n.d(t,"SampledProperty",(function(){return nCe})),n.d(t,"ScaledPositionProperty",(function(){return bDe})),n.d(t,"StaticGeometryColorBatch",(function(){return BSe})),n.d(t,"StaticGeometryPerMaterialBatch",(function(){return qSe})),n.d(t,"StaticGroundGeometryColorBatch",(function(){return ZSe})),n.d(t,"StaticGroundGeometryPerMaterialBatch",(function(){return nIe})),n.d(t,"StaticGroundPolylinePerMaterialBatch",(function(){return gje})),n.d(t,"StaticOutlineGeometryBatch",(function(){return uIe})),n.d(t,"StripeMaterialProperty",(function(){return fCe})),n.d(t,"StripeOrientation",(function(){return aCe})),n.d(t,"TerrainOffsetProperty",(function(){return LK})),n.d(t,"TimeIntervalCollectionPositionProperty",(function(){return mCe})),n.d(t,"TimeIntervalCollectionProperty",(function(){return gCe})),n.d(t,"VelocityOrientationProperty",(function(){return SCe})),n.d(t,"VelocityVectorProperty",(function(){return ACe})),n.d(t,"Visualizer",(function(){return yHe})),n.d(t,"WallGeometryUpdater",(function(){return mIe})),n.d(t,"WallGraphics",(function(){return uK})),n.d(t,"createMaterialPropertyDescriptor",(function(){return fX})),n.d(t,"createPropertyDescriptor",(function(){return UB})),n.d(t,"createRawPropertyDescriptor",(function(){return CX})),n.d(t,"exportKml",(function(){return eGe})),n.d(t,"heightReferenceOnEntityPropertyChanged",(function(){return FK})),n.d(t,"AutomaticUniforms",(function(){return kz})),n.d(t,"Buffer",(function(){return SG})),n.d(t,"BufferUsage",(function(){return EG})),n.d(t,"ClearCommand",(function(){return bJ})),n.d(t,"ComputeCommand",(function(){return XK})),n.d(t,"ComputeEngine",(function(){return lGe})),n.d(t,"Context",(function(){return Aqe})),n.d(t,"ContextLimits",(function(){return zF})),n.d(t,"CubeMap",(function(){return ek})),n.d(t,"CubeMapFace",(function(){return VF})),n.d(t,"DrawCommand",(function(){return nz})),n.d(t,"Framebuffer",(function(){return kne})),n.d(t,"FramebufferManager",(function(){return Yne})),n.d(t,"MipmapHint",(function(){return GF})),n.d(t,"MultisampleFramebuffer",(function(){return Une})),n.d(t,"Pass",(function(){return oz})),n.d(t,"PassState",(function(){return hGe})),n.d(t,"PixelDatatype",(function(){return WS})),n.d(t,"RenderState",(function(){return Mz})),n.d(t,"Renderbuffer",(function(){return qne})),n.d(t,"RenderbufferFormat",(function(){return Hne})),n.d(t,"Sampler",(function(){return $F})),n.d(t,"ShaderBuilder",(function(){return mme})),n.d(t,"ShaderCache",(function(){return pGe})),n.d(t,"ShaderDestination",(function(){return nde})),n.d(t,"ShaderFunction",(function(){return pme})),n.d(t,"ShaderProgram",(function(){return IU})),n.d(t,"ShaderSource",(function(){return bG})),n.d(t,"ShaderStruct",(function(){return fme})),n.d(t,"Texture",(function(){return nk})),n.d(t,"TextureCache",(function(){return _Ge})),n.d(t,"TextureMagnificationFilter",(function(){return WF})),n.d(t,"TextureMinificationFilter",(function(){return XF})),n.d(t,"TextureWrap",(function(){return JF})),n.d(t,"UniformState",(function(){return rqe})),n.d(t,"VertexArray",(function(){return BG})),n.d(t,"VertexArrayFacade",(function(){return Aie})),n.d(t,"createUniform",(function(){return nU})),n.d(t,"createUniformArray",(function(){return _U})),n.d(t,"freezeRenderState",(function(){return az})),n.d(t,"loadCubeMap",(function(){return Cqe})),n.d(t,"modernizeShader",(function(){return FU})),n.d(t,"AlphaMode",(function(){return q8})),n.d(t,"Appearance",(function(){return FF})),n.d(t,"ArcGisMapServerImageryProvider",(function(){return Nqe})),n.d(t,"AttributeType",(function(){return cl})),n.d(t,"AutoExposure",(function(){return Hqe})),n.d(t,"Axis",(function(){return vJ})),n.d(t,"B3dmParser",(function(){return TJ})),n.d(t,"BatchTable",(function(){return tq})),n.d(t,"BatchTableHierarchy",(function(){return FJ})),n.d(t,"BatchTexture",(function(){return CJ})),n.d(t,"Batched3DModel3DTileContent",(function(){return L6})),n.d(t,"Billboard",(function(){return _oe})),n.d(t,"BillboardCollection",(function(){return Bre})),n.d(t,"BingMapsImageryProvider",(function(){return eWe})),n.d(t,"BingMapsStyle",(function(){return qqe})),n.d(t,"BlendEquation",(function(){return DF})),n.d(t,"BlendFunction",(function(){return PF})),n.d(t,"BlendOption",(function(){return boe})),n.d(t,"BlendingState",(function(){return MF})),n.d(t,"BoxEmitter",(function(){return oWe})),n.d(t,"BrdfLutGenerator",(function(){return cWe})),n.d(t,"BufferLoader",(function(){return l8})),n.d(t,"Camera",(function(){return eKe})),n.d(t,"CameraEventAggregator",(function(){return hKe})),n.d(t,"CameraEventType",(function(){return nKe})),n.d(t,"CameraFlightPath",(function(){return SWe})),n.d(t,"Cesium3DContentGroup",(function(){return OJ})),n.d(t,"Cesium3DTile",(function(){return Nve})),n.d(t,"Cesium3DTileBatchTable",(function(){return EZ})),n.d(t,"Cesium3DTileColorBlendMode",(function(){return QJ})),n.d(t,"Cesium3DTileContent",(function(){return fKe})),n.d(t,"Cesium3DTileContentFactory",(function(){return bge})),n.d(t,"Cesium3DTileContentState",(function(){return vge})),n.d(t,"Cesium3DTileContentType",(function(){return wge})),n.d(t,"Cesium3DTileFeature",(function(){return SZ})),n.d(t,"Cesium3DTileFeatureTable",(function(){return PZ})),n.d(t,"Cesium3DTileOptimizationHint",(function(){return Tge})),n.d(t,"Cesium3DTileOptimizations",(function(){return Gve})),n.d(t,"Cesium3DTilePass",(function(){return wbe})),n.d(t,"Cesium3DTilePassState",(function(){return mKe})),n.d(t,"Cesium3DTilePointFeature",(function(){return Hre})),n.d(t,"Cesium3DTileRefine",(function(){return qte})),n.d(t,"Cesium3DTileStyle",(function(){return TKe})),n.d(t,"Cesium3DTileStyleEngine",(function(){return nOe})),n.d(t,"Cesium3DTileset",(function(){return HOe})),n.d(t,"Cesium3DTilesetCache",(function(){return Wve})),n.d(t,"Cesium3DTilesetHeatmap",(function(){return Zve})),n.d(t,"Cesium3DTilesetMetadata",(function(){return Uve})),n.d(t,"Cesium3DTilesetMostDetailedTraversal",(function(){return Lge})),n.d(t,"Cesium3DTilesetStatistics",(function(){return eOe})),n.d(t,"Cesium3DTilesetTraversal",(function(){return ybe})),n.d(t,"CircleEmitter",(function(){return EKe})),n.d(t,"ClassificationModel",(function(){return g2})),n.d(t,"ClassificationPrimitive",(function(){return mY})),n.d(t,"ClassificationType",(function(){return wG})),n.d(t,"ClippingPlane",(function(){return v2})),n.d(t,"ClippingPlaneCollection",(function(){return M2})),n.d(t,"CloudCollection",(function(){return CJe})),n.d(t,"CloudType",(function(){return SKe})),n.d(t,"ColorBlendMode",(function(){return L2})),n.d(t,"Composite3DTileContent",(function(){return z6})),n.d(t,"ConditionsExpression",(function(){return yKe})),n.d(t,"ConeEmitter",(function(){return SJe})),n.d(t,"ContentMetadata",(function(){return Cbe})),n.d(t,"CreditDisplay",(function(){return YJe})),n.d(t,"CullFace",(function(){return LF})),n.d(t,"CumulusCloud",(function(){return VKe})),n.d(t,"DebugAppearance",(function(){return KJe})),n.d(t,"DebugCameraPrimitive",(function(){return aZe})),n.d(t,"DebugInspector",(function(){return fZe})),n.d(t,"DebugModelMatrixPrimitive",(function(){return mZe})),n.d(t,"DepthFunction",(function(){return TG})),n.d(t,"DepthPlane",(function(){return EZe})),n.d(t,"DerivedCommand",(function(){return kZe})),n.d(t,"DeviceOrientationCameraController",(function(){return qZe})),n.d(t,"DirectionalLight",(function(){return YZe})),n.d(t,"DiscardEmptyTileImagePolicy",(function(){return Xqe})),n.d(t,"DiscardMissingTileImagePolicy",(function(){return xqe})),n.d(t,"DracoLoader",(function(){return V2})),n.d(t,"EllipsoidPrimitive",(function(){return e$e})),n.d(t,"EllipsoidSurfaceAppearance",(function(){return o$e})),n.d(t,"Empty3DTileContent",(function(){return Tbe})),n.d(t,"Expression",(function(){return b0})),n.d(t,"ExpressionNodeType",(function(){return b1})),n.d(t,"Fog",(function(){return f$e})),n.d(t,"FrameRateMonitor",(function(){return g$e})),n.d(t,"FrameState",(function(){return y$e})),n.d(t,"FrustumCommands",(function(){return O$e})),n.d(t,"Geometry3DTileContent",(function(){return n7})),n.d(t,"GetFeatureInfoFormat",(function(){return z$e})),n.d(t,"Globe",(function(){return g2e})),n.d(t,"GlobeDepth",(function(){return A2e})),n.d(t,"GlobeSurfaceShaderSet",(function(){return K$e})),n.d(t,"GlobeSurfaceTile",(function(){return bQe})),n.d(t,"GlobeSurfaceTileProvider",(function(){return d0e})),n.d(t,"GlobeTranslucency",(function(){return p0e})),n.d(t,"GlobeTranslucencyFramebuffer",(function(){return S2e})),n.d(t,"GlobeTranslucencyState",(function(){return v3e})),n.d(t,"GltfBufferViewLoader",(function(){return d8})),n.d(t,"GltfDracoLoader",(function(){return p8})),n.d(t,"GltfImageLoader",(function(){return _8})),n.d(t,"GltfIndexBufferLoader",(function(){return C8})),n.d(t,"GltfJsonLoader",(function(){return L8})),n.d(t,"GltfLoader",(function(){return _ue})),n.d(t,"GltfLoaderUtil",(function(){return y9})),n.d(t,"GltfStructuralMetadataLoader",(function(){return jle})),n.d(t,"GltfTextureLoader",(function(){return v9})),n.d(t,"GltfVertexBufferLoader",(function(){return C9})),n.d(t,"GoogleEarthEnterpriseImageryProvider",(function(){return E3e})),n.d(t,"GoogleEarthEnterpriseMapsProvider",(function(){return S3e})),n.d(t,"GridImageryProvider",(function(){return R3e})),n.d(t,"GroundPolylinePrimitive",(function(){return rX})),n.d(t,"GroundPrimitive",(function(){return PY})),n.d(t,"GroupMetadata",(function(){return Bve})),n.d(t,"HeightReference",(function(){return qB})),n.d(t,"HorizontalOrigin",(function(){return YB})),n.d(t,"I3dmParser",(function(){return Qee})),n.d(t,"ImageBasedLighting",(function(){return mJ})),n.d(t,"Imagery",(function(){return wQe})),n.d(t,"ImageryLayer",(function(){return LQe})),n.d(t,"ImageryLayerCollection",(function(){return v0e})),n.d(t,"ImageryLayerFeatureInfo",(function(){return Iqe})),n.d(t,"ImageryProvider",(function(){return Pqe})),n.d(t,"ImageryState",(function(){return Z$e})),n.d(t,"Implicit3DTileContent",(function(){return xee})),n.d(t,"ImplicitAvailabilityBitstream",(function(){return o7})),n.d(t,"ImplicitMetadataView",(function(){return a7})),n.d(t,"ImplicitSubdivisionScheme",(function(){return c7})),n.d(t,"ImplicitSubtree",(function(){return nee})),n.d(t,"ImplicitSubtreeMetadata",(function(){return d7})),n.d(t,"ImplicitTileCoordinates",(function(){return aOe})),n.d(t,"ImplicitTileset",(function(){return iOe})),n.d(t,"InstanceAttributeSemantic",(function(){return Wle})),n.d(t,"Instanced3DModel3DTileContent",(function(){return Hte})),n.d(t,"InvertClassification",(function(){return z3e})),n.d(t,"IonImageryProvider",(function(){return h5e})),n.d(t,"IonWorldImageryStyle",(function(){return f5e})),n.d(t,"JobScheduler",(function(){return _5e})),n.d(t,"JobType",(function(){return Q2})),n.d(t,"JsonMetadataTable",(function(){return Vme})),n.d(t,"Label",(function(){return _ae})),n.d(t,"LabelCollection",(function(){return Bae})),n.d(t,"LabelStyle",(function(){return Jre})),n.d(t,"Light",(function(){return b5e})),n.d(t,"MapMode2D",(function(){return DWe})),n.d(t,"MapboxImageryProvider",(function(){return V4e})),n.d(t,"MapboxStyleImageryProvider",(function(){return w5e})),n.d(t,"Material",(function(){return Uk})),n.d(t,"MaterialAppearance",(function(){return Hk})),n.d(t,"MetadataClass",(function(){return R9})),n.d(t,"MetadataClassProperty",(function(){return M7})),n.d(t,"MetadataComponentType",(function(){return p7})),n.d(t,"MetadataEntity",(function(){return u7})),n.d(t,"MetadataEnum",(function(){return B9})),n.d(t,"MetadataEnumValue",(function(){return N9})),n.d(t,"MetadataSchema",(function(){return k9})),n.d(t,"MetadataSchemaLoader",(function(){return z9})),n.d(t,"MetadataSemantic",(function(){return wee})),n.d(t,"MetadataTable",(function(){return r8})),n.d(t,"MetadataTableProperty",(function(){return n8})),n.d(t,"MetadataType",(function(){return _7})),n.d(t,"Model",(function(){return E6})),n.d(t,"ModelAnimation",(function(){return f3})),n.d(t,"ModelAnimationCache",(function(){return c3})),n.d(t,"ModelAnimationCollection",(function(){return y3})),n.d(t,"ModelAnimationLoop",(function(){return u3})),n.d(t,"ModelAnimationState",(function(){return h3})),n.d(t,"ModelComponents",(function(){return _9})),n.d(t,"ModelInstance",(function(){return tte})),n.d(t,"ModelInstanceCollection",(function(){return Lte})),n.d(t,"ModelLoadResources",(function(){return OQ})),n.d(t,"ModelMaterial",(function(){return O3})),n.d(t,"ModelMesh",(function(){return A3})),n.d(t,"ModelNode",(function(){return C3})),n.d(t,"ModelOutlineLoader",(function(){return F3})),n.d(t,"ModelUtility",(function(){return XQ})),n.d(t,"Moon",(function(){return S5e})),n.d(t,"Multiple3DTileContent",(function(){return Mbe})),n.d(t,"NeverTileDiscardPolicy",(function(){return D5e})),n.d(t,"OIT",(function(){return t6e})),n.d(t,"OctahedralProjectedCubeMap",(function(){return pJ})),n.d(t,"OpenStreetMapImageryProvider",(function(){return o6e})),n.d(t,"OrderedGroundPrimitiveCollection",(function(){return _xe})),n.d(t,"Particle",(function(){return c6e})),n.d(t,"ParticleBurst",(function(){return u6e})),n.d(t,"ParticleEmitter",(function(){return d6e})),n.d(t,"ParticleSystem",(function(){return T6e})),n.d(t,"PerInstanceColorAppearance",(function(){return Kk})),n.d(t,"PerformanceDisplay",(function(){return E6e})),n.d(t,"PickDepth",(function(){return P6e})),n.d(t,"PickDepthFramebuffer",(function(){return L6e})),n.d(t,"PickFramebuffer",(function(){return k6e})),n.d(t,"Picking",(function(){return o9e})),n.d(t,"PntsParser",(function(){return ine})),n.d(t,"PointCloud",(function(){return Nne})),n.d(t,"PointCloud3DTileContent",(function(){return pie})),n.d(t,"PointCloudEyeDomeLighting",(function(){return nie})),n.d(t,"PointCloudShading",(function(){return oie})),n.d(t,"PointPrimitive",(function(){return Xwe})),n.d(t,"PointPrimitiveCollection",(function(){return EAe})),n.d(t,"Polyline",(function(){return Xae})),n.d(t,"PolylineCollection",(function(){return Vse})),n.d(t,"PolylineColorAppearance",(function(){return WY})),n.d(t,"PolylineMaterialAppearance",(function(){return $Y})),n.d(t,"PostProcessStage",(function(){return O9e})),n.d(t,"PostProcessStageCollection",(function(){return fet})),n.d(t,"PostProcessStageComposite",(function(){return H9e})),n.d(t,"PostProcessStageLibrary",(function(){return X9e})),n.d(t,"PostProcessStageSampleMode",(function(){return a9e})),n.d(t,"PostProcessStageTextureCache",(function(){return oet})),n.d(t,"Primitive",(function(){return bW})),n.d(t,"PrimitiveCollection",(function(){return pxe})),n.d(t,"PrimitivePipeline",(function(){return _q})),n.d(t,"PrimitiveState",(function(){return bq})),n.d(t,"PropertyAttribute",(function(){return Tle})),n.d(t,"PropertyAttributeProperty",(function(){return Ale})),n.d(t,"PropertyTable",(function(){return mle})),n.d(t,"PropertyTexture",(function(){return wle})),n.d(t,"PropertyTextureProperty",(function(){return vle})),n.d(t,"QuadtreeOccluders",(function(){return w0e})),n.d(t,"QuadtreePrimitive",(function(){return r2e})),n.d(t,"QuadtreeTile",(function(){return C0e})),n.d(t,"QuadtreeTileLoadState",(function(){return Q$e})),n.d(t,"QuadtreeTileProvider",(function(){return met})),n.d(t,"ResourceCache",(function(){return tee})),n.d(t,"ResourceCacheKey",(function(){return $9})),n.d(t,"ResourceLoader",(function(){return a8})),n.d(t,"ResourceLoaderState",(function(){return c8})),n.d(t,"SDFSettings",(function(){return voe})),n.d(t,"Scene",(function(){return Trt})),n.d(t,"SceneFramebuffer",(function(){return V6e})),n.d(t,"SceneMode",(function(){return vq})),n.d(t,"SceneTransforms",(function(){return qie})),n.d(t,"SceneTransitioner",(function(){return Ett})),n.d(t,"ScreenSpaceCameraController",(function(){return lot})),n.d(t,"ShadowMap",(function(){return z7e})),n.d(t,"ShadowMapShader",(function(){return G6e})),n.d(t,"ShadowMode",(function(){return wq})),n.d(t,"ShadowVolumeAppearance",(function(){return XW})),n.d(t,"SingleTileImageryProvider",(function(){return G4e})),n.d(t,"SkyAtmosphere",(function(){return jrt})),n.d(t,"SkyBox",(function(){return Nrt})),n.d(t,"SphereEmitter",(function(){return Brt})),n.d(t,"SplitDirection",(function(){return z3})),n.d(t,"Splitter",(function(){return V3})),n.d(t,"StencilConstants",(function(){return eY})),n.d(t,"StencilFunction",(function(){return JW})),n.d(t,"StencilOperation",(function(){return $W})),n.d(t,"StructuralMetadata",(function(){return Ele})),n.d(t,"StyleExpression",(function(){return krt})),n.d(t,"Sun",(function(){return Xrt})),n.d(t,"SunLight",(function(){return bGe})),n.d(t,"SunPostProcess",(function(){return bot})),n.d(t,"SupportedImageFormats",(function(){return Yle})),n.d(t,"TerrainFillMesh",(function(){return E1e})),n.d(t,"TerrainState",(function(){return tQe})),n.d(t,"TextureAtlas",(function(){return Soe})),n.d(t,"TileBoundingRegion",(function(){return aye})),n.d(t,"TileBoundingS2Cell",(function(){return Hye})),n.d(t,"TileBoundingSphere",(function(){return qye})),n.d(t,"TileBoundingVolume",(function(){return Jrt})),n.d(t,"TileCoordinatesImageryProvider",(function(){return $rt})),n.d(t,"TileDiscardPolicy",(function(){return eat})),n.d(t,"TileImagery",(function(){return TQe})),n.d(t,"TileMapServiceImageryProvider",(function(){return F4e})),n.d(t,"TileMetadata",(function(){return Ibe})),n.d(t,"TileOrientedBoundingBox",(function(){return eve})),n.d(t,"TileReplacementQueue",(function(){return S0e})),n.d(t,"TileSelectionResult",(function(){return FQe})),n.d(t,"TileState",(function(){return nat})),n.d(t,"Tileset3DTileContent",(function(){return gie})),n.d(t,"TilesetMetadata",(function(){return kve})),n.d(t,"TimeDynamicImagery",(function(){return J4e})),n.d(t,"TimeDynamicPointCloud",(function(){return Dat})),n.d(t,"Tonemapper",(function(){return aet})),n.d(t,"TranslucentTileClassification",(function(){return Z7e})),n.d(t,"TweenCollection",(function(){return Itt})),n.d(t,"UrlTemplateImageryProvider",(function(){return M4e})),n.d(t,"Vector3DTileBatch",(function(){return f1})),n.d(t,"Vector3DTileClampedPolylines",(function(){return nle})),n.d(t,"Vector3DTileContent",(function(){return dle})),n.d(t,"Vector3DTileGeometry",(function(){return K6})),n.d(t,"Vector3DTilePoints",(function(){return rce})),n.d(t,"Vector3DTilePolygons",(function(){return pce})),n.d(t,"Vector3DTilePolylines",(function(){return Mce})),n.d(t,"Vector3DTilePrimitive",(function(){return Y0})),n.d(t,"VertexAttributeSemantic",(function(){return Kte})),n.d(t,"VerticalOrigin",(function(){return KB})),n.d(t,"View",(function(){return c8e})),n.d(t,"ViewportQuad",(function(){return Rat})),n.d(t,"WebMapServiceImageryProvider",(function(){return i5e})),n.d(t,"WebMapTileServiceImageryProvider",(function(){return s5e})),n.d(t,"computeFlyToLocationForRectangle",(function(){return Nat})),n.d(t,"createBillboardPointCallback",(function(){return kre})),n.d(t,"createElevationBandMaterial",(function(){return Xat})),n.d(t,"createOsmBuildings",(function(){return Jat})),n.d(t,"createTangentSpaceDebugPrimitive",(function(){return $at})),n.d(t,"createWorldImagery",(function(){return est})),n.d(t,"findContentMetadata",(function(){return xbe})),n.d(t,"findGroupMetadata",(function(){return Sbe})),n.d(t,"findTileMetadata",(function(){return jbe})),n.d(t,"getBinaryAccessor",(function(){return BJ})),n.d(t,"getClipAndStyleCode",(function(){return G2})),n.d(t,"getClippingFunction",(function(){return Z2})),n.d(t,"hasExtension",(function(){return i7})),n.d(t,"parseBatchTable",(function(){return Hme})),n.d(t,"parseBoundingVolumeSemantics",(function(){return Aee})),n.d(t,"parseFeatureMetadataLegacy",(function(){return Sle})),n.d(t,"parseStructuralMetadata",(function(){return xle})),n.d(t,"preprocess3DTileContent",(function(){return Pbe})),n.d(t,"processModelMaterialsCommon",(function(){return t1})),n.d(t,"processPbrMaterials",(function(){return h1})),n.d(t,"_shadersAdjustTranslucentFS",(function(){return j5e})),n.d(t,"_shadersAtmosphereCommon",(function(){return H$e})),n.d(t,"_shadersBillboardCollectionFS",(function(){return Tie})),n.d(t,"_shadersBillboardCollectionVS",(function(){return Cie})),n.d(t,"_shadersBrdfLutGeneratorFS",(function(){return rWe})),n.d(t,"_shadersCloudCollectionFS",(function(){return IKe})),n.d(t,"_shadersCloudCollectionVS",(function(){return DKe})),n.d(t,"_shadersCloudNoiseFS",(function(){return jKe})),n.d(t,"_shadersCloudNoiseVS",(function(){return PKe})),n.d(t,"_shadersCompareAndPackTranslucentDepth",(function(){return U7e})),n.d(t,"_shadersCompositeOITFS",(function(){return P5e})),n.d(t,"_shadersDepthPlaneFS",(function(){return _Ze})),n.d(t,"_shadersDepthPlaneVS",(function(){return gZe})),n.d(t,"_shadersEllipsoidFS",(function(){return XZe})),n.d(t,"_shadersEllipsoidVS",(function(){return KZe})),n.d(t,"_shadersFXAA3_11",(function(){return z9e})),n.d(t,"_shadersGlobeFS",(function(){return U$e})),n.d(t,"_shadersGlobeVS",(function(){return V$e})),n.d(t,"_shadersGroundAtmosphere",(function(){return G$e})),n.d(t,"_shadersOctahedralProjectionAtlasFS",(function(){return KK})),n.d(t,"_shadersOctahedralProjectionFS",(function(){return JK})),n.d(t,"_shadersOctahedralProjectionVS",(function(){return ZK})),n.d(t,"_shadersPointPrimitiveCollectionFS",(function(){return Kwe})),n.d(t,"_shadersPointPrimitiveCollectionVS",(function(){return Jwe})),n.d(t,"_shadersPolylineCommon",(function(){return VY})),n.d(t,"_shadersPolylineFS",(function(){return XY})),n.d(t,"_shadersPolylineShadowVolumeFS",(function(){return BY})),n.d(t,"_shadersPolylineShadowVolumeMorphFS",(function(){return FY})),n.d(t,"_shadersPolylineShadowVolumeMorphVS",(function(){return kY})),n.d(t,"_shadersPolylineShadowVolumeVS",(function(){return zY})),n.d(t,"_shadersPolylineVS",(function(){return Fae})),n.d(t,"_shadersReprojectWebMercatorFS",(function(){return yQe})),n.d(t,"_shadersReprojectWebMercatorVS",(function(){return vQe})),n.d(t,"_shadersShadowVolumeAppearanceFS",(function(){return yW})),n.d(t,"_shadersShadowVolumeAppearanceVS",(function(){return yG})),n.d(t,"_shadersShadowVolumeFS",(function(){return vG})),n.d(t,"_shadersSkyAtmosphereCommon",(function(){return Crt})),n.d(t,"_shadersSkyAtmosphereFS",(function(){return Ert})),n.d(t,"_shadersSkyAtmosphereVS",(function(){return xrt})),n.d(t,"_shadersSkyBoxFS",(function(){return Prt})),n.d(t,"_shadersSkyBoxVS",(function(){return Rrt})),n.d(t,"_shadersSunFS",(function(){return zrt})),n.d(t,"_shadersSunTextureFS",(function(){return Urt})),n.d(t,"_shadersSunVS",(function(){return Vrt})),n.d(t,"_shadersVector3DTileClampedPolylinesFS",(function(){return Lce})),n.d(t,"_shadersVector3DTileClampedPolylinesVS",(function(){return Nce})),n.d(t,"_shadersVector3DTilePolylinesVS",(function(){return mce})),n.d(t,"_shadersVectorTileVS",(function(){return p1})),n.d(t,"_shadersViewportQuadFS",(function(){return jat})),n.d(t,"_shadersViewportQuadVS",(function(){return tGe})),n.d(t,"Autolinker",(function(){return iMe})),n.d(t,"Tween",(function(){return Ow["a"]})),n.d(t,"Uri",(function(){return Hl["a"]})),n.d(t,"bitmap_sdf",(function(){return Gre})),n.d(t,"dompurify",(function(){return li})),n.d(t,"earcut",(function(){return ag})),n.d(t,"grapheme_splitter",(function(){return gae})),n.d(t,"jsep",(function(){return _1})),n.d(t,"kdbush",(function(){return LAe})),n.d(t,"knockout_3_5_1",(function(){return tst["a"]})),n.d(t,"knockout_es5",(function(){return mst})),n.d(t,"knockout",(function(){return vst})),n.d(t,"ktx_parse",(function(){return Ost["a"]})),n.d(t,"lerc",(function(){return wst}));n.d(t,"mersenne_twister",(function(){return Wte["a"]})),n.d(t,"meshoptimizer",(function(){return h8})),n.d(t,"nosleep",(function(){return Sst})),n.d(t,"pako",(function(){return Glt})),n.d(t,"protobufjs",(function(){return rT["a"]})),n.d(t,"rbush",(function(){return ID})),n.d(t,"topojson",(function(){return uPe})),n.d(t,"zip",(function(){return fUe})),n.d(t,"ClockViewModel",(function(){return Wlt})),n.d(t,"Command",(function(){return Xlt})),n.d(t,"InspectorShared",(function(){return Jlt})),n.d(t,"SvgPathBindingHandler",(function(){return yst})),n.d(t,"ToggleButtonViewModel",(function(){return $lt})),n.d(t,"createCommand",(function(){return eut})),n.d(t,"getElement",(function(){return mUe})),n.d(t,"subscribeAndEvaluate",(function(){return nut})),n.d(t,"ForEach",(function(){return FZ})),n.d(t,"addBuffer",(function(){return M$})),n.d(t,"addDefaults",(function(){return WZ})),n.d(t,"addExtensionsRequired",(function(){return v$})),n.d(t,"addExtensionsUsed",(function(){return s$})),n.d(t,"addPipelineExtras",(function(){return KZ})),n.d(t,"addToArray",(function(){return MZ})),n.d(t,"findAccessorMinMax",(function(){return h$})),n.d(t,"forEachTextureInMaterial",(function(){return T$})),n.d(t,"getAccessorByteStride",(function(){return VZ})),n.d(t,"getComponentReader",(function(){return l$})),n.d(t,"moveTechniqueRenderStates",(function(){return b$})),n.d(t,"moveTechniquesToExtension",(function(){return w$})),n.d(t,"numberOfComponentsForType",(function(){return zZ})),n.d(t,"parseGlb",(function(){return r$})),n.d(t,"readAccessorPacked",(function(){return L$})),n.d(t,"removeExtensionsRequired",(function(){return ZZ})),n.d(t,"removeExtensionsUsed",(function(){return QZ})),n.d(t,"removePipelineExtras",(function(){return N8})),n.d(t,"removeUnusedElements",(function(){return P$})),n.d(t,"updateAccessorComponentTypes",(function(){return k$})),n.d(t,"updateVersion",(function(){return bQ})),n.d(t,"usesExtension",(function(){return LZ})),n.d(t,"AlphaPipelineStage",(function(){return fde})),n.d(t,"B3dmLoader",(function(){return t_e})),n.d(t,"BatchTexturePipelineStage",(function(){return mde})),n.d(t,"CPUStylingPipelineStage",(function(){return ufe})),n.d(t,"CustomShader",(function(){return cut})),n.d(t,"CustomShaderMode",(function(){return gde})),n.d(t,"CustomShaderPipelineStage",(function(){return afe})),n.d(t,"DequantizationPipelineStage",(function(){return gfe})),n.d(t,"FeatureIdPipelineStage",(function(){return Rde})),n.d(t,"GeoJsonLoader",(function(){return n_e})),n.d(t,"GeometryPipelineStage",(function(){return zfe})),n.d(t,"I3dmLoader",(function(){return D_e})),n.d(t,"ImageBasedLightingPipelineStage",(function(){return ode})),n.d(t,"InstancingPipelineStage",(function(){return ime})),n.d(t,"LightingModel",(function(){return Hfe})),n.d(t,"LightingPipelineStage",(function(){return qfe})),n.d(t,"MaterialPipelineStage",(function(){return npe})),n.d(t,"MetadataPipelineStage",(function(){return qde})),n.d(t,"ModelAlphaOptions",(function(){return dme})),n.d(t,"ModelClippingPlanesPipelineStage",(function(){return hde})),n.d(t,"ModelColorPipelineStage",(function(){return sde})),n.d(t,"ModelExperimental",(function(){return tge})),n.d(t,"ModelExperimental3DTileContent",(function(){return mge})),n.d(t,"ModelExperimentalAnimation",(function(){return The})),n.d(t,"ModelExperimentalAnimationChannel",(function(){return Ohe})),n.d(t,"ModelExperimentalAnimationCollection",(function(){return Ihe})),n.d(t,"ModelExperimentalDrawCommand",(function(){return qhe})),n.d(t,"ModelExperimentalNode",(function(){return sme})),n.d(t,"ModelExperimentalPrimitive",(function(){return Vpe})),n.d(t,"ModelExperimentalSceneGraph",(function(){return Eme})),n.d(t,"ModelExperimentalSkin",(function(){return lme})),n.d(t,"ModelExperimentalType",(function(){return Ofe})),n.d(t,"ModelExperimentalUtility",(function(){return Xhe})),n.d(t,"ModelFeature",(function(){return Bme})),n.d(t,"ModelFeatureTable",(function(){return Fme})),n.d(t,"ModelLightingOptions",(function(){return Tme})),n.d(t,"ModelMatrixUpdateStage",(function(){return ame})),n.d(t,"ModelRenderResources",(function(){return yme})),n.d(t,"ModelSplitterPipelineStage",(function(){return wme})),n.d(t,"MorphTargetsPipelineStage",(function(){return dpe})),n.d(t,"NodeRenderResources",(function(){return Ame})),n.d(t,"PickingPipelineStage",(function(){return gpe})),n.d(t,"PntsLoader",(function(){return z_e})),n.d(t,"PointCloudAttenuationPipelineStage",(function(){return Ape})),n.d(t,"PrimitiveRenderResources",(function(){return Cme})),n.d(t,"SceneMode2DPipelineStage",(function(){return Rpe})),n.d(t,"SelectedFeatureIdPipelineStage",(function(){return Sfe})),n.d(t,"SkinningPipelineStage",(function(){return Fpe})),n.d(t,"StyleCommandsNeeded",(function(){return jhe})),n.d(t,"TextureManager",(function(){return rut})),n.d(t,"TextureUniform",(function(){return gut})),n.d(t,"UniformType",(function(){return out})),n.d(t,"VaryingType",(function(){return yut})),n.d(t,"WireframePipelineStage",(function(){return Upe})),n.d(t,"buildDrawCommand",(function(){return $he})),n.d(t,"_shadersAllMaterialAppearanceFS",(function(){return AF})),n.d(t,"_shadersAllMaterialAppearanceVS",(function(){return TF})),n.d(t,"_shadersBasicMaterialAppearanceFS",(function(){return CF})),n.d(t,"_shadersBasicMaterialAppearanceVS",(function(){return EF})),n.d(t,"_shadersEllipsoidSurfaceAppearanceFS",(function(){return t$e})),n.d(t,"_shadersEllipsoidSurfaceAppearanceVS",(function(){return n$e})),n.d(t,"_shadersPerInstanceColorAppearanceFS",(function(){return Gk})),n.d(t,"_shadersPerInstanceColorAppearanceVS",(function(){return qk})),n.d(t,"_shadersPerInstanceFlatColorAppearanceFS",(function(){return Wk})),n.d(t,"_shadersPerInstanceFlatColorAppearanceVS",(function(){return Yk})),n.d(t,"_shadersPolylineColorAppearanceVS",(function(){return UY})),n.d(t,"_shadersPolylineMaterialAppearanceVS",(function(){return YY})),n.d(t,"_shadersTexturedMaterialAppearanceFS",(function(){return xF})),n.d(t,"_shadersTexturedMaterialAppearanceVS",(function(){return SF})),n.d(t,"_shadersCzmBuiltins",(function(){return aG})),n.d(t,"_shadersAspectRampMaterial",(function(){return ik})),n.d(t,"_shadersBumpMapMaterial",(function(){return ok})),n.d(t,"_shadersCheckerboardMaterial",(function(){return rk})),n.d(t,"_shadersDotMaterial",(function(){return ak})),n.d(t,"_shadersElevationBandMaterial",(function(){return sk})),n.d(t,"_shadersElevationContourMaterial",(function(){return ck})),n.d(t,"_shadersElevationRampMaterial",(function(){return lk})),n.d(t,"_shadersFadeMaterial",(function(){return uk})),n.d(t,"_shadersGridMaterial",(function(){return hk})),n.d(t,"_shadersNormalMapMaterial",(function(){return dk})),n.d(t,"_shadersPolylineArrowMaterial",(function(){return fk})),n.d(t,"_shadersPolylineDashMaterial",(function(){return pk})),n.d(t,"_shadersPolylineGlowMaterial",(function(){return mk})),n.d(t,"_shadersPolylineOutlineMaterial",(function(){return _k})),n.d(t,"_shadersRimLightingMaterial",(function(){return gk})),n.d(t,"_shadersSlopeRampMaterial",(function(){return bk})),n.d(t,"_shadersStripeMaterial",(function(){return yk})),n.d(t,"_shadersWater",(function(){return vk})),n.d(t,"_shadersCPUStylingStageFS",(function(){return cfe})),n.d(t,"_shadersCPUStylingStageVS",(function(){return sfe})),n.d(t,"_shadersCustomShaderStageFS",(function(){return yde})),n.d(t,"_shadersCustomShaderStageVS",(function(){return bde})),n.d(t,"_shadersFeatureIdStageFS",(function(){return vde})),n.d(t,"_shadersFeatureIdStageVS",(function(){return Ode})),n.d(t,"_shadersGeometryStageFS",(function(){return bfe})),n.d(t,"_shadersGeometryStageVS",(function(){return yfe})),n.d(t,"_shadersImageBasedLightingStageFS",(function(){return ede})),n.d(t,"_shadersInstancingStageCommon",(function(){return Gpe})),n.d(t,"_shadersInstancingStageVS",(function(){return qpe})),n.d(t,"_shadersLegacyInstancingStageVS",(function(){return Wpe})),n.d(t,"_shadersLightingStageFS",(function(){return Ufe})),n.d(t,"_shadersMaterialStageFS",(function(){return Wfe})),n.d(t,"_shadersMetadataStageFS",(function(){return Mde})),n.d(t,"_shadersMetadataStageVS",(function(){return Nde})),n.d(t,"_shadersModelClippingPlanesStageFS",(function(){return cde})),n.d(t,"_shadersModelColorStageFS",(function(){return rde})),n.d(t,"_shadersModelExperimentalFS",(function(){return Whe})),n.d(t,"_shadersModelExperimentalVS",(function(){return Yhe})),n.d(t,"_shadersModelSplitterStageFS",(function(){return vme})),n.d(t,"_shadersMorphTargetsStageVS",(function(){return ipe})),n.d(t,"_shadersPointCloudAttenuationStageVS",(function(){return bpe})),n.d(t,"_shadersSelectedFeatureIdStageCommon",(function(){return wfe})),n.d(t,"_shadersSkinningStageVS",(function(){return Mpe})),n.d(t,"_shadersAcesTonemappingStage",(function(){return w9e})),n.d(t,"_shadersAdditiveBlend",(function(){return uot})),n.d(t,"_shadersAmbientOcclusionGenerate",(function(){return A9e})),n.d(t,"_shadersAmbientOcclusionModulate",(function(){return T9e})),n.d(t,"_shadersBlackAndWhite",(function(){return C9e})),n.d(t,"_shadersBloomComposite",(function(){return E9e})),n.d(t,"_shadersBrightPass",(function(){return hot})),n.d(t,"_shadersBrightness",(function(){return x9e})),n.d(t,"_shadersCompositeTranslucentClassification",(function(){return V7e})),n.d(t,"_shadersContrastBias",(function(){return S9e})),n.d(t,"_shadersDepthOfField",(function(){return I9e})),n.d(t,"_shadersDepthView",(function(){return D9e})),n.d(t,"_shadersDepthViewPacked",(function(){return vut})),n.d(t,"_shadersEdgeDetection",(function(){return j9e})),n.d(t,"_shadersFXAA",(function(){return R9e})),n.d(t,"_shadersFilmicTonemapping",(function(){return P9e})),n.d(t,"_shadersGaussianBlur1D",(function(){return M9e})),n.d(t,"_shadersLensFlare",(function(){return N9e})),n.d(t,"_shadersModifiedReinhardTonemapping",(function(){return L9e})),n.d(t,"_shadersNightVision",(function(){return B9e})),n.d(t,"_shadersPassThrough",(function(){return b2e})),n.d(t,"_shadersPassThroughDepth",(function(){return y2e})),n.d(t,"_shadersPointCloudEyeDomeLighting",(function(){return Xne})),n.d(t,"_shadersReinhardTonemapping",(function(){return F9e})),n.d(t,"_shadersSilhouette",(function(){return k9e})),n.d(t,"Animation",(function(){return Gut})),n.d(t,"AnimationViewModel",(function(){return Qut})),n.d(t,"BaseLayerPicker",(function(){return iht})),n.d(t,"BaseLayerPickerViewModel",(function(){return tht})),n.d(t,"ProviderViewModel",(function(){return rht})),n.d(t,"createDefaultImageryProviderViewModels",(function(){return sht})),n.d(t,"createDefaultTerrainProviderViewModels",(function(){return lht})),n.d(t,"Cesium3DTilesInspector",(function(){return Cht})),n.d(t,"Cesium3DTilesInspectorViewModel",(function(){return Oht})),n.d(t,"CesiumInspector",(function(){return Rht})),n.d(t,"CesiumInspectorViewModel",(function(){return jht})),n.d(t,"CesiumWidget",(function(){return zht})),n.d(t,"FullscreenButton",(function(){return Wht})),n.d(t,"FullscreenButtonViewModel",(function(){return Vht})),n.d(t,"Geocoder",(function(){return udt})),n.d(t,"GeocoderViewModel",(function(){return adt})),n.d(t,"HomeButton",(function(){return pdt})),n.d(t,"HomeButtonViewModel",(function(){return ddt})),n.d(t,"InfoBox",(function(){return vdt})),n.d(t,"InfoBoxViewModel",(function(){return bdt})),n.d(t,"NavigationHelpButton",(function(){return Tdt})),n.d(t,"NavigationHelpButtonViewModel",(function(){return wdt})),n.d(t,"PerformanceWatchdog",(function(){return Sdt})),n.d(t,"PerformanceWatchdogViewModel",(function(){return Edt})),n.d(t,"ProjectionPicker",(function(){return Mdt})),n.d(t,"ProjectionPickerViewModel",(function(){return Ddt})),n.d(t,"SceneModePicker",(function(){return Udt})),n.d(t,"SceneModePickerViewModel",(function(){return Ldt})),n.d(t,"SelectionIndicator",(function(){return Ydt})),n.d(t,"SelectionIndicatorViewModel",(function(){return qdt})),n.d(t,"Timeline",(function(){return dft})),n.d(t,"TimelineHighlightRange",(function(){return Kdt})),n.d(t,"TimelineTrack",(function(){return Zdt})),n.d(t,"VRButton",(function(){return Oft})),n.d(t,"VRButtonViewModel",(function(){return gft})),n.d(t,"Viewer",(function(){return kft})),n.d(t,"viewerCesium3DTilesInspectorMixin",(function(){return Uft})),n.d(t,"viewerCesiumInspectorMixin",(function(){return Hft})),n.d(t,"viewerDragDropMixin",(function(){return Jft})),n.d(t,"viewerPerformanceWatchdogMixin",(function(){return $ft})),n.d(t,"_shadersdegreesPerRadian",(function(){return kU})),n.d(t,"_shadersdepthRange",(function(){return zU})),n.d(t,"_shadersepsilon1",(function(){return UU})),n.d(t,"_shadersepsilon2",(function(){return VU})),n.d(t,"_shadersepsilon3",(function(){return HU})),n.d(t,"_shadersepsilon4",(function(){return GU})),n.d(t,"_shadersepsilon5",(function(){return qU})),n.d(t,"_shadersepsilon6",(function(){return WU})),n.d(t,"_shadersepsilon7",(function(){return YU})),n.d(t,"_shadersinfinity",(function(){return XU})),n.d(t,"_shadersoneOverPi",(function(){return KU})),n.d(t,"_shadersoneOverTwoPi",(function(){return JU})),n.d(t,"_shaderspassCesium3DTile",(function(){return ZU})),n.d(t,"_shaderspassCesium3DTileClassification",(function(){return $U})),n.d(t,"_shaderspassCesium3DTileClassificationIgnoreShow",(function(){return QU})),n.d(t,"_shaderspassClassification",(function(){return eV})),n.d(t,"_shaderspassCompute",(function(){return tV})),n.d(t,"_shaderspassEnvironment",(function(){return nV})),n.d(t,"_shaderspassGlobe",(function(){return iV})),n.d(t,"_shaderspassOpaque",(function(){return oV})),n.d(t,"_shaderspassOverlay",(function(){return rV})),n.d(t,"_shaderspassTerrainClassification",(function(){return aV})),n.d(t,"_shaderspassTranslucent",(function(){return sV})),n.d(t,"_shaderspi",(function(){return cV})),n.d(t,"_shaderspiOverFour",(function(){return lV})),n.d(t,"_shaderspiOverSix",(function(){return uV})),n.d(t,"_shaderspiOverThree",(function(){return hV})),n.d(t,"_shaderspiOverTwo",(function(){return dV})),n.d(t,"_shadersradiansPerDegree",(function(){return fV})),n.d(t,"_shaderssceneMode2D",(function(){return pV})),n.d(t,"_shaderssceneMode3D",(function(){return mV})),n.d(t,"_shaderssceneModeColumbusView",(function(){return _V})),n.d(t,"_shaderssceneModeMorphing",(function(){return gV})),n.d(t,"_shaderssolarRadius",(function(){return bV})),n.d(t,"_shadersthreePiOver2",(function(){return yV})),n.d(t,"_shaderstwoPi",(function(){return vV})),n.d(t,"_shaderswebMercatorMaxLatitude",(function(){return OV})),n.d(t,"_shadersHSBToRGB",(function(){return jV})),n.d(t,"_shadersHSLToRGB",(function(){return PV})),n.d(t,"_shadersRGBToHSB",(function(){return RV})),n.d(t,"_shadersRGBToHSL",(function(){return MV})),n.d(t,"_shadersRGBToXYZ",(function(){return NV})),n.d(t,"_shadersXYZToRGB",(function(){return LV})),n.d(t,"_shadersacesTonemapping",(function(){return BV})),n.d(t,"_shadersalphaWeight",(function(){return FV})),n.d(t,"_shadersantialias",(function(){return kV})),n.d(t,"_shadersapproximateSphericalCoordinates",(function(){return zV})),n.d(t,"_shadersbackFacing",(function(){return UV})),n.d(t,"_shadersbranchFreeTernary",(function(){return VV})),n.d(t,"_shaderscascadeColor",(function(){return HV})),n.d(t,"_shaderscascadeDistance",(function(){return GV})),n.d(t,"_shaderscascadeMatrix",(function(){return qV})),n.d(t,"_shaderscascadeWeights",(function(){return WV})),n.d(t,"_shaderscolumbusViewMorph",(function(){return YV})),n.d(t,"_shaderscomputePosition",(function(){return XV})),n.d(t,"_shaderscosineAndSine",(function(){return KV})),n.d(t,"_shadersdecompressTextureCoordinates",(function(){return JV})),n.d(t,"_shadersdefaultPbrMaterial",(function(){return ZV})),n.d(t,"_shadersdepthClamp",(function(){return $V})),n.d(t,"_shaderseastNorthUpToEyeCoordinates",(function(){return QV})),n.d(t,"_shadersellipsoidContainsPoint",(function(){return eH})),n.d(t,"_shadersellipsoidWgs84TextureCoordinates",(function(){return tH})),n.d(t,"_shadersequalsEpsilon",(function(){return nH})),n.d(t,"_shaderseyeOffset",(function(){return iH})),n.d(t,"_shaderseyeToWindowCoordinates",(function(){return oH})),n.d(t,"_shadersfastApproximateAtan",(function(){return rH})),n.d(t,"_shadersfog",(function(){return aH})),n.d(t,"_shadersgammaCorrect",(function(){return sH})),n.d(t,"_shadersgeodeticSurfaceNormal",(function(){return cH})),n.d(t,"_shadersgetDefaultMaterial",(function(){return lH})),n.d(t,"_shadersgetLambertDiffuse",(function(){return uH})),n.d(t,"_shadersgetSpecular",(function(){return hH})),n.d(t,"_shadersgetWaterNoise",(function(){return dH})),n.d(t,"_shadershue",(function(){return fH})),n.d(t,"_shadersinverseGamma",(function(){return pH})),n.d(t,"_shadersisEmpty",(function(){return mH})),n.d(t,"_shadersisFull",(function(){return _H})),n.d(t,"_shaderslatitudeToWebMercatorFraction",(function(){return gH})),n.d(t,"_shaderslineDistance",(function(){return bH})),n.d(t,"_shaderslinearToSrgb",(function(){return yH})),n.d(t,"_shadersluminance",(function(){return vH})),n.d(t,"_shadersmetersPerPixel",(function(){return OH})),n.d(t,"_shadersmodelToWindowCoordinates",(function(){return wH})),n.d(t,"_shadersmultiplyWithColorBalance",(function(){return AH})),n.d(t,"_shadersnearFarScalar",(function(){return TH})),n.d(t,"_shadersoctDecode",(function(){return CH})),n.d(t,"_shaderspackDepth",(function(){return EH})),n.d(t,"_shaderspbrLighting",(function(){return xH})),n.d(t,"_shaderspbrMetallicRoughnessMaterial",(function(){return SH})),n.d(t,"_shaderspbrSpecularGlossinessMaterial",(function(){return IH})),n.d(t,"_shadersphong",(function(){return DH})),n.d(t,"_shadersplaneDistance",(function(){return jH})),n.d(t,"_shaderspointAlongRay",(function(){return PH})),n.d(t,"_shadersrayEllipsoidIntersectionInterval",(function(){return RH})),n.d(t,"_shadersraySphereIntersectionInterval",(function(){return MH})),n.d(t,"_shadersreadDepth",(function(){return NH})),n.d(t,"_shadersreadNonPerspective",(function(){return LH})),n.d(t,"_shadersreverseLogDepth",(function(){return BH})),n.d(t,"_shadersround",(function(){return FH})),n.d(t,"_shaderssampleOctahedralProjection",(function(){return kH})),n.d(t,"_shaderssaturation",(function(){return zH})),n.d(t,"_shadersshadowDepthCompare",(function(){return UH})),n.d(t,"_shadersshadowVisibility",(function(){return VH})),n.d(t,"_shaderssignNotZero",(function(){return HH})),n.d(t,"_shaderssphericalHarmonics",(function(){return GH})),n.d(t,"_shaderssrgbToLinear",(function(){return qH})),n.d(t,"_shaderstangentToEyeSpaceMatrix",(function(){return WH})),n.d(t,"_shaderstransformPlane",(function(){return YH})),n.d(t,"_shaderstranslateRelativeToEye",(function(){return XH})),n.d(t,"_shaderstranslucentPhong",(function(){return KH})),n.d(t,"_shaderstranspose",(function(){return JH})),n.d(t,"_shadersunpackDepth",(function(){return ZH})),n.d(t,"_shadersunpackFloat",(function(){return $H})),n.d(t,"_shadersunpackUint",(function(){return QH})),n.d(t,"_shadersvalueTransform",(function(){return eG})),n.d(t,"_shadersvertexLogDepth",(function(){return tG})),n.d(t,"_shaderswindowToEyeCoordinates",(function(){return nG})),n.d(t,"_shaderswriteDepthClamp",(function(){return iG})),n.d(t,"_shaderswriteLogDepth",(function(){return oG})),n.d(t,"_shaderswriteNonPerspective",(function(){return rG})),n.d(t,"_shadersdepthRangeStruct",(function(){return wV})),n.d(t,"_shadersmaterial",(function(){return AV})),n.d(t,"_shadersmaterialInput",(function(){return TV})),n.d(t,"_shadersmodelMaterial",(function(){return CV})),n.d(t,"_shadersmodelVertexOutput",(function(){return EV})),n.d(t,"_shaderspbrParameters",(function(){return xV})),n.d(t,"_shadersray",(function(){return SV})),n.d(t,"_shadersraySegment",(function(){return IV})),n.d(t,"_shadersshadowParameters",(function(){return DV})),n.d(t,"createTaskProcessorWorker",(function(){return tpt}));var i=n("d4da"),o=n("535a"),r=n("2f63"),a=n("4f04"),s=n("93da");function c(e,t,n){this.x=Object(o["a"])(e,0),this.y=Object(o["a"])(t,0),this.z=Object(o["a"])(n,0)}c.fromSpherical=function(e,t){i["a"].typeOf.object("spherical",e),Object(r["a"])(t)||(t=new c);const n=e.clock,a=e.cone,s=Object(o["a"])(e.magnitude,1),l=s*Math.sin(a);return t.x=l*Math.cos(n),t.y=l*Math.sin(n),t.z=s*Math.cos(a),t},c.fromElements=function(e,t,n,i){return Object(r["a"])(i)?(i.x=e,i.y=t,i.z=n,i):new c(e,t,n)},c.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new c(e.x,e.y,e.z)},c.fromCartesian4=c.clone,c.packedLength=3,c.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t},c.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new c),n.x=e[t++],n.y=e[t++],n.z=e[t],n},c.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=3*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 3 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)c.pack(e[i],t,3*i);return t},c.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,3),e.length%3!==0)throw new a["a"]("array length must be a multiple of 3.");const n=e.length;Object(r["a"])(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){const n=i/3;t[n]=c.unpack(e,i,t[n])}return t},c.fromArray=c.unpack,c.maximumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.max(e.x,e.y,e.z)},c.minimumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.min(e.x,e.y,e.z)},c.minimumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},c.maximumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},c.clamp=function(e,t,n,o){i["a"].typeOf.object("value",e),i["a"].typeOf.object("min",t),i["a"].typeOf.object("max",n),i["a"].typeOf.object("result",o);const r=s["a"].clamp(e.x,t.x,n.x),a=s["a"].clamp(e.y,t.y,n.y),c=s["a"].clamp(e.z,t.z,n.z);return o.x=r,o.y=a,o.z=c,o},c.magnitudeSquared=function(e){return i["a"].typeOf.object("cartesian",e),e.x*e.x+e.y*e.y+e.z*e.z},c.magnitude=function(e){return Math.sqrt(c.magnitudeSquared(e))};const l=new c;c.distance=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),c.subtract(e,t,l),c.magnitude(l)},c.distanceSquared=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),c.subtract(e,t,l),c.magnitudeSquared(l)},c.normalize=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=c.magnitude(e);if(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,isNaN(t.x)||isNaN(t.y)||isNaN(t.z))throw new a["a"]("normalized result is not a number");return t},c.dot=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z},c.multiplyComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n},c.divideComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n},c.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n},c.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n},c.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n},c.divideByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n},c.negate=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t},c.abs=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};const u=new c;c.lerp=function(e,t,n,o){return i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o),c.multiplyByScalar(t,n,u),o=c.multiplyByScalar(e,1-n,o),c.add(u,o,o)};const h=new c,d=new c;c.angleBetween=function(e,t){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),c.normalize(e,h),c.normalize(t,d);const n=c.dot(h,d),o=c.magnitude(c.cross(h,d,h));return Math.atan2(o,n)};const f=new c;c.mostOrthogonalAxis=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=c.normalize(e,f);return c.abs(n,n),t=n.x<=n.y?n.x<=n.z?c.clone(c.UNIT_X,t):c.clone(c.UNIT_Z,t):n.y<=n.z?c.clone(c.UNIT_Y,t):c.clone(c.UNIT_Z,t),t},c.projectVector=function(e,t,n){i["a"].defined("a",e),i["a"].defined("b",t),i["a"].defined("result",n);const o=c.dot(e,t)/c.dot(t,t);return c.multiplyByScalar(t,o,n)},c.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},c.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]},c.equalsEpsilon=function(e,t,n,i){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&s["a"].equalsEpsilon(e.x,t.x,n,i)&&s["a"].equalsEpsilon(e.y,t.y,n,i)&&s["a"].equalsEpsilon(e.z,t.z,n,i)},c.cross=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e.x,r=e.y,a=e.z,s=t.x,c=t.y,l=t.z,u=r*l-a*c,h=a*s-o*l,d=o*c-r*s;return n.x=u,n.y=h,n.z=d,n},c.midpoint=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=.5*(e.x+t.x),n.y=.5*(e.y+t.y),n.z=.5*(e.z+t.z),n},c.fromDegrees=function(e,t,n,o,r){return i["a"].typeOf.number("longitude",e),i["a"].typeOf.number("latitude",t),e=s["a"].toRadians(e),t=s["a"].toRadians(t),c.fromRadians(e,t,n,o,r)};let p=new c,m=new c;const _=new c(40680631590769,40680631590769,40408299984661.445);c.fromRadians=function(e,t,n,a,s){i["a"].typeOf.number("longitude",e),i["a"].typeOf.number("latitude",t),n=Object(o["a"])(n,0);const l=Object(r["a"])(a)?a.radiiSquared:_,u=Math.cos(t);p.x=u*Math.cos(e),p.y=u*Math.sin(e),p.z=Math.sin(t),p=c.normalize(p,p),c.multiplyComponents(l,p,m);const h=Math.sqrt(c.dot(p,m));return m=c.divideByScalar(m,h,m),p=c.multiplyByScalar(p,n,p),Object(r["a"])(s)||(s=new c),c.add(m,p,s)},c.fromDegreesArray=function(e,t,n){if(i["a"].defined("coordinates",e),e.length<2||e.length%2!==0)throw new a["a"]("the number of coordinates must be a multiple of 2 and at least 2");const o=e.length;Object(r["a"])(n)?n.length=o/2:n=new Array(o/2);for(let i=0;i<o;i+=2){const o=e[i],r=e[i+1],a=i/2;n[a]=c.fromDegrees(o,r,0,t,n[a])}return n},c.fromRadiansArray=function(e,t,n){if(i["a"].defined("coordinates",e),e.length<2||e.length%2!==0)throw new a["a"]("the number of coordinates must be a multiple of 2 and at least 2");const o=e.length;Object(r["a"])(n)?n.length=o/2:n=new Array(o/2);for(let i=0;i<o;i+=2){const o=e[i],r=e[i+1],a=i/2;n[a]=c.fromRadians(o,r,0,t,n[a])}return n},c.fromDegreesArrayHeights=function(e,t,n){if(i["a"].defined("coordinates",e),e.length<3||e.length%3!==0)throw new a["a"]("the number of coordinates must be a multiple of 3 and at least 3");const o=e.length;Object(r["a"])(n)?n.length=o/3:n=new Array(o/3);for(let i=0;i<o;i+=3){const o=e[i],r=e[i+1],a=e[i+2],s=i/3;n[s]=c.fromDegrees(o,r,a,t,n[s])}return n},c.fromRadiansArrayHeights=function(e,t,n){if(i["a"].defined("coordinates",e),e.length<3||e.length%3!==0)throw new a["a"]("the number of coordinates must be a multiple of 3 and at least 3");const o=e.length;Object(r["a"])(n)?n.length=o/3:n=new Array(o/3);for(let i=0;i<o;i+=3){const o=e[i],r=e[i+1],a=e[i+2],s=i/3;n[s]=c.fromRadians(o,r,a,t,n[s])}return n},c.ZERO=Object.freeze(new c(0,0,0)),c.ONE=Object.freeze(new c(1,1,1)),c.UNIT_X=Object.freeze(new c(1,0,0)),c.UNIT_Y=Object.freeze(new c(0,1,0)),c.UNIT_Z=Object.freeze(new c(0,0,1)),c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.equals=function(e){return c.equals(this,e)},c.prototype.equalsEpsilon=function(e,t,n){return c.equalsEpsilon(this,e,t,n)},c.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var g=c;const b=new g,y=new g;function v(e,t,n,i,o){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");if(!Object(r["a"])(t))throw new a["a"]("oneOverRadii is required.");if(!Object(r["a"])(n))throw new a["a"]("oneOverRadiiSquared is required.");if(!Object(r["a"])(i))throw new a["a"]("centerToleranceSquared is required.");const c=e.x,l=e.y,u=e.z,h=t.x,d=t.y,f=t.z,p=c*c*h*h,m=l*l*d*d,_=u*u*f*f,v=p+m+_,O=Math.sqrt(1/v),w=g.multiplyByScalar(e,O,b);if(v<i)return isFinite(O)?g.clone(w,o):void 0;const A=n.x,T=n.y,C=n.z,E=y;E.x=w.x*A*2,E.y=w.y*T*2,E.z=w.z*C*2;let x,S,I,D,j,P,R,M,N,L,B,F=(1-O)*g.magnitude(e)/(.5*g.magnitude(E)),k=0;do{F-=k,I=1/(1+F*A),D=1/(1+F*T),j=1/(1+F*C),P=I*I,R=D*D,M=j*j,N=P*I,L=R*D,B=M*j,x=p*P+m*R+_*M-1,S=p*N*A+m*L*T+_*B*C;const e=-2*S;k=x/e}while(Math.abs(x)>s["a"].EPSILON12);return Object(r["a"])(o)?(o.x=c*I,o.y=l*D,o.z=u*j,o):new g(c*I,l*D,u*j)}var O=v;function w(e,t,n){this.longitude=Object(o["a"])(e,0),this.latitude=Object(o["a"])(t,0),this.height=Object(o["a"])(n,0)}w.fromRadians=function(e,t,n,a){return i["a"].typeOf.number("longitude",e),i["a"].typeOf.number("latitude",t),n=Object(o["a"])(n,0),Object(r["a"])(a)?(a.longitude=e,a.latitude=t,a.height=n,a):new w(e,t,n)},w.fromDegrees=function(e,t,n,o){return i["a"].typeOf.number("longitude",e),i["a"].typeOf.number("latitude",t),e=s["a"].toRadians(e),t=s["a"].toRadians(t),w.fromRadians(e,t,n,o)};const A=new g,T=new g,C=new g,E=new g(1/6378137,1/6378137,1/6356752.314245179),x=new g(1/40680631590769,1/40680631590769,1/40408299984661.445),S=s["a"].EPSILON1;w.fromCartesian=function(e,t,n){const i=Object(r["a"])(t)?t.oneOverRadii:E,o=Object(r["a"])(t)?t.oneOverRadiiSquared:x,a=Object(r["a"])(t)?t._centerToleranceSquared:S,c=O(e,i,o,a,T);if(!Object(r["a"])(c))return;let l=g.multiplyComponents(c,o,A);l=g.normalize(l,l);const u=g.subtract(e,c,C),h=Math.atan2(l.y,l.x),d=Math.asin(l.z),f=s["a"].sign(g.dot(u,e))*g.magnitude(u);return Object(r["a"])(n)?(n.longitude=h,n.latitude=d,n.height=f,n):new w(h,d,f)},w.toCartesian=function(e,t,n){return i["a"].defined("cartographic",e),g.fromRadians(e.longitude,e.latitude,e.height,t,n)},w.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new w(e.longitude,e.latitude,e.height)},w.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},w.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},w.ZERO=Object.freeze(new w(0,0,0)),w.prototype.clone=function(e){return w.clone(this,e)},w.prototype.equals=function(e){return w.equals(this,e)},w.prototype.equalsEpsilon=function(e,t){return w.equalsEpsilon(this,e,t)},w.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var I=w;function D(e,t,n,r){t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),r=Object(o["a"])(r,0),i["a"].typeOf.number.greaterThanOrEquals("x",t,0),i["a"].typeOf.number.greaterThanOrEquals("y",n,0),i["a"].typeOf.number.greaterThanOrEquals("z",r,0),e._radii=new g(t,n,r),e._radiiSquared=new g(t*t,n*n,r*r),e._radiiToTheFourth=new g(t*t*t*t,n*n*n*n,r*r*r*r),e._oneOverRadii=new g(0===t?0:1/t,0===n?0:1/n,0===r?0:1/r),e._oneOverRadiiSquared=new g(0===t?0:1/(t*t),0===n?0:1/(n*n),0===r?0:1/(r*r)),e._minimumRadius=Math.min(t,n,r),e._maximumRadius=Math.max(t,n,r),e._centerToleranceSquared=s["a"].EPSILON1,0!==e._radiiSquared.z&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function j(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,D(this,e,t,n)}Object.defineProperties(j.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),j.clone=function(e,t){if(!Object(r["a"])(e))return;const n=e._radii;return Object(r["a"])(t)?(g.clone(n,t._radii),g.clone(e._radiiSquared,t._radiiSquared),g.clone(e._radiiToTheFourth,t._radiiToTheFourth),g.clone(e._oneOverRadii,t._oneOverRadii),g.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new j(n.x,n.y,n.z)},j.fromCartesian3=function(e,t){return Object(r["a"])(t)||(t=new j),Object(r["a"])(e)?(D(t,e.x,e.y,e.z),t):t},j.WGS84=Object.freeze(new j(6378137,6378137,6356752.314245179)),j.UNIT_SPHERE=Object.freeze(new j(1,1,1)),j.MOON=Object.freeze(new j(s["a"].LUNAR_RADIUS,s["a"].LUNAR_RADIUS,s["a"].LUNAR_RADIUS)),j.prototype.clone=function(e){return j.clone(this,e)},j.packedLength=g.packedLength,j.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),g.pack(e._radii,t,n),t},j.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const r=g.unpack(e,t);return j.fromCartesian3(r,n)},j.prototype.geocentricSurfaceNormal=g.normalize,j.prototype.geodeticSurfaceNormalCartographic=function(e,t){i["a"].typeOf.object("cartographic",e);const n=e.longitude,o=e.latitude,a=Math.cos(o),s=a*Math.cos(n),c=a*Math.sin(n),l=Math.sin(o);return Object(r["a"])(t)||(t=new g),t.x=s,t.y=c,t.z=l,g.normalize(t,t)},j.prototype.geodeticSurfaceNormal=function(e,t){if(!g.equalsEpsilon(e,g.ZERO,s["a"].EPSILON14))return Object(r["a"])(t)||(t=new g),t=g.multiplyComponents(e,this._oneOverRadiiSquared,t),g.normalize(t,t)};const P=new g,R=new g;j.prototype.cartographicToCartesian=function(e,t){const n=P,i=R;this.geodeticSurfaceNormalCartographic(e,n),g.multiplyComponents(this._radiiSquared,n,i);const o=Math.sqrt(g.dot(n,i));return g.divideByScalar(i,o,i),g.multiplyByScalar(n,e.height,n),Object(r["a"])(t)||(t=new g),g.add(i,n,t)},j.prototype.cartographicArrayToCartesianArray=function(e,t){i["a"].defined("cartographics",e);const n=e.length;Object(r["a"])(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};const M=new g,N=new g,L=new g;j.prototype.cartesianToCartographic=function(e,t){const n=this.scaleToGeodeticSurface(e,N);if(!Object(r["a"])(n))return;const i=this.geodeticSurfaceNormal(n,M),o=g.subtract(e,n,L),a=Math.atan2(i.y,i.x),c=Math.asin(i.z),l=s["a"].sign(g.dot(o,e))*g.magnitude(o);return Object(r["a"])(t)?(t.longitude=a,t.latitude=c,t.height=l,t):new I(a,c,l)},j.prototype.cartesianArrayToCartographicArray=function(e,t){i["a"].defined("cartesians",e);const n=e.length;Object(r["a"])(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t},j.prototype.scaleToGeodeticSurface=function(e,t){return O(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)},j.prototype.scaleToGeocentricSurface=function(e,t){i["a"].typeOf.object("cartesian",e),Object(r["a"])(t)||(t=new g);const n=e.x,o=e.y,a=e.z,s=this._oneOverRadiiSquared,c=1/Math.sqrt(n*n*s.x+o*o*s.y+a*a*s.z);return g.multiplyByScalar(e,c,t)},j.prototype.transformPositionToScaledSpace=function(e,t){return Object(r["a"])(t)||(t=new g),g.multiplyComponents(e,this._oneOverRadii,t)},j.prototype.transformPositionFromScaledSpace=function(e,t){return Object(r["a"])(t)||(t=new g),g.multiplyComponents(e,this._radii,t)},j.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&g.equals(this._radii,e._radii)},j.prototype.toString=function(){return this._radii.toString()},j.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){if(i["a"].typeOf.object("position",e),!s["a"].equalsEpsilon(this._radii.x,this._radii.y,s["a"].EPSILON15))throw new a["a"]("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");i["a"].typeOf.number.greaterThan("Ellipsoid.radii.z",this._radii.z,0),t=Object(o["a"])(t,0);const c=this._squaredXOverSquaredZ;if(Object(r["a"])(n)||(n=new g),n.x=0,n.y=0,n.z=e.z*(1-c),!(Math.abs(n.z)>=this._radii.z-t))return n};const B=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],F=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function k(e,t,n){i["a"].typeOf.number("a",e),i["a"].typeOf.number("b",t),i["a"].typeOf.func("func",n);const o=.5*(t+e),r=.5*(t-e);let a=0;for(let i=0;i<5;i++){const e=r*B[i];a+=F[i]*(n(o+e)+n(o-e))}return a*=r,a}j.prototype.surfaceArea=function(e){i["a"].typeOf.object("rectangle",e);const t=e.west;let n=e.east;const o=e.south,r=e.north;while(n<t)n+=s["a"].TWO_PI;const a=this._radiiSquared,c=a.x,l=a.y,u=a.z,h=c*l;return k(o,r,(function(e){const i=Math.cos(e),o=Math.sin(e);return Math.cos(e)*k(t,n,(function(e){const t=Math.cos(e),n=Math.sin(e);return Math.sqrt(h*o*o+u*(l*t*t+c*n*n)*i*i)}))}))};var z=j;function U(e){this._ellipsoid=Object(o["a"])(e,z.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(U.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),U.prototype.project=function(e,t){const n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,a=e.height;return Object(r["a"])(t)?(t.x=i,t.y=o,t.z=a,t):new g(i,o,a)},U.prototype.unproject=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required");const n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,s=e.z;return Object(r["a"])(t)?(t.longitude=i,t.latitude=o,t.height=s,t):new I(i,o,s)};var V=U;const H={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var G=Object.freeze(H);function q(e,t){this.start=Object(o["a"])(e,0),this.stop=Object(o["a"])(t,0)}var W=q;function Y(e,t,n,i,r,a,s,c,l){this[0]=Object(o["a"])(e,0),this[1]=Object(o["a"])(i,0),this[2]=Object(o["a"])(s,0),this[3]=Object(o["a"])(t,0),this[4]=Object(o["a"])(r,0),this[5]=Object(o["a"])(c,0),this[6]=Object(o["a"])(n,0),this[7]=Object(o["a"])(a,0),this[8]=Object(o["a"])(l,0)}Y.packedLength=9,Y.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t},Y.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Y),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n},Y.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=9*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 9 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)Y.pack(e[i],t,9*i);return t},Y.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,9),e.length%9!==0)throw new a["a"]("array length must be a multiple of 9.");const n=e.length;Object(r["a"])(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){const n=i/9;t[n]=Y.unpack(e,i,t[n])}return t},Y.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new Y(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])},Y.fromArray=Y.unpack,Y.fromColumnMajorArray=function(e,t){return i["a"].defined("values",e),Y.clone(e,t)},Y.fromRowMajorArray=function(e,t){return i["a"].defined("values",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new Y(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},Y.fromQuaternion=function(e,t){i["a"].typeOf.object("quaternion",e);const n=e.x*e.x,o=e.x*e.y,a=e.x*e.z,s=e.x*e.w,c=e.y*e.y,l=e.y*e.z,u=e.y*e.w,h=e.z*e.z,d=e.z*e.w,f=e.w*e.w,p=n-c-h+f,m=2*(o-d),_=2*(a+u),g=2*(o+d),b=-n+c-h+f,y=2*(l-s),v=2*(a-u),O=2*(l+s),w=-n-c+h+f;return Object(r["a"])(t)?(t[0]=p,t[1]=g,t[2]=v,t[3]=m,t[4]=b,t[5]=O,t[6]=_,t[7]=y,t[8]=w,t):new Y(p,m,_,g,b,y,v,O,w)},Y.fromHeadingPitchRoll=function(e,t){i["a"].typeOf.object("headingPitchRoll",e);const n=Math.cos(-e.pitch),o=Math.cos(-e.heading),a=Math.cos(e.roll),s=Math.sin(-e.pitch),c=Math.sin(-e.heading),l=Math.sin(e.roll),u=n*o,h=-a*c+l*s*o,d=l*c+a*s*o,f=n*c,p=a*o+l*s*c,m=-l*o+a*s*c,_=-s,g=l*n,b=a*n;return Object(r["a"])(t)?(t[0]=u,t[1]=f,t[2]=_,t[3]=h,t[4]=p,t[5]=g,t[6]=d,t[7]=m,t[8]=b,t):new Y(u,h,d,f,p,m,_,g,b)},Y.fromScale=function(e,t){return i["a"].typeOf.object("scale",e),Object(r["a"])(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new Y(e.x,0,0,0,e.y,0,0,0,e.z)},Y.fromUniformScale=function(e,t){return i["a"].typeOf.number("scale",e),Object(r["a"])(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new Y(e,0,0,0,e,0,0,0,e)},Y.fromCrossProduct=function(e,t){return i["a"].typeOf.object("vector",e),Object(r["a"])(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new Y(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)},Y.fromRotationX=function(e,t){i["a"].typeOf.number("angle",e);const n=Math.cos(e),o=Math.sin(e);return Object(r["a"])(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=o,t[6]=0,t[7]=-o,t[8]=n,t):new Y(1,0,0,0,n,-o,0,o,n)},Y.fromRotationY=function(e,t){i["a"].typeOf.number("angle",e);const n=Math.cos(e),o=Math.sin(e);return Object(r["a"])(t)?(t[0]=n,t[1]=0,t[2]=-o,t[3]=0,t[4]=1,t[5]=0,t[6]=o,t[7]=0,t[8]=n,t):new Y(n,0,o,0,1,0,-o,0,n)},Y.fromRotationZ=function(e,t){i["a"].typeOf.number("angle",e);const n=Math.cos(e),o=Math.sin(e);return Object(r["a"])(t)?(t[0]=n,t[1]=o,t[2]=0,t[3]=-o,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new Y(n,-o,0,o,n,0,0,0,1)},Y.toArray=function(e,t){return i["a"].typeOf.object("matrix",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},Y.getElementIndex=function(e,t){return i["a"].typeOf.number.greaterThanOrEquals("row",t,0),i["a"].typeOf.number.lessThanOrEquals("row",t,2),i["a"].typeOf.number.greaterThanOrEquals("column",e,0),i["a"].typeOf.number.lessThanOrEquals("column",e,2),3*e+t},Y.getColumn=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,2),i["a"].typeOf.object("result",n);const o=3*t,r=e[o],a=e[o+1],s=e[o+2];return n.x=r,n.y=a,n.z=s,n},Y.setColumn=function(e,t,n,o){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,2),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=Y.clone(e,o);const r=3*t;return o[r]=n.x,o[r+1]=n.y,o[r+2]=n.z,o},Y.getRow=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,2),i["a"].typeOf.object("result",n);const o=e[t],r=e[t+3],a=e[t+6];return n.x=o,n.y=r,n.z=a,n},Y.setRow=function(e,t,n,o){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,2),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=Y.clone(e,o),o[t]=n.x,o[t+3]=n.y,o[t+6]=n.z,o};const X=new g;Y.setScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n);const o=Y.getScale(e,X),r=t.x/o.x,a=t.y/o.y,s=t.z/o.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*a,n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};const K=new g;Y.setUniformScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n);const o=Y.getScale(e,K),r=t/o.x,a=t/o.y,s=t/o.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*a,n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};const J=new g;Y.getScale=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t.x=g.magnitude(g.fromElements(e[0],e[1],e[2],J)),t.y=g.magnitude(g.fromElements(e[3],e[4],e[5],J)),t.z=g.magnitude(g.fromElements(e[6],e[7],e[8],J)),t};const Z=new g;Y.getMaximumScale=function(e){return Y.getScale(e,Z),g.maximumComponent(Z)};const $=new g;Y.setRotation=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",n);const o=Y.getScale(e,$);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.x,n[3]=t[3]*o.y,n[4]=t[4]*o.y,n[5]=t[5]*o.y,n[6]=t[6]*o.z,n[7]=t[7]*o.z,n[8]=t[8]*o.z,n};const Q=new g;function ee(e){let t=0;for(let n=0;n<9;++n){const i=e[n];t+=i*i}return Math.sqrt(t)}Y.getRotation=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=Y.getScale(e,Q);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t},Y.multiply=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],r=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],c=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],l=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],u=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=o,n[1]=r,n[2]=a,n[3]=s,n[4]=c,n[5]=l,n[6]=u,n[7]=h,n[8]=d,n},Y.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n},Y.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n},Y.multiplyByVector=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("cartesian",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z,s=e[0]*o+e[3]*r+e[6]*a,c=e[1]*o+e[4]*r+e[7]*a,l=e[2]*o+e[5]*r+e[8]*a;return n.x=s,n.y=c,n.z=l,n},Y.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n},Y.multiplyByScale=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n},Y.multiplyByUniformScale=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n},Y.negate=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t},Y.transpose=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[0],o=e[3],r=e[6],a=e[1],s=e[4],c=e[7],l=e[2],u=e[5],h=e[8];return t[0]=n,t[1]=o,t[2]=r,t[3]=a,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=h,t};const te=[1,0,0],ne=[2,2,1];function ie(e){let t=0;for(let n=0;n<3;++n){const i=e[Y.getElementIndex(ne[n],te[n])];t+=2*i*i}return Math.sqrt(t)}function oe(e,t){const n=s["a"].EPSILON15;let i=0,o=1;for(let s=0;s<3;++s){const t=Math.abs(e[Y.getElementIndex(ne[s],te[s])]);t>i&&(o=s,i=t)}let r=1,a=0;const c=te[o],l=ne[o];if(Math.abs(e[Y.getElementIndex(l,c)])>n){const t=e[Y.getElementIndex(l,l)],n=e[Y.getElementIndex(c,c)],i=e[Y.getElementIndex(l,c)],o=(t-n)/2/i;let s;s=o<0?-1/(-o+Math.sqrt(1+o*o)):1/(o+Math.sqrt(1+o*o)),r=1/Math.sqrt(1+s*s),a=s*r}return t=Y.clone(Y.IDENTITY,t),t[Y.getElementIndex(c,c)]=t[Y.getElementIndex(l,l)]=r,t[Y.getElementIndex(l,c)]=a,t[Y.getElementIndex(c,l)]=-a,t}const re=new Y,ae=new Y;Y.computeEigenDecomposition=function(e,t){i["a"].typeOf.object("matrix",e);const n=s["a"].EPSILON20,o=10;let a=0,c=0;Object(r["a"])(t)||(t={});const l=t.unitary=Y.clone(Y.IDENTITY,t.unitary),u=t.diagonal=Y.clone(e,t.diagonal),h=n*ee(u);while(c<o&&ie(u)>h)oe(u,re),Y.transpose(re,ae),Y.multiply(u,re,u),Y.multiply(ae,u,u),Y.multiply(l,re,l),++a>2&&(++c,a=0);return t},Y.abs=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t},Y.determinant=function(e){i["a"].typeOf.object("matrix",e);const t=e[0],n=e[3],o=e[6],r=e[1],a=e[4],s=e[7],c=e[2],l=e[5],u=e[8];return t*(a*u-l*s)+r*(l*o-n*u)+c*(n*s-a*o)},Y.inverse=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[0],o=e[1],r=e[2],c=e[3],l=e[4],u=e[5],h=e[6],d=e[7],f=e[8],p=Y.determinant(e);if(Math.abs(p)<=s["a"].EPSILON15)throw new a["a"]("matrix is not invertible");t[0]=l*f-d*u,t[1]=d*r-o*f,t[2]=o*u-l*r,t[3]=h*u-c*f,t[4]=n*f-h*r,t[5]=c*r-n*u,t[6]=c*d-h*l,t[7]=h*o-n*d,t[8]=n*l-c*o;const m=1/p;return Y.multiplyByScalar(t,m,t)};const se=new Y;Y.inverseTranspose=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),Y.inverse(Y.transpose(e,se),t)},Y.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},Y.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},Y.IDENTITY=Object.freeze(new Y(1,0,0,0,1,0,0,0,1)),Y.ZERO=Object.freeze(new Y(0,0,0,0,0,0,0,0,0)),Y.COLUMN0ROW0=0,Y.COLUMN0ROW1=1,Y.COLUMN0ROW2=2,Y.COLUMN1ROW0=3,Y.COLUMN1ROW1=4,Y.COLUMN1ROW2=5,Y.COLUMN2ROW0=6,Y.COLUMN2ROW1=7,Y.COLUMN2ROW2=8,Object.defineProperties(Y.prototype,{length:{get:function(){return Y.packedLength}}}),Y.prototype.clone=function(e){return Y.clone(this,e)},Y.prototype.equals=function(e){return Y.equals(this,e)},Y.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]},Y.prototype.equalsEpsilon=function(e,t){return Y.equalsEpsilon(this,e,t)},Y.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]})\n(${this[1]}, ${this[4]}, ${this[7]})\n(${this[2]}, ${this[5]}, ${this[8]})`};var ce=Y;function le(e,t,n,i){this.x=Object(o["a"])(e,0),this.y=Object(o["a"])(t,0),this.z=Object(o["a"])(n,0),this.w=Object(o["a"])(i,0)}le.fromElements=function(e,t,n,i,o){return Object(r["a"])(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new le(e,t,n,i)},le.fromColor=function(e,t){return i["a"].typeOf.object("color",e),Object(r["a"])(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new le(e.red,e.green,e.blue,e.alpha)},le.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new le(e.x,e.y,e.z,e.w)},le.packedLength=4,le.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t},le.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new le),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n},le.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=4*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)le.pack(e[i],t,4*i);return t},le.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new a["a"]("array length must be a multiple of 4.");const n=e.length;Object(r["a"])(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){const n=i/4;t[n]=le.unpack(e,i,t[n])}return t},le.fromArray=le.unpack,le.maximumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.max(e.x,e.y,e.z,e.w)},le.minimumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.min(e.x,e.y,e.z,e.w)},le.minimumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},le.maximumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},le.clamp=function(e,t,n,o){i["a"].typeOf.object("value",e),i["a"].typeOf.object("min",t),i["a"].typeOf.object("max",n),i["a"].typeOf.object("result",o);const r=s["a"].clamp(e.x,t.x,n.x),a=s["a"].clamp(e.y,t.y,n.y),c=s["a"].clamp(e.z,t.z,n.z),l=s["a"].clamp(e.w,t.w,n.w);return o.x=r,o.y=a,o.z=c,o.w=l,o},le.magnitudeSquared=function(e){return i["a"].typeOf.object("cartesian",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},le.magnitude=function(e){return Math.sqrt(le.magnitudeSquared(e))};const ue=new le;le.distance=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),le.subtract(e,t,ue),le.magnitude(ue)},le.distanceSquared=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),le.subtract(e,t,ue),le.magnitudeSquared(ue)},le.normalize=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=le.magnitude(e);if(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,isNaN(t.x)||isNaN(t.y)||isNaN(t.z)||isNaN(t.w))throw new a["a"]("normalized result is not a number");return t},le.dot=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},le.multiplyComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n},le.divideComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n},le.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n},le.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n},le.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n},le.divideByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n},le.negate=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},le.abs=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};const he=new le;le.lerp=function(e,t,n,o){return i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o),le.multiplyByScalar(t,n,he),o=le.multiplyByScalar(e,1-n,o),le.add(he,o,o)};const de=new le;le.mostOrthogonalAxis=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=le.normalize(e,de);return le.abs(n,n),t=n.x<=n.y?n.x<=n.z?n.x<=n.w?le.clone(le.UNIT_X,t):le.clone(le.UNIT_W,t):n.z<=n.w?le.clone(le.UNIT_Z,t):le.clone(le.UNIT_W,t):n.y<=n.z?n.y<=n.w?le.clone(le.UNIT_Y,t):le.clone(le.UNIT_W,t):n.z<=n.w?le.clone(le.UNIT_Z,t):le.clone(le.UNIT_W,t),t},le.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},le.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]},le.equalsEpsilon=function(e,t,n,i){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&s["a"].equalsEpsilon(e.x,t.x,n,i)&&s["a"].equalsEpsilon(e.y,t.y,n,i)&&s["a"].equalsEpsilon(e.z,t.z,n,i)&&s["a"].equalsEpsilon(e.w,t.w,n,i)},le.ZERO=Object.freeze(new le(0,0,0,0)),le.ONE=Object.freeze(new le(1,1,1,1)),le.UNIT_X=Object.freeze(new le(1,0,0,0)),le.UNIT_Y=Object.freeze(new le(0,1,0,0)),le.UNIT_Z=Object.freeze(new le(0,0,1,0)),le.UNIT_W=Object.freeze(new le(0,0,0,1)),le.prototype.clone=function(e){return le.clone(this,e)},le.prototype.equals=function(e){return le.equals(this,e)},le.prototype.equalsEpsilon=function(e,t,n){return le.equalsEpsilon(this,e,t,n)},le.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};const fe=new Float32Array(1),pe=new Uint8Array(fe.buffer),me=new Uint32Array([287454020]),_e=new Uint8Array(me.buffer),ge=68===_e[0];le.packFloat=function(e,t){return i["a"].typeOf.number("value",e),Object(r["a"])(t)||(t=new le),fe[0]=e,ge?(t.x=pe[0],t.y=pe[1],t.z=pe[2],t.w=pe[3]):(t.x=pe[3],t.y=pe[2],t.z=pe[1],t.w=pe[0]),t},le.unpackFloat=function(e){return i["a"].typeOf.object("packedFloat",e),ge?(pe[0]=e.x,pe[1]=e.y,pe[2]=e.z,pe[3]=e.w):(pe[0]=e.w,pe[1]=e.z,pe[2]=e.y,pe[3]=e.x),fe[0]};var be=le,ye=n("283e");function ve(e,t,n,i,r,a,s,c,l,u,h,d,f,p,m,_){this[0]=Object(o["a"])(e,0),this[1]=Object(o["a"])(r,0),this[2]=Object(o["a"])(l,0),this[3]=Object(o["a"])(f,0),this[4]=Object(o["a"])(t,0),this[5]=Object(o["a"])(a,0),this[6]=Object(o["a"])(u,0),this[7]=Object(o["a"])(p,0),this[8]=Object(o["a"])(n,0),this[9]=Object(o["a"])(s,0),this[10]=Object(o["a"])(h,0),this[11]=Object(o["a"])(m,0),this[12]=Object(o["a"])(i,0),this[13]=Object(o["a"])(c,0),this[14]=Object(o["a"])(d,0),this[15]=Object(o["a"])(_,0)}ve.packedLength=16,ve.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t},ve.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new ve),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n},ve.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=16*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 16 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)ve.pack(e[i],t,16*i);return t},ve.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,16),e.length%16!==0)throw new a["a"]("array length must be a multiple of 16.");const n=e.length;Object(r["a"])(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){const n=i/16;t[n]=ve.unpack(e,i,t[n])}return t},ve.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new ve(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])},ve.fromArray=ve.unpack,ve.fromColumnMajorArray=function(e,t){return i["a"].defined("values",e),ve.clone(e,t)},ve.fromRowMajorArray=function(e,t){return i["a"].defined("values",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new ve(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},ve.fromRotationTranslation=function(e,t,n){return i["a"].typeOf.object("rotation",e),t=Object(o["a"])(t,g.ZERO),Object(r["a"])(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new ve(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},ve.fromTranslationQuaternionRotationScale=function(e,t,n,o){i["a"].typeOf.object("translation",e),i["a"].typeOf.object("rotation",t),i["a"].typeOf.object("scale",n),Object(r["a"])(o)||(o=new ve);const a=n.x,s=n.y,c=n.z,l=t.x*t.x,u=t.x*t.y,h=t.x*t.z,d=t.x*t.w,f=t.y*t.y,p=t.y*t.z,m=t.y*t.w,_=t.z*t.z,g=t.z*t.w,b=t.w*t.w,y=l-f-_+b,v=2*(u-g),O=2*(h+m),w=2*(u+g),A=-l+f-_+b,T=2*(p-d),C=2*(h-m),E=2*(p+d),x=-l-f+_+b;return o[0]=y*a,o[1]=w*a,o[2]=C*a,o[3]=0,o[4]=v*s,o[5]=A*s,o[6]=E*s,o[7]=0,o[8]=O*c,o[9]=T*c,o[10]=x*c,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},ve.fromTranslationRotationScale=function(e,t){return i["a"].typeOf.object("translationRotationScale",e),ve.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)},ve.fromTranslation=function(e,t){return i["a"].typeOf.object("translation",e),ve.fromRotationTranslation(ce.IDENTITY,e,t)},ve.fromScale=function(e,t){return i["a"].typeOf.object("scale",e),Object(r["a"])(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new ve(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},ve.fromUniformScale=function(e,t){return i["a"].typeOf.number("scale",e),Object(r["a"])(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new ve(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)},ve.fromRotation=function(e,t){return i["a"].typeOf.object("rotation",e),Object(r["a"])(t)||(t=new ve),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};const Oe=new g,we=new g,Ae=new g;ve.fromCamera=function(e,t){i["a"].typeOf.object("camera",e);const n=e.position,o=e.direction,a=e.up;i["a"].typeOf.object("camera.position",n),i["a"].typeOf.object("camera.direction",o),i["a"].typeOf.object("camera.up",a),g.normalize(o,Oe),g.normalize(g.cross(Oe,a,we),we),g.normalize(g.cross(we,Oe,Ae),Ae);const s=we.x,c=we.y,l=we.z,u=Oe.x,h=Oe.y,d=Oe.z,f=Ae.x,p=Ae.y,m=Ae.z,_=n.x,b=n.y,y=n.z,v=s*-_+c*-b+l*-y,O=f*-_+p*-b+m*-y,w=u*_+h*b+d*y;return Object(r["a"])(t)?(t[0]=s,t[1]=f,t[2]=-u,t[3]=0,t[4]=c,t[5]=p,t[6]=-h,t[7]=0,t[8]=l,t[9]=m,t[10]=-d,t[11]=0,t[12]=v,t[13]=O,t[14]=w,t[15]=1,t):new ve(s,c,l,v,f,p,m,O,-u,-h,-d,w,0,0,0,1)},ve.computePerspectiveFieldOfView=function(e,t,n,o,r){i["a"].typeOf.number.greaterThan("fovY",e,0),i["a"].typeOf.number.lessThan("fovY",e,Math.PI),i["a"].typeOf.number.greaterThan("near",n,0),i["a"].typeOf.number.greaterThan("far",o,0),i["a"].typeOf.object("result",r);const a=Math.tan(.5*e),s=1/a,c=s/t,l=(o+n)/(n-o),u=2*o*n/(n-o);return r[0]=c,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=s,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=l,r[11]=-1,r[12]=0,r[13]=0,r[14]=u,r[15]=0,r},ve.computeOrthographicOffCenter=function(e,t,n,o,r,a,s){i["a"].typeOf.number("left",e),i["a"].typeOf.number("right",t),i["a"].typeOf.number("bottom",n),i["a"].typeOf.number("top",o),i["a"].typeOf.number("near",r),i["a"].typeOf.number("far",a),i["a"].typeOf.object("result",s);let c=1/(t-e),l=1/(o-n),u=1/(a-r);const h=-(t+e)*c,d=-(o+n)*l,f=-(a+r)*u;return c*=2,l*=2,u*=-2,s[0]=c,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=l,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=u,s[11]=0,s[12]=h,s[13]=d,s[14]=f,s[15]=1,s},ve.computePerspectiveOffCenter=function(e,t,n,o,r,a,s){i["a"].typeOf.number("left",e),i["a"].typeOf.number("right",t),i["a"].typeOf.number("bottom",n),i["a"].typeOf.number("top",o),i["a"].typeOf.number("near",r),i["a"].typeOf.number("far",a),i["a"].typeOf.object("result",s);const c=2*r/(t-e),l=2*r/(o-n),u=(t+e)/(t-e),h=(o+n)/(o-n),d=-(a+r)/(a-r),f=-1,p=-2*a*r/(a-r);return s[0]=c,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=l,s[6]=0,s[7]=0,s[8]=u,s[9]=h,s[10]=d,s[11]=f,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s},ve.computeInfinitePerspectiveOffCenter=function(e,t,n,o,r,a){i["a"].typeOf.number("left",e),i["a"].typeOf.number("right",t),i["a"].typeOf.number("bottom",n),i["a"].typeOf.number("top",o),i["a"].typeOf.number("near",r),i["a"].typeOf.object("result",a);const s=2*r/(t-e),c=2*r/(o-n),l=(t+e)/(t-e),u=(o+n)/(o-n),h=-1,d=-1,f=-2*r;return a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=c,a[6]=0,a[7]=0,a[8]=l,a[9]=u,a[10]=h,a[11]=d,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a},ve.computeViewportTransformation=function(e,t,n,i){Object(r["a"])(i)||(i=new ve),e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const a=Object(o["a"])(e.x,0),s=Object(o["a"])(e.y,0),c=Object(o["a"])(e.width,0),l=Object(o["a"])(e.height,0);t=Object(o["a"])(t,0),n=Object(o["a"])(n,1);const u=.5*c,h=.5*l,d=.5*(n-t),f=u,p=h,m=d,_=a+u,g=s+h,b=t+d,y=1;return i[0]=f,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=m,i[11]=0,i[12]=_,i[13]=g,i[14]=b,i[15]=y,i},ve.computeView=function(e,t,n,o,r){return i["a"].typeOf.object("position",e),i["a"].typeOf.object("direction",t),i["a"].typeOf.object("up",n),i["a"].typeOf.object("right",o),i["a"].typeOf.object("result",r),r[0]=o.x,r[1]=n.x,r[2]=-t.x,r[3]=0,r[4]=o.y,r[5]=n.y,r[6]=-t.y,r[7]=0,r[8]=o.z,r[9]=n.z,r[10]=-t.z,r[11]=0,r[12]=-g.dot(o,e),r[13]=-g.dot(n,e),r[14]=g.dot(t,e),r[15]=1,r},ve.toArray=function(e,t){return i["a"].typeOf.object("matrix",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},ve.getElementIndex=function(e,t){return i["a"].typeOf.number.greaterThanOrEquals("row",t,0),i["a"].typeOf.number.lessThanOrEquals("row",t,3),i["a"].typeOf.number.greaterThanOrEquals("column",e,0),i["a"].typeOf.number.lessThanOrEquals("column",e,3),4*e+t},ve.getColumn=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,3),i["a"].typeOf.object("result",n);const o=4*t,r=e[o],a=e[o+1],s=e[o+2],c=e[o+3];return n.x=r,n.y=a,n.z=s,n.w=c,n},ve.setColumn=function(e,t,n,o){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,3),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=ve.clone(e,o);const r=4*t;return o[r]=n.x,o[r+1]=n.y,o[r+2]=n.z,o[r+3]=n.w,o},ve.getRow=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,3),i["a"].typeOf.object("result",n);const o=e[t],r=e[t+4],a=e[t+8],s=e[t+12];return n.x=o,n.y=r,n.z=a,n.w=s,n},ve.setRow=function(e,t,n,o){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,3),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=ve.clone(e,o),o[t]=n.x,o[t+4]=n.y,o[t+8]=n.z,o[t+12]=n.w,o},ve.setTranslation=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("translation",t),i["a"].typeOf.object("result",n),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};const Te=new g;ve.setScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n);const o=ve.getScale(e,Te),r=t.x/o.x,a=t.y/o.y,s=t.z/o.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3],n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*a,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};const Ce=new g;ve.setUniformScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n);const o=ve.getScale(e,Ce),r=t/o.x,a=t/o.y,s=t/o.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3],n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*a,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};const Ee=new g;ve.getScale=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t.x=g.magnitude(g.fromElements(e[0],e[1],e[2],Ee)),t.y=g.magnitude(g.fromElements(e[4],e[5],e[6],Ee)),t.z=g.magnitude(g.fromElements(e[8],e[9],e[10],Ee)),t};const xe=new g;ve.getMaximumScale=function(e){return ve.getScale(e,xe),g.maximumComponent(xe)};const Se=new g;ve.setRotation=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",n);const o=ve.getScale(e,Se);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.x,n[3]=e[3],n[4]=t[3]*o.y,n[5]=t[4]*o.y,n[6]=t[5]*o.y,n[7]=e[7],n[8]=t[6]*o.z,n[9]=t[7]*o.z,n[10]=t[8]*o.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};const Ie=new g;ve.getRotation=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=ve.getScale(e,Ie);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t},ve.multiply=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e[0],r=e[1],a=e[2],s=e[3],c=e[4],l=e[5],u=e[6],h=e[7],d=e[8],f=e[9],p=e[10],m=e[11],_=e[12],g=e[13],b=e[14],y=e[15],v=t[0],O=t[1],w=t[2],A=t[3],T=t[4],C=t[5],E=t[6],x=t[7],S=t[8],I=t[9],D=t[10],j=t[11],P=t[12],R=t[13],M=t[14],N=t[15],L=o*v+c*O+d*w+_*A,B=r*v+l*O+f*w+g*A,F=a*v+u*O+p*w+b*A,k=s*v+h*O+m*w+y*A,z=o*T+c*C+d*E+_*x,U=r*T+l*C+f*E+g*x,V=a*T+u*C+p*E+b*x,H=s*T+h*C+m*E+y*x,G=o*S+c*I+d*D+_*j,q=r*S+l*I+f*D+g*j,W=a*S+u*I+p*D+b*j,Y=s*S+h*I+m*D+y*j,X=o*P+c*R+d*M+_*N,K=r*P+l*R+f*M+g*N,J=a*P+u*R+p*M+b*N,Z=s*P+h*R+m*M+y*N;return n[0]=L,n[1]=B,n[2]=F,n[3]=k,n[4]=z,n[5]=U,n[6]=V,n[7]=H,n[8]=G,n[9]=q,n[10]=W,n[11]=Y,n[12]=X,n[13]=K,n[14]=J,n[15]=Z,n},ve.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},ve.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},ve.multiplyTransformation=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e[0],r=e[1],a=e[2],s=e[4],c=e[5],l=e[6],u=e[8],h=e[9],d=e[10],f=e[12],p=e[13],m=e[14],_=t[0],g=t[1],b=t[2],y=t[4],v=t[5],O=t[6],w=t[8],A=t[9],T=t[10],C=t[12],E=t[13],x=t[14],S=o*_+s*g+u*b,I=r*_+c*g+h*b,D=a*_+l*g+d*b,j=o*y+s*v+u*O,P=r*y+c*v+h*O,R=a*y+l*v+d*O,M=o*w+s*A+u*T,N=r*w+c*A+h*T,L=a*w+l*A+d*T,B=o*C+s*E+u*x+f,F=r*C+c*E+h*x+p,k=a*C+l*E+d*x+m;return n[0]=S,n[1]=I,n[2]=D,n[3]=0,n[4]=j,n[5]=P,n[6]=R,n[7]=0,n[8]=M,n[9]=N,n[10]=L,n[11]=0,n[12]=B,n[13]=F,n[14]=k,n[15]=1,n},ve.multiplyByMatrix3=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("rotation",t),i["a"].typeOf.object("result",n);const o=e[0],r=e[1],a=e[2],s=e[4],c=e[5],l=e[6],u=e[8],h=e[9],d=e[10],f=t[0],p=t[1],m=t[2],_=t[3],g=t[4],b=t[5],y=t[6],v=t[7],O=t[8],w=o*f+s*p+u*m,A=r*f+c*p+h*m,T=a*f+l*p+d*m,C=o*_+s*g+u*b,E=r*_+c*g+h*b,x=a*_+l*g+d*b,S=o*y+s*v+u*O,I=r*y+c*v+h*O,D=a*y+l*v+d*O;return n[0]=w,n[1]=A,n[2]=T,n[3]=0,n[4]=C,n[5]=E,n[6]=x,n[7]=0,n[8]=S,n[9]=I,n[10]=D,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n},ve.multiplyByTranslation=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("translation",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z,s=o*e[0]+r*e[4]+a*e[8]+e[12],c=o*e[1]+r*e[5]+a*e[9]+e[13],l=o*e[2]+r*e[6]+a*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=c,n[14]=l,n[15]=e[15],n},ve.multiplyByScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z;return 1===o&&1===r&&1===a?ve.clone(e,n):(n[0]=o*e[0],n[1]=o*e[1],n[2]=o*e[2],n[3]=e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=r*e[6],n[7]=e[7],n[8]=a*e[8],n[9]=a*e[9],n[10]=a*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)},ve.multiplyByUniformScale=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n},ve.multiplyByVector=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("cartesian",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z,s=t.w,c=e[0]*o+e[4]*r+e[8]*a+e[12]*s,l=e[1]*o+e[5]*r+e[9]*a+e[13]*s,u=e[2]*o+e[6]*r+e[10]*a+e[14]*s,h=e[3]*o+e[7]*r+e[11]*a+e[15]*s;return n.x=c,n.y=l,n.z=u,n.w=h,n},ve.multiplyByPointAsVector=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("cartesian",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z,s=e[0]*o+e[4]*r+e[8]*a,c=e[1]*o+e[5]*r+e[9]*a,l=e[2]*o+e[6]*r+e[10]*a;return n.x=s,n.y=c,n.z=l,n},ve.multiplyByPoint=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("cartesian",t),i["a"].typeOf.object("result",n);const o=t.x,r=t.y,a=t.z,s=e[0]*o+e[4]*r+e[8]*a+e[12],c=e[1]*o+e[5]*r+e[9]*a+e[13],l=e[2]*o+e[6]*r+e[10]*a+e[14];return n.x=s,n.y=c,n.z=l,n},ve.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},ve.negate=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},ve.transpose=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[1],o=e[2],r=e[3],a=e[6],s=e[7],c=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=o,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=r,t[13]=s,t[14]=c,t[15]=e[15],t},ve.abs=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t},ve.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]},ve.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n},ve.getTranslation=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t.x=e[12],t.y=e[13],t.z=e[14],t},ve.getMatrix3=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};const De=new ce,je=new ce,Pe=new be,Re=new be(0,0,0,1);ve.inverse=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[0],o=e[4],r=e[8],a=e[12],c=e[1],l=e[5],u=e[9],h=e[13],d=e[2],f=e[6],p=e[10],m=e[14],_=e[3],g=e[7],b=e[11],y=e[15];let v=p*y,O=m*b,w=f*y,A=m*g,T=f*b,C=p*g,E=d*y,x=m*_,S=d*b,I=p*_,D=d*g,j=f*_;const P=v*l+A*u+T*h-(O*l+w*u+C*h),R=O*c+E*u+I*h-(v*c+x*u+S*h),M=w*c+x*l+D*h-(A*c+E*l+j*h),N=C*c+S*l+j*u-(T*c+I*l+D*u),L=O*o+w*r+C*a-(v*o+A*r+T*a),B=v*n+x*r+S*a-(O*n+E*r+I*a),F=A*n+E*o+j*a-(w*n+x*o+D*a),k=T*n+I*o+D*r-(C*n+S*o+j*r);v=r*h,O=a*u,w=o*h,A=a*l,T=o*u,C=r*l,E=n*h,x=a*c,S=n*u,I=r*c,D=n*l,j=o*c;const z=v*g+A*b+T*y-(O*g+w*b+C*y),U=O*_+E*b+I*y-(v*_+x*b+S*y),V=w*_+x*g+D*y-(A*_+E*g+j*y),H=C*_+S*g+j*b-(T*_+I*g+D*b),G=w*p+C*m+O*f-(T*m+v*f+A*p),q=S*m+v*d+x*p-(E*p+I*m+O*d),W=E*f+j*m+A*d-(D*m+w*d+x*f),Y=D*p+T*d+I*f-(S*f+j*p+C*d);let X=n*P+o*R+r*M+a*N;if(Math.abs(X)<s["a"].EPSILON21){if(ce.equalsEpsilon(ve.getMatrix3(e,De),je,s["a"].EPSILON7)&&be.equals(ve.getRow(e,3,Pe),Re))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new ye["a"]("matrix is not invertible because its determinate is zero.")}return X=1/X,t[0]=P*X,t[1]=R*X,t[2]=M*X,t[3]=N*X,t[4]=L*X,t[5]=B*X,t[6]=F*X,t[7]=k*X,t[8]=z*X,t[9]=U*X,t[10]=V*X,t[11]=H*X,t[12]=G*X,t[13]=q*X,t[14]=W*X,t[15]=Y*X,t},ve.inverseTransformation=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[0],o=e[1],r=e[2],a=e[4],s=e[5],c=e[6],l=e[8],u=e[9],h=e[10],d=e[12],f=e[13],p=e[14],m=-n*d-o*f-r*p,_=-a*d-s*f-c*p,g=-l*d-u*f-h*p;return t[0]=n,t[1]=a,t[2]=l,t[3]=0,t[4]=o,t[5]=s,t[6]=u,t[7]=0,t[8]=r,t[9]=c,t[10]=h,t[11]=0,t[12]=m,t[13]=_,t[14]=g,t[15]=1,t};const Me=new ve;ve.inverseTranspose=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),ve.inverse(ve.transpose(e,Me),t)},ve.IDENTITY=Object.freeze(new ve(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)),ve.ZERO=Object.freeze(new ve(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)),ve.COLUMN0ROW0=0,ve.COLUMN0ROW1=1,ve.COLUMN0ROW2=2,ve.COLUMN0ROW3=3,ve.COLUMN1ROW0=4,ve.COLUMN1ROW1=5,ve.COLUMN1ROW2=6,ve.COLUMN1ROW3=7,ve.COLUMN2ROW0=8,ve.COLUMN2ROW1=9,ve.COLUMN2ROW2=10,ve.COLUMN2ROW3=11,ve.COLUMN3ROW0=12,ve.COLUMN3ROW1=13,ve.COLUMN3ROW2=14,ve.COLUMN3ROW3=15,Object.defineProperties(ve.prototype,{length:{get:function(){return ve.packedLength}}}),ve.prototype.clone=function(e){return ve.clone(this,e)},ve.prototype.equals=function(e){return ve.equals(this,e)},ve.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]},ve.prototype.equalsEpsilon=function(e,t){return ve.equalsEpsilon(this,e,t)},ve.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]})\n(${this[1]}, ${this[5]}, ${this[9]}, ${this[13]})\n(${this[2]}, ${this[6]}, ${this[10]}, ${this[14]})\n(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var Ne=ve;function Le(e,t,n,i){this.west=Object(o["a"])(e,0),this.south=Object(o["a"])(t,0),this.east=Object(o["a"])(n,0),this.north=Object(o["a"])(i,0)}Object.defineProperties(Le.prototype,{width:{get:function(){return Le.computeWidth(this)}},height:{get:function(){return Le.computeHeight(this)}}}),Le.packedLength=4,Le.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t},Le.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Le),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n},Le.computeWidth=function(e){i["a"].typeOf.object("rectangle",e);let t=e.east;const n=e.west;return t<n&&(t+=s["a"].TWO_PI),t-n},Le.computeHeight=function(e){return i["a"].typeOf.object("rectangle",e),e.north-e.south},Le.fromDegrees=function(e,t,n,i,a){return e=s["a"].toRadians(Object(o["a"])(e,0)),t=s["a"].toRadians(Object(o["a"])(t,0)),n=s["a"].toRadians(Object(o["a"])(n,0)),i=s["a"].toRadians(Object(o["a"])(i,0)),Object(r["a"])(a)?(a.west=e,a.south=t,a.east=n,a.north=i,a):new Le(e,t,n,i)},Le.fromRadians=function(e,t,n,i,a){return Object(r["a"])(a)?(a.west=Object(o["a"])(e,0),a.south=Object(o["a"])(t,0),a.east=Object(o["a"])(n,0),a.north=Object(o["a"])(i,0),a):new Le(e,t,n,i)},Le.fromCartographicArray=function(e,t){i["a"].defined("cartographics",e);let n=Number.MAX_VALUE,o=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE,l=Number.MAX_VALUE,u=-Number.MAX_VALUE;for(let i=0,r=e.length;i<r;i++){const t=e[i];n=Math.min(n,t.longitude),o=Math.max(o,t.longitude),l=Math.min(l,t.latitude),u=Math.max(u,t.latitude);const r=t.longitude>=0?t.longitude:t.longitude+s["a"].TWO_PI;a=Math.min(a,r),c=Math.max(c,r)}return o-n>c-a&&(n=a,o=c,o>s["a"].PI&&(o-=s["a"].TWO_PI),n>s["a"].PI&&(n-=s["a"].TWO_PI)),Object(r["a"])(t)?(t.west=n,t.south=l,t.east=o,t.north=u,t):new Le(n,l,o,u)},Le.fromCartesianArray=function(e,t,n){i["a"].defined("cartesians",e),t=Object(o["a"])(t,z.WGS84);let a=Number.MAX_VALUE,c=-Number.MAX_VALUE,l=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=Number.MAX_VALUE,d=-Number.MAX_VALUE;for(let i=0,o=e.length;i<o;i++){const n=t.cartesianToCartographic(e[i]);a=Math.min(a,n.longitude),c=Math.max(c,n.longitude),h=Math.min(h,n.latitude),d=Math.max(d,n.latitude);const o=n.longitude>=0?n.longitude:n.longitude+s["a"].TWO_PI;l=Math.min(l,o),u=Math.max(u,o)}return c-a>u-l&&(a=l,c=u,c>s["a"].PI&&(c-=s["a"].TWO_PI),a>s["a"].PI&&(a-=s["a"].TWO_PI)),Object(r["a"])(n)?(n.west=a,n.south=h,n.east=c,n.north=d,n):new Le(a,h,c,d)},Le.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new Le(e.west,e.south,e.east,e.north)},Le.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n},Le.prototype.clone=function(e){return Le.clone(this,e)},Le.prototype.equals=function(e){return Le.equals(this,e)},Le.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},Le.prototype.equalsEpsilon=function(e,t){return Le.equalsEpsilon(this,e,t)},Le.validate=function(e){i["a"].typeOf.object("rectangle",e);const t=e.north;i["a"].typeOf.number.greaterThanOrEquals("north",t,-s["a"].PI_OVER_TWO),i["a"].typeOf.number.lessThanOrEquals("north",t,s["a"].PI_OVER_TWO);const n=e.south;i["a"].typeOf.number.greaterThanOrEquals("south",n,-s["a"].PI_OVER_TWO),i["a"].typeOf.number.lessThanOrEquals("south",n,s["a"].PI_OVER_TWO);const o=e.west;i["a"].typeOf.number.greaterThanOrEquals("west",o,-Math.PI),i["a"].typeOf.number.lessThanOrEquals("west",o,Math.PI);const r=e.east;i["a"].typeOf.number.greaterThanOrEquals("east",r,-Math.PI),i["a"].typeOf.number.lessThanOrEquals("east",r,Math.PI)},Le.southwest=function(e,t){return i["a"].typeOf.object("rectangle",e),Object(r["a"])(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new I(e.west,e.south)},Le.northwest=function(e,t){return i["a"].typeOf.object("rectangle",e),Object(r["a"])(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new I(e.west,e.north)},Le.northeast=function(e,t){return i["a"].typeOf.object("rectangle",e),Object(r["a"])(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new I(e.east,e.north)},Le.southeast=function(e,t){return i["a"].typeOf.object("rectangle",e),Object(r["a"])(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new I(e.east,e.south)},Le.center=function(e,t){i["a"].typeOf.object("rectangle",e);let n=e.east;const o=e.west;n<o&&(n+=s["a"].TWO_PI);const a=s["a"].negativePiToPi(.5*(o+n)),c=.5*(e.south+e.north);return Object(r["a"])(t)?(t.longitude=a,t.latitude=c,t.height=0,t):new I(a,c)},Le.intersection=function(e,t,n){i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("otherRectangle",t);let o=e.east,a=e.west,c=t.east,l=t.west;o<a&&c>0?o+=s["a"].TWO_PI:c<l&&o>0&&(c+=s["a"].TWO_PI),o<a&&l<0?l+=s["a"].TWO_PI:c<l&&a<0&&(a+=s["a"].TWO_PI);const u=s["a"].negativePiToPi(Math.max(a,l)),h=s["a"].negativePiToPi(Math.min(o,c));if((e.west<e.east||t.west<t.east)&&h<=u)return;const d=Math.max(e.south,t.south),f=Math.min(e.north,t.north);return d>=f?void 0:Object(r["a"])(n)?(n.west=u,n.south=d,n.east=h,n.north=f,n):new Le(u,d,h,f)},Le.simpleIntersection=function(e,t,n){i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("otherRectangle",t);const o=Math.max(e.west,t.west),a=Math.max(e.south,t.south),s=Math.min(e.east,t.east),c=Math.min(e.north,t.north);if(!(a>=c||o>=s))return Object(r["a"])(n)?(n.west=o,n.south=a,n.east=s,n.north=c,n):new Le(o,a,s,c)},Le.union=function(e,t,n){i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("otherRectangle",t),Object(r["a"])(n)||(n=new Le);let o=e.east,a=e.west,c=t.east,l=t.west;o<a&&c>0?o+=s["a"].TWO_PI:c<l&&o>0&&(c+=s["a"].TWO_PI),o<a&&l<0?l+=s["a"].TWO_PI:c<l&&a<0&&(a+=s["a"].TWO_PI);const u=s["a"].negativePiToPi(Math.min(a,l)),h=s["a"].negativePiToPi(Math.max(o,c));return n.west=u,n.south=Math.min(e.south,t.south),n.east=h,n.north=Math.max(e.north,t.north),n},Le.expand=function(e,t,n){return i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("cartographic",t),Object(r["a"])(n)||(n=new Le),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n},Le.contains=function(e,t){i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("cartographic",t);let n=t.longitude;const o=t.latitude,r=e.west;let a=e.east;return a<r&&(a+=s["a"].TWO_PI,n<0&&(n+=s["a"].TWO_PI)),(n>r||s["a"].equalsEpsilon(n,r,s["a"].EPSILON14))&&(n<a||s["a"].equalsEpsilon(n,a,s["a"].EPSILON14))&&o>=e.south&&o<=e.north};const Be=new I;Le.subsample=function(e,t,n,a){i["a"].typeOf.object("rectangle",e),t=Object(o["a"])(t,z.WGS84),n=Object(o["a"])(n,0),Object(r["a"])(a)||(a=[]);let c=0;const l=e.north,u=e.south,h=e.east,d=e.west,f=Be;f.height=n,f.longitude=d,f.latitude=l,a[c]=t.cartographicToCartesian(f,a[c]),c++,f.longitude=h,a[c]=t.cartographicToCartesian(f,a[c]),c++,f.latitude=u,a[c]=t.cartographicToCartesian(f,a[c]),c++,f.longitude=d,a[c]=t.cartographicToCartesian(f,a[c]),c++,f.latitude=l<0?l:u>0?u:0;for(let i=1;i<8;++i)f.longitude=-Math.PI+i*s["a"].PI_OVER_TWO,Le.contains(e,f)&&(a[c]=t.cartographicToCartesian(f,a[c]),c++);return 0===f.latitude&&(f.longitude=d,a[c]=t.cartographicToCartesian(f,a[c]),c++,f.longitude=h,a[c]=t.cartographicToCartesian(f,a[c]),c++),a.length=c,a},Le.subsection=function(e,t,n,o,a,c){if(i["a"].typeOf.object("rectangle",e),i["a"].typeOf.number.greaterThanOrEquals("westLerp",t,0),i["a"].typeOf.number.lessThanOrEquals("westLerp",t,1),i["a"].typeOf.number.greaterThanOrEquals("southLerp",n,0),i["a"].typeOf.number.lessThanOrEquals("southLerp",n,1),i["a"].typeOf.number.greaterThanOrEquals("eastLerp",o,0),i["a"].typeOf.number.lessThanOrEquals("eastLerp",o,1),i["a"].typeOf.number.greaterThanOrEquals("northLerp",a,0),i["a"].typeOf.number.lessThanOrEquals("northLerp",a,1),i["a"].typeOf.number.lessThanOrEquals("westLerp",t,o),i["a"].typeOf.number.lessThanOrEquals("southLerp",n,a),Object(r["a"])(c)||(c=new Le),e.west<=e.east){const n=e.east-e.west;c.west=e.west+t*n,c.east=e.west+o*n}else{const n=s["a"].TWO_PI+e.east-e.west;c.west=s["a"].negativePiToPi(e.west+t*n),c.east=s["a"].negativePiToPi(e.west+o*n)}const l=e.north-e.south;return c.south=e.south+n*l,c.north=e.south+a*l,1===t&&(c.west=e.east),1===o&&(c.east=e.east),1===n&&(c.south=e.north),1===a&&(c.north=e.north),c},Le.MAX_VALUE=Object.freeze(new Le(-Math.PI,-s["a"].PI_OVER_TWO,Math.PI,s["a"].PI_OVER_TWO));var Fe=Le;function ke(e,t){this.center=g.clone(Object(o["a"])(e,g.ZERO)),this.radius=Object(o["a"])(t,0)}const ze=new g,Ue=new g,Ve=new g,He=new g,Ge=new g,qe=new g,We=new g,Ye=new g,Xe=new g,Ke=new g,Je=new g,Ze=new g,$e=4/3*s["a"].PI;ke.fromPoints=function(e,t){if(Object(r["a"])(t)||(t=new ke),!Object(r["a"])(e)||0===e.length)return t.center=g.clone(g.ZERO,t.center),t.radius=0,t;const n=g.clone(e[0],We),i=g.clone(n,ze),o=g.clone(n,Ue),a=g.clone(n,Ve),s=g.clone(n,He),c=g.clone(n,Ge),l=g.clone(n,qe),u=e.length;let h;for(h=1;h<u;h++){g.clone(e[h],n);const t=n.x,r=n.y,u=n.z;t<i.x&&g.clone(n,i),t>s.x&&g.clone(n,s),r<o.y&&g.clone(n,o),r>c.y&&g.clone(n,c),u<a.z&&g.clone(n,a),u>l.z&&g.clone(n,l)}const d=g.magnitudeSquared(g.subtract(s,i,Ye)),f=g.magnitudeSquared(g.subtract(c,o,Ye)),p=g.magnitudeSquared(g.subtract(l,a,Ye));let m=i,_=s,b=d;f>b&&(b=f,m=o,_=c),p>b&&(b=p,m=a,_=l);const y=Xe;y.x=.5*(m.x+_.x),y.y=.5*(m.y+_.y),y.z=.5*(m.z+_.z);let v=g.magnitudeSquared(g.subtract(_,y,Ye)),O=Math.sqrt(v);const w=Ke;w.x=i.x,w.y=o.y,w.z=a.z;const A=Je;A.x=s.x,A.y=c.y,A.z=l.z;const T=g.midpoint(w,A,Ze);let C=0;for(h=0;h<u;h++){g.clone(e[h],n);const t=g.magnitude(g.subtract(n,T,Ye));t>C&&(C=t);const i=g.magnitudeSquared(g.subtract(n,y,Ye));if(i>v){const e=Math.sqrt(i);O=.5*(O+e),v=O*O;const t=e-O;y.x=(O*y.x+t*n.x)/e,y.y=(O*y.y+t*n.y)/e,y.z=(O*y.z+t*n.z)/e}}return O<C?(g.clone(y,t.center),t.radius=O):(g.clone(T,t.center),t.radius=C),t};const Qe=new V,et=new g,tt=new g,nt=new I,it=new I;ke.fromRectangle2D=function(e,t,n){return ke.fromRectangleWithHeights2D(e,t,0,0,n)},ke.fromRectangleWithHeights2D=function(e,t,n,i,a){if(Object(r["a"])(a)||(a=new ke),!Object(r["a"])(e))return a.center=g.clone(g.ZERO,a.center),a.radius=0,a;t=Object(o["a"])(t,Qe),Fe.southwest(e,nt),nt.height=n,Fe.northeast(e,it),it.height=i;const s=t.project(nt,et),c=t.project(it,tt),l=c.x-s.x,u=c.y-s.y,h=c.z-s.z;a.radius=.5*Math.sqrt(l*l+u*u+h*h);const d=a.center;return d.x=s.x+.5*l,d.y=s.y+.5*u,d.z=s.z+.5*h,a};const ot=[];ke.fromRectangle3D=function(e,t,n,i){if(t=Object(o["a"])(t,z.WGS84),n=Object(o["a"])(n,0),Object(r["a"])(i)||(i=new ke),!Object(r["a"])(e))return i.center=g.clone(g.ZERO,i.center),i.radius=0,i;const a=Fe.subsample(e,t,n,ot);return ke.fromPoints(a,i)},ke.fromVertices=function(e,t,n,a){if(Object(r["a"])(a)||(a=new ke),!Object(r["a"])(e)||0===e.length)return a.center=g.clone(g.ZERO,a.center),a.radius=0,a;t=Object(o["a"])(t,g.ZERO),n=Object(o["a"])(n,3),i["a"].typeOf.number.greaterThanOrEquals("stride",n,3);const s=We;s.x=e[0]+t.x,s.y=e[1]+t.y,s.z=e[2]+t.z;const c=g.clone(s,ze),l=g.clone(s,Ue),u=g.clone(s,Ve),h=g.clone(s,He),d=g.clone(s,Ge),f=g.clone(s,qe),p=e.length;let m;for(m=0;m<p;m+=n){const n=e[m]+t.x,i=e[m+1]+t.y,o=e[m+2]+t.z;s.x=n,s.y=i,s.z=o,n<c.x&&g.clone(s,c),n>h.x&&g.clone(s,h),i<l.y&&g.clone(s,l),i>d.y&&g.clone(s,d),o<u.z&&g.clone(s,u),o>f.z&&g.clone(s,f)}const _=g.magnitudeSquared(g.subtract(h,c,Ye)),b=g.magnitudeSquared(g.subtract(d,l,Ye)),y=g.magnitudeSquared(g.subtract(f,u,Ye));let v=c,O=h,w=_;b>w&&(w=b,v=l,O=d),y>w&&(w=y,v=u,O=f);const A=Xe;A.x=.5*(v.x+O.x),A.y=.5*(v.y+O.y),A.z=.5*(v.z+O.z);let T=g.magnitudeSquared(g.subtract(O,A,Ye)),C=Math.sqrt(T);const E=Ke;E.x=c.x,E.y=l.y,E.z=u.z;const x=Je;x.x=h.x,x.y=d.y,x.z=f.z;const S=g.midpoint(E,x,Ze);let I=0;for(m=0;m<p;m+=n){s.x=e[m]+t.x,s.y=e[m+1]+t.y,s.z=e[m+2]+t.z;const n=g.magnitude(g.subtract(s,S,Ye));n>I&&(I=n);const i=g.magnitudeSquared(g.subtract(s,A,Ye));if(i>T){const e=Math.sqrt(i);C=.5*(C+e),T=C*C;const t=e-C;A.x=(C*A.x+t*s.x)/e,A.y=(C*A.y+t*s.y)/e,A.z=(C*A.z+t*s.z)/e}}return C<I?(g.clone(A,a.center),a.radius=C):(g.clone(S,a.center),a.radius=I),a},ke.fromEncodedCartesianVertices=function(e,t,n){if(Object(r["a"])(n)||(n=new ke),!Object(r["a"])(e)||!Object(r["a"])(t)||e.length!==t.length||0===e.length)return n.center=g.clone(g.ZERO,n.center),n.radius=0,n;const i=We;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];const o=g.clone(i,ze),a=g.clone(i,Ue),s=g.clone(i,Ve),c=g.clone(i,He),l=g.clone(i,Ge),u=g.clone(i,qe),h=e.length;let d;for(d=0;d<h;d+=3){const n=e[d]+t[d],r=e[d+1]+t[d+1],h=e[d+2]+t[d+2];i.x=n,i.y=r,i.z=h,n<o.x&&g.clone(i,o),n>c.x&&g.clone(i,c),r<a.y&&g.clone(i,a),r>l.y&&g.clone(i,l),h<s.z&&g.clone(i,s),h>u.z&&g.clone(i,u)}const f=g.magnitudeSquared(g.subtract(c,o,Ye)),p=g.magnitudeSquared(g.subtract(l,a,Ye)),m=g.magnitudeSquared(g.subtract(u,s,Ye));let _=o,b=c,y=f;p>y&&(y=p,_=a,b=l),m>y&&(y=m,_=s,b=u);const v=Xe;v.x=.5*(_.x+b.x),v.y=.5*(_.y+b.y),v.z=.5*(_.z+b.z);let O=g.magnitudeSquared(g.subtract(b,v,Ye)),w=Math.sqrt(O);const A=Ke;A.x=o.x,A.y=a.y,A.z=s.z;const T=Je;T.x=c.x,T.y=l.y,T.z=u.z;const C=g.midpoint(A,T,Ze);let E=0;for(d=0;d<h;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];const n=g.magnitude(g.subtract(i,C,Ye));n>E&&(E=n);const o=g.magnitudeSquared(g.subtract(i,v,Ye));if(o>O){const e=Math.sqrt(o);w=.5*(w+e),O=w*w;const t=e-w;v.x=(w*v.x+t*i.x)/e,v.y=(w*v.y+t*i.y)/e,v.z=(w*v.z+t*i.z)/e}}return w<E?(g.clone(v,n.center),n.radius=w):(g.clone(C,n.center),n.radius=E),n},ke.fromCornerPoints=function(e,t,n){i["a"].typeOf.object("corner",e),i["a"].typeOf.object("oppositeCorner",t),Object(r["a"])(n)||(n=new ke);const o=g.midpoint(e,t,n.center);return n.radius=g.distance(o,t),n},ke.fromEllipsoid=function(e,t){return i["a"].typeOf.object("ellipsoid",e),Object(r["a"])(t)||(t=new ke),g.clone(g.ZERO,t.center),t.radius=e.maximumRadius,t};const rt=new g;ke.fromBoundingSpheres=function(e,t){if(Object(r["a"])(t)||(t=new ke),!Object(r["a"])(e)||0===e.length)return t.center=g.clone(g.ZERO,t.center),t.radius=0,t;const n=e.length;if(1===n)return ke.clone(e[0],t);if(2===n)return ke.union(e[0],e[1],t);const i=[];let o;for(o=0;o<n;o++)i.push(e[o].center);t=ke.fromPoints(i,t);const a=t.center;let s=t.radius;for(o=0;o<n;o++){const t=e[o];s=Math.max(s,g.distance(a,t.center,rt)+t.radius)}return t.radius=s,t};const at=new g,st=new g,ct=new g;ke.fromOrientedBoundingBox=function(e,t){i["a"].defined("orientedBoundingBox",e),Object(r["a"])(t)||(t=new ke);const n=e.halfAxes,o=ce.getColumn(n,0,at),a=ce.getColumn(n,1,st),s=ce.getColumn(n,2,ct);return g.add(o,a,o),g.add(o,s,o),t.center=g.clone(e.center,t.center),t.radius=g.magnitude(o),t};const lt=new g,ut=new g;ke.fromTransformation=function(e,t){i["a"].typeOf.object("transformation",e),Object(r["a"])(t)||(t=new ke);const n=Ne.getTranslation(e,lt),o=Ne.getScale(e,ut),a=.5*g.magnitude(o);return t.center=g.clone(n,t.center),t.radius=a,t},ke.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.center=g.clone(e.center,t.center),t.radius=e.radius,t):new ke(e.center,e.radius)},ke.packedLength=4,ke.pack=function(e,t,n){i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0);const r=e.center;return t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=e.radius,t},ke.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new ke);const a=n.center;return a.x=e[t++],a.y=e[t++],a.z=e[t++],n.radius=e[t],n};const ht=new g,dt=new g;ke.union=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),Object(r["a"])(n)||(n=new ke);const o=e.center,a=e.radius,s=t.center,c=t.radius,l=g.subtract(s,o,ht),u=g.magnitude(l);if(a>=u+c)return e.clone(n),n;if(c>=u+a)return t.clone(n),n;const h=.5*(a+u+c),d=g.multiplyByScalar(l,(-a+h)/u,dt);return g.add(d,o,d),g.clone(d,n.center),n.radius=h,n};const ft=new g;ke.expand=function(e,t,n){i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("point",t),n=ke.clone(e,n);const o=g.magnitude(g.subtract(t,n.center,ft));return o>n.radius&&(n.radius=o),n},ke.intersectPlane=function(e,t){i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("plane",t);const n=e.center,o=e.radius,r=t.normal,a=g.dot(r,n)+t.distance;return a<-o?G.OUTSIDE:a<o?G.INTERSECTING:G.INSIDE},ke.transform=function(e,t,n){return i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("transform",t),Object(r["a"])(n)||(n=new ke),n.center=Ne.multiplyByPoint(t,e.center,n.center),n.radius=Ne.getMaximumScale(t)*e.radius,n};const pt=new g;ke.distanceSquaredTo=function(e,t){i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("cartesian",t);const n=g.subtract(e.center,t,pt),o=g.magnitude(n)-e.radius;return o<=0?0:o*o},ke.transformWithoutScale=function(e,t,n){return i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("transform",t),Object(r["a"])(n)||(n=new ke),n.center=Ne.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};const mt=new g;ke.computePlaneDistances=function(e,t,n,o){i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("position",t),i["a"].typeOf.object("direction",n),Object(r["a"])(o)||(o=new W);const a=g.subtract(e.center,t,mt),s=g.dot(n,a);return o.start=s-e.radius,o.stop=s+e.radius,o};const _t=new g,gt=new g,bt=new g,yt=new g,vt=new g,Ot=new I,wt=new Array(8);for(let opt=0;opt<8;++opt)wt[opt]=new g;const At=new V;ke.projectTo2D=function(e,t,n){i["a"].typeOf.object("sphere",e),t=Object(o["a"])(t,At);const r=t.ellipsoid;let a=e.center;const s=e.radius;let c;c=g.equals(a,g.ZERO)?g.clone(g.UNIT_X,_t):r.geodeticSurfaceNormal(a,_t);const l=g.cross(g.UNIT_Z,c,gt);g.normalize(l,l);const u=g.cross(c,l,bt);g.normalize(u,u),g.multiplyByScalar(c,s,c),g.multiplyByScalar(u,s,u),g.multiplyByScalar(l,s,l);const h=g.negate(u,vt),d=g.negate(l,yt),f=wt;let p=f[0];g.add(c,u,p),g.add(p,l,p),p=f[1],g.add(c,u,p),g.add(p,d,p),p=f[2],g.add(c,h,p),g.add(p,d,p),p=f[3],g.add(c,h,p),g.add(p,l,p),g.negate(c,c),p=f[4],g.add(c,u,p),g.add(p,l,p),p=f[5],g.add(c,u,p),g.add(p,d,p),p=f[6],g.add(c,h,p),g.add(p,d,p),p=f[7],g.add(c,h,p),g.add(p,l,p);const m=f.length;for(let i=0;i<m;++i){const e=f[i];g.add(a,e,e);const n=r.cartesianToCartographic(e,Ot);t.project(n,e)}n=ke.fromPoints(f,n),a=n.center;const _=a.x,b=a.y,y=a.z;return a.x=y,a.y=_,a.z=b,n},ke.isOccluded=function(e,t){return i["a"].typeOf.object("sphere",e),i["a"].typeOf.object("occluder",t),!t.isBoundingSphereVisible(e)},ke.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&g.equals(e.center,t.center)&&e.radius===t.radius},ke.prototype.intersectPlane=function(e){return ke.intersectPlane(this,e)},ke.prototype.distanceSquaredTo=function(e){return ke.distanceSquaredTo(this,e)},ke.prototype.computePlaneDistances=function(e,t,n){return ke.computePlaneDistances(this,e,t,n)},ke.prototype.isOccluded=function(e){return ke.isOccluded(this,e)},ke.prototype.equals=function(e){return ke.equals(this,e)},ke.prototype.clone=function(e){return ke.clone(this,e)},ke.prototype.volume=function(){const e=this.radius;return $e*e*e*e};var Tt=ke,Ct=n("a734"),Et=n("d4ed");const xt=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;let St,It,Dt;function jt(e){return"undefined"===typeof document?e:(Object(r["a"])(St)||(St=document.createElement("a")),St.href=e,St.href=St.href,St.href)}function Pt(){if(Object(r["a"])(It))return It;let e;if(e="./",!Object(r["a"])(e))throw new a["a"]("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return It=new Et["a"]({url:jt(e)}),It.appendForwardSlash(),It}function Rt(e){return jt(n("429a").toUrl("../"+e))}function Mt(e){const t=Pt().getDerivedResource({url:e});return t.url}function Nt(e){Object(r["a"])(Dt)||(Dt="object"===typeof define&&Object(r["a"])(n("3c35"))&&!n("3c35").toUrlUndefined&&Object(r["a"])(n("429a").toUrl)?Rt:Mt);const t=Dt(e);return t}Nt._cesiumScriptRegex=xt,Nt._buildModuleUrlFromBaseUrl=Mt,Nt._clearBaseResource=function(){It=void 0},Nt.setBaseUrl=function(e){It=Et["a"].DEFAULT.getDerivedResource({url:e})},Nt.getCesiumBaseUrl=Pt;var Lt=Nt;function Bt(e,t){this.x=Object(o["a"])(e,0),this.y=Object(o["a"])(t,0)}Bt.fromElements=function(e,t,n){return Object(r["a"])(n)?(n.x=e,n.y=t,n):new Bt(e,t)},Bt.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.x=e.x,t.y=e.y,t):new Bt(e.x,e.y)},Bt.fromCartesian3=Bt.clone,Bt.fromCartesian4=Bt.clone,Bt.packedLength=2,Bt.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.x,t[n]=e.y,t},Bt.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Bt),n.x=e[t++],n.y=e[t],n},Bt.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=2*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 2 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)Bt.pack(e[i],t,2*i);return t},Bt.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,2),e.length%2!==0)throw new a["a"]("array length must be a multiple of 2.");const n=e.length;Object(r["a"])(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){const n=i/2;t[n]=Bt.unpack(e,i,t[n])}return t},Bt.fromArray=Bt.unpack,Bt.maximumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.max(e.x,e.y)},Bt.minimumComponent=function(e){return i["a"].typeOf.object("cartesian",e),Math.min(e.x,e.y)},Bt.minimumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},Bt.maximumByComponent=function(e,t,n){return i["a"].typeOf.object("first",e),i["a"].typeOf.object("second",t),i["a"].typeOf.object("result",n),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},Bt.clamp=function(e,t,n,o){i["a"].typeOf.object("value",e),i["a"].typeOf.object("min",t),i["a"].typeOf.object("max",n),i["a"].typeOf.object("result",o);const r=s["a"].clamp(e.x,t.x,n.x),a=s["a"].clamp(e.y,t.y,n.y);return o.x=r,o.y=a,o},Bt.magnitudeSquared=function(e){return i["a"].typeOf.object("cartesian",e),e.x*e.x+e.y*e.y},Bt.magnitude=function(e){return Math.sqrt(Bt.magnitudeSquared(e))};const Ft=new Bt;Bt.distance=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),Bt.subtract(e,t,Ft),Bt.magnitude(Ft)},Bt.distanceSquared=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),Bt.subtract(e,t,Ft),Bt.magnitudeSquared(Ft)},Bt.normalize=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=Bt.magnitude(e);if(t.x=e.x/n,t.y=e.y/n,isNaN(t.x)||isNaN(t.y))throw new a["a"]("normalized result is not a number");return t},Bt.dot=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.x*t.x+e.y*t.y},Bt.cross=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.x*t.y-e.y*t.x},Bt.multiplyComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x*t.x,n.y=e.y*t.y,n},Bt.divideComponents=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x/t.x,n.y=e.y/t.y,n},Bt.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n},Bt.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n},Bt.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n},Bt.divideByScalar=function(e,t,n){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n},Bt.negate=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t},Bt.abs=function(e,t){return i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t),t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};const kt=new Bt;Bt.lerp=function(e,t,n,o){return i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o),Bt.multiplyByScalar(t,n,kt),o=Bt.multiplyByScalar(e,1-n,o),Bt.add(kt,o,o)};const zt=new Bt,Ut=new Bt;Bt.angleBetween=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),Bt.normalize(e,zt),Bt.normalize(t,Ut),s["a"].acosClamped(Bt.dot(zt,Ut))};const Vt=new Bt;Bt.mostOrthogonalAxis=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=Bt.normalize(e,Vt);return Bt.abs(n,n),t=n.x<=n.y?Bt.clone(Bt.UNIT_X,t):Bt.clone(Bt.UNIT_Y,t),t},Bt.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.x===t.x&&e.y===t.y},Bt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]},Bt.equalsEpsilon=function(e,t,n,i){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&s["a"].equalsEpsilon(e.x,t.x,n,i)&&s["a"].equalsEpsilon(e.y,t.y,n,i)},Bt.ZERO=Object.freeze(new Bt(0,0)),Bt.ONE=Object.freeze(new Bt(1,1)),Bt.UNIT_X=Object.freeze(new Bt(1,0)),Bt.UNIT_Y=Object.freeze(new Bt(0,1)),Bt.prototype.clone=function(e){return Bt.clone(this,e)},Bt.prototype.equals=function(e){return Bt.equals(this,e)},Bt.prototype.equalsEpsilon=function(e,t,n){return Bt.equalsEpsilon(this,e,t,n)},Bt.prototype.toString=function(){return`(${this.x}, ${this.y})`};var Ht=Bt;function Gt(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._rectangle=Object(o["a"])(e.rectangle,Fe.MAX_VALUE),this._projection=new V(this._ellipsoid),this._numberOfLevelZeroTilesX=Object(o["a"])(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=Object(o["a"])(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(Gt.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),Gt.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e},Gt.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e},Gt.prototype.rectangleToNativeRectangle=function(e,t){i["a"].defined("rectangle",e);const n=s["a"].toDegrees(e.west),o=s["a"].toDegrees(e.south),a=s["a"].toDegrees(e.east),c=s["a"].toDegrees(e.north);return Object(r["a"])(t)?(t.west=n,t.south=o,t.east=a,t.north=c,t):new Fe(n,o,a,c)},Gt.prototype.tileXYToNativeRectangle=function(e,t,n,i){const o=this.tileXYToRectangle(e,t,n,i);return o.west=s["a"].toDegrees(o.west),o.south=s["a"].toDegrees(o.south),o.east=s["a"].toDegrees(o.east),o.north=s["a"].toDegrees(o.north),o},Gt.prototype.tileXYToRectangle=function(e,t,n,i){const o=this._rectangle,a=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),c=o.width/a,l=e*c+o.west,u=(e+1)*c+o.west,h=o.height/s,d=o.north-t*h,f=o.north-(t+1)*h;return Object(r["a"])(i)||(i=new Fe(l,f,u,d)),i.west=l,i.south=f,i.east=u,i.north=d,i},Gt.prototype.positionToTileXY=function(e,t,n){const i=this._rectangle;if(!Fe.contains(i,e))return;const o=this.getNumberOfXTilesAtLevel(t),a=this.getNumberOfYTilesAtLevel(t),c=i.width/o,l=i.height/a;let u=e.longitude;i.east<i.west&&(u+=s["a"].TWO_PI);let h=(u-i.west)/c|0;h>=o&&(h=o-1);let d=(i.north-e.latitude)/l|0;return d>=a&&(d=a-1),Object(r["a"])(n)?(n.x=h,n.y=d,n):new Ht(h,d)};var qt=Gt;const Wt=new g,Yt=new g,Xt=new I,Kt=new g,Jt=new g,Zt=new Tt,$t=new qt,Qt=[new I,new I,new I,new I],en=new Ht,tn={};function nn(e){I.fromRadians(e.east,e.north,0,Qt[0]),I.fromRadians(e.west,e.north,0,Qt[1]),I.fromRadians(e.east,e.south,0,Qt[2]),I.fromRadians(e.west,e.south,0,Qt[3]);let t=0,n=0,i=0,o=0;const r=tn._terrainHeightsMaxLevel;let a;for(a=0;a<=r;++a){let e=!1;for(let t=0;t<4;++t){const n=Qt[t];if($t.positionToTileXY(n,a,en),0===t)i=en.x,o=en.y;else if(i!==en.x||o!==en.y){e=!0;break}}if(e)break;t=i,n=o}if(0!==a)return{x:t,y:n,level:a>r?r:a-1}}tn.initialize=function(){let e=tn._initPromise;return Object(r["a"])(e)||(e=Et["a"].fetchJson(Lt("Assets/approximateTerrainHeights.json")).then((function(e){tn._terrainHeights=e})),tn._initPromise=e),e},tn.getMinimumMaximumHeights=function(e,t){if(i["a"].defined("rectangle",e),!Object(r["a"])(tn._terrainHeights))throw new a["a"]("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");t=Object(o["a"])(t,z.WGS84);const n=nn(e);let s=tn._defaultMinTerrainHeight,c=tn._defaultMaxTerrainHeight;if(Object(r["a"])(n)){const i=`${n.level}-${n.x}-${n.y}`,o=tn._terrainHeights[i];Object(r["a"])(o)&&(s=o[0],c=o[1]),t.cartographicToCartesian(Fe.northeast(e,Xt),Wt),t.cartographicToCartesian(Fe.southwest(e,Xt),Yt),g.midpoint(Yt,Wt,Kt);const a=t.scaleToGeodeticSurface(Kt,Jt);if(Object(r["a"])(a)){const e=g.distance(Kt,a);s=Math.min(s,-e)}else s=tn._defaultMinTerrainHeight}return s=Math.max(tn._defaultMinTerrainHeight,s),{minimumTerrainHeight:s,maximumTerrainHeight:c}},tn.getBoundingSphere=function(e,t){if(i["a"].defined("rectangle",e),!Object(r["a"])(tn._terrainHeights))throw new a["a"]("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");t=Object(o["a"])(t,z.WGS84);const n=nn(e);let s=tn._defaultMaxTerrainHeight;if(Object(r["a"])(n)){const e=`${n.level}-${n.x}-${n.y}`,t=tn._terrainHeights[e];Object(r["a"])(t)&&(s=t[1])}const c=Tt.fromRectangle3D(e,t,0);return Tt.fromRectangle3D(e,t,s,Zt),Tt.union(c,Zt,c)},tn._terrainHeightsMaxLevel=6,tn._defaultMaxTerrainHeight=9e3,tn._defaultMinTerrainHeight=-1e5,tn._terrainHeights=void 0,tn._initPromise=void 0,Object.defineProperties(tn,{initialized:{get:function(){return Object(r["a"])(tn._terrainHeights)}}});var on=tn;
  61. /*! @license DOMPurify 2.3.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.8/LICENSE */function rn(e){return rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rn(e)}function an(e,t){return an=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},an(e,t)}function sn(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function cn(e,t,n){return cn=sn()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var o=Function.bind.apply(e,i),r=new o;return n&&an(r,n.prototype),r},cn.apply(null,arguments)}function ln(e){return un(e)||hn(e)||dn(e)||pn()}function un(e){if(Array.isArray(e))return fn(e)}function hn(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function dn(e,t){if(e){if("string"===typeof e)return fn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fn(e,t):void 0}}function fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function pn(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var mn=Object.hasOwnProperty,_n=Object.setPrototypeOf,gn=Object.isFrozen,bn=Object.getPrototypeOf,yn=Object.getOwnPropertyDescriptor,vn=Object.freeze,On=Object.seal,wn=Object.create,An="undefined"!==typeof Reflect&&Reflect,Tn=An.apply,Cn=An.construct;Tn||(Tn=function(e,t,n){return e.apply(t,n)}),vn||(vn=function(e){return e}),On||(On=function(e){return e}),Cn||(Cn=function(e,t){return cn(e,ln(t))});var En=Ln(Array.prototype.forEach),xn=Ln(Array.prototype.pop),Sn=Ln(Array.prototype.push),In=Ln(String.prototype.toLowerCase),Dn=Ln(String.prototype.match),jn=Ln(String.prototype.replace),Pn=Ln(String.prototype.indexOf),Rn=Ln(String.prototype.trim),Mn=Ln(RegExp.prototype.test),Nn=Bn(TypeError);function Ln(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return Tn(e,t,i)}}function Bn(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Cn(e,n)}}function Fn(e,t){_n&&_n(e,null);var n=t.length;while(n--){var i=t[n];if("string"===typeof i){var o=In(i);o!==i&&(gn(t)||(t[n]=o),i=o)}e[i]=!0}return e}function kn(e){var t,n=wn(null);for(t in e)Tn(mn,e,[t])&&(n[t]=e[t]);return n}function zn(e,t){while(null!==e){var n=yn(e,t);if(n){if(n.get)return Ln(n.get);if("function"===typeof n.value)return Ln(n.value)}e=bn(e)}function i(e){return console.warn("fallback value for",e),null}return i}var Un=vn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Vn=vn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Hn=vn(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Gn=vn(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),qn=vn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),Wn=vn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yn=vn(["#text"]),Xn=vn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Kn=vn(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Jn=vn(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Zn=vn(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),$n=On(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Qn=On(/<%[\w\W]*|[\w\W]*%>/gm),ei=On(/^data-[\-\w.\u00B7-\uFFFF]/),ti=On(/^aria-[\-\w]+$/),ni=On(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ii=On(/^(?:\w+script|data):/i),oi=On(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ri=On(/^html$/i),ai=function(){return"undefined"===typeof window?null:window},si=function(e,t){if("object"!==rn(e)||"function"!==typeof e.createPolicy)return null;var n=null,i="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(i)&&(n=t.currentScript.getAttribute(i));var o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:function(e){return e}})}catch(r){return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function ci(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ai(),t=function(e){return ci(e)};if(t.version="2.3.8",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,i=e.document,o=e.DocumentFragment,r=e.HTMLTemplateElement,a=e.Node,s=e.Element,c=e.NodeFilter,l=e.NamedNodeMap,u=void 0===l?e.NamedNodeMap||e.MozNamedAttrMap:l,h=e.HTMLFormElement,d=e.DOMParser,f=e.trustedTypes,p=s.prototype,m=zn(p,"cloneNode"),_=zn(p,"nextSibling"),g=zn(p,"childNodes"),b=zn(p,"parentNode");if("function"===typeof r){var y=i.createElement("template");y.content&&y.content.ownerDocument&&(i=y.content.ownerDocument)}var v=si(f,n),O=v?v.createHTML(""):"",w=i,A=w.implementation,T=w.createNodeIterator,C=w.createDocumentFragment,E=w.getElementsByTagName,x=n.importNode,S={};try{S=kn(i).documentMode?i.documentMode:{}}catch(Ue){}var I={};t.isSupported="function"===typeof b&&A&&"undefined"!==typeof A.createHTMLDocument&&9!==S;var D,j,P=$n,R=Qn,M=ei,N=ti,L=ii,B=oi,F=ni,k=null,z=Fn({},[].concat(ln(Un),ln(Vn),ln(Hn),ln(qn),ln(Yn))),U=null,V=Fn({},[].concat(ln(Xn),ln(Kn),ln(Jn),ln(Zn))),H=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),G=null,q=null,W=!0,Y=!0,X=!1,K=!1,J=!1,Z=!1,$=!1,Q=!1,ee=!1,te=!1,ne=!0,ie=!0,oe=!1,re={},ae=null,se=Fn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ce=null,le=Fn({},["audio","video","img","source","image","track"]),ue=null,he=Fn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),de="http://www.w3.org/1998/Math/MathML",fe="http://www.w3.org/2000/svg",pe="http://www.w3.org/1999/xhtml",me=pe,_e=!1,ge=["application/xhtml+xml","text/html"],be="text/html",ye=null,ve=i.createElement("form"),Oe=function(e){return e instanceof RegExp||e instanceof Function},we=function(e){ye&&ye===e||(e&&"object"===rn(e)||(e={}),e=kn(e),k="ALLOWED_TAGS"in e?Fn({},e.ALLOWED_TAGS):z,U="ALLOWED_ATTR"in e?Fn({},e.ALLOWED_ATTR):V,ue="ADD_URI_SAFE_ATTR"in e?Fn(kn(he),e.ADD_URI_SAFE_ATTR):he,ce="ADD_DATA_URI_TAGS"in e?Fn(kn(le),e.ADD_DATA_URI_TAGS):le,ae="FORBID_CONTENTS"in e?Fn({},e.FORBID_CONTENTS):se,G="FORBID_TAGS"in e?Fn({},e.FORBID_TAGS):{},q="FORBID_ATTR"in e?Fn({},e.FORBID_ATTR):{},re="USE_PROFILES"in e&&e.USE_PROFILES,W=!1!==e.ALLOW_ARIA_ATTR,Y=!1!==e.ALLOW_DATA_ATTR,X=e.ALLOW_UNKNOWN_PROTOCOLS||!1,K=e.SAFE_FOR_TEMPLATES||!1,J=e.WHOLE_DOCUMENT||!1,Q=e.RETURN_DOM||!1,ee=e.RETURN_DOM_FRAGMENT||!1,te=e.RETURN_TRUSTED_TYPE||!1,$=e.FORCE_BODY||!1,ne=!1!==e.SANITIZE_DOM,ie=!1!==e.KEEP_CONTENT,oe=e.IN_PLACE||!1,F=e.ALLOWED_URI_REGEXP||F,me=e.NAMESPACE||pe,e.CUSTOM_ELEMENT_HANDLING&&Oe(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Oe(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"===typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(H.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),D=D=-1===ge.indexOf(e.PARSER_MEDIA_TYPE)?be:e.PARSER_MEDIA_TYPE,j="application/xhtml+xml"===D?function(e){return e}:In,K&&(Y=!1),ee&&(Q=!0),re&&(k=Fn({},ln(Yn)),U=[],!0===re.html&&(Fn(k,Un),Fn(U,Xn)),!0===re.svg&&(Fn(k,Vn),Fn(U,Kn),Fn(U,Zn)),!0===re.svgFilters&&(Fn(k,Hn),Fn(U,Kn),Fn(U,Zn)),!0===re.mathMl&&(Fn(k,qn),Fn(U,Jn),Fn(U,Zn))),e.ADD_TAGS&&(k===z&&(k=kn(k)),Fn(k,e.ADD_TAGS)),e.ADD_ATTR&&(U===V&&(U=kn(U)),Fn(U,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&Fn(ue,e.ADD_URI_SAFE_ATTR),e.FORBID_CONTENTS&&(ae===se&&(ae=kn(ae)),Fn(ae,e.FORBID_CONTENTS)),ie&&(k["#text"]=!0),J&&Fn(k,["html","head","body"]),k.table&&(Fn(k,["tbody"]),delete G.tbody),vn&&vn(e),ye=e)},Ae=Fn({},["mi","mo","mn","ms","mtext"]),Te=Fn({},["foreignobject","desc","title","annotation-xml"]),Ce=Fn({},["title","style","font","a","script"]),Ee=Fn({},Vn);Fn(Ee,Hn),Fn(Ee,Gn);var xe=Fn({},qn);Fn(xe,Wn);var Se=function(e){var t=b(e);t&&t.tagName||(t={namespaceURI:pe,tagName:"template"});var n=In(e.tagName),i=In(t.tagName);return e.namespaceURI===fe?t.namespaceURI===pe?"svg"===n:t.namespaceURI===de?"svg"===n&&("annotation-xml"===i||Ae[i]):Boolean(Ee[n]):e.namespaceURI===de?t.namespaceURI===pe?"math"===n:t.namespaceURI===fe?"math"===n&&Te[i]:Boolean(xe[n]):e.namespaceURI===pe&&(!(t.namespaceURI===fe&&!Te[i])&&(!(t.namespaceURI===de&&!Ae[i])&&(!xe[n]&&(Ce[n]||!Ee[n]))))},Ie=function(e){Sn(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(Ue){try{e.outerHTML=O}catch(Ue){e.remove()}}},De=function(e,n){try{Sn(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(Ue){Sn(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!U[e])if(Q||ee)try{Ie(n)}catch(Ue){}else try{n.setAttribute(e,"")}catch(Ue){}},je=function(e){var t,n;if($)e="<remove></remove>"+e;else{var o=Dn(e,/^[\r\n\t ]+/);n=o&&o[0]}"application/xhtml+xml"===D&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");var r=v?v.createHTML(e):e;if(me===pe)try{t=(new d).parseFromString(r,D)}catch(Ue){}if(!t||!t.documentElement){t=A.createDocument(me,"template",null);try{t.documentElement.innerHTML=_e?"":r}catch(Ue){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(i.createTextNode(n),a.childNodes[0]||null),me===pe?E.call(t,J?"html":"body")[0]:J?t.documentElement:a},Pe=function(e){return T.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Re=function(e){return e instanceof h&&("string"!==typeof e.nodeName||"string"!==typeof e.textContent||"function"!==typeof e.removeChild||!(e.attributes instanceof u)||"function"!==typeof e.removeAttribute||"function"!==typeof e.setAttribute||"string"!==typeof e.namespaceURI||"function"!==typeof e.insertBefore)},Me=function(e){return"object"===rn(a)?e instanceof a:e&&"object"===rn(e)&&"number"===typeof e.nodeType&&"string"===typeof e.nodeName},Ne=function(e,n,i){I[e]&&En(I[e],(function(e){e.call(t,n,i,ye)}))},Le=function(e){var n;if(Ne("beforeSanitizeElements",e,null),Re(e))return Ie(e),!0;if(Mn(/[\u0080-\uFFFF]/,e.nodeName))return Ie(e),!0;var i=j(e.nodeName);if(Ne("uponSanitizeElement",e,{tagName:i,allowedTags:k}),e.hasChildNodes()&&!Me(e.firstElementChild)&&(!Me(e.content)||!Me(e.content.firstElementChild))&&Mn(/<[/\w]/g,e.innerHTML)&&Mn(/<[/\w]/g,e.textContent))return Ie(e),!0;if("select"===i&&Mn(/<template/i,e.innerHTML))return Ie(e),!0;if(!k[i]||G[i]){if(!G[i]&&Fe(i)){if(H.tagNameCheck instanceof RegExp&&Mn(H.tagNameCheck,i))return!1;if(H.tagNameCheck instanceof Function&&H.tagNameCheck(i))return!1}if(ie&&!ae[i]){var o=b(e)||e.parentNode,r=g(e)||e.childNodes;if(r&&o)for(var a=r.length,c=a-1;c>=0;--c)o.insertBefore(m(r[c],!0),_(e))}return Ie(e),!0}return e instanceof s&&!Se(e)?(Ie(e),!0):"noscript"!==i&&"noembed"!==i||!Mn(/<\/no(script|embed)/i,e.innerHTML)?(K&&3===e.nodeType&&(n=e.textContent,n=jn(n,P," "),n=jn(n,R," "),e.textContent!==n&&(Sn(t.removed,{element:e.cloneNode()}),e.textContent=n)),Ne("afterSanitizeElements",e,null),!1):(Ie(e),!0)},Be=function(e,t,n){if(ne&&("id"===t||"name"===t)&&(n in i||n in ve))return!1;if(Y&&!q[t]&&Mn(M,t));else if(W&&Mn(N,t));else if(!U[t]||q[t]){if(!(Fe(e)&&(H.tagNameCheck instanceof RegExp&&Mn(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&Mn(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t))||"is"===t&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&Mn(H.tagNameCheck,n)||H.tagNameCheck instanceof Function&&H.tagNameCheck(n))))return!1}else if(ue[t]);else if(Mn(F,jn(n,B,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==Pn(n,"data:")||!ce[e]){if(X&&!Mn(L,jn(n,B,"")));else if(n)return!1}else;return!0},Fe=function(e){return e.indexOf("-")>0},ke=function(e){var n,i,o,r;Ne("beforeSanitizeAttributes",e,null);var a=e.attributes;if(a){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U};r=a.length;while(r--){n=a[r];var c=n,l=c.name,u=c.namespaceURI;if(i="value"===l?n.value:Rn(n.value),o=j(l),s.attrName=o,s.attrValue=i,s.keepAttr=!0,s.forceKeepAttr=void 0,Ne("uponSanitizeAttribute",e,s),i=s.attrValue,!s.forceKeepAttr&&(De(l,e),s.keepAttr))if(Mn(/\/>/i,i))De(l,e);else{K&&(i=jn(i,P," "),i=jn(i,R," "));var h=j(e.nodeName);if(Be(h,o,i))try{u?e.setAttributeNS(u,l,i):e.setAttribute(l,i),xn(t.removed)}catch(Ue){}}}Ne("afterSanitizeAttributes",e,null)}},ze=function e(t){var n,i=Pe(t);Ne("beforeSanitizeShadowDOM",t,null);while(n=i.nextNode())Ne("uponSanitizeShadowNode",n,null),Le(n)||(n.content instanceof o&&e(n.content),ke(n));Ne("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(i,r){var s,c,l,u,h;if(_e=!i,_e&&(i="\x3c!--\x3e"),"string"!==typeof i&&!Me(i)){if("function"!==typeof i.toString)throw Nn("toString is not a function");if(i=i.toString(),"string"!==typeof i)throw Nn("dirty is not a string, aborting")}if(!t.isSupported){if("object"===rn(e.toStaticHTML)||"function"===typeof e.toStaticHTML){if("string"===typeof i)return e.toStaticHTML(i);if(Me(i))return e.toStaticHTML(i.outerHTML)}return i}if(Z||we(r),t.removed=[],"string"===typeof i&&(oe=!1),oe){if(i.nodeName){var d=j(i.nodeName);if(!k[d]||G[d])throw Nn("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof a)s=je("\x3c!----\x3e"),c=s.ownerDocument.importNode(i,!0),1===c.nodeType&&"BODY"===c.nodeName||"HTML"===c.nodeName?s=c:s.appendChild(c);else{if(!Q&&!K&&!J&&-1===i.indexOf("<"))return v&&te?v.createHTML(i):i;if(s=je(i),!s)return Q?null:te?O:""}s&&$&&Ie(s.firstChild);var f=Pe(oe?i:s);while(l=f.nextNode())3===l.nodeType&&l===u||Le(l)||(l.content instanceof o&&ze(l.content),ke(l),u=l);if(u=null,oe)return i;if(Q){if(ee){h=C.call(s.ownerDocument);while(s.firstChild)h.appendChild(s.firstChild)}else h=s;return U.shadowroot&&(h=x.call(n,h,!0)),h}var p=J?s.outerHTML:s.innerHTML;return J&&k["!doctype"]&&s.ownerDocument&&s.ownerDocument.doctype&&s.ownerDocument.doctype.name&&Mn(ri,s.ownerDocument.doctype.name)&&(p="<!DOCTYPE "+s.ownerDocument.doctype.name+">\n"+p),K&&(p=jn(p,P," "),p=jn(p,R," ")),v&&te?v.createHTML(p):p},t.setConfig=function(e){we(e),Z=!0},t.clearConfig=function(){ye=null,Z=!1},t.isValidAttribute=function(e,t,n){ye||we({});var i=j(e),o=j(t);return Be(i,o,n)},t.addHook=function(e,t){"function"===typeof t&&(I[e]=I[e]||[],Sn(I[e],t))},t.removeHook=function(e){if(I[e])return xn(I[e])},t.removeHooks=function(e){I[e]&&(I[e]=[])},t.removeAllHooks=function(){I={}},t}var li=ci();let ui=0;const hi={};function di(e,t){let n;i["a"].typeOf.string("html",e);const a=e;Object(r["a"])(hi[a])?n=hi[a]:(n=ui++,hi[a]=n),t=Object(o["a"])(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(di.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!Object(r["a"])(this._element)){const e=li.sanitize(this._html),t=document.createElement("div");t._creditId=this._id,t.style.display="inline",t.innerHTML=e;const n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}}),di.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen},di.prototype.equals=function(e){return di.equals(this,e)},di.getIonCredit=function(e){const t=Object(r["a"])(e.collapsible)&&!e.collapsible,n=new di(e.html,t);return n._isIon=-1!==n.html.indexOf("ion-credit.png"),n},di.clone=function(e){if(Object(r["a"])(e))return new di(e.html,e.showOnScreen)};var fi=di,pi=n("21d7");const mi={NONE:0,LERC:1};var _i=Object.freeze(mi);function gi(e,t,n){this.minimum=g.clone(Object(o["a"])(e,g.ZERO)),this.maximum=g.clone(Object(o["a"])(t,g.ZERO)),n=Object(r["a"])(n)?g.clone(n):g.midpoint(this.minimum,this.maximum,new g),this.center=n}gi.fromCorners=function(e,t,n){return i["a"].defined("minimum",e),i["a"].defined("maximum",t),Object(r["a"])(n)||(n=new gi),n.minimum=g.clone(e,n.minimum),n.maximum=g.clone(t,n.maximum),n.center=g.midpoint(e,t,n.center),n},gi.fromPoints=function(e,t){if(Object(r["a"])(t)||(t=new gi),!Object(r["a"])(e)||0===e.length)return t.minimum=g.clone(g.ZERO,t.minimum),t.maximum=g.clone(g.ZERO,t.maximum),t.center=g.clone(g.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,a=e[0].x,s=e[0].y,c=e[0].z;const l=e.length;for(let r=1;r<l;r++){const t=e[r],l=t.x,u=t.y,h=t.z;n=Math.min(l,n),a=Math.max(l,a),i=Math.min(u,i),s=Math.max(u,s),o=Math.min(h,o),c=Math.max(h,c)}const u=t.minimum;u.x=n,u.y=i,u.z=o;const h=t.maximum;return h.x=a,h.y=s,h.z=c,t.center=g.midpoint(u,h,t.center),t},gi.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.minimum=g.clone(e.minimum,t.minimum),t.maximum=g.clone(e.maximum,t.maximum),t.center=g.clone(e.center,t.center),t):new gi(e.minimum,e.maximum,e.center)},gi.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&g.equals(e.center,t.center)&&g.equals(e.minimum,t.minimum)&&g.equals(e.maximum,t.maximum)};let bi=new g;gi.intersectPlane=function(e,t){i["a"].defined("box",e),i["a"].defined("plane",t),bi=g.subtract(e.maximum,e.minimum,bi);const n=g.multiplyByScalar(bi,.5,bi),o=t.normal,r=n.x*Math.abs(o.x)+n.y*Math.abs(o.y)+n.z*Math.abs(o.z),a=g.dot(e.center,o)+t.distance;return a-r>0?G.INSIDE:a+r<0?G.OUTSIDE:G.INTERSECTING},gi.prototype.clone=function(e){return gi.clone(this,e)},gi.prototype.intersectPlane=function(e){return gi.intersectPlane(this,e)},gi.prototype.equals=function(e){return gi.equals(this,e)};var yi=gi;function vi(e,t){i["a"].typeOf.object("ellipsoid",e),this._ellipsoid=e,this._cameraPosition=new g,this._cameraPositionInScaledSpace=new g,this._distanceToLimbInScaledSpaceSquared=0,Object(r["a"])(t)&&(this.cameraPosition=t)}Object.defineProperties(vi.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){const t=this._ellipsoid,n=t.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=g.magnitudeSquared(n)-1;g.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});const Oi=new g;vi.prototype.isPointVisible=function(e){const t=this._ellipsoid,n=t.transformPositionToScaledSpace(e,Oi);return Di(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)},vi.prototype.isScaledSpacePointVisible=function(e){return Di(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};const wi=new g;vi.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){const n=this._ellipsoid;let i,o;return Object(r["a"])(t)&&t<0&&n.minimumRadius>-t?(o=wi,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),Di(e,o,i)},vi.prototype.computeHorizonCullingPoint=function(e,t,n){return xi(this._ellipsoid,e,t,n)};const Ai=z.clone(z.UNIT_SPHERE);vi.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){const o=Ei(this._ellipsoid,n,Ai);return xi(o,e,t,i)},vi.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return Ii(this._ellipsoid,e,t,n,i,o)},vi.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){const a=Ei(this._ellipsoid,o,Ai);return Ii(a,e,t,n,i,r)};const Ti=[];vi.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){i["a"].typeOf.object("rectangle",e);const o=Fe.subsample(e,t,0,Ti),r=Tt.fromPoints(o);if(!(g.magnitude(r.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(r.center,o,n)};const Ci=new g;function Ei(e,t,n){if(Object(r["a"])(t)&&t<0&&e.minimumRadius>-t){const i=g.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,Ci);e=z.fromCartesian3(i,n)}return e}function xi(e,t,n,o){i["a"].typeOf.object("directionToPoint",t),i["a"].defined("positions",n),Object(r["a"])(o)||(o=new g);const a=Li(e,t);let s=0;for(let i=0,r=n.length;i<r;++i){const t=n[i],o=Ri(e,t,a);if(o<0)return;s=Math.max(s,o)}return Mi(a,s,o)}const Si=new g;function Ii(e,t,n,a,s,c){i["a"].typeOf.object("directionToPoint",t),i["a"].defined("vertices",n),i["a"].typeOf.number("stride",a),Object(r["a"])(c)||(c=new g),a=Object(o["a"])(a,3),s=Object(o["a"])(s,g.ZERO);const l=Li(e,t);let u=0;for(let i=0,o=n.length;i<o;i+=a){Si.x=n[i]+s.x,Si.y=n[i+1]+s.y,Si.z=n[i+2]+s.z;const t=Ri(e,Si,l);if(t<0)return;u=Math.max(u,t)}return Mi(l,u,c)}function Di(e,t,n){const i=t,o=n,r=g.subtract(e,i,Oi),a=-g.dot(r,i),s=o<0?a>0:a>o&&a*a/g.magnitudeSquared(r)>o;return!s}const ji=new g,Pi=new g;function Ri(e,t,n){const i=e.transformPositionToScaledSpace(t,ji);let o=g.magnitudeSquared(i),r=Math.sqrt(o);const a=g.divideByScalar(i,r,Pi);o=Math.max(1,o),r=Math.max(1,r);const s=g.dot(a,n),c=g.magnitude(g.cross(a,n,a)),l=1/r,u=Math.sqrt(o-1)*l;return 1/(s*l-c*u)}function Mi(e,t,n){if(!(t<=0||t===1/0||t!==t))return g.multiplyByScalar(e,t,n)}const Ni=new g;function Li(e,t){return g.equals(t,g.ZERO)?t:(e.transformPositionToScaledSpace(t,Ni),g.normalize(Ni,Ni))}var Bi=vi;const Fi={};function ki(e,t,n){const i=e+t;return s["a"].sign(e)!==s["a"].sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}Fi.computeDiscriminant=function(e,t,n){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");const i=t*t-4*e*n;return i},Fi.computeRealRoots=function(e,t,n){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");let i;if(0===e)return 0===t?[]:[-n/t];if(0===t){if(0===n)return[0,0];const t=Math.abs(n),o=Math.abs(e);if(t<o&&t/o<s["a"].EPSILON14)return[0,0];if(t>o&&o/t<s["a"].EPSILON14)return[];if(i=-n/e,i<0)return[];const r=Math.sqrt(i);return[-r,r]}if(0===n)return i=-t/e,i<0?[i,0]:[0,i];const o=t*t,r=4*e*n,c=ki(o,-r,s["a"].EPSILON14);if(c<0)return[];const l=-.5*ki(t,s["a"].sign(t)*Math.sqrt(c),s["a"].EPSILON14);return t>0?[l/e,n/l]:[n/l,l/e]};var zi=Fi;const Ui={};function Vi(e,t,n,i){const o=e,r=t/3,a=n/3,s=i,c=o*a,l=r*s,u=r*r,h=a*a,d=o*a-u,f=o*s-r*a,p=r*s-h,m=4*d*p-f*f;let _,g;if(m<0){let e,t,n;u*l>=c*h?(e=o,t=d,n=-2*r*d+o*f):(e=s,t=p,n=-s*f+2*a*p);const i=n<0?-1:1,b=-i*Math.abs(e)*Math.sqrt(-m);g=-n+b;const y=g/2,v=y<0?-Math.pow(-y,1/3):Math.pow(y,1/3),O=g===b?-v:-t/v;return _=t<=0?v+O:-n/(v*v+O*O+t),u*l>=c*h?[(_-r)/o]:[-s/(_+a)]}const b=d,y=-2*r*d+o*f,v=p,O=-s*f+2*a*p,w=Math.sqrt(m),A=Math.sqrt(3)/2;let T=Math.abs(Math.atan2(o*w,-y)/3);_=2*Math.sqrt(-b);let C=Math.cos(T);g=_*C;let E=_*(-C/2-A*Math.sin(T));const x=g+E>2*r?g-r:E-r,S=o,I=x/S;T=Math.abs(Math.atan2(s*w,-O)/3),_=2*Math.sqrt(-v),C=Math.cos(T),g=_*C,E=_*(-C/2-A*Math.sin(T));const D=-s,j=g+E<2*a?g+a:E+a,P=D/j,R=S*j,M=-x*j-S*D,N=x*D,L=(a*M-r*N)/(-r*M+a*R);return I<=L?I<=P?L<=P?[I,L,P]:[I,P,L]:[P,I,L]:I<=P?[L,I,P]:L<=P?[L,P,I]:[P,L,I]}Ui.computeDiscriminant=function(e,t,n,i){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");if("number"!==typeof i)throw new a["a"]("d is a required number.");const o=e*e,r=t*t,s=n*n,c=i*i,l=18*e*t*n*i+r*s-27*o*c-4*(e*s*n+r*t*i);return l},Ui.computeRealRoots=function(e,t,n,i){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");if("number"!==typeof i)throw new a["a"]("d is a required number.");let o,r;if(0===e)return zi.computeRealRoots(t,n,i);if(0===t){if(0===n){if(0===i)return[0,0,0];r=-i/e;const t=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[t,t,t]}return 0===i?(o=zi.computeRealRoots(e,0,n),0===o.Length?[0]:[o[0],0,o[1]]):Vi(e,0,n,i)}return 0===n?0===i?(r=-t/e,r<0?[r,0,0]:[0,0,r]):Vi(e,t,0,i):0===i?(o=zi.computeRealRoots(e,t,n),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):Vi(e,t,n,i)};var Hi=Ui;const Gi={};function qi(e,t,n,i){const o=e*e,r=t-3*o/8,a=n-t*e/2+o*e/8,c=i-n*e/4+t*o/16-3*o*o/256,l=Hi.computeRealRoots(1,2*r,r*r-4*c,-a*a);if(l.length>0){const t=-e/4,n=l[l.length-1];if(Math.abs(n)<s["a"].EPSILON14){const e=zi.computeRealRoots(1,r,c);if(2===e.length){const n=e[0],i=e[1];let o;if(n>=0&&i>=0){const e=Math.sqrt(n),o=Math.sqrt(i);return[t-o,t-e,t+e,t+o]}if(n>=0&&i<0)return o=Math.sqrt(n),[t-o,t+o];if(n<0&&i>=0)return o=Math.sqrt(i),[t-o,t+o]}return[]}if(n>0){const e=Math.sqrt(n),i=(r+n-a/e)/2,o=(r+n+a/e)/2,s=zi.computeRealRoots(1,e,i),c=zi.computeRealRoots(1,-e,o);return 0!==s.length?(s[0]+=t,s[1]+=t,0!==c.length?(c[0]+=t,c[1]+=t,s[1]<=c[0]?[s[0],s[1],c[0],c[1]]:c[1]<=s[0]?[c[0],c[1],s[0],s[1]]:s[0]>=c[0]&&s[1]<=c[1]?[c[0],s[0],s[1],c[1]]:c[0]>=s[0]&&c[1]<=s[1]?[s[0],c[0],c[1],s[1]]:s[0]>c[0]&&s[0]<c[1]?[c[0],s[0],c[1],s[1]]:[s[0],c[0],s[1],c[1]]):s):0!==c.length?(c[0]+=t,c[1]+=t,c):[]}}return[]}function Wi(e,t,n,i){const o=n*n,r=t*t,a=e*e,c=-2*t,l=n*e+r-4*i,u=a*i-n*t*e+o,h=Hi.computeRealRoots(1,c,l,u);if(h.length>0){const o=h[0],r=t-o,c=r*r,l=e/2,u=r/2,d=c-4*i,f=c+4*Math.abs(i),p=a-4*o,m=a+4*Math.abs(o);let _,g,b,y,v,O;if(o<0||d*m<p*f){const t=Math.sqrt(p);_=t/2,g=0===t?0:(e*u-n)/t}else{const t=Math.sqrt(d);_=0===t?0:(e*u-n)/t,g=t/2}0===l&&0===_?(b=0,y=0):s["a"].sign(l)===s["a"].sign(_)?(b=l+_,y=o/b):(y=l-_,b=o/y),0===u&&0===g?(v=0,O=0):s["a"].sign(u)===s["a"].sign(g)?(v=u+g,O=i/v):(O=u-g,v=i/O);const w=zi.computeRealRoots(1,b,v),A=zi.computeRealRoots(1,y,O);if(0!==w.length)return 0!==A.length?w[1]<=A[0]?[w[0],w[1],A[0],A[1]]:A[1]<=w[0]?[A[0],A[1],w[0],w[1]]:w[0]>=A[0]&&w[1]<=A[1]?[A[0],w[0],w[1],A[1]]:A[0]>=w[0]&&A[1]<=w[1]?[w[0],A[0],A[1],w[1]]:w[0]>A[0]&&w[0]<A[1]?[A[0],w[0],A[1],w[1]]:[w[0],A[0],w[1],A[1]]:w;if(0!==A.length)return A}return[]}Gi.computeDiscriminant=function(e,t,n,i,o){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");if("number"!==typeof i)throw new a["a"]("d is a required number.");if("number"!==typeof o)throw new a["a"]("e is a required number.");const r=e*e,s=r*e,c=t*t,l=c*t,u=n*n,h=u*n,d=i*i,f=d*i,p=o*o,m=p*o,_=c*u*d-4*l*f-4*e*h*d+18*e*t*n*f-27*r*d*d+256*s*m+o*(18*l*n*i-4*c*h+16*e*u*u-80*e*t*u*i-6*e*c*d+144*r*n*d)+p*(144*e*c*n-27*c*c-128*r*u-192*r*t*i);return _},Gi.computeRealRoots=function(e,t,n,i,o){if("number"!==typeof e)throw new a["a"]("a is a required number.");if("number"!==typeof t)throw new a["a"]("b is a required number.");if("number"!==typeof n)throw new a["a"]("c is a required number.");if("number"!==typeof i)throw new a["a"]("d is a required number.");if("number"!==typeof o)throw new a["a"]("e is a required number.");if(Math.abs(e)<s["a"].EPSILON15)return Hi.computeRealRoots(t,n,i,o);const r=t/e,c=n/e,l=i/e,u=o/e;let h=r<0?1:0;switch(h+=c<0?h+1:h,h+=l<0?h+1:h,h+=u<0?h+1:h,h){case 0:return qi(r,c,l,u);case 1:return Wi(r,c,l,u);case 2:return Wi(r,c,l,u);case 3:return qi(r,c,l,u);case 4:return qi(r,c,l,u);case 5:return Wi(r,c,l,u);case 6:return qi(r,c,l,u);case 7:return qi(r,c,l,u);case 8:return Wi(r,c,l,u);case 9:return qi(r,c,l,u);case 10:return qi(r,c,l,u);case 11:return Wi(r,c,l,u);case 12:return qi(r,c,l,u);case 13:return qi(r,c,l,u);case 14:return qi(r,c,l,u);case 15:return qi(r,c,l,u);default:return}};var Yi=Gi;function Xi(e,t){t=g.clone(Object(o["a"])(t,g.ZERO)),g.equals(t,g.ZERO)||g.normalize(t,t),this.origin=g.clone(Object(o["a"])(e,g.ZERO)),this.direction=t}Xi.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.origin=g.clone(e.origin),t.direction=g.clone(e.direction),t):new Xi(e.origin,e.direction)},Xi.getPoint=function(e,t,n){return i["a"].typeOf.object("ray",e),i["a"].typeOf.number("t",t),Object(r["a"])(n)||(n=new g),n=g.multiplyByScalar(e.direction,t,n),g.add(e.origin,n,n)};var Ki=Xi;const Ji={rayPlane:function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("ray is required.");if(!Object(r["a"])(t))throw new a["a"]("plane is required.");Object(r["a"])(n)||(n=new g);const i=e.origin,o=e.direction,c=t.normal,l=g.dot(c,o);if(Math.abs(l)<s["a"].EPSILON15)return;const u=(-t.distance-g.dot(c,i))/l;return u<0?void 0:(n=g.multiplyByScalar(o,u,n),g.add(i,n,n))}},Zi=new g,$i=new g,Qi=new g,eo=new g,to=new g;Ji.rayTriangleParametric=function(e,t,n,i,c){if(!Object(r["a"])(e))throw new a["a"]("ray is required.");if(!Object(r["a"])(t))throw new a["a"]("p0 is required.");if(!Object(r["a"])(n))throw new a["a"]("p1 is required.");if(!Object(r["a"])(i))throw new a["a"]("p2 is required.");c=Object(o["a"])(c,!1);const l=e.origin,u=e.direction,h=g.subtract(n,t,Zi),d=g.subtract(i,t,$i),f=g.cross(u,d,Qi),p=g.dot(h,f);let m,_,b,y,v;if(c){if(p<s["a"].EPSILON6)return;if(m=g.subtract(l,t,eo),b=g.dot(m,f),b<0||b>p)return;if(_=g.cross(m,h,to),y=g.dot(u,_),y<0||b+y>p)return;v=g.dot(d,_)/p}else{if(Math.abs(p)<s["a"].EPSILON6)return;const e=1/p;if(m=g.subtract(l,t,eo),b=g.dot(m,f)*e,b<0||b>1)return;if(_=g.cross(m,h,to),y=g.dot(u,_)*e,y<0||b+y>1)return;v=g.dot(d,_)*e}return v},Ji.rayTriangle=function(e,t,n,i,o,a){const s=Ji.rayTriangleParametric(e,t,n,i,o);if(Object(r["a"])(s)&&!(s<0))return Object(r["a"])(a)||(a=new g),g.multiplyByScalar(e.direction,s,a),g.add(e.origin,a,a)};const no=new Ki;function io(e,t,n,i){const o=t*t-4*e*n;if(o<0)return;if(o>0){const n=1/(2*e),r=Math.sqrt(o),a=(-t+r)*n,s=(-t-r)*n;return a<s?(i.root0=a,i.root1=s):(i.root0=s,i.root1=a),i}const r=-t/(2*e);return 0!==r?(i.root0=i.root1=r,i):void 0}Ji.lineSegmentTriangle=function(e,t,n,i,o,s,c){if(!Object(r["a"])(e))throw new a["a"]("v0 is required.");if(!Object(r["a"])(t))throw new a["a"]("v1 is required.");if(!Object(r["a"])(n))throw new a["a"]("p0 is required.");if(!Object(r["a"])(i))throw new a["a"]("p1 is required.");if(!Object(r["a"])(o))throw new a["a"]("p2 is required.");const l=no;g.clone(e,l.origin),g.subtract(t,e,l.direction),g.normalize(l.direction,l.direction);const u=Ji.rayTriangleParametric(l,n,i,o,s);if(!(!Object(r["a"])(u)||u<0||u>g.distance(e,t)))return Object(r["a"])(c)||(c=new g),g.multiplyByScalar(l.direction,u,c),g.add(l.origin,c,c)};const oo={root0:0,root1:0};function ro(e,t,n){Object(r["a"])(n)||(n=new W);const i=e.origin,o=e.direction,a=t.center,s=t.radius*t.radius,c=g.subtract(i,a,Qi),l=g.dot(o,o),u=2*g.dot(o,c),h=g.magnitudeSquared(c)-s,d=io(l,u,h,oo);if(Object(r["a"])(d))return n.start=d.root0,n.stop=d.root1,n}Ji.raySphere=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("ray is required.");if(!Object(r["a"])(t))throw new a["a"]("sphere is required.");if(n=ro(e,t,n),Object(r["a"])(n)&&!(n.stop<0))return n.start=Math.max(n.start,0),n};const ao=new Ki;Ji.lineSegmentSphere=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("p0 is required.");if(!Object(r["a"])(t))throw new a["a"]("p1 is required.");if(!Object(r["a"])(n))throw new a["a"]("sphere is required.");const o=ao;g.clone(e,o.origin);const s=g.subtract(t,e,o.direction),c=g.magnitude(s);if(g.normalize(s,s),i=ro(o,n,i),!(!Object(r["a"])(i)||i.stop<0||i.start>c))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,c),i};const so=new g,co=new g;function lo(e,t,n){const i=e+t;return s["a"].sign(e)!==s["a"].sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}function uo(e,t,n,i,o){const r=i*i,a=o*o,c=(e[ce.COLUMN1ROW1]-e[ce.COLUMN2ROW2])*a,l=o*(i*lo(e[ce.COLUMN1ROW0],e[ce.COLUMN0ROW1],s["a"].EPSILON15)+t.y),u=e[ce.COLUMN0ROW0]*r+e[ce.COLUMN2ROW2]*a+i*t.x+n,h=a*lo(e[ce.COLUMN2ROW1],e[ce.COLUMN1ROW2],s["a"].EPSILON15),d=o*(i*lo(e[ce.COLUMN2ROW0],e[ce.COLUMN0ROW2])+t.z);let f;const p=[];if(0===d&&0===h){if(f=zi.computeRealRoots(c,l,u),0===f.length)return p;const e=f[0],t=Math.sqrt(Math.max(1-e*e,0));if(p.push(new g(i,o*e,o*-t)),p.push(new g(i,o*e,o*t)),2===f.length){const e=f[1],t=Math.sqrt(Math.max(1-e*e,0));p.push(new g(i,o*e,o*-t)),p.push(new g(i,o*e,o*t))}return p}const m=d*d,_=h*h,b=c*c,y=d*h,v=b+_,O=2*(l*c+y),w=2*u*c+l*l-_+m,A=2*(u*l-y),T=u*u-m;if(0===v&&0===O&&0===w&&0===A)return p;f=Yi.computeRealRoots(v,O,w,A,T);const C=f.length;if(0===C)return p;for(let E=0;E<C;++E){const e=f[E],t=e*e,n=Math.max(1-t,0),r=Math.sqrt(n);let a;a=s["a"].sign(c)===s["a"].sign(u)?lo(c*t+u,l*e,s["a"].EPSILON12):s["a"].sign(u)===s["a"].sign(l*e)?lo(c*t,l*e+u,s["a"].EPSILON12):lo(c*t+l*e,u,s["a"].EPSILON12);const m=lo(h*e,d,s["a"].EPSILON15),_=a*m;_<0?p.push(new g(i,o*e,o*r)):_>0?p.push(new g(i,o*e,o*-r)):0!==r?(p.push(new g(i,o*e,o*-r)),p.push(new g(i,o*e,o*r)),++E):p.push(new g(i,o*e,o*r))}return p}Ji.rayEllipsoid=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("ray is required.");if(!Object(r["a"])(t))throw new a["a"]("ellipsoid is required.");const n=t.oneOverRadii,i=g.multiplyComponents(n,e.origin,so),o=g.multiplyComponents(n,e.direction,co),s=g.magnitudeSquared(i),c=g.dot(i,o);let l,u,h,d,f;if(s>1){if(c>=0)return;const e=c*c;if(l=s-1,u=g.magnitudeSquared(o),h=u*l,e<h)return;if(e>h){d=c*c-h,f=-c+Math.sqrt(d);const e=f/u,t=l/f;return e<t?new W(e,t):{start:t,stop:e}}const t=Math.sqrt(l/u);return new W(t,t)}return s<1?(l=s-1,u=g.magnitudeSquared(o),h=u*l,d=c*c-h,f=-c+Math.sqrt(d),new W(0,f/u)):c<0?(u=g.magnitudeSquared(o),new W(0,-c/u)):void 0};const ho=new g,fo=new g,po=new g,mo=new g,_o=new g,go=new ce,bo=new ce,yo=new ce,vo=new ce,Oo=new ce,wo=new ce,Ao=new ce,To=new g,Co=new g,Eo=new I;Ji.grazingAltitudeLocation=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("ray is required.");if(!Object(r["a"])(t))throw new a["a"]("ellipsoid is required.");const n=e.origin,i=e.direction;if(!g.equals(n,g.ZERO)){const e=t.geodeticSurfaceNormal(n,ho);if(g.dot(i,e)>=0)return n}const o=Object(r["a"])(this.rayEllipsoid(e,t)),c=t.transformPositionToScaledSpace(i,ho),l=g.normalize(c,c),u=g.mostOrthogonalAxis(c,mo),h=g.normalize(g.cross(u,l,fo),fo),d=g.normalize(g.cross(l,h,po),po),f=go;f[0]=l.x,f[1]=l.y,f[2]=l.z,f[3]=h.x,f[4]=h.y,f[5]=h.z,f[6]=d.x,f[7]=d.y,f[8]=d.z;const p=ce.transpose(f,bo),m=ce.fromScale(t.radii,yo),_=ce.fromScale(t.oneOverRadii,vo),b=Oo;b[0]=0,b[1]=-i.z,b[2]=i.y,b[3]=i.z,b[4]=0,b[5]=-i.x,b[6]=-i.y,b[7]=i.x,b[8]=0;const y=ce.multiply(ce.multiply(p,_,wo),b,wo),v=ce.multiply(ce.multiply(y,m,Ao),f,Ao),O=ce.multiplyByVector(y,n,_o),w=uo(v,g.negate(O,ho),0,0,1);let A,T;const C=w.length;if(C>0){let e=g.clone(g.ZERO,Co),r=Number.NEGATIVE_INFINITY;for(let t=0;t<C;++t){A=ce.multiplyByVector(m,ce.multiplyByVector(f,w[t],To),To);const o=g.normalize(g.subtract(A,n,mo),mo),a=g.dot(o,i);a>r&&(r=a,e=g.clone(A,e))}const a=t.cartesianToCartographic(e,Eo);return r=s["a"].clamp(r,0,1),T=g.magnitude(g.subtract(e,n,mo))*Math.sqrt(1-r*r),T=o?-T:T,a.height=T,t.cartographicToCartesian(a,new g)}};const xo=new g;Ji.lineSegmentPlane=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("endPoint0 is required.");if(!Object(r["a"])(t))throw new a["a"]("endPoint1 is required.");if(!Object(r["a"])(n))throw new a["a"]("plane is required.");Object(r["a"])(i)||(i=new g);const o=g.subtract(t,e,xo),c=n.normal,l=g.dot(c,o);if(Math.abs(l)<s["a"].EPSILON6)return;const u=g.dot(c,e),h=-(n.distance+u)/l;return h<0||h>1?void 0:(g.multiplyByScalar(o,h,i),g.add(e,i,i),i)},Ji.trianglePlaneIntersection=function(e,t,n,i){if(!Object(r["a"])(e)||!Object(r["a"])(t)||!Object(r["a"])(n)||!Object(r["a"])(i))throw new a["a"]("p0, p1, p2, and plane are required.");const o=i.normal,s=i.distance,c=g.dot(o,e)+s<0,l=g.dot(o,t)+s<0,u=g.dot(o,n)+s<0;let h,d,f=0;if(f+=c?1:0,f+=l?1:0,f+=u?1:0,1!==f&&2!==f||(h=new g,d=new g),1===f){if(c)return Ji.lineSegmentPlane(e,t,i,h),Ji.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(l)return Ji.lineSegmentPlane(t,n,i,h),Ji.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,h,d],indices:[1,3,4,2,0,4,2,4,3]};if(u)return Ji.lineSegmentPlane(n,e,i,h),Ji.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!c)return Ji.lineSegmentPlane(t,e,i,h),Ji.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!l)return Ji.lineSegmentPlane(n,t,i,h),Ji.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!u)return Ji.lineSegmentPlane(e,n,i,h),Ji.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,h,d],indices:[0,1,4,0,4,3,2,3,4]}}};var So=Ji;function Io(e,t){if(i["a"].typeOf.object("normal",e),!s["a"].equalsEpsilon(g.magnitude(e),1,s["a"].EPSILON6))throw new a["a"]("normal must be normalized.");i["a"].typeOf.number("distance",t),this.normal=g.clone(e),this.distance=t}Io.fromPointNormal=function(e,t,n){if(i["a"].typeOf.object("point",e),i["a"].typeOf.object("normal",t),!s["a"].equalsEpsilon(g.magnitude(t),1,s["a"].EPSILON6))throw new a["a"]("normal must be normalized.");const o=-g.dot(t,e);return Object(r["a"])(n)?(g.clone(t,n.normal),n.distance=o,n):new Io(t,o)};const Do=new g;Io.fromCartesian4=function(e,t){i["a"].typeOf.object("coefficients",e);const n=g.fromCartesian4(e,Do),o=e.w;if(!s["a"].equalsEpsilon(g.magnitude(n),1,s["a"].EPSILON6))throw new a["a"]("normal must be normalized.");return Object(r["a"])(t)?(g.clone(n,t.normal),t.distance=o,t):new Io(n,o)},Io.getPointDistance=function(e,t){return i["a"].typeOf.object("plane",e),i["a"].typeOf.object("point",t),g.dot(e.normal,t)+e.distance};const jo=new g;Io.projectPointOntoPlane=function(e,t,n){i["a"].typeOf.object("plane",e),i["a"].typeOf.object("point",t),Object(r["a"])(n)||(n=new g);const o=Io.getPointDistance(e,t),a=g.multiplyByScalar(e.normal,o,jo);return g.subtract(t,a,n)};const Po=new Ne,Ro=new be,Mo=new g;Io.transform=function(e,t,n){i["a"].typeOf.object("plane",e),i["a"].typeOf.object("transform",t);const o=e.normal,r=e.distance,a=Ne.inverseTranspose(t,Po);let s=be.fromElements(o.x,o.y,o.z,r,Ro);s=Ne.multiplyByVector(a,s,s);const c=g.fromCartesian4(s,Mo);return s=be.divideByScalar(s,g.magnitude(c),s),Io.fromCartesian4(s,n)},Io.clone=function(e,t){return i["a"].typeOf.object("plane",e),Object(r["a"])(t)?(g.clone(e.normal,t.normal),t.distance=e.distance,t):new Io(e.normal,e.distance)},Io.equals=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.distance===t.distance&&g.equals(e.normal,t.normal)},Io.ORIGIN_XY_PLANE=Object.freeze(new Io(g.UNIT_Z,0)),Io.ORIGIN_YZ_PLANE=Object.freeze(new Io(g.UNIT_X,0)),Io.ORIGIN_ZX_PLANE=Object.freeze(new Io(g.UNIT_Y,0));var No=Io;function Lo(e,t,n){i["a"].defined("array",e),i["a"].defined("itemToFind",t),i["a"].defined("comparator",n);let o,r,a=0,s=e.length-1;while(a<=s)if(o=~~((a+s)/2),r=n(e[o],t),r<0)a=o+1;else{if(!(r>0))return o;s=o-1}return~(s+1)}var Bo=Lo;function Fo(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var ko=Fo;function zo(e,t,n,i,o,r,a,s){this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=a,this.isLeapSecond=s}var Uo=zo;function Vo(e){if(null===e||isNaN(e))throw new a["a"]("year is required and must be a number.");return e%4===0&&e%100!==0||e%400===0}var Ho=Vo;function Go(e,t){this.julianDate=e,this.offset=t}var qo=Go;const Wo={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};var Yo=Object.freeze(Wo);const Xo={UTC:0,TAI:1};var Ko=Object.freeze(Xo);const Jo=new Uo,Zo=[31,28,31,30,31,30,31,31,30,31,30,31],$o=29;function Qo(e,t){return mr.compare(e.julianDate,t.julianDate)}const er=new qo;function tr(e){er.julianDate=e;const t=mr.leapSeconds;let n=Bo(t,er,Qo);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;if(n>0){const o=mr.secondsDifference(t[n].julianDate,e);o>i&&(n--,i=t[n].offset)}mr.addSeconds(e,i,e)}function nr(e,t){er.julianDate=e;const n=mr.leapSeconds;let i=Bo(n,er,Qo);if(i<0&&(i=~i),0===i)return mr.addSeconds(e,-n[0].offset,t);if(i>=n.length)return mr.addSeconds(e,-n[i-1].offset,t);const o=mr.secondsDifference(n[i].julianDate,e);return 0===o?mr.addSeconds(e,-n[i].offset,t):o<=1?void 0:mr.addSeconds(e,-n[--i].offset,t)}function ir(e,t,n){const i=t/Yo.SECONDS_PER_DAY|0;return e+=i,t-=Yo.SECONDS_PER_DAY*i,t<0&&(e--,t+=Yo.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function or(e,t,n,i,o,r,a){const s=(t-14)/12|0,c=e+4800+s;let l=(1461*c/4|0)+(367*(t-2-12*s)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i-=12,i<0&&(i+=24);const u=r+(i*Yo.SECONDS_PER_HOUR+o*Yo.SECONDS_PER_MINUTE+a*Yo.SECONDS_PER_MILLISECOND);return u>=43200&&(l-=1),[l,u]}const rr=/^(\d{4})$/,ar=/^(\d{4})-(\d{2})$/,sr=/^(\d{4})-?(\d{3})$/,cr=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,lr=/^(\d{4})-?(\d{2})-?(\d{2})$/,ur=/([Z+\-])?(\d{2})?:?(\d{2})?$/,hr=/^(\d{2})(\.\d+)?/.source+ur.source,dr=/^(\d{2}):?(\d{2})(\.\d+)?/.source+ur.source,fr=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+ur.source,pr="Invalid ISO 8601 date.";function mr(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=Object(o["a"])(e,0),t=Object(o["a"])(t,0),n=Object(o["a"])(n,Ko.UTC);const i=0|e;t+=(e-i)*Yo.SECONDS_PER_DAY,ir(i,t,this),n===Ko.UTC&&tr(this)}mr.fromGregorianDate=function(e,t){if(!(e instanceof Uo))throw new a["a"]("date must be a valid GregorianDate.");const n=or(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return Object(r["a"])(t)?(ir(n[0],n[1],t),tr(t),t):new mr(n[0],n[1],Ko.UTC)},mr.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new a["a"]("date must be a valid JavaScript Date.");const n=or(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return Object(r["a"])(t)?(ir(n[0],n[1],t),tr(t),t):new mr(n[0],n[1],Ko.UTC)},mr.fromIso8601=function(e,t){if("string"!==typeof e)throw new a["a"](pr);e=e.replace(",",".");let n,i=e.split("T"),o=1,s=1,c=0,l=0,u=0,h=0;const d=i[0],f=i[1];let p,m,_,g;if(!Object(r["a"])(d))throw new a["a"](pr);if(i=d.match(lr),null!==i){if(_=d.split("-").length-1,_>0&&2!==_)throw new a["a"](pr);n=+i[1],o=+i[2],s=+i[3]}else if(i=d.match(ar),null!==i)n=+i[1],o=+i[2];else if(i=d.match(rr),null!==i)n=+i[1];else{let e;if(i=d.match(sr),null!==i){if(n=+i[1],e=+i[2],m=Ho(n),e<1||m&&e>366||!m&&e>365)throw new a["a"](pr)}else{if(i=d.match(cr),null===i)throw new a["a"](pr);{n=+i[1];const t=+i[2],o=+i[3]||0;if(_=d.split("-").length-1,_>0&&(!Object(r["a"])(i[3])&&1!==_||Object(r["a"])(i[3])&&2!==_))throw new a["a"](pr);const s=new Date(Date.UTC(n,0,4));e=7*t+o-s.getUTCDay()-3}}p=new Date(Date.UTC(n,0,1)),p.setUTCDate(e),o=p.getUTCMonth()+1,s=p.getUTCDate()}if(m=Ho(n),o<1||o>12||s<1||(2!==o||!m)&&s>Zo[o-1]||m&&2===o&&s>$o)throw new a["a"](pr);if(Object(r["a"])(f)){if(i=f.match(fr),null!==i){if(_=f.split(":").length-1,_>0&&2!==_&&3!==_)throw new a["a"](pr);c=+i[1],l=+i[2],u=+i[3],h=1e3*+(i[4]||0),g=5}else if(i=f.match(dr),null!==i){if(_=f.split(":").length-1,_>2)throw new a["a"](pr);c=+i[1],l=+i[2],u=60*+(i[3]||0),g=4}else{if(i=f.match(hr),null===i)throw new a["a"](pr);c=+i[1],l=60*+(i[2]||0),g=3}if(l>=60||u>=61||c>24||24===c&&(l>0||u>0||h>0))throw new a["a"](pr);const e=i[g],t=+i[g+1],r=+(i[g+2]||0);switch(e){case"+":c-=t,l-=r;break;case"-":c+=t,l+=r;break;case"Z":break;default:l+=new Date(Date.UTC(n,o-1,s,c,l)).getTimezoneOffset();break}}const b=60===u;b&&u--;while(l>=60)l-=60,c++;while(c>=24)c-=24,s++;p=m&&2===o?$o:Zo[o-1];while(s>p)s-=p,o++,o>12&&(o-=12,n++),p=m&&2===o?$o:Zo[o-1];while(l<0)l+=60,c--;while(c<0)c+=24,s--;while(s<1)o--,o<1&&(o+=12,n--),p=m&&2===o?$o:Zo[o-1],s+=p;const y=or(n,o,s,c,l,u,h);return Object(r["a"])(t)?(ir(y[0],y[1],t),tr(t)):t=new mr(y[0],y[1],Ko.UTC),b&&mr.addSeconds(t,1,t),t},mr.now=function(e){return mr.fromDate(new Date,e)};const _r=new mr(0,0,Ko.TAI);mr.toGregorianDate=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");let n=!1,i=nr(e,_r);Object(r["a"])(i)||(mr.addSeconds(e,-1,_r),i=nr(_r,_r),n=!0);let o=i.dayNumber;const s=i.secondsOfDay;s>=43200&&(o+=1);let c=o+68569|0;const l=4*c/146097|0;c=c-((146097*l+3)/4|0)|0;const u=4e3*(c+1)/1461001|0;c=c-(1461*u/4|0)+31|0;const h=80*c/2447|0,d=c-(2447*h/80|0)|0;c=h/11|0;const f=h+2-12*c|0,p=100*(l-49)+u+c|0;let m=s/Yo.SECONDS_PER_HOUR|0,_=s-m*Yo.SECONDS_PER_HOUR;const g=_/Yo.SECONDS_PER_MINUTE|0;_-=g*Yo.SECONDS_PER_MINUTE;let b=0|_;const y=(_-b)/Yo.SECONDS_PER_MILLISECOND;return m+=12,m>23&&(m-=24),n&&(b+=1),Object(r["a"])(t)?(t.year=p,t.month=f,t.day=d,t.hour=m,t.minute=g,t.second=b,t.millisecond=y,t.isLeapSecond=n,t):new Uo(p,f,d,m,g,b,y,n)},mr.toDate=function(e){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");const t=mr.toGregorianDate(e,Jo);let n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))},mr.toIso8601=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");const n=mr.toGregorianDate(e,Jo);let i=n.year,o=n.month,s=n.day,c=n.hour;const l=n.minute,u=n.second,h=n.millisecond;let d;return 1e4===i&&1===o&&1===s&&0===c&&0===l&&0===u&&0===h&&(i=9999,o=12,s=31,c=24),Object(r["a"])(t)||0===h?Object(r["a"])(t)&&0!==t?(d=(.01*h).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${s.toString().padStart(2,"0")}T${c.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}.${d}Z`):`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${s.toString().padStart(2,"0")}T${c.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}Z`:(d=(.01*h).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${s.toString().padStart(2,"0")}T${c.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}.${d}Z`)},mr.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new mr(e.dayNumber,e.secondsOfDay,Ko.TAI)},mr.compare=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("left is required.");if(!Object(r["a"])(t))throw new a["a"]("right is required.");const n=e.dayNumber-t.dayNumber;return 0!==n?n:e.secondsOfDay-t.secondsOfDay},mr.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay},mr.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(mr.secondsDifference(e,t))<=n},mr.totalDays=function(e){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");return e.dayNumber+e.secondsOfDay/Yo.SECONDS_PER_DAY},mr.secondsDifference=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("left is required.");if(!Object(r["a"])(t))throw new a["a"]("right is required.");const n=(e.dayNumber-t.dayNumber)*Yo.SECONDS_PER_DAY;return n+(e.secondsOfDay-t.secondsOfDay)},mr.daysDifference=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("left is required.");if(!Object(r["a"])(t))throw new a["a"]("right is required.");const n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Yo.SECONDS_PER_DAY;return n+i},mr.computeTaiMinusUtc=function(e){er.julianDate=e;const t=mr.leapSeconds;let n=Bo(t,er,Qo);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset},mr.addSeconds=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");if(!Object(r["a"])(t))throw new a["a"]("seconds is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");return ir(e.dayNumber,e.secondsOfDay+t,n)},mr.addMinutes=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");if(!Object(r["a"])(t))throw new a["a"]("minutes is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");const i=e.secondsOfDay+t*Yo.SECONDS_PER_MINUTE;return ir(e.dayNumber,i,n)},mr.addHours=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");if(!Object(r["a"])(t))throw new a["a"]("hours is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");const i=e.secondsOfDay+t*Yo.SECONDS_PER_HOUR;return ir(e.dayNumber,i,n)},mr.addDays=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("julianDate is required.");if(!Object(r["a"])(t))throw new a["a"]("days is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");const i=e.dayNumber+t;return ir(i,e.secondsOfDay,n)},mr.lessThan=function(e,t){return mr.compare(e,t)<0},mr.lessThanOrEquals=function(e,t){return mr.compare(e,t)<=0},mr.greaterThan=function(e,t){return mr.compare(e,t)>0},mr.greaterThanOrEquals=function(e,t){return mr.compare(e,t)>=0},mr.prototype.clone=function(e){return mr.clone(this,e)},mr.prototype.equals=function(e){return mr.equals(this,e)},mr.prototype.equalsEpsilon=function(e,t){return mr.equalsEpsilon(this,e,t)},mr.prototype.toString=function(){return mr.toIso8601(this)},mr.leapSeconds=[new qo(new mr(2441317,43210,Ko.TAI),10),new qo(new mr(2441499,43211,Ko.TAI),11),new qo(new mr(2441683,43212,Ko.TAI),12),new qo(new mr(2442048,43213,Ko.TAI),13),new qo(new mr(2442413,43214,Ko.TAI),14),new qo(new mr(2442778,43215,Ko.TAI),15),new qo(new mr(2443144,43216,Ko.TAI),16),new qo(new mr(2443509,43217,Ko.TAI),17),new qo(new mr(2443874,43218,Ko.TAI),18),new qo(new mr(2444239,43219,Ko.TAI),19),new qo(new mr(2444786,43220,Ko.TAI),20),new qo(new mr(2445151,43221,Ko.TAI),21),new qo(new mr(2445516,43222,Ko.TAI),22),new qo(new mr(2446247,43223,Ko.TAI),23),new qo(new mr(2447161,43224,Ko.TAI),24),new qo(new mr(2447892,43225,Ko.TAI),25),new qo(new mr(2448257,43226,Ko.TAI),26),new qo(new mr(2448804,43227,Ko.TAI),27),new qo(new mr(2449169,43228,Ko.TAI),28),new qo(new mr(2449534,43229,Ko.TAI),29),new qo(new mr(2450083,43230,Ko.TAI),30),new qo(new mr(2450630,43231,Ko.TAI),31),new qo(new mr(2451179,43232,Ko.TAI),32),new qo(new mr(2453736,43233,Ko.TAI),33),new qo(new mr(2454832,43234,Ko.TAI),34),new qo(new mr(2456109,43235,Ko.TAI),35),new qo(new mr(2457204,43236,Ko.TAI),36),new qo(new mr(2457754,43237,Ko.TAI),37)];var gr=mr;function br(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=Object(o["a"])(e.addNewLeapSeconds,!0),Object(r["a"])(e.data))vr(this,e.data);else if(Object(r["a"])(e.url)){const t=Et["a"].createIfNeeded(e.url),n=this;this._downloadPromise=t.fetchJson().then((function(e){vr(n,e)})).catch((function(){n._dataError=`An error occurred while retrieving the EOP data from the URL ${t.url}.`}))}else vr(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}function yr(e,t){return gr.compare(e.julianDate,t)}function vr(e,t){if(!Object(r["a"])(t.columnNames))return void(e._dataError="Error in loaded EOP data: The columnNames property is required.");if(!Object(r["a"])(t.samples))return void(e._dataError="Error in loaded EOP data: The samples property is required.");const n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),a=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),l=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||a<0||s<0||c<0||l<0)return void(e._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");const u=e._samples=t.samples,h=e._dates=[];let d;e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=a,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=c,e._taiMinusUtcSecondsColumn=l,e._columnCount=t.columnNames.length,e._lastIndex=void 0;const f=e._addNewLeapSeconds;for(let p=0,m=u.length;p<m;p+=e._columnCount){const e=u[p+n],t=u[p+l],i=e+Yo.MODIFIED_JULIAN_DATE_DIFFERENCE,o=new gr(i,t,Ko.TAI);if(h.push(o),f){if(t!==d&&Object(r["a"])(d)){const e=gr.leapSeconds,n=Bo(e,o,yr);if(n<0){const i=new qo(o,t);e.splice(~n,0,i)}}d=t}}}function Or(e,t,n,i,o){const r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function wr(e,t,n){return t+e*(n-t)}function Ar(e,t,n,i,o,r,a){const s=e._columnCount;if(r>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;const c=t[o],l=t[r];if(c.equals(l)||i.equals(c))return Or(e,n,o,s,a),a;if(i.equals(l))return Or(e,n,r,s,a),a;const u=gr.secondsDifference(i,c)/gr.secondsDifference(l,c),h=o*s,d=r*s;let f=n[h+e._ut1MinusUtcSecondsColumn],p=n[d+e._ut1MinusUtcSecondsColumn];const m=p-f;if(m>.5||m<-.5){const t=n[h+e._taiMinusUtcSecondsColumn],o=n[d+e._taiMinusUtcSecondsColumn];t!==o&&(l.equals(i)?f=p:p-=o-t)}return a.xPoleWander=wr(u,n[h+e._xPoleWanderRadiansColumn],n[d+e._xPoleWanderRadiansColumn]),a.yPoleWander=wr(u,n[h+e._yPoleWanderRadiansColumn],n[d+e._yPoleWanderRadiansColumn]),a.xPoleOffset=wr(u,n[h+e._xCelestialPoleOffsetRadiansColumn],n[d+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=wr(u,n[h+e._yCelestialPoleOffsetRadiansColumn],n[d+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=wr(u,f,p),a}br.NONE=Object.freeze({getPromiseToLoad:function(){return Promise.resolve()},compute:function(e,t){return Object(r["a"])(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new ko(0,0,0,0,0),t}}),br.prototype.getPromiseToLoad=function(){return Promise.resolve(this._downloadPromise)},br.prototype.compute=function(e,t){if(!Object(r["a"])(this._samples)){if(Object(r["a"])(this._dataError))throw new ye["a"](this._dataError);return}if(Object(r["a"])(t)||(t=new ko(0,0,0,0,0)),0===this._samples.length)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;const n=this._dates,i=this._lastIndex;let o=0,a=0;if(Object(r["a"])(i)){const s=n[i],c=n[i+1],l=gr.lessThanOrEquals(s,e),u=!Object(r["a"])(c),h=u||gr.greaterThanOrEquals(c,e);if(l&&h)return o=i,!u&&c.equals(e)&&++o,a=o+1,Ar(this,n,this._samples,e,o,a,t),t}let s=Bo(n,e,gr.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,a=s):(a=~s,o=a-1,o<0&&(o=0)),this._lastIndex=o,Ar(this,n,this._samples,e,o,a,t),t};var Tr=br;function Cr(e,t,n){this.heading=Object(o["a"])(e,0),this.pitch=Object(o["a"])(t,0),this.roll=Object(o["a"])(n,0)}Cr.fromQuaternion=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("quaternion is required");Object(r["a"])(t)||(t=new Cr);const n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),c=1-2*(e.y*e.y+e.z*e.z),l=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(l,c),t.roll=Math.atan2(o,i),t.pitch=-s["a"].asinClamped(n),t},Cr.fromDegrees=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("heading is required");if(!Object(r["a"])(t))throw new a["a"]("pitch is required");if(!Object(r["a"])(n))throw new a["a"]("roll is required");return Object(r["a"])(i)||(i=new Cr),i.heading=e*s["a"].RADIANS_PER_DEGREE,i.pitch=t*s["a"].RADIANS_PER_DEGREE,i.roll=n*s["a"].RADIANS_PER_DEGREE,i},Cr.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new Cr(e.heading,e.pitch,e.roll)},Cr.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll},Cr.equalsEpsilon=function(e,t,n,i){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&s["a"].equalsEpsilon(e.heading,t.heading,n,i)&&s["a"].equalsEpsilon(e.pitch,t.pitch,n,i)&&s["a"].equalsEpsilon(e.roll,t.roll,n,i)},Cr.prototype.clone=function(e){return Cr.clone(this,e)},Cr.prototype.equals=function(e){return Cr.equals(this,e)},Cr.prototype.equalsEpsilon=function(e,t,n){return Cr.equalsEpsilon(this,e,t,n)},Cr.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Er=Cr,xr=n("9c35");function Sr(e,t,n){this.x=e,this.y=t,this.s=n}var Ir=Sr;function Dr(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._xysFileUrlTemplate=Et["a"].createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=Object(o["a"])(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=Object(o["a"])(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new gr(this._sampleZeroJulianEphemerisDate,0,Ko.TAI),this._stepSizeDays=Object(o["a"])(e.stepSizeDays,1),this._samplesPerXysFile=Object(o["a"])(e.samplesPerXysFile,1e3),this._totalSamples=Object(o["a"])(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];const t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),r=Math.pow(this._stepSizeDays,t);for(let o=0;o<=t;++o){n[o]=r,i[o]=o*this._stepSizeDays;for(let e=0;e<=t;++e)e!==o&&(n[o]*=o-e);n[o]=1/n[o]}this._work=new Array(t+1),this._coef=new Array(t+1)}const jr=new gr(0,0,Ko.TAI);function Pr(e,t,n){const i=jr;return i.dayNumber=t,i.secondsOfDay=n,gr.daysDifference(i,e._sampleZeroDateTT)}function Rr(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];const n=Object(xr["a"])();let i;e._chunkDownloadsInProgress[t]=n;const o=e._xysFileUrlTemplate;return i=Object(r["a"])(o)?o.getDerivedResource({templateValues:{0:t}}):new Et["a"]({url:Lt(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)}),i.fetchJson().then((function(i){e._chunkDownloadsInProgress[t]=!1;const o=e._samples,r=i.samples,a=t*e._samplesPerXysFile*3;for(let e=0,t=r.length;e<t;++e)o[a+e]=r[e];n.resolve()})),n.promise}Dr.prototype.preload=function(e,t,n,i){const o=Pr(this,e,t),r=Pr(this,n,i);let a=o/this._stepSizeDays-this._interpolationOrder/2|0;a<0&&(a=0);let s=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;s>=this._totalSamples&&(s=this._totalSamples-1);const c=a/this._samplesPerXysFile|0,l=s/this._samplesPerXysFile|0,u=[];for(let h=c;h<=l;++h)u.push(Rr(this,h));return Promise.all(u)},Dr.prototype.computeXysRadians=function(e,t,n){const i=Pr(this,e,t);if(i<0)return;const o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;const a=this._interpolationOrder;let s=o-(a/2|0);s<0&&(s=0);let c=s+a;c>=this._totalSamples&&(c=this._totalSamples-1,s=c-a,s<0&&(s=0));let l=!1;const u=this._samples;if(Object(r["a"])(u[3*s])||(Rr(this,s/this._samplesPerXysFile|0),l=!0),Object(r["a"])(u[3*c])||(Rr(this,c/this._samplesPerXysFile|0),l=!0),l)return;Object(r["a"])(n)?(n.x=0,n.y=0,n.s=0):n=new Ir(0,0,0);const h=i-s*this._stepSizeDays,d=this._work,f=this._denominators,p=this._coef,m=this._xTable;let _,g;for(_=0;_<=a;++_)d[_]=h-m[_];for(_=0;_<=a;++_){for(p[_]=1,g=0;g<=a;++g)g!==_&&(p[_]*=d[g]);p[_]*=f[_];let e=3*(s+_);n.x+=p[_]*u[e++],n.y+=p[_]*u[e++],n.s+=p[_]*u[e]}return n};var Mr=Dr;let Nr;const Lr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},Br={};Object.defineProperties(Br,{element:{get:function(){if(Br.supportsFullscreen())return document[Lr.fullscreenElement]}},changeEventName:{get:function(){if(Br.supportsFullscreen())return Lr.fullscreenchange}},errorEventName:{get:function(){if(Br.supportsFullscreen())return Lr.fullscreenerror}},enabled:{get:function(){if(Br.supportsFullscreen())return document[Lr.fullscreenEnabled]}},fullscreen:{get:function(){if(Br.supportsFullscreen())return null!==Br.element}}}),Br.supportsFullscreen=function(){if(Object(r["a"])(Nr))return Nr;Nr=!1;const e=document.body;if("function"===typeof e.requestFullscreen)return Lr.requestFullscreen="requestFullscreen",Lr.exitFullscreen="exitFullscreen",Lr.fullscreenEnabled="fullscreenEnabled",Lr.fullscreenElement="fullscreenElement",Lr.fullscreenchange="fullscreenchange",Lr.fullscreenerror="fullscreenerror",Nr=!0,Nr;const t=["webkit","moz","o","ms","khtml"];let n;for(let i=0,o=t.length;i<o;++i){const o=t[i];n=o+"RequestFullscreen","function"===typeof e[n]?(Lr.requestFullscreen=n,Nr=!0):(n=o+"RequestFullScreen","function"===typeof e[n]&&(Lr.requestFullscreen=n,Nr=!0)),n=o+"ExitFullscreen","function"===typeof document[n]?Lr.exitFullscreen=n:(n=o+"CancelFullScreen","function"===typeof document[n]&&(Lr.exitFullscreen=n)),n=o+"FullscreenEnabled",void 0!==document[n]?Lr.fullscreenEnabled=n:(n=o+"FullScreenEnabled",void 0!==document[n]&&(Lr.fullscreenEnabled=n)),n=o+"FullscreenElement",void 0!==document[n]?Lr.fullscreenElement=n:(n=o+"FullScreenElement",void 0!==document[n]&&(Lr.fullscreenElement=n)),n=o+"fullscreenchange",void 0!==document["on"+n]&&("ms"===o&&(n="MSFullscreenChange"),Lr.fullscreenchange=n),n=o+"fullscreenerror",void 0!==document["on"+n]&&("ms"===o&&(n="MSFullscreenError"),Lr.fullscreenerror=n)}return Nr},Br.requestFullscreen=function(e,t){Br.supportsFullscreen()&&e[Lr.requestFullscreen]({vrDisplay:t})},Br.exitFullscreen=function(){Br.supportsFullscreen()&&document[Lr.exitFullscreen]()},Br._names=Lr;var Fr=Br;let kr,zr,Ur,Vr,Hr,Gr,qr,Wr,Yr,Xr,Kr,Jr,Zr,$r,Qr,ea,ta,na;function ia(e){const t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}function oa(){if(!Object(r["a"])(zr)&&(zr=!1,!da())){const e=/ Chrome\/([\.0-9]+)/.exec(kr.userAgent);null!==e&&(zr=!0,Ur=ia(e[1]))}return zr}function ra(){return oa()&&Ur}function aa(){if(!Object(r["a"])(Vr)&&(Vr=!1,!oa()&&!da()&&/ Safari\/[\.0-9]+/.test(kr.userAgent))){const e=/ Version\/([\.0-9]+)/.exec(kr.userAgent);null!==e&&(Vr=!0,Hr=ia(e[1]))}return Vr}function sa(){return aa()&&Hr}function ca(){if(!Object(r["a"])(Gr)){Gr=!1;const e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(kr.userAgent);null!==e&&(Gr=!0,qr=ia(e[1]),qr.isNightly=!!e[2])}return Gr}function la(){return ca()&&qr}function ua(){if(!Object(r["a"])(Wr)){let e;Wr=!1,"Microsoft Internet Explorer"===kr.appName?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(kr.userAgent),null!==e&&(Wr=!0,Yr=ia(e[1]))):"Netscape"===kr.appName&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(kr.userAgent),null!==e&&(Wr=!0,Yr=ia(e[1])))}return Wr}function ha(){return ua()&&Yr}function da(){if(!Object(r["a"])(Xr)){Xr=!1;const e=/ Edge\/([\.0-9]+)/.exec(kr.userAgent);null!==e&&(Xr=!0,Kr=ia(e[1]))}return Xr}function fa(){return da()&&Kr}function pa(){if(!Object(r["a"])(Jr)){Jr=!1;const e=/Firefox\/([\.0-9]+)/.exec(kr.userAgent);null!==e&&(Jr=!0,Zr=ia(e[1]))}return Jr}function ma(){return Object(r["a"])($r)||($r=/Windows/i.test(kr.appVersion)),$r}function _a(){return Object(r["a"])(Qr)||(Qr="iPhone"===navigator.platform||"iPod"===navigator.platform||"iPad"===navigator.platform),Qr}function ga(){return pa()&&Zr}function ba(){return Object(r["a"])(ea)||(ea=!pa()&&"undefined"!==typeof PointerEvent&&(!Object(r["a"])(kr.pointerEnabled)||kr.pointerEnabled)),ea}function ya(){if(!Object(r["a"])(na)){const e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");const t=e.style.imageRendering;na=Object(r["a"])(t)&&""!==t,na&&(ta=t)}return na}function va(){return ya()?ta:void 0}function Oa(){if(!Oa.initialized)throw new a["a"]("You must call FeatureDetection.supportsWebP.initialize and wait for the promise to resolve before calling FeatureDetection.supportsWebP");return Oa._result}kr="undefined"!==typeof navigator?navigator:{},Oa._promise=void 0,Oa._result=void 0,Oa.initialize=function(){if(Object(r["a"])(Oa._promise))return Oa._promise;const e=Object(xr["a"])();if(Oa._promise=e.promise,da())return Oa._result=!1,e.resolve(Oa._result),e.promise;const t=new Image;return t.onload=function(){Oa._result=t.width>0&&t.height>0,e.resolve(Oa._result)},t.onerror=function(){Oa._result=!1,e.resolve(Oa._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",e.promise},Object.defineProperties(Oa,{initialized:{get:function(){return Object(r["a"])(Oa._result)}}});const wa=[];"undefined"!==typeof ArrayBuffer&&(wa.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),"undefined"!==typeof Uint8ClampedArray&&wa.push(Uint8ClampedArray),"undefined"!==typeof Uint8ClampedArray&&wa.push(Uint8ClampedArray),"undefined"!==typeof BigInt64Array&&wa.push(BigInt64Array),"undefined"!==typeof BigUint64Array&&wa.push(BigUint64Array));const Aa={isChrome:oa,chromeVersion:ra,isSafari:aa,safariVersion:sa,isWebkit:ca,webkitVersion:la,isInternetExplorer:ua,internetExplorerVersion:ha,isEdge:da,edgeVersion:fa,isFirefox:pa,firefoxVersion:ga,isWindows:ma,isIPadOrIOS:_a,hardwareConcurrency:Object(o["a"])(kr.hardwareConcurrency,3),supportsPointerEvents:ba,supportsImageRenderingPixelated:ya,supportsWebP:Oa,imageRenderingValue:va,typedArrayTypes:wa,supportsBasis:function(e){return Aa.supportsWebAssembly()&&e.context.supportsBasis},supportsFullscreen:function(){return Fr.supportsFullscreen()},supportsTypedArrays:function(){return"undefined"!==typeof ArrayBuffer},supportsBigInt64Array:function(){return"undefined"!==typeof BigInt64Array},supportsBigUint64Array:function(){return"undefined"!==typeof BigUint64Array},supportsBigInt:function(){return"undefined"!==typeof BigInt},supportsWebWorkers:function(){return"undefined"!==typeof Worker},supportsWebAssembly:function(){return"undefined"!==typeof WebAssembly}};var Ta=Aa;function Ca(e,t,n,i){this.x=Object(o["a"])(e,0),this.y=Object(o["a"])(t,0),this.z=Object(o["a"])(n,0),this.w=Object(o["a"])(i,0)}let Ea=new g;Ca.fromAxisAngle=function(e,t,n){i["a"].typeOf.object("axis",e),i["a"].typeOf.number("angle",t);const o=t/2,a=Math.sin(o);Ea=g.normalize(e,Ea);const s=Ea.x*a,c=Ea.y*a,l=Ea.z*a,u=Math.cos(o);return Object(r["a"])(n)?(n.x=s,n.y=c,n.z=l,n.w=u,n):new Ca(s,c,l,u)};const xa=[1,2,0],Sa=new Array(3);Ca.fromRotationMatrix=function(e,t){let n,o,a,s,c;i["a"].typeOf.object("matrix",e);const l=e[ce.COLUMN0ROW0],u=e[ce.COLUMN1ROW1],h=e[ce.COLUMN2ROW2],d=l+u+h;if(d>0)n=Math.sqrt(d+1),c=.5*n,n=.5/n,o=(e[ce.COLUMN1ROW2]-e[ce.COLUMN2ROW1])*n,a=(e[ce.COLUMN2ROW0]-e[ce.COLUMN0ROW2])*n,s=(e[ce.COLUMN0ROW1]-e[ce.COLUMN1ROW0])*n;else{const t=xa;let i=0;u>l&&(i=1),h>l&&h>u&&(i=2);const r=t[i],d=t[r];n=Math.sqrt(e[ce.getElementIndex(i,i)]-e[ce.getElementIndex(r,r)]-e[ce.getElementIndex(d,d)]+1);const f=Sa;f[i]=.5*n,n=.5/n,c=(e[ce.getElementIndex(d,r)]-e[ce.getElementIndex(r,d)])*n,f[r]=(e[ce.getElementIndex(r,i)]+e[ce.getElementIndex(i,r)])*n,f[d]=(e[ce.getElementIndex(d,i)]+e[ce.getElementIndex(i,d)])*n,o=-f[0],a=-f[1],s=-f[2]}return Object(r["a"])(t)?(t.x=o,t.y=a,t.z=s,t.w=c,t):new Ca(o,a,s,c)};const Ia=new Ca;let Da=new Ca,ja=new Ca,Pa=new Ca;Ca.fromHeadingPitchRoll=function(e,t){return i["a"].typeOf.object("headingPitchRoll",e),Pa=Ca.fromAxisAngle(g.UNIT_X,e.roll,Ia),ja=Ca.fromAxisAngle(g.UNIT_Y,-e.pitch,t),t=Ca.multiply(ja,Pa,ja),Da=Ca.fromAxisAngle(g.UNIT_Z,-e.heading,Ia),Ca.multiply(Da,t,t)};const Ra=new g,Ma=new g,Na=new Ca,La=new Ca,Ba=new Ca;Ca.packedLength=4,Ca.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t},Ca.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Ca),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n},Ca.packedInterpolationLength=3,Ca.convertPackedArrayForInterpolation=function(e,t,n,i){Ca.unpack(e,4*n,Ba),Ca.conjugate(Ba,Ba);for(let o=0,a=n-t+1;o<a;o++){const n=3*o;Ca.unpack(e,4*(t+o),Na),Ca.multiply(Na,Ba,Na),Na.w<0&&Ca.negate(Na,Na),Ca.computeAxis(Na,Ra);const a=Ca.computeAngle(Na);Object(r["a"])(i)||(i=[]),i[n]=Ra.x*a,i[n+1]=Ra.y*a,i[n+2]=Ra.z*a}},Ca.unpackInterpolationResult=function(e,t,n,i,o){Object(r["a"])(o)||(o=new Ca),g.fromArray(e,0,Ma);const a=g.magnitude(Ma);return Ca.unpack(t,4*i,La),0===a?Ca.clone(Ca.IDENTITY,Na):Ca.fromAxisAngle(Ma,a,Na),Ca.multiply(Na,La,o)},Ca.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Ca(e.x,e.y,e.z,e.w)},Ca.conjugate=function(e,t){return i["a"].typeOf.object("quaternion",e),i["a"].typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},Ca.magnitudeSquared=function(e){return i["a"].typeOf.object("quaternion",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},Ca.magnitude=function(e){return Math.sqrt(Ca.magnitudeSquared(e))},Ca.normalize=function(e,t){i["a"].typeOf.object("result",t);const n=1/Ca.magnitude(e),o=e.x*n,r=e.y*n,a=e.z*n,s=e.w*n;return t.x=o,t.y=r,t.z=a,t.w=s,t},Ca.inverse=function(e,t){i["a"].typeOf.object("result",t);const n=Ca.magnitudeSquared(e);return t=Ca.conjugate(e,t),Ca.multiplyByScalar(t,1/n,t)},Ca.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n},Ca.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n},Ca.negate=function(e,t){return i["a"].typeOf.object("quaternion",e),i["a"].typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},Ca.dot=function(e,t){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},Ca.multiply=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e.x,r=e.y,a=e.z,s=e.w,c=t.x,l=t.y,u=t.z,h=t.w,d=s*c+o*h+r*u-a*l,f=s*l-o*u+r*h+a*c,p=s*u+o*l-r*c+a*h,m=s*h-o*c-r*l-a*u;return n.x=d,n.y=f,n.z=p,n.w=m,n},Ca.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("quaternion",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n},Ca.divideByScalar=function(e,t,n){return i["a"].typeOf.object("quaternion",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n},Ca.computeAxis=function(e,t){i["a"].typeOf.object("quaternion",e),i["a"].typeOf.object("result",t);const n=e.w;if(Math.abs(n-1)<s["a"].EPSILON6)return t.x=t.y=t.z=0,t;const o=1/Math.sqrt(1-n*n);return t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t},Ca.computeAngle=function(e){return i["a"].typeOf.object("quaternion",e),Math.abs(e.w-1)<s["a"].EPSILON6?0:2*Math.acos(e.w)};let Fa=new Ca;Ca.lerp=function(e,t,n,o){return i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o),Fa=Ca.multiplyByScalar(t,n,Fa),o=Ca.multiplyByScalar(e,1-n,o),Ca.add(Fa,o,o)};let ka=new Ca,za=new Ca,Ua=new Ca;Ca.slerp=function(e,t,n,o){i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o);let r=Ca.dot(e,t),a=t;if(r<0&&(r=-r,a=ka=Ca.negate(t,ka)),1-r<s["a"].EPSILON6)return Ca.lerp(e,a,n,o);const c=Math.acos(r);return za=Ca.multiplyByScalar(e,Math.sin((1-n)*c),za),Ua=Ca.multiplyByScalar(a,Math.sin(n*c),Ua),o=Ca.add(za,Ua,o),Ca.multiplyByScalar(o,1/Math.sin(c),o)},Ca.log=function(e,t){i["a"].typeOf.object("quaternion",e),i["a"].typeOf.object("result",t);const n=s["a"].acosClamped(e.w);let o=0;return 0!==n&&(o=n/Math.sin(n)),g.multiplyByScalar(e,o,t)},Ca.exp=function(e,t){i["a"].typeOf.object("cartesian",e),i["a"].typeOf.object("result",t);const n=g.magnitude(e);let o=0;return 0!==n&&(o=Math.sin(n)/n),t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t.w=Math.cos(n),t};const Va=new g,Ha=new g,Ga=new Ca,qa=new Ca;Ca.computeInnerQuadrangle=function(e,t,n,o){i["a"].typeOf.object("q0",e),i["a"].typeOf.object("q1",t),i["a"].typeOf.object("q2",n),i["a"].typeOf.object("result",o);const r=Ca.conjugate(t,Ga);Ca.multiply(r,n,qa);const a=Ca.log(qa,Va);Ca.multiply(r,e,qa);const s=Ca.log(qa,Ha);return g.add(a,s,a),g.multiplyByScalar(a,.25,a),g.negate(a,a),Ca.exp(a,Ga),Ca.multiply(t,Ga,o)},Ca.squad=function(e,t,n,o,r,a){i["a"].typeOf.object("q0",e),i["a"].typeOf.object("q1",t),i["a"].typeOf.object("s0",n),i["a"].typeOf.object("s1",o),i["a"].typeOf.number("t",r),i["a"].typeOf.object("result",a);const s=Ca.slerp(e,t,r,Ga),c=Ca.slerp(n,o,r,qa);return Ca.slerp(s,c,2*r*(1-r),a)};const Wa=new Ca,Ya=1.9011074535173003,Xa=Ta.supportsTypedArrays()?new Float32Array(8):[],Ka=Ta.supportsTypedArrays()?new Float32Array(8):[],Ja=Ta.supportsTypedArrays()?new Float32Array(8):[],Za=Ta.supportsTypedArrays()?new Float32Array(8):[];for(let opt=0;opt<7;++opt){const e=opt+1,t=2*e+1;Xa[opt]=1/(e*t),Ka[opt]=e/t}Xa[7]=Ya/136,Ka[7]=8*Ya/17,Ca.fastSlerp=function(e,t,n,o){i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o);let r,a=Ca.dot(e,t);a>=0?r=1:(r=-1,a=-a);const s=a-1,c=1-n,l=n*n,u=c*c;for(let i=7;i>=0;--i)Ja[i]=(Xa[i]*l-Ka[i])*s,Za[i]=(Xa[i]*u-Ka[i])*s;const h=r*n*(1+Ja[0]*(1+Ja[1]*(1+Ja[2]*(1+Ja[3]*(1+Ja[4]*(1+Ja[5]*(1+Ja[6]*(1+Ja[7])))))))),d=c*(1+Za[0]*(1+Za[1]*(1+Za[2]*(1+Za[3]*(1+Za[4]*(1+Za[5]*(1+Za[6]*(1+Za[7])))))))),f=Ca.multiplyByScalar(e,d,Wa);return Ca.multiplyByScalar(t,h,o),Ca.add(f,o,o)},Ca.fastSquad=function(e,t,n,o,r,a){i["a"].typeOf.object("q0",e),i["a"].typeOf.object("q1",t),i["a"].typeOf.object("s0",n),i["a"].typeOf.object("s1",o),i["a"].typeOf.number("t",r),i["a"].typeOf.object("result",a);const s=Ca.fastSlerp(e,t,r,Ga),c=Ca.fastSlerp(n,o,r,qa);return Ca.fastSlerp(s,c,2*r*(1-r),a)},Ca.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},Ca.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},Ca.ZERO=Object.freeze(new Ca(0,0,0,0)),Ca.IDENTITY=Object.freeze(new Ca(0,0,0,1)),Ca.prototype.clone=function(e){return Ca.clone(this,e)},Ca.prototype.equals=function(e){return Ca.equals(this,e)},Ca.prototype.equalsEpsilon=function(e,t){return Ca.equalsEpsilon(this,e,t)},Ca.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var $a=Ca;const Qa={},es={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},ts={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},ns={},is={east:new g,north:new g,up:new g,west:new g,south:new g,down:new g};let os=new g,rs=new g,as=new g;Qa.localFrameToFixedFrameGenerator=function(e,t){if(!es.hasOwnProperty(e)||!es[e].hasOwnProperty(t))throw new a["a"]("firstAxis and secondAxis must be east, north, up, west, south or down.");const n=es[e][t];let i;const c=e+t;return Object(r["a"])(ns[c])?i=ns[c]:(i=function(i,c,l){if(!Object(r["a"])(i))throw new a["a"]("origin is required.");if(Object(r["a"])(l)||(l=new Ne),g.equalsEpsilon(i,g.ZERO,s["a"].EPSILON14))g.unpack(ts[e],0,os),g.unpack(ts[t],0,rs),g.unpack(ts[n],0,as);else if(s["a"].equalsEpsilon(i.x,0,s["a"].EPSILON14)&&s["a"].equalsEpsilon(i.y,0,s["a"].EPSILON14)){const o=s["a"].sign(i.z);g.unpack(ts[e],0,os),"east"!==e&&"west"!==e&&g.multiplyByScalar(os,o,os),g.unpack(ts[t],0,rs),"east"!==t&&"west"!==t&&g.multiplyByScalar(rs,o,rs),g.unpack(ts[n],0,as),"east"!==n&&"west"!==n&&g.multiplyByScalar(as,o,as)}else{c=Object(o["a"])(c,z.WGS84),c.geodeticSurfaceNormal(i,is.up);const r=is.up,a=is.east;a.x=-i.y,a.y=i.x,a.z=0,g.normalize(a,is.east),g.cross(r,a,is.north),g.multiplyByScalar(is.up,-1,is.down),g.multiplyByScalar(is.east,-1,is.west),g.multiplyByScalar(is.north,-1,is.south),os=is[e],rs=is[t],as=is[n]}return l[0]=os.x,l[1]=os.y,l[2]=os.z,l[3]=0,l[4]=rs.x,l[5]=rs.y,l[6]=rs.z,l[7]=0,l[8]=as.x,l[9]=as.y,l[10]=as.z,l[11]=0,l[12]=i.x,l[13]=i.y,l[14]=i.z,l[15]=1,l},ns[c]=i),i},Qa.eastNorthUpToFixedFrame=Qa.localFrameToFixedFrameGenerator("east","north"),Qa.northEastDownToFixedFrame=Qa.localFrameToFixedFrameGenerator("north","east"),Qa.northUpEastToFixedFrame=Qa.localFrameToFixedFrameGenerator("north","up"),Qa.northWestUpToFixedFrame=Qa.localFrameToFixedFrameGenerator("north","west");const ss=new $a,cs=new g(1,1,1),ls=new Ne;Qa.headingPitchRollToFixedFrame=function(e,t,n,r,a){i["a"].typeOf.object("HeadingPitchRoll",t),r=Object(o["a"])(r,Qa.eastNorthUpToFixedFrame);const s=$a.fromHeadingPitchRoll(t,ss),c=Ne.fromTranslationQuaternionRotationScale(g.ZERO,s,cs,ls);return a=r(e,n,a),Ne.multiply(a,c,a)};const us=new Ne,hs=new ce;Qa.headingPitchRollQuaternion=function(e,t,n,o,r){i["a"].typeOf.object("HeadingPitchRoll",t);const a=Qa.headingPitchRollToFixedFrame(e,t,n,o,us),s=Ne.getMatrix3(a,hs);return $a.fromRotationMatrix(s,r)};const ds=new g(1,1,1),fs=new g,ps=new Ne,ms=new Ne,_s=new ce,gs=new $a;Qa.fixedFrameToHeadingPitchRoll=function(e,t,n,a){i["a"].defined("transform",e),t=Object(o["a"])(t,z.WGS84),n=Object(o["a"])(n,Qa.eastNorthUpToFixedFrame),Object(r["a"])(a)||(a=new Er);const s=Ne.getTranslation(e,fs);if(g.equals(s,g.ZERO))return a.heading=0,a.pitch=0,a.roll=0,a;let c=Ne.inverseTransformation(n(s,t,ps),ps),l=Ne.setScale(e,ds,ms);l=Ne.setTranslation(l,g.ZERO,l),c=Ne.multiply(c,l,c);let u=$a.fromRotationMatrix(Ne.getMatrix3(c,_s),gs);return u=$a.normalize(u,u),Er.fromQuaternion(u,a)};const bs=24110.54841,ys=8640184.812866,vs=.093104,Os=-62e-7,ws=11772758384668e-32,As=72921158553e-15,Ts=s["a"].TWO_PI/86400;let Cs=new gr;Qa.computeTemeToPseudoFixedMatrix=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("date is required.");Cs=gr.addSeconds(e,-gr.computeTaiMinusUtc(e),Cs);const n=Cs.dayNumber,i=Cs.secondsOfDay;let o;const c=n-2451545;o=i>=43200?(c+.5)/Yo.DAYS_PER_JULIAN_CENTURY:(c-.5)/Yo.DAYS_PER_JULIAN_CENTURY;const l=bs+o*(ys+o*(vs+o*Os)),u=l*Ts%s["a"].TWO_PI,h=As+ws*(n-2451545.5),d=(i+.5*Yo.SECONDS_PER_DAY)%Yo.SECONDS_PER_DAY,f=u+h*d,p=Math.cos(f),m=Math.sin(f);return Object(r["a"])(t)?(t[0]=p,t[1]=-m,t[2]=0,t[3]=m,t[4]=p,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new ce(p,m,0,-m,p,0,0,0,1)},Qa.iau2006XysData=new Mr,Qa.earthOrientationParameters=Tr.NONE;const Es=32.184,xs=2451545;Qa.preloadIcrfFixed=function(e){const t=e.start.dayNumber,n=e.start.secondsOfDay+Es,i=e.stop.dayNumber,o=e.stop.secondsOfDay+Es,r=Qa.iau2006XysData.preload(t,n,i,o),a=Qa.earthOrientationParameters.getPromiseToLoad();return Promise.all([r,a])},Qa.computeIcrfToFixedMatrix=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("date is required.");Object(r["a"])(t)||(t=new ce);const n=Qa.computeFixedToIcrfMatrix(e,t);if(Object(r["a"])(n))return ce.transpose(n,t)};const Ss=new Ir(0,0,0),Is=new ko(0,0,0,0,0,0),Ds=new ce,js=new ce;Qa.computeFixedToIcrfMatrix=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("date is required.");Object(r["a"])(t)||(t=new ce);const n=Qa.earthOrientationParameters.compute(e,Is);if(!Object(r["a"])(n))return;const i=e.dayNumber,o=e.secondsOfDay+Es,c=Qa.iau2006XysData.computeXysRadians(i,o,Ss);if(!Object(r["a"])(c))return;const l=c.x+n.xPoleOffset,u=c.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-u*u)),d=Ds;d[0]=1-h*l*l,d[3]=-h*l*u,d[6]=l,d[1]=-h*l*u,d[4]=1-h*u*u,d[7]=u,d[2]=-l,d[5]=-u,d[8]=1-h*(l*l+u*u);const f=ce.fromRotationZ(-c.s,js),p=ce.multiply(d,f,Ds),m=e.dayNumber,_=e.secondsOfDay-gr.computeTaiMinusUtc(e)+n.ut1MinusUtc,g=m-2451545,b=_/Yo.SECONDS_PER_DAY;let y=.779057273264+b+.00273781191135448*(g+b);y=y%1*s["a"].TWO_PI;const v=ce.fromRotationZ(y,js),O=ce.multiply(p,v,Ds),w=Math.cos(n.xPoleWander),A=Math.cos(n.yPoleWander),T=Math.sin(n.xPoleWander),C=Math.sin(n.yPoleWander);let E=i-xs+o/Yo.SECONDS_PER_DAY;E/=36525;const x=-47e-6*E*s["a"].RADIANS_PER_DEGREE/3600,S=Math.cos(x),I=Math.sin(x),D=js;return D[0]=w*S,D[1]=w*I,D[2]=T,D[3]=-A*I+C*T*S,D[4]=A*S+C*T*I,D[5]=-C*w,D[6]=-C*I-A*T*S,D[7]=C*S-A*T*I,D[8]=A*w,ce.multiply(O,D,t)};const Ps=new be;Qa.pointToWindowCoordinates=function(e,t,n,i){return i=Qa.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i},Qa.pointToGLWindowCoordinates=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("modelViewProjectionMatrix is required.");if(!Object(r["a"])(t))throw new a["a"]("viewportTransformation is required.");if(!Object(r["a"])(n))throw new a["a"]("point is required.");Object(r["a"])(i)||(i=new Ht);const o=Ps;return Ne.multiplyByVector(e,be.fromElements(n.x,n.y,n.z,1,o),o),be.multiplyByScalar(o,1/o.w,o),Ne.multiplyByVector(t,o,o),Ht.fromCartesian4(o,i)};const Rs=new g,Ms=new g,Ns=new g;Qa.rotationMatrixFromPositionVelocity=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("position is required.");if(!Object(r["a"])(t))throw new a["a"]("velocity is required.");const c=Object(o["a"])(n,z.WGS84).geodeticSurfaceNormal(e,Rs);let l=g.cross(t,c,Ms);g.equalsEpsilon(l,g.ZERO,s["a"].EPSILON6)&&(l=g.clone(g.UNIT_X,l));const u=g.cross(l,t,Ns);return g.normalize(u,u),g.cross(t,u,l),g.negate(l,l),g.normalize(l,l),Object(r["a"])(i)||(i=new ce),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=l.x,i[4]=l.y,i[5]=l.z,i[6]=u.x,i[7]=u.y,i[8]=u.z,i};const Ls=new Ne(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Bs=new I,Fs=new g,ks=new g,zs=new ce,Us=new Ne,Vs=new Ne;Qa.basisTo2D=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("projection is required.");if(!Object(r["a"])(t))throw new a["a"]("matrix is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");const i=Ne.getTranslation(t,ks),o=e.ellipsoid,s=o.cartesianToCartographic(i,Bs),c=e.project(s,Fs);g.fromElements(c.z,c.x,c.y,c);const l=Qa.eastNorthUpToFixedFrame(i,o,Us),u=Ne.inverseTransformation(l,Vs),h=Ne.getMatrix3(t,zs),d=Ne.multiplyByMatrix3(u,h,n);return Ne.multiply(Ls,d,n),Ne.setTranslation(n,c,n),n},Qa.wgs84To2DModelMatrix=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("projection is required.");if(!Object(r["a"])(t))throw new a["a"]("center is required.");if(!Object(r["a"])(n))throw new a["a"]("result is required.");const i=e.ellipsoid,o=Qa.eastNorthUpToFixedFrame(t,i,Us),s=Ne.inverseTransformation(o,Vs),c=i.cartesianToCartographic(t,Bs),l=e.project(c,Fs);g.fromElements(l.z,l.x,l.y,l);const u=Ne.fromTranslation(l,Us);return Ne.multiply(Ls,s,n),Ne.multiply(u,n,n),n};var Hs=Qa;const Gs=new be;function qs(e,t){if(i["a"].defined("origin",e),t=Object(o["a"])(t,z.WGS84),e=t.scaleToGeodeticSurface(e),!Object(r["a"])(e))throw new a["a"]("origin must not be at the center of the ellipsoid.");const n=Hs.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=g.fromCartesian4(Ne.getColumn(n,0,Gs)),this._yAxis=g.fromCartesian4(Ne.getColumn(n,1,Gs));const s=g.fromCartesian4(Ne.getColumn(n,2,Gs));this._plane=No.fromPointNormal(e,s)}Object.defineProperties(qs.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});const Ws=new yi;qs.fromPoints=function(e,t){i["a"].defined("cartesians",e);const n=yi.fromPoints(e,Ws);return new qs(n.center,t)};const Ys=new Ki,Xs=new g;qs.prototype.projectPointOntoPlane=function(e,t){i["a"].defined("cartesian",e);const n=Ys;n.origin=e,g.normalize(e,n.direction);let o=So.rayPlane(n,this._plane,Xs);if(Object(r["a"])(o)||(g.negate(n.direction,n.direction),o=So.rayPlane(n,this._plane,Xs)),Object(r["a"])(o)){const e=g.subtract(o,this._origin,o),n=g.dot(this._xAxis,e),i=g.dot(this._yAxis,e);return Object(r["a"])(t)?(t.x=n,t.y=i,t):new Ht(n,i)}},qs.prototype.projectPointsOntoPlane=function(e,t){i["a"].defined("cartesians",e),Object(r["a"])(t)||(t=[]);let n=0;const o=e.length;for(let i=0;i<o;i++){const o=this.projectPointOntoPlane(e[i],t[n]);Object(r["a"])(o)&&(t[n]=o,n++)}return t.length=n,t},qs.prototype.projectPointToNearestOnPlane=function(e,t){i["a"].defined("cartesian",e),Object(r["a"])(t)||(t=new Ht);const n=Ys;n.origin=e,g.clone(this._plane.normal,n.direction);let o=So.rayPlane(n,this._plane,Xs);Object(r["a"])(o)||(g.negate(n.direction,n.direction),o=So.rayPlane(n,this._plane,Xs));const a=g.subtract(o,this._origin,o),s=g.dot(this._xAxis,a),c=g.dot(this._yAxis,a);return t.x=s,t.y=c,t},qs.prototype.projectPointsToNearestOnPlane=function(e,t){i["a"].defined("cartesians",e),Object(r["a"])(t)||(t=[]);const n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};const Ks=new g;qs.prototype.projectPointOntoEllipsoid=function(e,t){i["a"].defined("cartesian",e),Object(r["a"])(t)||(t=new g);const n=this._ellipsoid,o=this._origin,a=this._xAxis,s=this._yAxis,c=Ks;return g.multiplyByScalar(a,e.x,c),t=g.add(o,c,t),g.multiplyByScalar(s,e.y,c),g.add(t,c,t),n.scaleToGeocentricSurface(t,t),t},qs.prototype.projectPointsOntoEllipsoid=function(e,t){i["a"].defined("cartesians",e);const n=e.length;Object(r["a"])(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var Js=qs;function Zs(e,t){this.center=g.clone(Object(o["a"])(e,g.ZERO)),this.halfAxes=ce.clone(Object(o["a"])(t,ce.ZERO))}Zs.packedLength=g.packedLength+ce.packedLength,Zs.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),g.pack(e.center,t,n),ce.pack(e.halfAxes,t,n+g.packedLength),t},Zs.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Zs),g.unpack(e,t,n.center),ce.unpack(e,t+g.packedLength,n.halfAxes),n};const $s=new g,Qs=new g,ec=new g,tc=new g,nc=new g,ic=new g,oc=new ce,rc={unitary:new ce,diagonal:new ce};Zs.fromPoints=function(e,t){if(Object(r["a"])(t)||(t=new Zs),!Object(r["a"])(e)||0===e.length)return t.halfAxes=ce.ZERO,t.center=g.ZERO,t;let n;const i=e.length,o=g.clone(e[0],$s);for(n=1;n<i;n++)g.add(o,e[n],o);const a=1/i;g.multiplyByScalar(o,a,o);let s,c=0,l=0,u=0,h=0,d=0,f=0;for(n=0;n<i;n++)s=g.subtract(e[n],o,Qs),c+=s.x*s.x,l+=s.x*s.y,u+=s.x*s.z,h+=s.y*s.y,d+=s.y*s.z,f+=s.z*s.z;c*=a,l*=a,u*=a,h*=a,d*=a,f*=a;const p=oc;p[0]=c,p[1]=l,p[2]=u,p[3]=l,p[4]=h,p[5]=d,p[6]=u,p[7]=d,p[8]=f;const m=ce.computeEigenDecomposition(p,rc),_=ce.clone(m.unitary,t.halfAxes);let b=ce.getColumn(_,0,tc),y=ce.getColumn(_,1,nc),v=ce.getColumn(_,2,ic),O=-Number.MAX_VALUE,w=-Number.MAX_VALUE,A=-Number.MAX_VALUE,T=Number.MAX_VALUE,C=Number.MAX_VALUE,E=Number.MAX_VALUE;for(n=0;n<i;n++)s=e[n],O=Math.max(g.dot(b,s),O),w=Math.max(g.dot(y,s),w),A=Math.max(g.dot(v,s),A),T=Math.min(g.dot(b,s),T),C=Math.min(g.dot(y,s),C),E=Math.min(g.dot(v,s),E);b=g.multiplyByScalar(b,.5*(T+O),b),y=g.multiplyByScalar(y,.5*(C+w),y),v=g.multiplyByScalar(v,.5*(E+A),v);const x=g.add(b,y,t.center);g.add(x,v,x);const S=ec;return S.x=O-T,S.y=w-C,S.z=A-E,g.multiplyByScalar(S,.5,S),ce.multiplyByScale(t.halfAxes,S,t.halfAxes),t};const ac=new g,sc=new g;function cc(e,t,n,i,o,s,c,l,u,h,d){if(!Object(r["a"])(o)||!Object(r["a"])(s)||!Object(r["a"])(c)||!Object(r["a"])(l)||!Object(r["a"])(u)||!Object(r["a"])(h))throw new a["a"]("all extents (minimum/maximum X/Y/Z) are required.");Object(r["a"])(d)||(d=new Zs);const f=d.halfAxes;ce.setColumn(f,0,t,f),ce.setColumn(f,1,n,f),ce.setColumn(f,2,i,f);let p=ac;p.x=(o+s)/2,p.y=(c+l)/2,p.z=(u+h)/2;const m=sc;m.x=(s-o)/2,m.y=(l-c)/2,m.z=(h-u)/2;const _=d.center;return p=ce.multiplyByVector(f,p,p),g.add(e,p,_),ce.multiplyByScale(f,m,f),d}const lc=new I,uc=new g,hc=new I,dc=new I,fc=new I,pc=new I,mc=new I,_c=new g,gc=new g,bc=new g,yc=new g,vc=new g,Oc=new Ht,wc=new Ht,Ac=new Ht,Tc=new Ht,Cc=new Ht,Ec=new g,xc=new g,Sc=new g,Ic=new g,Dc=new Ht,jc=new g,Pc=new g,Rc=new g,Mc=new No(g.UNIT_X,0);Zs.fromRectangle=function(e,t,n,i,c){if(!Object(r["a"])(e))throw new a["a"]("rectangle is required");if(e.width<0||e.width>s["a"].TWO_PI)throw new a["a"]("Rectangle width must be between 0 and 2*pi");if(e.height<0||e.height>s["a"].PI)throw new a["a"]("Rectangle height must be between 0 and pi");if(Object(r["a"])(i)&&!s["a"].equalsEpsilon(i.radii.x,i.radii.y,s["a"].EPSILON15))throw new a["a"]("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");let l,u,h,d,f,p,m;if(t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),i=Object(o["a"])(i,z.WGS84),e.width<=s["a"].PI){const o=Fe.center(e,lc),r=i.cartographicToCartesian(o,uc),a=new Js(r,i);m=a.plane;const s=o.longitude,_=e.south<0&&e.north>0?0:o.latitude,g=I.fromRadians(s,e.north,n,hc),b=I.fromRadians(e.west,e.north,n,dc),y=I.fromRadians(e.west,_,n,fc),v=I.fromRadians(e.west,e.south,n,pc),O=I.fromRadians(s,e.south,n,mc),w=i.cartographicToCartesian(g,_c);let A=i.cartographicToCartesian(b,gc);const T=i.cartographicToCartesian(y,bc);let C=i.cartographicToCartesian(v,yc);const E=i.cartographicToCartesian(O,vc),x=a.projectPointToNearestOnPlane(w,Oc),S=a.projectPointToNearestOnPlane(A,wc),D=a.projectPointToNearestOnPlane(T,Ac),j=a.projectPointToNearestOnPlane(C,Tc),P=a.projectPointToNearestOnPlane(E,Cc);return l=Math.min(S.x,D.x,j.x),u=-l,d=Math.max(S.y,x.y),h=Math.min(j.y,P.y),b.height=v.height=t,A=i.cartographicToCartesian(b,gc),C=i.cartographicToCartesian(v,yc),f=Math.min(No.getPointDistance(m,A),No.getPointDistance(m,C)),p=n,cc(a.origin,a.xAxis,a.yAxis,a.zAxis,l,u,h,d,f,p,c)}const _=e.south>0,b=e.north<0,y=_?e.south:b?e.north:0,v=Fe.center(e,lc).longitude,O=g.fromRadians(v,y,n,i,Ec);O.z=0;const w=Math.abs(O.x)<s["a"].EPSILON10&&Math.abs(O.y)<s["a"].EPSILON10,A=w?g.UNIT_X:g.normalize(O,xc),T=g.UNIT_Z,C=g.cross(A,T,Sc);m=No.fromPointNormal(O,A,Mc);const E=g.fromRadians(v+s["a"].PI_OVER_TWO,y,n,i,Ic);u=g.dot(No.projectPointOntoPlane(m,E,Dc),C),l=-u,d=g.fromRadians(0,e.north,b?t:n,i,jc).z,h=g.fromRadians(0,e.south,_?t:n,i,Pc).z;const x=g.fromRadians(e.east,y,n,i,Rc);return f=No.getPointDistance(m,x),p=0,cc(O,C,T,A,l,u,h,d,f,p,c)},Zs.fromTransformation=function(e,t){return i["a"].typeOf.object("transformation",e),Object(r["a"])(t)||(t=new Zs),t.center=Ne.getTranslation(e,t.center),t.halfAxes=Ne.getMatrix3(e,t.halfAxes),t.halfAxes=ce.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t},Zs.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(g.clone(e.center,t.center),ce.clone(e.halfAxes,t.halfAxes),t):new Zs(e.center,e.halfAxes)},Zs.intersectPlane=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("box is required.");if(!Object(r["a"])(t))throw new a["a"]("plane is required.");const n=e.center,i=t.normal,o=e.halfAxes,s=i.x,c=i.y,l=i.z,u=Math.abs(s*o[ce.COLUMN0ROW0]+c*o[ce.COLUMN0ROW1]+l*o[ce.COLUMN0ROW2])+Math.abs(s*o[ce.COLUMN1ROW0]+c*o[ce.COLUMN1ROW1]+l*o[ce.COLUMN1ROW2])+Math.abs(s*o[ce.COLUMN2ROW0]+c*o[ce.COLUMN2ROW1]+l*o[ce.COLUMN2ROW2]),h=g.dot(i,n)+t.distance;return h<=-u?G.OUTSIDE:h>=u?G.INSIDE:G.INTERSECTING};const Nc=new g,Lc=new g,Bc=new g,Fc=new g,kc=new g,zc=new g;Zs.distanceSquaredTo=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("box is required.");if(!Object(r["a"])(t))throw new a["a"]("cartesian is required.");const n=g.subtract(t,e.center,ac),i=e.halfAxes;let o=ce.getColumn(i,0,Nc),c=ce.getColumn(i,1,Lc),l=ce.getColumn(i,2,Bc);const u=g.magnitude(o),h=g.magnitude(c),d=g.magnitude(l);let f=!0,p=!0,m=!0;u>0?g.divideByScalar(o,u,o):f=!1,h>0?g.divideByScalar(c,h,c):p=!1,d>0?g.divideByScalar(l,d,l):m=!1;const _=!f+!p+!m;let b,y,v;if(1===_){let e=o;b=c,y=l,p?m||(e=l,y=o):(e=c,b=o),v=g.cross(b,y,kc),e===o?o=v:e===c?c=v:e===l&&(l=v)}else if(2===_){b=o,p?b=c:m&&(b=l);let e=g.UNIT_Y;e.equalsEpsilon(b,s["a"].EPSILON3)&&(e=g.UNIT_X),y=g.cross(b,e,Fc),g.normalize(y,y),v=g.cross(b,y,kc),g.normalize(v,v),b===o?(c=y,l=v):b===c?(l=y,o=v):b===l&&(o=y,c=v)}else 3===_&&(o=g.UNIT_X,c=g.UNIT_Y,l=g.UNIT_Z);const O=zc;O.x=g.dot(n,o),O.y=g.dot(n,c),O.z=g.dot(n,l);let w,A=0;return O.x<-u?(w=O.x+u,A+=w*w):O.x>u&&(w=O.x-u,A+=w*w),O.y<-h?(w=O.y+h,A+=w*w):O.y>h&&(w=O.y-h,A+=w*w),O.z<-d?(w=O.z+d,A+=w*w):O.z>d&&(w=O.z-d,A+=w*w),A};const Uc=new g,Vc=new g;Zs.computePlaneDistances=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("box is required.");if(!Object(r["a"])(t))throw new a["a"]("position is required.");if(!Object(r["a"])(n))throw new a["a"]("direction is required.");Object(r["a"])(i)||(i=new W);let o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const c=e.center,l=e.halfAxes,u=ce.getColumn(l,0,Nc),h=ce.getColumn(l,1,Lc),d=ce.getColumn(l,2,Bc),f=g.add(u,h,Uc);g.add(f,d,f),g.add(f,c,f);const p=g.subtract(f,t,Vc);let m=g.dot(n,p);return o=Math.min(m,o),s=Math.max(m,s),g.add(c,u,f),g.add(f,h,f),g.subtract(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.add(c,u,f),g.subtract(f,h,f),g.add(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.add(c,u,f),g.subtract(f,h,f),g.subtract(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.subtract(c,u,f),g.add(f,h,f),g.add(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.subtract(c,u,f),g.add(f,h,f),g.subtract(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.subtract(c,u,f),g.subtract(f,h,f),g.add(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),g.subtract(c,u,f),g.subtract(f,h,f),g.subtract(f,d,f),g.subtract(f,t,p),m=g.dot(n,p),o=Math.min(m,o),s=Math.max(m,s),i.start=o,i.stop=s,i};const Hc=new g,Gc=new g,qc=new g;Zs.computeCorners=function(e,t){i["a"].typeOf.object("box",e),Object(r["a"])(t)||(t=[new g,new g,new g,new g,new g,new g,new g,new g]);const n=e.center,o=e.halfAxes,a=ce.getColumn(o,0,Hc),s=ce.getColumn(o,1,Gc),c=ce.getColumn(o,2,qc);return g.clone(n,t[0]),g.subtract(t[0],a,t[0]),g.subtract(t[0],s,t[0]),g.subtract(t[0],c,t[0]),g.clone(n,t[1]),g.subtract(t[1],a,t[1]),g.subtract(t[1],s,t[1]),g.add(t[1],c,t[1]),g.clone(n,t[2]),g.subtract(t[2],a,t[2]),g.add(t[2],s,t[2]),g.subtract(t[2],c,t[2]),g.clone(n,t[3]),g.subtract(t[3],a,t[3]),g.add(t[3],s,t[3]),g.add(t[3],c,t[3]),g.clone(n,t[4]),g.add(t[4],a,t[4]),g.subtract(t[4],s,t[4]),g.subtract(t[4],c,t[4]),g.clone(n,t[5]),g.add(t[5],a,t[5]),g.subtract(t[5],s,t[5]),g.add(t[5],c,t[5]),g.clone(n,t[6]),g.add(t[6],a,t[6]),g.add(t[6],s,t[6]),g.subtract(t[6],c,t[6]),g.clone(n,t[7]),g.add(t[7],a,t[7]),g.add(t[7],s,t[7]),g.add(t[7],c,t[7]),t};const Wc=new ce;Zs.computeTransformation=function(e,t){i["a"].typeOf.object("box",e),Object(r["a"])(t)||(t=new Ne);const n=e.center,o=ce.multiplyByUniformScale(e.halfAxes,2,Wc);return Ne.fromRotationTranslation(o,n,t)};const Yc=new Tt;Zs.isOccluded=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("box is required.");if(!Object(r["a"])(t))throw new a["a"]("occluder is required.");const n=Tt.fromOrientedBoundingBox(e,Yc);return!t.isBoundingSphereVisible(n)},Zs.prototype.intersectPlane=function(e){return Zs.intersectPlane(this,e)},Zs.prototype.distanceSquaredTo=function(e){return Zs.distanceSquaredTo(this,e)},Zs.prototype.computePlaneDistances=function(e,t,n){return Zs.computePlaneDistances(this,e,t,n)},Zs.prototype.computeCorners=function(e){return Zs.computeCorners(this,e)},Zs.prototype.computeTransformation=function(e){return Zs.computeTransformation(this,e)},Zs.prototype.isOccluded=function(e){return Zs.isOccluded(this,e)},Zs.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&g.equals(e.center,t.center)&&ce.equals(e.halfAxes,t.halfAxes)},Zs.prototype.clone=function(e){return Zs.clone(this,e)},Zs.prototype.equals=function(e){return Zs.equals(this,e)};var Xc=Zs;const Kc={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047};var Jc=Object.freeze(Kc);const Zc={BYTE:Jc.BYTE,UNSIGNED_BYTE:Jc.UNSIGNED_BYTE,SHORT:Jc.SHORT,UNSIGNED_SHORT:Jc.UNSIGNED_SHORT,INT:Jc.INT,UNSIGNED_INT:Jc.UNSIGNED_INT,FLOAT:Jc.FLOAT,DOUBLE:Jc.DOUBLE,getSizeInBytes:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");switch(e){case Zc.BYTE:return Int8Array.BYTES_PER_ELEMENT;case Zc.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Zc.SHORT:return Int16Array.BYTES_PER_ELEMENT;case Zc.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Zc.INT:return Int32Array.BYTES_PER_ELEMENT;case Zc.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case Zc.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case Zc.DOUBLE:return Float64Array.BYTES_PER_ELEMENT;default:throw new a["a"]("componentDatatype is not a valid value.")}},fromTypedArray:function(e){if(e instanceof Int8Array)return Zc.BYTE;if(e instanceof Uint8Array)return Zc.UNSIGNED_BYTE;if(e instanceof Int16Array)return Zc.SHORT;if(e instanceof Uint16Array)return Zc.UNSIGNED_SHORT;if(e instanceof Int32Array)return Zc.INT;if(e instanceof Uint32Array)return Zc.UNSIGNED_INT;if(e instanceof Float32Array)return Zc.FLOAT;if(e instanceof Float64Array)return Zc.DOUBLE;throw new a["a"]("array must be an Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, or Float64Array.")},validate:function(e){return Object(r["a"])(e)&&(e===Zc.BYTE||e===Zc.UNSIGNED_BYTE||e===Zc.SHORT||e===Zc.UNSIGNED_SHORT||e===Zc.INT||e===Zc.UNSIGNED_INT||e===Zc.FLOAT||e===Zc.DOUBLE)},createTypedArray:function(e,t){if(!Object(r["a"])(e))throw new a["a"]("componentDatatype is required.");if(!Object(r["a"])(t))throw new a["a"]("valuesOrLength is required.");switch(e){case Zc.BYTE:return new Int8Array(t);case Zc.UNSIGNED_BYTE:return new Uint8Array(t);case Zc.SHORT:return new Int16Array(t);case Zc.UNSIGNED_SHORT:return new Uint16Array(t);case Zc.INT:return new Int32Array(t);case Zc.UNSIGNED_INT:return new Uint32Array(t);case Zc.FLOAT:return new Float32Array(t);case Zc.DOUBLE:return new Float64Array(t);default:throw new a["a"]("componentDatatype is not a valid value.")}},createArrayBufferView:function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("componentDatatype is required.");if(!Object(r["a"])(t))throw new a["a"]("buffer is required.");switch(n=Object(o["a"])(n,0),i=Object(o["a"])(i,(t.byteLength-n)/Zc.getSizeInBytes(e)),e){case Zc.BYTE:return new Int8Array(t,n,i);case Zc.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case Zc.SHORT:return new Int16Array(t,n,i);case Zc.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case Zc.INT:return new Int32Array(t,n,i);case Zc.UNSIGNED_INT:return new Uint32Array(t,n,i);case Zc.FLOAT:return new Float32Array(t,n,i);case Zc.DOUBLE:return new Float64Array(t,n,i);default:throw new a["a"]("componentDatatype is not a valid value.")}},fromName:function(e){switch(e){case"BYTE":return Zc.BYTE;case"UNSIGNED_BYTE":return Zc.UNSIGNED_BYTE;case"SHORT":return Zc.SHORT;case"UNSIGNED_SHORT":return Zc.UNSIGNED_SHORT;case"INT":return Zc.INT;case"UNSIGNED_INT":return Zc.UNSIGNED_INT;case"FLOAT":return Zc.FLOAT;case"DOUBLE":return Zc.DOUBLE;default:throw new a["a"]("name is not a valid value.")}}};var $c=Object.freeze(Zc);function Qc(e,t,n,i){this[0]=Object(o["a"])(e,0),this[1]=Object(o["a"])(n,0),this[2]=Object(o["a"])(t,0),this[3]=Object(o["a"])(i,0)}Qc.packedLength=4,Qc.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t},Qc.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Qc),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n},Qc.packArray=function(e,t){i["a"].defined("array",e);const n=e.length,o=4*n;if(Object(r["a"])(t)){if(!Array.isArray(t)&&t.length!==o)throw new a["a"]("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}else t=new Array(o);for(let i=0;i<n;++i)Qc.pack(e[i],t,4*i);return t},Qc.unpackArray=function(e,t){if(i["a"].defined("array",e),i["a"].typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new a["a"]("array length must be a multiple of 4.");const n=e.length;Object(r["a"])(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){const n=i/4;t[n]=Qc.unpack(e,i,t[n])}return t},Qc.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Qc(e[0],e[2],e[1],e[3])},Qc.fromArray=Qc.unpack,Qc.fromColumnMajorArray=function(e,t){return i["a"].defined("values",e),Qc.clone(e,t)},Qc.fromRowMajorArray=function(e,t){return i["a"].defined("values",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Qc(e[0],e[1],e[2],e[3])},Qc.fromScale=function(e,t){return i["a"].typeOf.object("scale",e),Object(r["a"])(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Qc(e.x,0,0,e.y)},Qc.fromUniformScale=function(e,t){return i["a"].typeOf.number("scale",e),Object(r["a"])(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Qc(e,0,0,e)},Qc.fromRotation=function(e,t){i["a"].typeOf.number("angle",e);const n=Math.cos(e),o=Math.sin(e);return Object(r["a"])(t)?(t[0]=n,t[1]=o,t[2]=-o,t[3]=n,t):new Qc(n,-o,o,n)},Qc.toArray=function(e,t){return i["a"].typeOf.object("matrix",e),Object(r["a"])(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]},Qc.getElementIndex=function(e,t){return i["a"].typeOf.number.greaterThanOrEquals("row",t,0),i["a"].typeOf.number.lessThanOrEquals("row",t,1),i["a"].typeOf.number.greaterThanOrEquals("column",e,0),i["a"].typeOf.number.lessThanOrEquals("column",e,1),2*e+t},Qc.getColumn=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,1),i["a"].typeOf.object("result",n);const o=2*t,r=e[o],a=e[o+1];return n.x=r,n.y=a,n},Qc.setColumn=function(e,t,n,o){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,1),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=Qc.clone(e,o);const r=2*t;return o[r]=n.x,o[r+1]=n.y,o},Qc.getRow=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,1),i["a"].typeOf.object("result",n);const o=e[t],r=e[t+2];return n.x=o,n.y=r,n},Qc.setRow=function(e,t,n,o){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number.greaterThanOrEquals("index",t,0),i["a"].typeOf.number.lessThanOrEquals("index",t,1),i["a"].typeOf.object("cartesian",n),i["a"].typeOf.object("result",o),o=Qc.clone(e,o),o[t]=n.x,o[t+2]=n.y,o};const el=new Ht;Qc.setScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n);const o=Qc.getScale(e,el),r=t.x/o.x,a=t.y/o.y;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*a,n[3]=e[3]*a,n};const tl=new Ht;Qc.setUniformScale=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n);const o=Qc.getScale(e,tl),r=t/o.x,a=t/o.y;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*a,n[3]=e[3]*a,n};const nl=new Ht;Qc.getScale=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t.x=Ht.magnitude(Ht.fromElements(e[0],e[1],nl)),t.y=Ht.magnitude(Ht.fromElements(e[2],e[3],nl)),t};const il=new Ht;Qc.getMaximumScale=function(e){return Qc.getScale(e,il),Ht.maximumComponent(il)};const ol=new Ht;Qc.setRotation=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",n);const o=Qc.getScale(e,ol);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.y,n[3]=t[3]*o.y,n};const rl=new Ht;Qc.getRotation=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=Qc.getScale(e,rl);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t},Qc.multiply=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n);const o=e[0]*t[0]+e[2]*t[1],r=e[0]*t[2]+e[2]*t[3],a=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=o,n[1]=a,n[2]=r,n[3]=s,n},Qc.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},Qc.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n},Qc.multiplyByVector=function(e,t,n){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("cartesian",t),i["a"].typeOf.object("result",n);const o=e[0]*t.x+e[2]*t.y,r=e[1]*t.x+e[3]*t.y;return n.x=o,n.y=r,n},Qc.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n},Qc.multiplyByScale=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("scale",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n},Qc.multiplyByUniformScale=function(e,t,n){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.number("scale",t),i["a"].typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n},Qc.negate=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},Qc.transpose=function(e,t){i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t);const n=e[0],o=e[2],r=e[1],a=e[3];return t[0]=n,t[1]=o,t[2]=r,t[3]=a,t},Qc.abs=function(e,t){return i["a"].typeOf.object("matrix",e),i["a"].typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t},Qc.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},Qc.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]},Qc.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n},Qc.IDENTITY=Object.freeze(new Qc(1,0,0,1)),Qc.ZERO=Object.freeze(new Qc(0,0,0,0)),Qc.COLUMN0ROW0=0,Qc.COLUMN0ROW1=1,Qc.COLUMN1ROW0=2,Qc.COLUMN1ROW1=3,Object.defineProperties(Qc.prototype,{length:{get:function(){return Qc.packedLength}}}),Qc.prototype.clone=function(e){return Qc.clone(this,e)},Qc.prototype.equals=function(e){return Qc.equals(this,e)},Qc.prototype.equalsEpsilon=function(e,t){return Qc.equalsEpsilon(this,e,t)},Qc.prototype.toString=function(){return`(${this[0]}, ${this[2]})\n(${this[1]}, ${this[3]})`};var al=Qc;const sl={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",getMathType:function(e){switch(e){case sl.SCALAR:return Number;case sl.VEC2:return Ht;case sl.VEC3:return g;case sl.VEC4:return be;case sl.MAT2:return al;case sl.MAT3:return ce;case sl.MAT4:return Ne;default:throw new a["a"]("attributeType is not a valid value.")}},getNumberOfComponents:function(e){switch(e){case sl.SCALAR:return 1;case sl.VEC2:return 2;case sl.VEC3:return 3;case sl.VEC4:case sl.MAT2:return 4;case sl.MAT3:return 9;case sl.MAT4:return 16;default:throw new a["a"]("attributeType is not a valid value.")}},getAttributeLocationCount:function(e){switch(e){case sl.SCALAR:case sl.VEC2:case sl.VEC3:case sl.VEC4:return 1;case sl.MAT2:return 2;case sl.MAT3:return 3;case sl.MAT4:return 4;default:throw new a["a"]("attributeType is not a valid value.")}},getGlslType:function(e){switch(i["a"].typeOf.string("attributeType",e),e){case sl.SCALAR:return"float";case sl.VEC2:return"vec2";case sl.VEC3:return"vec3";case sl.VEC4:return"vec4";case sl.MAT2:return"mat2";case sl.MAT3:return"mat3";case sl.MAT4:return"mat4";default:throw new a["a"]("attributeType is not a valid value.")}}};var cl=Object.freeze(sl);const ll=1/256,ul=256,hl={octEncodeInRange:function(e,t,n){i["a"].defined("vector",e),i["a"].defined("result",n);const o=g.magnitudeSquared(e);if(Math.abs(o-1)>s["a"].EPSILON6)throw new a["a"]("vector must be normalized.");if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){const e=n.x,t=n.y;n.x=(1-Math.abs(t))*s["a"].signNotZero(e),n.y=(1-Math.abs(e))*s["a"].signNotZero(t)}return n.x=s["a"].toSNorm(n.x,t),n.y=s["a"].toSNorm(n.y,t),n},octEncode:function(e,t){return hl.octEncodeInRange(e,255,t)}},dl=new Ht,fl=new Uint8Array(1);function pl(e){return fl[0]=e,fl[0]}hl.octEncodeToCartesian4=function(e,t){return hl.octEncodeInRange(e,65535,dl),t.x=pl(dl.x*ll),t.y=pl(dl.x),t.z=pl(dl.y*ll),t.w=pl(dl.y),t},hl.octDecodeInRange=function(e,t,n,o){if(i["a"].defined("result",o),e<0||e>n||t<0||t>n)throw new a["a"]("x and y must be unsigned normalized integers between 0 and "+n);if(o.x=s["a"].fromSNorm(e,n),o.y=s["a"].fromSNorm(t,n),o.z=1-(Math.abs(o.x)+Math.abs(o.y)),o.z<0){const e=o.x;o.x=(1-Math.abs(o.y))*s["a"].signNotZero(e),o.y=(1-Math.abs(e))*s["a"].signNotZero(o.y)}return g.normalize(o,o)},hl.octDecode=function(e,t,n){return hl.octDecodeInRange(e,t,255,n)},hl.octDecodeFromCartesian4=function(e,t){i["a"].typeOf.object("encoded",e),i["a"].typeOf.object("result",t);const n=e.x,o=e.y,r=e.z,s=e.w;if(n<0||n>255||o<0||o>255||r<0||r>255||s<0||s>255)throw new a["a"]("x, y, z, and w must be unsigned normalized integers between 0 and 255");const c=n*ul+o,l=r*ul+s;return hl.octDecodeInRange(c,l,65535,t)},hl.octPackFloat=function(e){return i["a"].defined("encoded",e),256*e.x+e.y};const ml=new Ht;function _l(e){return e>>1^-(1&e)}hl.octEncodeFloat=function(e){return hl.octEncode(e,ml),hl.octPackFloat(ml)},hl.octDecodeFloat=function(e,t){i["a"].defined("value",e);const n=e/256,o=Math.floor(n),r=256*(n-o);return hl.octDecode(o,r,t)},hl.octPack=function(e,t,n,o){i["a"].defined("v1",e),i["a"].defined("v2",t),i["a"].defined("v3",n),i["a"].defined("result",o);const r=hl.octEncodeFloat(e),a=hl.octEncodeFloat(t),s=hl.octEncode(n,ml);return o.x=65536*s.x+r,o.y=65536*s.y+a,o},hl.octUnpack=function(e,t,n,o){i["a"].defined("packed",e),i["a"].defined("v1",t),i["a"].defined("v2",n),i["a"].defined("v3",o);let r=e.x/65536;const a=Math.floor(r),s=65536*(r-a);r=e.y/65536;const c=Math.floor(r),l=65536*(r-c);hl.octDecodeFloat(s,t),hl.octDecodeFloat(l,n),hl.octDecode(a,c,o)},hl.compressTextureCoordinates=function(e){i["a"].defined("textureCoordinates",e);const t=4095*e.x|0,n=4095*e.y|0;return 4096*t+n},hl.decompressTextureCoordinates=function(e,t){i["a"].defined("compressed",e),i["a"].defined("result",t);const n=e/4096,o=Math.floor(n);return t.x=o/4095,t.y=(e-4096*o)/4095,t},hl.zigZagDeltaDecode=function(e,t,n){i["a"].defined("uBuffer",e),i["a"].defined("vBuffer",t),i["a"].typeOf.number.equals("uBuffer.length","vBuffer.length",e.length,t.length),Object(r["a"])(n)&&i["a"].typeOf.number.equals("uBuffer.length","heightBuffer.length",e.length,n.length);const o=e.length;let a=0,s=0,c=0;for(let i=0;i<o;++i)a+=_l(e[i]),s+=_l(t[i]),e[i]=a,t[i]=s,Object(r["a"])(n)&&(c+=_l(n[i]),n[i]=c)},hl.dequantize=function(e,t,n,o){i["a"].defined("typedArray",e),i["a"].defined("componentDatatype",t),i["a"].defined("type",n),i["a"].defined("count",o);const r=cl.getNumberOfComponents(n);let s;switch(t){case $c.BYTE:s=127;break;case $c.UNSIGNED_BYTE:s=255;break;case $c.SHORT:s=32767;break;case $c.UNSIGNED_SHORT:s=65535;break;case $c.INT:s=2147483647;break;case $c.UNSIGNED_INT:s=4294967295;break;default:throw new a["a"]("Cannot dequantize component datatype: "+t)}const c=new Float32Array(o*r);for(let i=0;i<o;i++)for(let t=0;t<r;t++){const n=i*r+t;c[n]=Math.max(e[n]/s,-1)}return c},hl.decodeRGB565=function(e,t){i["a"].defined("typedArray",e);const n=3*e.length;Object(r["a"])(t)&&i["a"].typeOf.number.equals("result.length","typedArray.length * 3",t.length,n);const o=e.length;Object(r["a"])(t)||(t=new Float32Array(3*o));const a=31,s=63,c=1/31,l=1/63;for(let i=0;i<o;i++){const n=e[i],o=n>>11,r=n>>5&s,u=n&a,h=3*i;t[h]=o*c,t[h+1]=r*l,t[h+2]=u*c}return t};var gl=hl;const bl={getHeight:function(e,t,n){return(e-n)*t+n}},yl=new g;bl.getPosition=function(e,t,n,i,o){const r=t.cartesianToCartographic(e,yl),a=bl.getHeight(r.height,n,i);return g.fromRadians(r.longitude,r.latitude,a,t,o)};var vl=bl;const Ol={NONE:0,BITS12:1};var wl=Object.freeze(Ol);const Al=new g,Tl=new g,Cl=new Ht,El=new Ne,xl=new Ne,Sl=Math.pow(2,12);function Il(e,t,n,i,a,s,c,l,u,h){let d,f,p=wl.NONE;if(Object(r["a"])(t)&&Object(r["a"])(n)&&Object(r["a"])(i)&&Object(r["a"])(a)){const e=t.minimum,o=t.maximum,r=g.subtract(o,e,Tl),s=i-n,c=Math.max(g.maximumComponent(r),s);p=c<Sl-1?wl.BITS12:wl.NONE,d=Ne.inverseTransformation(a,new Ne);const l=g.negate(e,Al);Ne.multiply(Ne.fromTranslation(l,El),d,d);const u=Al;u.x=1/r.x,u.y=1/r.y,u.z=1/r.z,Ne.multiply(Ne.fromScale(u,El),d,d),f=Ne.clone(a),Ne.setTranslation(f,g.ZERO,f),a=Ne.clone(a,new Ne);const h=Ne.fromTranslation(e,El),m=Ne.fromScale(r,xl),_=Ne.multiply(h,m,El);Ne.multiply(a,_,a),Ne.multiply(f,_,f)}this.quantization=p,this.minimumHeight=n,this.maximumHeight=i,this.center=g.clone(e),this.toScaledENU=d,this.fromScaledENU=a,this.matrix=f,this.hasVertexNormals=s,this.hasWebMercatorT=Object(o["a"])(c,!1),this.hasGeodeticSurfaceNormals=Object(o["a"])(l,!1),this.exaggeration=Object(o["a"])(u,1),this.exaggerationRelativeHeight=Object(o["a"])(h,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}Il.prototype.encode=function(e,t,n,i,o,r,a,c){const l=i.x,u=i.y;if(this.quantization===wl.BITS12){n=Ne.multiplyByPoint(this.toScaledENU,n,Al),n.x=s["a"].clamp(n.x,0,1),n.y=s["a"].clamp(n.y,0,1),n.z=s["a"].clamp(n.z,0,1);const i=this.maximumHeight-this.minimumHeight,r=s["a"].clamp((o-this.minimumHeight)/i,0,1);Ht.fromElements(n.x,n.y,Cl);const c=gl.compressTextureCoordinates(Cl);Ht.fromElements(n.z,r,Cl);const h=gl.compressTextureCoordinates(Cl);Ht.fromElements(l,u,Cl);const d=gl.compressTextureCoordinates(Cl);if(e[t++]=c,e[t++]=h,e[t++]=d,this.hasWebMercatorT){Ht.fromElements(a,0,Cl);const n=gl.compressTextureCoordinates(Cl);e[t++]=n}}else g.subtract(n,this.center,Al),e[t++]=Al.x,e[t++]=Al.y,e[t++]=Al.z,e[t++]=o,e[t++]=l,e[t++]=u,this.hasWebMercatorT&&(e[t++]=a);return this.hasVertexNormals&&(e[t++]=gl.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=c.x,e[t++]=c.y,e[t++]=c.z),t};const Dl=new g,jl=new g;Il.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;const i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();const r=this.stride;for(let a=0;a<o;a++){for(let n=0;n<i;n++){const o=a*i+n,s=a*r+n;t[s]=e[o]}const o=this.decodePosition(t,a,Dl),s=n.geodeticSurfaceNormal(o,jl),c=a*r+this._offsetGeodeticSurfaceNormal;t[c]=s.x,t[c+1]=s.y,t[c+2]=s.z}},Il.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;const n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();const o=this.stride;for(let r=0;r<i;r++)for(let i=0;i<o;i++){const a=r*n+i,s=r*o+i;t[s]=e[a]}},Il.prototype.decodePosition=function(e,t,n){if(Object(r["a"])(n)||(n=new g),t*=this.stride,this.quantization===wl.BITS12){const i=gl.decompressTextureCoordinates(e[t],Cl);n.x=i.x,n.y=i.y;const o=gl.decompressTextureCoordinates(e[t+1],Cl);return n.z=o.x,Ne.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],g.add(n,this.center,n)},Il.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);const i=this.exaggeration,o=this.exaggerationRelativeHeight,r=1!==i;if(r&&this.hasGeodeticSurfaceNormals){const r=this.decodeGeodeticSurfaceNormal(e,t,jl),a=this.decodeHeight(e,t),s=vl.getHeight(a,i,o)-a;n.x+=r.x*s,n.y+=r.y*s,n.z+=r.z*s}return n},Il.prototype.decodeTextureCoordinates=function(e,t,n){return Object(r["a"])(n)||(n=new Ht),t*=this.stride,this.quantization===wl.BITS12?gl.decompressTextureCoordinates(e[t+2],n):Ht.fromElements(e[t+4],e[t+5],n)},Il.prototype.decodeHeight=function(e,t){if(t*=this.stride,this.quantization===wl.BITS12){const n=gl.decompressTextureCoordinates(e[t+1],Cl);return n.y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight}return e[t+3]},Il.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===wl.BITS12?gl.decompressTextureCoordinates(e[t+3],Cl).x:e[t+6]},Il.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;const i=e[t]/256,o=Math.floor(i),r=256*(i-o);return Ht.fromElements(o,r,n)},Il.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n},Il.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case wl.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};const Pl={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},Rl={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};Il.prototype.getAttributes=function(e){const t=$c.FLOAT,n=$c.getSizeInBytes(t),i=this.stride*n;let o=0;const r=[];function a(a,s){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:s,offsetInBytes:o,strideInBytes:i}),o+=s*n}if(this.quantization===wl.NONE){a(Pl.position3DAndHeight,4);let e=2;e+=this.hasWebMercatorT?1:0,e+=this.hasVertexNormals?1:0,a(Pl.textureCoordAndEncodedNormals,e),this.hasGeodeticSurfaceNormals&&a(Pl.geodeticSurfaceNormal,3)}else{const e=this.hasWebMercatorT||this.hasVertexNormals,t=this.hasWebMercatorT&&this.hasVertexNormals;a(Rl.compressed0,e?4:3),t&&a(Rl.compressed1,1),this.hasGeodeticSurfaceNormals&&a(Rl.geodeticSurfaceNormal,3)}return r},Il.prototype.getAttributeLocations=function(){return this.quantization===wl.NONE?Pl:Rl},Il.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)||(t=new Il),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=g.clone(e.center),t.toScaledENU=Ne.clone(e.toScaledENU),t.fromScaledENU=Ne.clone(e.fromScaledENU),t.matrix=Ne.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Ml=Il;function Nl(e){this._ellipsoid=Object(o["a"])(e,z.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(Nl.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),Nl.mercatorAngleToGeodeticLatitude=function(e){return s["a"].PI_OVER_TWO-2*Math.atan(Math.exp(-e))},Nl.geodeticLatitudeToMercatorAngle=function(e){e>Nl.MaximumLatitude?e=Nl.MaximumLatitude:e<-Nl.MaximumLatitude&&(e=-Nl.MaximumLatitude);const t=Math.sin(e);return.5*Math.log((1+t)/(1-t))},Nl.MaximumLatitude=Nl.mercatorAngleToGeodeticLatitude(Math.PI),Nl.prototype.project=function(e,t){const n=this._semimajorAxis,i=e.longitude*n,o=Nl.geodeticLatitudeToMercatorAngle(e.latitude)*n,a=e.height;return Object(r["a"])(t)?(t.x=i,t.y=o,t.z=a,t):new g(i,o,a)},Nl.prototype.unproject=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required");const n=this._oneOverSemimajorAxis,i=e.x*n,o=Nl.mercatorAngleToGeodeticLatitude(e.y*n),s=e.z;return Object(r["a"])(t)?(t.longitude=i,t.latitude=o,t.height=s,t):new I(i,o,s)};var Ll=Nl;const Bl={};Bl.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});const Fl=new g,kl=new Ne,zl=new g,Ul=new g;Bl.computeVertices=function(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.heightmap))throw new a["a"]("options.heightmap is required.");if(!Object(r["a"])(e.width)||!Object(r["a"])(e.height))throw new a["a"]("options.width and options.height are required.");if(!Object(r["a"])(e.nativeRectangle))throw new a["a"]("options.nativeRectangle is required.");if(!Object(r["a"])(e.skirtHeight))throw new a["a"]("options.skirtHeight is required.");const t=Math.cos,n=Math.sin,i=Math.sqrt,c=Math.atan,l=Math.exp,u=s["a"].PI_OVER_TWO,h=s["a"].toRadians,d=e.heightmap,f=e.width,p=e.height,m=e.skirtHeight,_=m>0,b=Object(o["a"])(e.isGeographic,!0),y=Object(o["a"])(e.ellipsoid,z.WGS84),v=1/y.maximumRadius,O=Fe.clone(e.nativeRectangle),w=Fe.clone(e.rectangle);let A,T,C,E;Object(r["a"])(w)?(A=w.west,T=w.south,C=w.east,E=w.north):b?(A=h(O.west),T=h(O.south),C=h(O.east),E=h(O.north)):(A=O.west*v,T=u-2*c(l(-O.south*v)),C=O.east*v,E=u-2*c(l(-O.north*v)));let x=e.relativeToCenter;const S=Object(r["a"])(x);x=S?x:g.ZERO;const I=Object(o["a"])(e.includeWebMercatorT,!1),D=Object(o["a"])(e.exaggeration,1),j=Object(o["a"])(e.exaggerationRelativeHeight,0),P=1!==D,R=P,M=Object(o["a"])(e.structure,Bl.DEFAULT_STRUCTURE),N=Object(o["a"])(M.heightScale,Bl.DEFAULT_STRUCTURE.heightScale),L=Object(o["a"])(M.heightOffset,Bl.DEFAULT_STRUCTURE.heightOffset),B=Object(o["a"])(M.elementsPerHeight,Bl.DEFAULT_STRUCTURE.elementsPerHeight),F=Object(o["a"])(M.stride,Bl.DEFAULT_STRUCTURE.stride),k=Object(o["a"])(M.elementMultiplier,Bl.DEFAULT_STRUCTURE.elementMultiplier),U=Object(o["a"])(M.isBigEndian,Bl.DEFAULT_STRUCTURE.isBigEndian);let V=Fe.computeWidth(O),H=Fe.computeHeight(O);const G=V/(f-1),q=H/(p-1);b||(V*=v,H*=v);const W=y.radiiSquared,Y=W.x,X=W.y,K=W.z;let J=65536,Z=-65536;const $=Hs.eastNorthUpToFixedFrame(x,y),Q=Ne.inverseTransformation($,kl);let ee,te;I&&(ee=Ll.geodeticLatitudeToMercatorAngle(T),te=1/(Ll.geodeticLatitudeToMercatorAngle(E)-ee));const ne=zl;ne.x=Number.POSITIVE_INFINITY,ne.y=Number.POSITIVE_INFINITY,ne.z=Number.POSITIVE_INFINITY;const ie=Ul;ie.x=Number.NEGATIVE_INFINITY,ie.y=Number.NEGATIVE_INFINITY,ie.z=Number.NEGATIVE_INFINITY;let oe=Number.POSITIVE_INFINITY;const re=f*p,ae=m>0?2*f+2*p:0,se=re+ae,ce=new Array(se),le=new Array(se),ue=new Array(se),he=I?new Array(se):[],de=R?new Array(se):[];let fe=0,pe=p,me=0,_e=f;_&&(--fe,++pe,--me,++_e);const ge=1e-5;for(let o=fe;o<pe;++o){let e=o;e<0&&(e=0),e>=p&&(e=p-1);let r=O.north-q*e;r=b?h(r):u-2*c(l(-r*v));let a=(r-T)/(E-T);a=s["a"].clamp(a,0,1);const _=o===fe,w=o===pe-1;m>0&&(_?r+=ge*H:w&&(r-=ge*H));const x=t(r),S=n(r),D=K*S;let j;I&&(j=(Ll.geodeticLatitudeToMercatorAngle(r)-ee)*te);for(let o=me;o<_e;++o){let r=o;r<0&&(r=0),r>=f&&(r=f-1);const c=e*(f*F)+r*F;let l;if(1===B)l=d[c];else{let e;if(l=0,U)for(e=0;e<B;++e)l=l*k+d[c+e];else for(e=B-1;e>=0;--e)l=l*k+d[c+e]}l=l*N+L,Z=Math.max(Z,l),J=Math.min(J,l);let u=O.west+G*r;b?u=h(u):u*=v;let T=(u-A)/(C-A);T=s["a"].clamp(T,0,1);let E=e*f+r;if(m>0){const t=o===me,n=o===_e-1,i=_||w||t||n,a=(_||w)&&(t||n);if(a)continue;i&&(l-=m,t?(E=re+(p-e-1),u-=ge*V):w?E=re+p+(f-r-1):n?(E=re+p+f+e,u+=ge*V):_&&(E=re+p+f+p+r))}const P=x*t(u),M=x*n(u),z=Y*P,H=X*M,q=i(z*P+H*M+D*S),W=1/q,K=z*W,$=H*W,ee=D*W,te=new g;te.x=K+P*l,te.y=$+M*l,te.z=ee+S*l,Ne.multiplyByPoint(Q,te,Fl),g.minimumByComponent(Fl,ne,ne),g.maximumByComponent(Fl,ie,ie),oe=Math.min(oe,l),ce[E]=te,ue[E]=new Ht(T,a),le[E]=l,I&&(he[E]=j),R&&(de[E]=y.geodeticSurfaceNormal(te))}}const be=Tt.fromPoints(ce);let ye,ve;if(Object(r["a"])(w)&&(ye=Xc.fromRectangle(w,J,Z,y)),S){const e=new Bi(y);ve=e.computeHorizonCullingPointPossiblyUnderEllipsoid(x,ce,J)}const Oe=new yi(ne,ie,x),we=new Ml(x,Oe,oe,Z,$,!1,I,R,D,j),Ae=new Float32Array(se*we.stride);let Te=0;for(let o=0;o<se;++o)Te=we.encode(Ae,Te,ce[o],ue[o],le[o],void 0,he[o],de[o]);return{vertices:Ae,maximumHeight:Z,minimumHeight:J,encoding:we,boundingSphere3D:be,orientedBoundingBox:ye,occludeePointInScaledSpace:ve}};var Vl=Bl,Hl=n("881b");function Gl(){return!0}function ql(e,t){function n(){throw new a["a"](t)}t=Object(o["a"])(t,"This object was destroyed, i.e., destroy() was called.");for(const i in e)"function"===typeof e[i]&&(e[i]=n);e.isDestroyed=Gl}var Wl=ql,Yl=n("083c");function Xl(){if(!Object(r["a"])(nu._canTransferArrayBuffer)){const t=new Worker(Zl("Workers/transferTypedArrayTest.js"));t.postMessage=Object(o["a"])(t.webkitPostMessage,t.postMessage);const n=99,i=new Int8Array([n]);try{t.postMessage({array:i},[i.buffer])}catch(e){return nu._canTransferArrayBuffer=!1,nu._canTransferArrayBuffer}const a=Object(xr["a"])();t.onmessage=function(e){const i=e.data.array,o=Object(r["a"])(i)&&i[0]===n;a.resolve(o),t.terminate(),nu._canTransferArrayBuffer=o},nu._canTransferArrayBuffer=a.promise}return nu._canTransferArrayBuffer}const Kl=new pi["a"];function Jl(e,t){--e._activeTasks;const n=t.id;if(!Object(r["a"])(n))return;const i=e._deferreds,o=i[n];if(Object(r["a"])(t.error)){let e=t.error;"RuntimeError"===e.name?(e=new ye["a"](t.error.message),e.stack=t.error.stack):"DeveloperError"===e.name&&(e=new a["a"](t.error.message),e.stack=t.error.stack),Kl.raiseEvent(e),o.reject(e)}else Kl.raiseEvent(),o.resolve(t.result);delete i[n]}function Zl(e){let t=Lt(e);if(Object(Yl["a"])(t)){const e=`importScripts("${t}");`;let i;try{i=new Blob([e],{type:"application/javascript"})}catch(n){const t=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,o=new t;o.append(e),i=o.getBlob("application/javascript")}const o=window.URL||window.webkitURL;t=o.createObjectURL(i)}return t}let $l;function Ql(){return Object(r["a"])($l)||($l=Zl("Workers/cesiumWorkerBootstrapper.js")),$l}function eu(e){const t=new Worker(Ql());t.postMessage=Object(o["a"])(t.webkitPostMessage,t.postMessage);const n={loaderConfig:{paths:{Workers:Lt("Workers")},baseUrl:Lt.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(t){Jl(e,t.data)},t}function tu(e,t){const n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Ta.supportsWebAssembly()){if(!Object(r["a"])(t.fallbackModulePath))throw new ye["a"]("This browser does not support Web Assembly, and no backup module was provided for "+e._workerPath);return n.modulePath=Lt(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=Lt(t.modulePath),n.wasmBinaryFile=Lt(t.wasmBinaryFile),Et["a"].fetchArrayBuffer({url:n.wasmBinaryFile}).then((function(e){return n.wasmBinary=e,n}))}function nu(e,t){const n=new Hl["a"](e);this._workerPath=0!==n.scheme().length&&0===n.fragment().length?e:nu._workerModulePrefix+e,this._maximumActiveTasks=Object(o["a"])(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}const iu=[];nu.prototype.scheduleTask=function(e,t){if(Object(r["a"])(this._worker)||(this._worker=eu(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;const n=this;return Promise.resolve(Xl()).then((function(i){Object(r["a"])(t)?i||(t.length=0):t=iu;const o=n._nextID++,a=Object(xr["a"])();return n._deferreds[o]=a,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),a.promise}))},nu.prototype.initWebAssemblyModule=function(e){Object(r["a"])(this._worker)||(this._worker=eu(this));const t=Object(xr["a"])(),n=this,i=this._worker;return tu(this,e).then((function(e){return Promise.resolve(Xl()).then((function(o){let a;const s=e.wasmBinary;Object(r["a"])(s)&&o&&(a=[s]),i.onmessage=function(e){i.onmessage=function(e){Jl(n,e.data)},t.resolve(e.data)},i.postMessage({webAssemblyConfig:e},a)}))})),t.promise},nu.prototype.isDestroyed=function(){return!1},nu.prototype.destroy=function(){return Object(r["a"])(this._worker)&&this._worker.terminate(),Wl(this)},nu.taskCompletedEvent=Kl,nu._defaultWorkerModulePrefix="Workers/",nu._workerModulePrefix=nu._defaultWorkerModulePrefix,nu._canTransferArrayBuffer=void 0;var ou=nu;function ru(){a["a"].throwInstantiationError()}Object.defineProperties(ru.prototype,{credits:{get:a["a"].throwInstantiationError},waterMask:{get:a["a"].throwInstantiationError}}),ru.prototype.interpolateHeight=a["a"].throwInstantiationError,ru.prototype.isChildAvailable=a["a"].throwInstantiationError,ru.prototype.createMesh=a["a"].throwInstantiationError,ru.prototype.upsample=a["a"].throwInstantiationError,ru.prototype.wasCreatedByUpsampling=a["a"].throwInstantiationError,ru.maximumAsynchronousTasks=5;var au=ru;function su(e,t,n,i,r,a,s,c,l,u,h,d,f,p,m,_){this.center=e,this.vertices=t,this.stride=Object(o["a"])(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=r,this.minimumHeight=a,this.maximumHeight=s,this.boundingSphere3D=c,this.occludeePointInScaledSpace=l,this.orientedBoundingBox=h,this.encoding=d,this.westIndicesSouthToNorth=f,this.southIndicesEastToWest=p,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=_}var cu=su;const lu={UNSIGNED_BYTE:Jc.UNSIGNED_BYTE,UNSIGNED_SHORT:Jc.UNSIGNED_SHORT,UNSIGNED_INT:Jc.UNSIGNED_INT,getSizeInBytes:function(e){switch(e){case lu.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case lu.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case lu.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}throw new a["a"]("indexDatatype is required and must be a valid IndexDatatype constant.")},fromSizeInBytes:function(e){switch(e){case 2:return lu.UNSIGNED_SHORT;case 4:return lu.UNSIGNED_INT;case 1:return lu.UNSIGNED_BYTE;default:throw new a["a"]("Size in bytes cannot be mapped to an IndexDatatype")}},validate:function(e){return Object(r["a"])(e)&&(e===lu.UNSIGNED_BYTE||e===lu.UNSIGNED_SHORT||e===lu.UNSIGNED_INT)},createTypedArray:function(e,t){if(!Object(r["a"])(e))throw new a["a"]("numberOfVertices is required.");return e>=s["a"].SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},createTypedArrayFromArrayBuffer:function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("numberOfVertices is required.");if(!Object(r["a"])(t))throw new a["a"]("sourceArray is required.");if(!Object(r["a"])(n))throw new a["a"]("byteOffset is required.");return e>=s["a"].SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)},fromTypedArray:function(e){if(e instanceof Uint8Array)return lu.UNSIGNED_BYTE;if(e instanceof Uint16Array)return lu.UNSIGNED_SHORT;if(e instanceof Uint32Array)return lu.UNSIGNED_INT;throw new a["a"]("array must be a Uint8Array, Uint16Array, or Uint32Array.")}};var uu=Object.freeze(lu);function hu(){a["a"].throwInstantiationError()}Object.defineProperties(hu.prototype,{errorEvent:{get:a["a"].throwInstantiationError},credit:{get:a["a"].throwInstantiationError},tilingScheme:{get:a["a"].throwInstantiationError},ready:{get:a["a"].throwInstantiationError},readyPromise:{get:a["a"].throwInstantiationError},hasWaterMask:{get:a["a"].throwInstantiationError},hasVertexNormals:{get:a["a"].throwInstantiationError},availability:{get:a["a"].throwInstantiationError}});const du=[];hu.getRegularGridIndices=function(e,t){if(e*t>=s["a"].FOUR_GIGABYTES)throw new a["a"]("The total number of vertices (width * height) must be less than 4,294,967,296.");let n=du[e];Object(r["a"])(n)||(du[e]=n=[]);let i=n[t];return Object(r["a"])(i)||(i=e*t<s["a"].SIXTY_FOUR_KILOBYTES?n[t]=new Uint16Array((e-1)*(t-1)*6):n[t]=new Uint32Array((e-1)*(t-1)*6),_u(e,t,i,0)),i};const fu=[];hu.getRegularGridIndicesAndEdgeIndices=function(e,t){if(e*t>=s["a"].FOUR_GIGABYTES)throw new a["a"]("The total number of vertices (width * height) must be less than 4,294,967,296.");let n=fu[e];Object(r["a"])(n)||(fu[e]=n=[]);let i=n[t];if(!Object(r["a"])(i)){const o=hu.getRegularGridIndices(e,t),r=mu(e,t),a=r.westIndicesSouthToNorth,s=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,l=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:a,southIndicesEastToWest:s,eastIndicesNorthToSouth:c,northIndicesWestToEast:l}}return i};const pu=[];function mu(e,t){const n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e);let a;for(a=0;a<e;++a)r[a]=a,i[a]=e*t-1-a;for(a=0;a<t;++a)o[a]=(a+1)*e-1,n[a]=(t-a-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function _u(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let t=0;t<e-1;++t){const t=o,r=t+e,a=r+1,s=t+1;n[i++]=t,n[i++]=r,n[i++]=s,n[i++]=s,n[i++]=r,n[i++]=a,++o}++o}}function gu(e,t,n,i){let o=e[0];const r=e.length;for(let a=1;a<r;++a){const r=e[a];n[i++]=o,n[i++]=r,n[i++]=t,n[i++]=t,n[i++]=r,n[i++]=t+1,o=r,++t}return i}hu.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){if(e*t>=s["a"].FOUR_GIGABYTES)throw new a["a"]("The total number of vertices (width * height) must be less than 4,294,967,296.");let n=pu[e];Object(r["a"])(n)||(pu[e]=n=[]);let i=n[t];if(!Object(r["a"])(i)){const o=e*t,r=(e-1)*(t-1)*6,a=2*e+2*t,s=6*Math.max(0,a-4),c=o+a,l=r+s,u=mu(e,t),h=u.westIndicesSouthToNorth,d=u.southIndicesEastToWest,f=u.eastIndicesNorthToSouth,p=u.northIndicesWestToEast,m=uu.createTypedArray(c,l);_u(e,t,m,0),hu.addSkirtIndices(h,d,f,p,o,m,r),i=n[t]={indices:m,westIndicesSouthToNorth:h,southIndicesEastToWest:d,eastIndicesNorthToSouth:f,northIndicesWestToEast:p,indexCountWithoutSkirts:r}}return i},hu.addSkirtIndices=function(e,t,n,i,o,r,a){let s=o;a=gu(e,s,r,a),s+=e.length,a=gu(t,s,r,a),s+=t.length,a=gu(n,s,r,a),s+=n.length,gu(i,s,r,a)},hu.heightmapTerrainQuality=.25,hu.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return 2*e.maximumRadius*Math.PI*hu.heightmapTerrainQuality/(t*n)},hu.prototype.requestTileGeometry=a["a"].throwInstantiationError,hu.prototype.getLevelMaximumGeometricError=a["a"].throwInstantiationError,hu.prototype.getTileDataAvailable=a["a"].throwInstantiationError,hu.prototype.loadTileDataAvailability=a["a"].throwInstantiationError;var bu=hu;function yu(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.buffer))throw new a["a"]("options.buffer is required.");if(!Object(r["a"])(e.width))throw new a["a"]("options.width is required.");if(!Object(r["a"])(e.height))throw new a["a"]("options.height is required.");this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=Object(o["a"])(e.childTileMask,15),this._encoding=Object(o["a"])(e.encoding,_i.NONE);const t=Vl.DEFAULT_STRUCTURE;let n=e.structure;Object(r["a"])(n)?n!==t&&(n.heightScale=Object(o["a"])(n.heightScale,t.heightScale),n.heightOffset=Object(o["a"])(n.heightOffset,t.heightOffset),n.elementsPerHeight=Object(o["a"])(n.elementsPerHeight,t.elementsPerHeight),n.stride=Object(o["a"])(n.stride,t.stride),n.elementMultiplier=Object(o["a"])(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=Object(o["a"])(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=Object(o["a"])(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===_i.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(yu.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});const vu="createVerticesFromHeightmap",Ou=new ou(vu),wu=new ou(vu,au.maximumAsynchronousTasks);function Au(e,t,n,i,o,r,a,s,c,l){const u=(c-r.west)*(a-1)/(r.east-r.west),h=(l-r.south)*(s-1)/(r.north-r.south);let d=0|u,f=d+1;f>=a&&(f=a-1,d=a-2);let p=0|h,m=p+1;m>=s&&(m=s-1,p=s-2);const _=u-d,g=h-p;p=s-1-p,m=s-1-m;const b=Eu(e,t,n,i,o,p*a+d),y=Eu(e,t,n,i,o,p*a+f),v=Eu(e,t,n,i,o,m*a+d),O=Eu(e,t,n,i,o,m*a+f);return Cu(_,g,b,y,v,O)}function Tu(e,t,n,i,o,r,a,s,c){const l=(s-o.west)*(r-1)/(o.east-o.west),u=(c-o.south)*(a-1)/(o.north-o.south);let h=0|l,d=h+1;d>=r&&(d=r-1,h=r-2);let f=0|u,p=f+1;p>=a&&(p=a-1,f=a-2);const m=l-h,_=u-f;f=a-1-f,p=a-1-p;const g=(t.decodeHeight(e,f*r+h)-n)/i,b=(t.decodeHeight(e,f*r+d)-n)/i,y=(t.decodeHeight(e,p*r+h)-n)/i,v=(t.decodeHeight(e,p*r+d)-n)/i;return Cu(m,_,g,b,y,v)}function Cu(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function Eu(e,t,n,i,o,r){r*=i;let a,s=0;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function xu(e,t,n,i,o,r,a,s){let c;if(a*=o,r)for(c=0;c<t-1;++c)e[a+c]=s/i|0,s-=e[a+c]*i,i/=n;else for(c=t-1;c>0;--c)e[a+c]=s/i|0,s-=e[a+c]*i,i/=n;e[a+c]=s}yu.prototype.createMesh=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.tilingScheme",e.tilingScheme),i["a"].typeOf.number("options.x",e.x),i["a"].typeOf.number("options.y",e.y),i["a"].typeOf.number("options.level",e.level);const t=e.tilingScheme,n=e.x,a=e.y,s=e.level,c=Object(o["a"])(e.exaggeration,1),l=Object(o["a"])(e.exaggerationRelativeHeight,0),u=Object(o["a"])(e.throttle,!0),h=t.ellipsoid,d=t.tileXYToNativeRectangle(n,a,s),f=t.tileXYToRectangle(n,a,s),p=h.cartographicToCartesian(Fe.center(f)),m=this._structure,_=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(h,this._width,t.getNumberOfXTilesAtLevel(0)),b=_/(1<<s);this._skirtHeight=Math.min(4*b,1e3);const y=u?wu:Ou,v=y.scheduleTask({heightmap:this._buffer,structure:m,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:d,rectangle:f,relativeToCenter:p,ellipsoid:h,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof V,exaggeration:c,exaggerationRelativeHeight:l,encoding:this._encoding});if(!Object(r["a"])(v))return;const O=this;return Promise.resolve(v).then((function(e){let t;t=O._skirtHeight>0?bu.getRegularGridAndSkirtIndicesAndEdgeIndices(e.gridWidth,e.gridHeight):bu.getRegularGridIndicesAndEdgeIndices(e.gridWidth,e.gridHeight);const n=e.gridWidth*e.gridHeight;return O._mesh=new cu(p,new Float32Array(e.vertices),t.indices,t.indexCountWithoutSkirts,n,e.minimumHeight,e.maximumHeight,Tt.clone(e.boundingSphere3D),g.clone(e.occludeePointInScaledSpace),e.numberOfAttributes,Xc.clone(e.orientedBoundingBox),Ml.clone(e.encoding),t.westIndicesSouthToNorth,t.southIndicesEastToWest,t.eastIndicesNorthToSouth,t.northIndicesWestToEast),O._buffer=void 0,O._mesh}))},yu.prototype._createMeshSync=function(e){i["a"].typeOf.object("options.tilingScheme",e.tilingScheme),i["a"].typeOf.number("options.x",e.x),i["a"].typeOf.number("options.y",e.y),i["a"].typeOf.number("options.level",e.level);const t=e.tilingScheme,n=e.x,r=e.y,a=e.level,s=Object(o["a"])(e.exaggeration,1),c=Object(o["a"])(e.exaggerationRelativeHeight,0),l=t.ellipsoid,u=t.tileXYToNativeRectangle(n,r,a),h=t.tileXYToRectangle(n,r,a),d=l.cartographicToCartesian(Fe.center(h)),f=this._structure,p=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(l,this._width,t.getNumberOfXTilesAtLevel(0)),m=p/(1<<a);this._skirtHeight=Math.min(4*m,1e3);const _=Vl.computeVertices({heightmap:this._buffer,structure:f,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:h,relativeToCenter:d,ellipsoid:l,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof V,exaggeration:s,exaggerationRelativeHeight:c});let g;this._buffer=void 0,g=this._skirtHeight>0?bu.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):bu.getRegularGridIndicesAndEdgeIndices(this._width,this._height);const b=_.gridWidth*_.gridHeight;return this._mesh=new cu(d,_.vertices,g.indices,g.indexCountWithoutSkirts,b,_.minimumHeight,_.maximumHeight,_.boundingSphere3D,_.occludeePointInScaledSpace,_.encoding.stride,_.orientedBoundingBox,_.encoding,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),this._mesh},yu.prototype.interpolateHeight=function(e,t,n){const i=this._width,o=this._height,a=this._structure,s=a.stride,c=a.elementsPerHeight,l=a.elementMultiplier,u=a.isBigEndian,h=a.heightOffset,d=a.heightScale,f=Object(r["a"])(this._mesh),p=this._encoding===_i.LERC,m=!f&&p;if(m)return;let _;if(f){const r=this._mesh.vertices,a=this._mesh.encoding;_=Tu(r,a,h,d,e,i,o,t,n)}else _=Au(this._buffer,c,l,s,u,e,i,o,t,n),_=_*d+h;return _},yu.prototype.upsample=function(e,t,n,i,o,c,l){if(!Object(r["a"])(e))throw new a["a"]("tilingScheme is required.");if(!Object(r["a"])(t))throw new a["a"]("thisX is required.");if(!Object(r["a"])(n))throw new a["a"]("thisY is required.");if(!Object(r["a"])(i))throw new a["a"]("thisLevel is required.");if(!Object(r["a"])(o))throw new a["a"]("descendantX is required.");if(!Object(r["a"])(c))throw new a["a"]("descendantY is required.");if(!Object(r["a"])(l))throw new a["a"]("descendantLevel is required.");const u=l-i;if(u>1)throw new a["a"]("Upsampling through more than one level at a time is not currently supported.");const h=this._mesh;if(!Object(r["a"])(h))return;const d=this._width,f=this._height,p=this._structure,m=p.stride,_=new this._bufferType(d*f*m),g=h.vertices,b=h.encoding,y=e.tileXYToRectangle(t,n,i),v=e.tileXYToRectangle(o,c,l),O=p.heightOffset,w=p.heightScale,A=p.elementsPerHeight,T=p.elementMultiplier,C=p.isBigEndian,E=Math.pow(T,A-1);for(let r=0;r<f;++r){const e=s["a"].lerp(v.north,v.south,r/(f-1));for(let t=0;t<d;++t){const n=s["a"].lerp(v.west,v.east,t/(d-1));let i=Tu(g,b,O,w,y,d,f,n,e);i=i<p.lowestEncodedHeight?p.lowestEncodedHeight:i,i=i>p.highestEncodedHeight?p.highestEncodedHeight:i,xu(_,A,T,E,m,C,r*d+t,i)}}return Promise.resolve(new yu({buffer:_,width:d,height:f,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))},yu.prototype.isChildAvailable=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("thisX is required.");if(!Object(r["a"])(t))throw new a["a"]("thisY is required.");if(!Object(r["a"])(n))throw new a["a"]("childX is required.");if(!Object(r["a"])(i))throw new a["a"]("childY is required.");let o=2;return n!==2*e&&++o,i!==2*t&&(o-=2),0!==(this._childTileMask&1<<o)},yu.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var Su=yu,Iu=n("de66"),Du=n("8a39"),ju=n("b82e");function Pu(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}const Ru=new Fe;function Mu(e,t,n,i){const o=i.length;for(let r=0;r<o;++r){const o=i[r];if(o.x===t&&o.y===n&&o.level===e)return!0}return!1}Pu.prototype.addAvailableTileRange=function(e,t,n,i,o){const r=this._tilingScheme,a=this._rootNodes;if(0===e)for(let d=n;d<=o;++d)for(let n=t;n<=i;++n)Mu(e,n,d,a)||a.push(new zu(r,void 0,0,n,d));r.tileXYToRectangle(t,n,e,Ru);const s=Ru.west,c=Ru.north;r.tileXYToRectangle(i,o,e,Ru);const l=Ru.east,u=Ru.south,h=new Uu(e,s,u,l,c);for(let d=0;d<a.length;++d){const e=a[d];Vu(e.extent,h)&&Hu(this._maximumLevel,e,h)}},Pu.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){const i=this._rootNodes[n];if(Wu(i.extent,e)){t=i;break}}return Object(r["a"])(t)?Yu(void 0,t,e):-1};const Nu=[],Lu=[],Bu=new Fe,Fu=new Fe;Pu.prototype.computeBestAvailableLevelOverRectangle=function(e){const t=Nu;t.length=0,e.east<e.west?(t.push(Fe.fromRadians(-Math.PI,e.south,e.east,e.north,Bu)),t.push(Fe.fromRadians(e.west,e.south,Math.PI,e.north,Fu))):t.push(e);const n=Lu;let i;for(n.length=0,i=0;i<this._rootNodes.length;++i)Xu(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(Object(r["a"])(n[i])&&0===n[i].length)return i;return 0};const ku=new I;function zu(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}function Uu(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function Vu(e,t){const n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function Hu(e,t,n){while(t.level<e)if(qu(t.nw.extent,n))t=t.nw;else if(qu(t.ne.extent,n))t=t.ne;else if(qu(t.sw.extent,n))t=t.sw;else{if(!qu(t.se.extent,n))break;t=t.se}if(0===t.rectangles.length||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let e=Bo(t.rectangles,n.level,Gu);e<0&&(e=~e),t.rectangles.splice(e,0,n)}}function Gu(e,t){return e.level-t}function qu(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function Wu(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function Yu(e,t,n){let i=0,o=!1;while(!o){const e=t._nw&&Wu(t._nw.extent,n),r=t._ne&&Wu(t._ne.extent,n),a=t._sw&&Wu(t._sw.extent,n),s=t._se&&Wu(t._se.extent,n);if(e+r+a+s>1){e&&(i=Math.max(i,Yu(t,t._nw,n))),r&&(i=Math.max(i,Yu(t,t._ne,n))),a&&(i=Math.max(i,Yu(t,t._sw,n))),s&&(i=Math.max(i,Yu(t,t._se,n)));break}e?t=t._nw:r?t=t._ne:a?t=t._sw:s?t=t._se:o=!0}while(t!==e){const e=t.rectangles;for(let t=e.length-1;t>=0&&e[t].level>i;--t){const o=e[t];Wu(o,n)&&(i=o.level)}t=t.parent}return i}function Xu(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||Vu(t.extent,n[i]);if(!o)return;const r=t.rectangles;for(i=0;i<r.length;++i){const t=r[i];e[t.level]||(e[t.level]=n),e[t.level]=Ku(e[t.level],t)}Xu(e,t._nw,n),Xu(e,t._ne,n),Xu(e,t._sw,n),Xu(e,t._se,n)}function Ku(e,t){const n=[];for(let i=0;i<e.length;++i){const o=e[i];Vu(o,t)?(o.west<t.west&&n.push(new Fe(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new Fe(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new Fe(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new Fe(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}Pu.prototype.isTileAvailable=function(e,t,n){const i=this._tilingScheme.tileXYToRectangle(t,n,e,Ru);return Fe.center(i,ku),this.computeMaximumLevelAtPosition(ku)>=e},Pu.prototype.computeChildMaskForTile=function(e,t,n){const i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o},Object.defineProperties(zu.prototype,{nw:{get:function(){return this._nw||(this._nw=new zu(this.tilingScheme,this,this.level+1,2*this.x,2*this.y)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new zu(this.tilingScheme,this,this.level+1,2*this.x+1,2*this.y)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new zu(this.tilingScheme,this,this.level+1,2*this.x,2*this.y+1)),this._sw}},se:{get:function(){return this._se||(this._se=new zu(this.tilingScheme,this,this.level+1,2*this.x+1,2*this.y+1)),this._se}}});var Ju=Pu;function Zu(e){let t;const n=e.name,i=e.message;t=Object(r["a"])(n)&&Object(r["a"])(i)?`${n}: ${i}`:e.toString();const o=e.stack;return Object(r["a"])(o)&&(t+="\n"+o),t}var $u=Zu;function Qu(e,t,n,i,r,a,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=r,this.timesRetried=Object(o["a"])(a,0),this.retry=!1,this.error=s}Qu.handleError=function(e,t,n,i,o,a,s,c,l){let u=e;return Object(r["a"])(e)?(u.provider=t,u.message=i,u.x=o,u.y=a,u.level=s,u.retry=!1,u.error=l,++u.timesRetried):u=new Qu(t,i,o,a,s,0,l),n.numberOfListeners>0?n.raiseEvent(u):console.log(`An error occurred in "${t.constructor.name}": ${$u(i)}`),u.retry&&Object(r["a"])(c)&&c(),u},Qu.handleSuccess=function(e){Object(r["a"])(e)&&(e.timesRetried=-1)};var eh=Qu;function th(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._numberOfLevelZeroTilesX=Object(o["a"])(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=Object(o["a"])(e.numberOfLevelZeroTilesY,1),this._projection=new Ll(this._ellipsoid),Object(r["a"])(e.rectangleSouthwestInMeters)&&Object(r["a"])(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{const e=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new Ht(-e,-e),this._rectangleNortheastInMeters=new Ht(e,e)}const t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new Fe(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(th.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),th.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e},th.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e},th.prototype.rectangleToNativeRectangle=function(e,t){const n=this._projection,i=n.project(Fe.southwest(e)),o=n.project(Fe.northeast(e));return Object(r["a"])(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new Fe(i.x,i.y,o.x,o.y)},th.prototype.tileXYToNativeRectangle=function(e,t,n,i){const o=this.getNumberOfXTilesAtLevel(n),a=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,c=this._rectangleSouthwestInMeters.x+e*s,l=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/a,h=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return Object(r["a"])(i)?(i.west=c,i.south=d,i.east=l,i.north=h,i):new Fe(c,d,l,h)},th.prototype.tileXYToRectangle=function(e,t,n,i){const o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,a=r.unproject(new Ht(o.west,o.south)),s=r.unproject(new Ht(o.east,o.north));return o.west=a.longitude,o.south=a.latitude,o.east=s.longitude,o.north=s.latitude,o},th.prototype.positionToTileXY=function(e,t,n){const i=this._rectangle;if(!Fe.contains(i,e))return;const o=this.getNumberOfXTilesAtLevel(t),a=this.getNumberOfYTilesAtLevel(t),s=this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x,c=s/o,l=this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y,u=l/a,h=this._projection,d=h.project(e),f=d.x-this._rectangleSouthwestInMeters.x,p=this._rectangleNortheastInMeters.y-d.y;let m=f/c|0;m>=o&&(m=o-1);let _=p/u|0;return _>=a&&(_=a-1),Object(r["a"])(n)?(n.x=m,n.y=_,n):new Ht(m,_)};var nh=th;const ih=15;function oh(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._ready=!1,this._width=void 0,this._height=void 0,this._encoding=void 0;const t=e.token;this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailablityLoaded=void 0,this._availableCache={};const n=this,i=Object(o["a"])(e.ellipsoid,z.WGS84);this._readyPromise=Promise.resolve(e.url).then((function(e){let i=Et["a"].createIfNeeded(e);i.appendForwardSlash(),Object(r["a"])(t)&&(i=i.getDerivedResource({queryParameters:{token:t}})),n._resource=i;const o=i.getDerivedResource({queryParameters:{f:"pjson"}});return o.fetchJson()})).then((function(e){const t=e.copyrightText;Object(r["a"])(t)&&(n._credit=new fi(t));const a=e.spatialReference,s=Object(o["a"])(a.latestWkid,a.wkid),c=e.extent,l={ellipsoid:i};if(4326===s)l.rectangle=Fe.fromDegrees(c.xmin,c.ymin,c.xmax,c.ymax),n._tilingScheme=new qt(l);else{if(3857!==s)return Promise.reject(new ye["a"]("Invalid spatial reference"));l.rectangleSouthwestInMeters=new Ht(c.xmin,c.ymin),l.rectangleNortheastInMeters=new Ht(c.xmax,c.ymax),n._tilingScheme=new nh(l)}const u=e.tileInfo;if(!Object(r["a"])(u))return Promise.reject(new ye["a"]("tileInfo is required"));n._width=u.rows+1,n._height=u.cols+1,n._encoding="LERC"===u.format?_i.LERC:_i.NONE,n._lodCount=u.lods.length-1;const h=n._hasAvailability=-1!==e.capabilities.indexOf("Tilemap");return h&&(n._tilesAvailable=new Ju(n._tilingScheme,n._lodCount),n._tilesAvailable.addAvailableTileRange(0,0,0,n._tilingScheme.getNumberOfXTilesAtLevel(0),n._tilingScheme.getNumberOfYTilesAtLevel(0)),n._tilesAvailablityLoaded=new Ju(n._tilingScheme,n._lodCount)),n._levelZeroMaximumGeometricError=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._width,n._tilingScheme.getNumberOfXTilesAtLevel(0)),e.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),n._terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:e.minValues[0],highestEncodedHeight:e.maxValues[0]},n._ready=!0,!0})).catch((function(e){const t=`An error occurred while accessing ${n._resource.url}.`;return eh.handleError(void 0,n,n._errorEvent,t),Promise.reject(e)})),this._errorEvent=new pi["a"]}function rh(e,t,n,i){if(!e._hasAvailability)return;const o=e._tilesAvailablityLoaded,r=e._tilesAvailable;return!(t>e._lodCount)&&(!!r.isTileAvailable(t,n,i)||!o.isTileAvailable(t,n,i)&&void 0)}function ah(e,t,n,i){const o=t-1,r=n-1,a=i[e.y*t+e.x],s=[],c={startX:e.x,startY:e.y,endX:0,endY:0},l=new Ht(e.x+1,e.y+1);let u=!1,h=!1;while(!u||!h){let n=l.x;const d=h?l.y+1:l.y;if(!u){for(let n=e.y;n<d;++n)if(i[n*t+l.x]!==a){u=!0;break}u?(s.push(new Ht(l.x,e.y)),--l.x,--n,c.endX=l.x):l.x===o?(c.endX=l.x,u=!0):++l.x}if(!h){const o=l.y*t;for(let t=e.x;t<=n;++t)if(i[o+t]!==a){h=!0;break}h?(s.push(new Ht(e.x,l.y)),--l.y,c.endY=l.y):l.y===r?(c.endY=l.y,h=!0):++l.y}}return{endingIndices:s,range:c,value:a}}function sh(e,t,n,i,o){const r=[],a=o.every((function(e){return e===o[0]}));if(a)return 1===o[0]&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let s=[new Ht(0,0)];while(s.length>0){const a=s.pop(),c=ah(a,n,i,o);if(1===c.value){const n=c.range;n.startX+=e,n.endX+=e,n.startY+=t,n.endY+=t,r.push(n)}const l=c.endingIndices;l.length>0&&(s=s.concat(l))}return r}function ch(e,t,n,i){if(!e._hasAvailability)return{};const o=128*Math.floor(n/128),a=128*Math.floor(i/128),s=Math.min(1<<t,128),c=`tilemap/${t}/${a}/${o}/${s}/${s}`,l=e._availableCache;if(Object(r["a"])(l[c]))return l[c];const u=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].TERRAIN}),h=e._resource.getDerivedResource({url:c,request:u});let d=h.fetchJson();return Object(r["a"])(d)?(d=d.then((function(r){const c=sh(o,a,s,s,r.data);e._tilesAvailablityLoaded.addAvailableTileRange(t,o,a,o+s,a+s);const l=e._tilesAvailable;for(let e=0;e<c.length;++e){const n=c[e];l.addAvailableTileRange(t,n.startX,n.startY,n.endX,n.endY)}return rh(e,t,n,i)})),l[c]={promise:d,request:u},d=d.finally((function(e){return delete l[c],e})),{promise:d,request:u}):{}}Object.defineProperties(oh.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){if(!this.ready)throw new a["a"]("credit must not be called before ready returns true.");return this._credit}},tilingScheme:{get:function(){if(!this.ready)throw new a["a"]("tilingScheme must not be called before ready returns true.");return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){if(!this._ready)throw new a["a"]("availability must not be called before the terrain provider is ready.");return this._tilesAvailable}}}),oh.prototype.requestTileGeometry=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestTileGeometry must not be called before the terrain provider is ready.");const o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),s=this._hasAvailability;let c,l=Promise.resolve(!0);if(s&&!Object(r["a"])(rh(this,n+1,2*e,2*t))){const i=ch(this,n+1,2*e,2*t);l=i.promise,c=i.request}const u=o.fetchArrayBuffer();if(!Object(r["a"])(u)||!Object(r["a"])(l))return;const h=this,d=this._tilesAvailable;return Promise.all([u,l]).then((function(i){return new Su({buffer:i[0],width:h._width,height:h._height,childTileMask:s?d.computeChildMaskForTile(n,e,t):ih,structure:h._terrainDataStructure,encoding:h._encoding})})).catch((function(e){return Object(r["a"])(c)&&c.state===Du["a"].CANCELLED?(i.cancel(),i.deferred.promise.finally((function(){return i.state=Du["a"].CANCELLED,Promise.reject(e)}))):Promise.reject(e)}))},oh.prototype.getLevelMaximumGeometricError=function(e){if(!this.ready)throw new a["a"]("getLevelMaximumGeometricError must not be called before ready returns true.");return this._levelZeroMaximumGeometricError/(1<<e)},oh.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;const i=rh(this,n,e,t);if(Object(r["a"])(i))return i;ch(this,n,e,t)},oh.prototype.loadTileDataAvailability=function(e,t,n){};var lh=oh;const uh={NONE:0,GEODESIC:1,RHUMB:2};var hh=Object.freeze(uh);function dh(){this._array=[],this._hash={}}Object.defineProperties(dh.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}}),dh.prototype.contains=function(e){if("string"!==typeof e&&"number"!==typeof e)throw new a["a"]("key is required to be a string or number.");return Object(r["a"])(this._hash[e])},dh.prototype.set=function(e,t){if("string"!==typeof e&&"number"!==typeof e)throw new a["a"]("key is required to be a string or number.");const n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))},dh.prototype.get=function(e){if("string"!==typeof e&&"number"!==typeof e)throw new a["a"]("key is required to be a string or number.");return this._hash[e]},dh.prototype.remove=function(e){if(Object(r["a"])(e)&&"string"!==typeof e&&"number"!==typeof e)throw new a["a"]("key is required to be a string or number.");const t=this._hash[e],n=Object(r["a"])(t);if(n){const n=this._array;n.splice(n.indexOf(t),1),delete this._hash[e]}return n},dh.prototype.removeAll=function(){const e=this._array;e.length>0&&(this._hash={},e.length=0)};var fh=dh;const ph="https://dev.virtualearth.net/REST/v1/Locations";function mh(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.key;if(!Object(r["a"])(t))throw new a["a"]("options.key is required.");this._key=t;const n={key:t};Object(r["a"])(e.culture)&&(n.culture=e.culture),this._resource=new Et["a"]({url:ph,queryParameters:n})}Object.defineProperties(mh.prototype,{url:{get:function(){return ph}},key:{get:function(){return this._key}}}),mh.prototype.geocode=function(e){i["a"].typeOf.string("query",e);const t=this._resource.getDerivedResource({queryParameters:{query:e}});return t.fetchJsonp("jsonp").then((function(e){if(0===e.resourceSets.length)return[];const t=e.resourceSets[0].resources;return t.map((function(e){const t=e.bbox,n=t[0],i=t[1],o=t[2],r=t[3];return{displayName:e.name,destination:Fe.fromDegrees(i,n,r,o)}}))}))};var _h=mh;function gh(e,t,n,i){this.x=Object(o["a"])(e,0),this.y=Object(o["a"])(t,0),this.width=Object(o["a"])(n,0),this.height=Object(o["a"])(i,0)}gh.packedLength=4,gh.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t},gh.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new gh),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n},gh.fromPoints=function(e,t){if(Object(r["a"])(t)||(t=new gh),!Object(r["a"])(e)||0===e.length)return t.x=0,t.y=0,t.width=0,t.height=0,t;const n=e.length;let i=e[0].x,o=e[0].y,a=e[0].x,s=e[0].y;for(let r=1;r<n;r++){const t=e[r],n=t.x,c=t.y;i=Math.min(n,i),a=Math.max(n,a),o=Math.min(c,o),s=Math.max(c,s)}return t.x=i,t.y=o,t.width=a-i,t.height=s-o,t};const bh=new V,yh=new I,vh=new I;gh.fromRectangle=function(e,t,n){if(Object(r["a"])(n)||(n=new gh),!Object(r["a"])(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;t=Object(o["a"])(t,bh);const i=t.project(Fe.southwest(e,yh)),a=t.project(Fe.northeast(e,vh));return Ht.subtract(a,i,a),n.x=i.x,n.y=i.y,n.width=a.x,n.height=a.y,n},gh.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new gh(e.x,e.y,e.width,e.height)},gh.union=function(e,t,n){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),Object(r["a"])(n)||(n=new gh);const o=Math.min(e.x,t.x),a=Math.min(e.y,t.y),s=Math.max(e.x+e.width,t.x+t.width),c=Math.max(e.y+e.height,t.y+t.height);return n.x=o,n.y=a,n.width=s-o,n.height=c-a,n},gh.expand=function(e,t,n){i["a"].typeOf.object("rectangle",e),i["a"].typeOf.object("point",t),n=gh.clone(e,n);const o=t.x-n.x,r=t.y-n.y;return o>n.width?n.width=o:o<0&&(n.width-=o,n.x=t.x),r>n.height?n.height=r:r<0&&(n.height-=r,n.y=t.y),n},gh.intersect=function(e,t){i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t);const n=e.x,o=e.y,r=t.x,a=t.y;return n>r+t.width||n+e.width<r||o+e.height<a||o>a+t.height?G.OUTSIDE:G.INTERSECTING},gh.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height},gh.prototype.clone=function(e){return gh.clone(this,e)},gh.prototype.intersect=function(e){return gh.intersect(this,e)},gh.prototype.equals=function(e){return gh.equals(this,e)};var Oh=gh;function wh(e,t,n,a){if(i["a"].defined("array",e),i["a"].defined("value",t),Object(r["a"])(n)&&i["a"].typeOf.number("start",n),Object(r["a"])(a)&&i["a"].typeOf.number("end",a),"function"===typeof e.fill)return e.fill(t,n,a);const s=e.length>>>0,c=Object(o["a"])(n,0);let l=c<0?Math.max(s+c,0):Math.min(c,s);const u=Object(o["a"])(a,s),h=u<0?Math.max(s+u,0):Math.min(u,s);while(l<h)e[l]=t,l++;return e}var Ah=wh;const Th={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3};var Ch=Object.freeze(Th);const Eh={POINTS:Jc.POINTS,LINES:Jc.LINES,LINE_LOOP:Jc.LINE_LOOP,LINE_STRIP:Jc.LINE_STRIP,TRIANGLES:Jc.TRIANGLES,TRIANGLE_STRIP:Jc.TRIANGLE_STRIP,TRIANGLE_FAN:Jc.TRIANGLE_FAN,isLines:function(e){return e===Eh.LINES||e===Eh.LINE_LOOP||e===Eh.LINE_STRIP},isTriangles:function(e){return e===Eh.TRIANGLES||e===Eh.TRIANGLE_STRIP||e===Eh.TRIANGLE_FAN},validate:function(e){return e===Eh.POINTS||e===Eh.LINES||e===Eh.LINE_LOOP||e===Eh.LINE_STRIP||e===Eh.TRIANGLES||e===Eh.TRIANGLE_STRIP||e===Eh.TRIANGLE_FAN}};var xh=Object.freeze(Eh);function Sh(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.attributes",e.attributes),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=Object(o["a"])(e.primitiveType,xh.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=Object(o["a"])(e.geometryType,Ch.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Sh.computeNumberOfVertices=function(e){i["a"].typeOf.object("geometry",e);let t=-1;for(const n in e.attributes)if(e.attributes.hasOwnProperty(n)&&Object(r["a"])(e.attributes[n])&&Object(r["a"])(e.attributes[n].values)){const i=e.attributes[n],o=i.values.length/i.componentsPerAttribute;if(t!==o&&-1!==t)throw new a["a"]("All attribute lists must have the same number of attributes.");t=o}return t};const Ih=new I,Dh=new g,jh=new Ne,Ph=[new I,new I,new I],Rh=[new Ht,new Ht,new Ht],Mh=[new Ht,new Ht,new Ht],Nh=new g,Lh=new $a,Bh=new Ne,Fh=new al;Sh._textureCoordinateRotationPoints=function(e,t,n,i){let o;const r=Fe.center(i,Ih),a=I.toCartesian(r,n,Dh),s=Hs.eastNorthUpToFixedFrame(a,n,jh),c=Ne.inverse(s,jh),l=Rh,u=Ph;u[0].longitude=i.west,u[0].latitude=i.south,u[1].longitude=i.west,u[1].latitude=i.north,u[2].longitude=i.east,u[2].latitude=i.south;let h=Nh;for(o=0;o<3;o++)I.toCartesian(u[o],n,h),h=Ne.multiplyByPointAsVector(c,h,h),l[o].x=h.x,l[o].y=h.y;const d=$a.fromAxisAngle(g.UNIT_Z,-t,Lh),f=ce.fromQuaternion(d,Bh),p=e.length;let m=Number.POSITIVE_INFINITY,_=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,y=Number.NEGATIVE_INFINITY;for(o=0;o<p;o++)h=Ne.multiplyByPointAsVector(c,e[o],h),h=ce.multiplyByVector(f,h,h),m=Math.min(m,h.x),_=Math.min(_,h.y),b=Math.max(b,h.x),y=Math.max(y,h.y);const v=al.fromRotation(t,Fh),O=Mh;O[0].x=m,O[0].y=_,O[1].x=m,O[1].y=y,O[2].x=b,O[2].y=_;const w=l[0],A=l[2].x-w.x,T=l[1].y-w.y;for(o=0;o<3;o++){const e=O[o];al.multiplyByVector(v,e,e),e.x=(e.x-w.x)/A,e.y=(e.y-w.y)/T}const C=O[0],E=O[1],x=O[2],S=new Array(6);return Ht.pack(C,S),Ht.pack(E,S,2),Ht.pack(x,S,4),S};var kh=Sh;function zh(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.componentDatatype))throw new a["a"]("options.componentDatatype is required.");if(!Object(r["a"])(e.componentsPerAttribute))throw new a["a"]("options.componentsPerAttribute is required.");if(e.componentsPerAttribute<1||e.componentsPerAttribute>4)throw new a["a"]("options.componentsPerAttribute must be between 1 and 4.");if(!Object(r["a"])(e.values))throw new a["a"]("options.values is required.");this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=Object(o["a"])(e.normalize,!1),this.values=e.values}var Uh=zh;function Vh(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var Hh=Vh;const Gh={NONE:0,TOP:1,ALL:2};var qh=Object.freeze(Gh);function Wh(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.position=Object(o["a"])(e.position,!1),this.normal=Object(o["a"])(e.normal,!1),this.st=Object(o["a"])(e.st,!1),this.bitangent=Object(o["a"])(e.bitangent,!1),this.tangent=Object(o["a"])(e.tangent,!1),this.color=Object(o["a"])(e.color,!1)}Wh.POSITION_ONLY=Object.freeze(new Wh({position:!0})),Wh.POSITION_AND_NORMAL=Object.freeze(new Wh({position:!0,normal:!0})),Wh.POSITION_NORMAL_AND_ST=Object.freeze(new Wh({position:!0,normal:!0,st:!0})),Wh.POSITION_AND_ST=Object.freeze(new Wh({position:!0,st:!0})),Wh.POSITION_AND_COLOR=Object.freeze(new Wh({position:!0,color:!0})),Wh.ALL=Object.freeze(new Wh({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0})),Wh.DEFAULT=Wh.POSITION_NORMAL_AND_ST,Wh.packedLength=6,Wh.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t},Wh.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");return t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new Wh),n.position=1===e[t++],n.normal=1===e[t++],n.st=1===e[t++],n.tangent=1===e[t++],n.bitangent=1===e[t++],n.color=1===e[t],n},Wh.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)||(t=new Wh),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Yh=Wh;const Xh=new g;function Kh(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.minimum,n=e.maximum;if(i["a"].typeOf.object("min",t),i["a"].typeOf.object("max",n),Object(r["a"])(e.offsetAttribute)&&e.offsetAttribute===qh.TOP)throw new a["a"]("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");const s=Object(o["a"])(e.vertexFormat,Yh.DEFAULT);this._minimum=g.clone(t),this._maximum=g.clone(n),this._vertexFormat=s,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}Kh.fromDimensions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.dimensions;i["a"].typeOf.object("dimensions",t),i["a"].typeOf.number.greaterThanOrEquals("dimensions.x",t.x,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.y",t.y,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.z",t.z,0);const n=g.multiplyByScalar(t,.5,new g);return new Kh({minimum:g.negate(n,new g),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})},Kh.fromAxisAlignedBoundingBox=function(e){return i["a"].typeOf.object("boundingBox",e),new Kh({minimum:e.minimum,maximum:e.maximum})},Kh.packedLength=2*g.packedLength+Yh.packedLength+1,Kh.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),g.pack(e._minimum,t,n),g.pack(e._maximum,t,n+g.packedLength),Yh.pack(e._vertexFormat,t,n+2*g.packedLength),t[n+2*g.packedLength+Yh.packedLength]=Object(o["a"])(e._offsetAttribute,-1),t};const Jh=new g,Zh=new g,$h=new Yh,Qh={minimum:Jh,maximum:Zh,vertexFormat:$h,offsetAttribute:void 0};let ed;Kh.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=g.unpack(e,t,Jh),s=g.unpack(e,t+g.packedLength,Zh),c=Yh.unpack(e,t+2*g.packedLength,$h),l=e[t+2*g.packedLength+Yh.packedLength];return Object(r["a"])(n)?(n._minimum=g.clone(a,n._minimum),n._maximum=g.clone(s,n._maximum),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._offsetAttribute=-1===l?void 0:l,n):(Qh.offsetAttribute=-1===l?void 0:l,new Kh(Qh))},Kh.createGeometry=function(e){const t=e._minimum,n=e._maximum,i=e._vertexFormat;if(g.equals(t,n))return;const o=new Hh;let a,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(72),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){const e=new Float32Array(72);e[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=1,e[9]=0,e[10]=0,e[11]=1,e[12]=0,e[13]=0,e[14]=-1,e[15]=0,e[16]=0,e[17]=-1,e[18]=0,e[19]=0,e[20]=-1,e[21]=0,e[22]=0,e[23]=-1,e[24]=1,e[25]=0,e[26]=0,e[27]=1,e[28]=0,e[29]=0,e[30]=1,e[31]=0,e[32]=0,e[33]=1,e[34]=0,e[35]=0,e[36]=-1,e[37]=0,e[38]=0,e[39]=-1,e[40]=0,e[41]=0,e[42]=-1,e[43]=0,e[44]=0,e[45]=-1,e[46]=0,e[47]=0,e[48]=0,e[49]=1,e[50]=0,e[51]=0,e[52]=1,e[53]=0,e[54]=0,e[55]=1,e[56]=0,e[57]=0,e[58]=1,e[59]=0,e[60]=0,e[61]=-1,e[62]=0,e[63]=0,e[64]=-1,e[65]=0,e[66]=0,e[67]=-1,e[68]=0,e[69]=0,e[70]=-1,e[71]=0,o.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}if(i.st){const e=new Float32Array(48);e[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=1,e[5]=1,e[6]=0,e[7]=1,e[8]=1,e[9]=0,e[10]=0,e[11]=0,e[12]=0,e[13]=1,e[14]=1,e[15]=1,e[16]=0,e[17]=0,e[18]=1,e[19]=0,e[20]=1,e[21]=1,e[22]=0,e[23]=1,e[24]=1,e[25]=0,e[26]=0,e[27]=0,e[28]=0,e[29]=1,e[30]=1,e[31]=1,e[32]=1,e[33]=0,e[34]=0,e[35]=0,e[36]=0,e[37]=1,e[38]=1,e[39]=1,e[40]=0,e[41]=0,e[42]=1,e[43]=0,e[44]=1,e[45]=1,e[46]=0,e[47]=1,o.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:e})}if(i.tangent){const e=new Float32Array(72);e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=1,e[7]=0,e[8]=0,e[9]=1,e[10]=0,e[11]=0,e[12]=-1,e[13]=0,e[14]=0,e[15]=-1,e[16]=0,e[17]=0,e[18]=-1,e[19]=0,e[20]=0,e[21]=-1,e[22]=0,e[23]=0,e[24]=0,e[25]=1,e[26]=0,e[27]=0,e[28]=1,e[29]=0,e[30]=0,e[31]=1,e[32]=0,e[33]=0,e[34]=1,e[35]=0,e[36]=0,e[37]=-1,e[38]=0,e[39]=0,e[40]=-1,e[41]=0,e[42]=0,e[43]=-1,e[44]=0,e[45]=0,e[46]=-1,e[47]=0,e[48]=-1,e[49]=0,e[50]=0,e[51]=-1,e[52]=0,e[53]=0,e[54]=-1,e[55]=0,e[56]=0,e[57]=-1,e[58]=0,e[59]=0,e[60]=1,e[61]=0,e[62]=0,e[63]=1,e[64]=0,e[65]=0,e[66]=1,e[67]=0,e[68]=0,e[69]=1,e[70]=0,e[71]=0,o.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}if(i.bitangent){const e=new Float32Array(72);e[0]=0,e[1]=1,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=1,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=1,e[14]=0,e[15]=0,e[16]=1,e[17]=0,e[18]=0,e[19]=1,e[20]=0,e[21]=0,e[22]=1,e[23]=0,e[24]=0,e[25]=0,e[26]=1,e[27]=0,e[28]=0,e[29]=1,e[30]=0,e[31]=0,e[32]=1,e[33]=0,e[34]=0,e[35]=1,e[36]=0,e[37]=0,e[38]=1,e[39]=0,e[40]=0,e[41]=1,e[42]=0,e[43]=0,e[44]=1,e[45]=0,e[46]=0,e[47]=1,e[48]=0,e[49]=0,e[50]=1,e[51]=0,e[52]=0,e[53]=1,e[54]=0,e[55]=0,e[56]=1,e[57]=0,e[58]=0,e[59]=1,e[60]=0,e[61]=0,e[62]=1,e[63]=0,e[64]=0,e[65]=1,e[66]=0,e[67]=0,e[68]=1,e[69]=0,e[70]=0,e[71]=1,o.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}a=new Uint16Array(36),a[0]=0,a[1]=1,a[2]=2,a[3]=0,a[4]=2,a[5]=3,a[6]=6,a[7]=5,a[8]=4,a[9]=7,a[10]=6,a[11]=4,a[12]=8,a[13]=9,a[14]=10,a[15]=8,a[16]=10,a[17]=11,a[18]=14,a[19]=13,a[20]=12,a[21]=15,a[22]=14,a[23]=12,a[24]=18,a[25]=17,a[26]=16,a[27]=19,a[28]=18,a[29]=16,a[30]=20,a[31]=21,a[32]=22,a[33]=20,a[34]=22,a[35]=23}else s=new Float64Array(24),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:s}),a=new Uint16Array(36),a[0]=4,a[1]=5,a[2]=6,a[3]=4,a[4]=6,a[5]=7,a[6]=1,a[7]=0,a[8]=3,a[9]=1,a[10]=3,a[11]=2,a[12]=1,a[13]=6,a[14]=5,a[15]=1,a[16]=2,a[17]=6,a[18]=2,a[19]=3,a[20]=7,a[21]=2,a[22]=7,a[23]=6,a[24]=3,a[25]=0,a[26]=4,a[27]=3,a[28]=4,a[29]=7,a[30]=0,a[31]=1,a[32]=5,a[33]=0,a[34]=5,a[35]=4;const c=g.subtract(n,t,Xh),l=.5*g.magnitude(c);if(Object(r["a"])(e._offsetAttribute)){const t=s.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),o.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:o,indices:a,primitiveType:xh.TRIANGLES,boundingSphere:new Tt(g.ZERO,l),offsetAttribute:e._offsetAttribute})},Kh.getUnitBox=function(){return Object(r["a"])(ed)||(ed=Kh.createGeometry(Kh.fromDimensions({dimensions:new g(1,1,1),vertexFormat:Yh.POSITION_ONLY}))),ed};var td=Kh;const nd=new g;function id(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.minimum,n=e.maximum;if(i["a"].typeOf.object("min",t),i["a"].typeOf.object("max",n),Object(r["a"])(e.offsetAttribute)&&e.offsetAttribute===qh.TOP)throw new a["a"]("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._min=g.clone(t),this._max=g.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}id.fromDimensions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.dimensions;i["a"].typeOf.object("dimensions",t),i["a"].typeOf.number.greaterThanOrEquals("dimensions.x",t.x,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.y",t.y,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.z",t.z,0);const n=g.multiplyByScalar(t,.5,new g);return new id({minimum:g.negate(n,new g),maximum:n,offsetAttribute:e.offsetAttribute})},id.fromAxisAlignedBoundingBox=function(e){return i["a"].typeOf.object("boundindBox",e),new id({minimum:e.minimum,maximum:e.maximum})},id.packedLength=2*g.packedLength+1,id.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),g.pack(e._min,t,n),g.pack(e._max,t,n+g.packedLength),t[n+2*g.packedLength]=Object(o["a"])(e._offsetAttribute,-1),t};const od=new g,rd=new g,ad={minimum:od,maximum:rd,offsetAttribute:void 0};id.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=g.unpack(e,t,od),s=g.unpack(e,t+g.packedLength,rd),c=e[t+2*g.packedLength];return Object(r["a"])(n)?(n._min=g.clone(a,n._min),n._max=g.clone(s,n._max),n._offsetAttribute=-1===c?void 0:c,n):(ad.offsetAttribute=-1===c?void 0:c,new id(ad))},id.createGeometry=function(e){const t=e._min,n=e._max;if(g.equals(t,n))return;const i=new Hh,o=new Uint16Array(24),a=new Float64Array(24);a[0]=t.x,a[1]=t.y,a[2]=t.z,a[3]=n.x,a[4]=t.y,a[5]=t.z,a[6]=n.x,a[7]=n.y,a[8]=t.z,a[9]=t.x,a[10]=n.y,a[11]=t.z,a[12]=t.x,a[13]=t.y,a[14]=n.z,a[15]=n.x,a[16]=t.y,a[17]=n.z,a[18]=n.x,a[19]=n.y,a[20]=n.z,a[21]=t.x,a[22]=n.y,a[23]=n.z,i.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:a}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;const s=g.subtract(n,t,nd),c=.5*g.magnitude(s);if(Object(r["a"])(e._offsetAttribute)){const t=a.length,n=new Uint8Array(t/3),o=e._offsetAttribute===qh.NONE?0:1;Ah(n,o),i.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:i,indices:o,primitiveType:xh.LINES,boundingSphere:new Tt(g.ZERO,c),offsetAttribute:e._offsetAttribute})};var sd=id;function cd(){}cd.prototype.geocode=function(e){i["a"].typeOf.string("query",e);const t=e.match(/[^\s,\n]+/g);if(2===t.length||3===t.length){let n=+t[0],i=+t[1];const o=3===t.length?+t[2]:300;if(isNaN(n)&&isNaN(i)){const e=/^(\d+.?\d*)([nsew])/i;for(let o=0;o<t.length;++o){const r=t[o].match(e);e.test(t[o])&&3===r.length&&(/^[ns]/i.test(r[2])?i=/^[n]/i.test(r[2])?+r[1]:-r[1]:/^[ew]/i.test(r[2])&&(n=/^[e]/i.test(r[2])?+r[1]:-r[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){const t={displayName:e,destination:g.fromDegrees(n,i,o)};return Promise.resolve([t])}}return Promise.resolve([])};var ld=cd;function ud(){this.times=void 0,this.points=void 0,a["a"].throwInstantiationError()}ud.getPointType=function(e){if("number"===typeof e)return Number;if(e instanceof g)return g;if(e instanceof $a)return $a;throw new a["a"]("point must be a Cartesian3, Quaternion, or Number.")},ud.prototype.evaluate=a["a"].throwInstantiationError,ud.prototype.findTimeInterval=function(e,t){const n=this.times,r=n.length;if(i["a"].typeOf.number("time",e),e<n[0]||e>n[r-1])throw new a["a"]("time is out of range.");if(t=Object(o["a"])(t,0),e>=n[t]){if(t+1<r&&e<n[t+1])return t;if(t+2<r&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let s;if(e>n[t]){for(s=t;s<r-1;++s)if(e>=n[s]&&e<n[s+1])break}else for(s=t-1;s>=0;--s)if(e>=n[s]&&e<n[s+1])break;return s===r-1&&(s=r-2),s},ud.prototype.wrapTime=function(e){i["a"].typeOf.number("time",e);const t=this.times,n=t[t.length-1],o=t[0],r=n-o;let a;return e<o&&(a=Math.floor((o-e)/r)+1,e+=a*r),e>n&&(a=Math.floor((e-n)/r)+1,e-=a*r),e},ud.prototype.clampTime=function(e){i["a"].typeOf.number("time",e);const t=this.times;return s["a"].clamp(e,t[0],t[t.length-1])};var hd=ud;function dd(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.points,n=e.times;if(!Object(r["a"])(t)||!Object(r["a"])(n))throw new a["a"]("points and times are required.");if(t.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(n.length!==t.length)throw new a["a"]("times.length must be equal to points.length.");this._times=n,this._points=t,this._pointType=hd.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(dd.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}}),dd.prototype.findTimeInterval=hd.prototype.findTimeInterval,dd.prototype.wrapTime=hd.prototype.wrapTime,dd.prototype.clampTime=hd.prototype.clampTime,dd.prototype.evaluate=function(e,t){const n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),a=(e-i[o])/(i[o+1]-i[o]),s=this._pointType;return s===Number?(1-a)*n[o]+a*n[o+1]:(Object(r["a"])(t)||(t=new g),g.lerp(n[o],n[o+1],a,t))};var fd=dd;const pd={solve:function(e,t,n,i){if(!Object(r["a"])(e)||!(e instanceof Array))throw new a["a"]("The array lower is required.");if(!Object(r["a"])(t)||!(t instanceof Array))throw new a["a"]("The array diagonal is required.");if(!Object(r["a"])(n)||!(n instanceof Array))throw new a["a"]("The array upper is required.");if(!Object(r["a"])(i)||!(i instanceof Array))throw new a["a"]("The array right is required.");if(t.length!==i.length)throw new a["a"]("diagonal and right must have the same lengths.");if(e.length!==n.length)throw new a["a"]("lower and upper must have the same lengths.");if(e.length!==t.length-1)throw new a["a"]("lower and upper must be one less than the length of diagonal.");const o=new Array(n.length),s=new Array(i.length),c=new Array(i.length);let l,u;for(l=0;l<s.length;l++)s[l]=new g,c[l]=new g;for(o[0]=n[0]/t[0],s[0]=g.multiplyByScalar(i[0],1/t[0],s[0]),l=1;l<o.length;++l)u=1/(t[l]-o[l-1]*e[l-1]),o[l]=n[l]*u,s[l]=g.subtract(i[l],g.multiplyByScalar(s[l-1],e[l-1],s[l]),s[l]),s[l]=g.multiplyByScalar(s[l],u,s[l]);for(u=1/(t[l]-o[l-1]*e[l-1]),s[l]=g.subtract(i[l],g.multiplyByScalar(s[l-1],e[l-1],s[l]),s[l]),s[l]=g.multiplyByScalar(s[l],u,s[l]),c[c.length-1]=s[s.length-1],l=c.length-2;l>=0;--l)c[l]=g.subtract(s[l],g.multiplyByScalar(c[l+1],o[l],c[l]),c[l]);return c}};var md=pd;const _d=[],gd=[],bd=[],yd=[];function vd(e,t,n){const i=_d,o=bd,a=gd,s=yd;let c;i.length=o.length=e.length-1,a.length=s.length=e.length,i[0]=a[0]=1,o[0]=0;let l=s[0];for(Object(r["a"])(l)||(l=s[0]=new g),g.clone(t,l),c=1;c<i.length-1;++c)i[c]=o[c]=1,a[c]=4,l=s[c],Object(r["a"])(l)||(l=s[c]=new g),g.subtract(e[c+1],e[c-1],l),g.multiplyByScalar(l,3,l);return i[c]=0,o[c]=1,a[c]=4,l=s[c],Object(r["a"])(l)||(l=s[c]=new g),g.subtract(e[c+1],e[c-1],l),g.multiplyByScalar(l,3,l),a[c+1]=1,l=s[c+1],Object(r["a"])(l)||(l=s[c+1]=new g),g.clone(n,l),md.solve(i,a,o,s)}function Od(e){const t=_d,n=bd,i=gd,o=yd;let a;t.length=n.length=e.length-1,i.length=o.length=e.length,t[0]=n[0]=1,i[0]=2;let s=o[0];for(Object(r["a"])(s)||(s=o[0]=new g),g.subtract(e[1],e[0],s),g.multiplyByScalar(s,3,s),a=1;a<t.length;++a)t[a]=n[a]=1,i[a]=4,s=o[a],Object(r["a"])(s)||(s=o[a]=new g),g.subtract(e[a+1],e[a-1],s),g.multiplyByScalar(s,3,s);return i[a]=2,s=o[a],Object(r["a"])(s)||(s=o[a]=new g),g.subtract(e[a],e[a-1],s),g.multiplyByScalar(s,3,s),md.solve(t,i,n,o)}function wd(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.points,n=e.times,i=e.inTangents,s=e.outTangents;if(!Object(r["a"])(t)||!Object(r["a"])(n)||!Object(r["a"])(i)||!Object(r["a"])(s))throw new a["a"]("times, points, inTangents, and outTangents are required.");if(t.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(n.length!==t.length)throw new a["a"]("times.length must be equal to points.length.");if(i.length!==s.length||i.length!==t.length-1)throw new a["a"]("inTangents and outTangents must have a length equal to points.length - 1.");if(this._times=n,this._points=t,this._pointType=hd.getPointType(t[0]),this._pointType!==hd.getPointType(i[0])||this._pointType!==hd.getPointType(s[0]))throw new a["a"]("inTangents and outTangents must be of the same type as points.");this._inTangents=i,this._outTangents=s,this._lastTimeIndex=0}Object.defineProperties(wd.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}}),wd.createC1=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.times,n=e.points,i=e.tangents;if(!Object(r["a"])(n)||!Object(r["a"])(t)||!Object(r["a"])(i))throw new a["a"]("points, times and tangents are required.");if(n.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(t.length!==n.length||t.length!==i.length)throw new a["a"]("times, points and tangents must have the same length.");const s=i.slice(0,i.length-1),c=i.slice(1,i.length);return new wd({times:t,points:n,inTangents:c,outTangents:s})},wd.createNaturalCubic=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.times,n=e.points;if(!Object(r["a"])(n)||!Object(r["a"])(t))throw new a["a"]("points and times are required.");if(n.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(t.length!==n.length)throw new a["a"]("times.length must be equal to points.length.");if(n.length<3)return new fd({points:n,times:t});const i=Od(n),s=i.slice(0,i.length-1),c=i.slice(1,i.length);return new wd({times:t,points:n,inTangents:c,outTangents:s})},wd.createClampedCubic=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.times,n=e.points,i=e.firstTangent,s=e.lastTangent;if(!Object(r["a"])(n)||!Object(r["a"])(t)||!Object(r["a"])(i)||!Object(r["a"])(s))throw new a["a"]("points, times, firstTangent and lastTangent are required.");if(n.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(t.length!==n.length)throw new a["a"]("times.length must be equal to points.length.");const c=hd.getPointType(n[0]);if(c!==hd.getPointType(i)||c!==hd.getPointType(s))throw new a["a"]("firstTangent and lastTangent must be of the same type as points.");if(n.length<3)return new fd({points:n,times:t});const l=vd(n,i,s),u=l.slice(0,l.length-1),h=l.slice(1,l.length);return new wd({times:t,points:n,inTangents:h,outTangents:u})},wd.hermiteCoefficientMatrix=new Ne(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0),wd.prototype.findTimeInterval=hd.prototype.findTimeInterval;const Ad=new be,Td=new g;wd.prototype.wrapTime=hd.prototype.wrapTime,wd.prototype.clampTime=hd.prototype.clampTime,wd.prototype.evaluate=function(e,t){const n=this.points,i=this.times,o=this.inTangents,a=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);const s=this._lastTimeIndex,c=i[s+1]-i[s],l=(e-i[s])/c,u=Ad;u.z=l,u.y=l*l,u.x=u.y*l,u.w=1;const h=Ne.multiplyByVector(wd.hermiteCoefficientMatrix,u,u);h.z*=c,h.w*=c;const d=this._pointType;return d===Number?n[s]*h.x+n[s+1]*h.y+a[s]*h.z+o[s]*h.w:(Object(r["a"])(t)||(t=new d),t=d.multiplyByScalar(n[s],h.x,t),d.multiplyByScalar(n[s+1],h.y,Td),d.add(t,Td,t),d.multiplyByScalar(a[s],h.z,Td),d.add(t,Td,t),d.multiplyByScalar(o[s],h.w,Td),d.add(t,Td,t))};var Cd=wd;const Ed=new be,xd=new g,Sd=new g;function Id(e){const t=e.points,n=e.times;if(t.length<3){const e=n[0],i=1/(n[1]-e),o=t[0],a=t[1];return function(t,n){Object(r["a"])(n)||(n=new g);const s=(t-e)*i;return g.lerp(o,a,s,n)}}return function(i,o){Object(r["a"])(o)||(o=new g);const a=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[a])/(n[a+1]-n[a]),c=Ed;let l,u,h,d,f;return c.z=s,c.y=s*s,c.x=c.y*s,c.w=1,0===a?(l=t[0],u=t[1],h=e.firstTangent,d=g.subtract(t[2],l,xd),g.multiplyByScalar(d,.5,d),f=Ne.multiplyByVector(Cd.hermiteCoefficientMatrix,c,c)):a===t.length-2?(l=t[a],u=t[a+1],d=e.lastTangent,h=g.subtract(u,t[a-1],xd),g.multiplyByScalar(h,.5,h),f=Ne.multiplyByVector(Cd.hermiteCoefficientMatrix,c,c)):(l=t[a-1],u=t[a],h=t[a+1],d=t[a+2],f=Ne.multiplyByVector(Pd.catmullRomCoefficientMatrix,c,c)),o=g.multiplyByScalar(l,f.x,o),g.multiplyByScalar(u,f.y,Sd),g.add(o,Sd,o),g.multiplyByScalar(h,f.z,Sd),g.add(o,Sd,o),g.multiplyByScalar(d,f.w,Sd),g.add(o,Sd,o)}}const Dd=new g,jd=new g;function Pd(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.points,n=e.times;let a=e.firstTangent,s=e.lastTangent;if(i["a"].defined("points",t),i["a"].defined("times",n),i["a"].typeOf.number.greaterThanOrEquals("points.length",t.length,2),i["a"].typeOf.number.equals("times.length","points.length",n.length,t.length),t.length>2&&(Object(r["a"])(a)||(a=Dd,g.multiplyByScalar(t[1],2,a),g.subtract(a,t[2],a),g.subtract(a,t[0],a),g.multiplyByScalar(a,.5,a)),!Object(r["a"])(s))){const e=t.length-1;s=jd,g.multiplyByScalar(t[e-1],2,s),g.subtract(t[e],s,s),g.add(s,t[e-2],s),g.multiplyByScalar(s,.5,s)}this._times=n,this._points=t,this._firstTangent=g.clone(a),this._lastTangent=g.clone(s),this._evaluateFunction=Id(this),this._lastTimeIndex=0}Object.defineProperties(Pd.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}}),Pd.catmullRomCoefficientMatrix=new Ne(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),Pd.prototype.findTimeInterval=hd.prototype.findTimeInterval,Pd.prototype.wrapTime=hd.prototype.wrapTime,Pd.prototype.clampTime=hd.prototype.clampTime,Pd.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var Rd=Pd;function Md(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("uint8Array is required.");if(t<0)throw new a["a"]("byteOffset cannot be negative.");if(n<0)throw new a["a"]("byteLength cannot be negative.");if(t+n>e.byteLength)throw new a["a"]("sub-region exceeds array bounds.");return t=Object(o["a"])(t,0),n=Object(o["a"])(n,e.byteLength-t),e=e.subarray(t,t+n),Md.decode(e)}function Nd(e,t,n){return t<=e&&e<=n}function Ld(e){let t=0,n=0,i=0,o=128,r=191;const a=[],s=e.length;for(let c=0;c<s;++c){const s=e[c];if(0===i){if(Nd(s,0,127)){a.push(s);continue}if(Nd(s,194,223)){i=1,t=31&s;continue}if(Nd(s,224,239)){224===s&&(o=160),237===s&&(r=159),i=2,t=15&s;continue}if(Nd(s,240,244)){240===s&&(o=144),244===s&&(r=143),i=3,t=7&s;continue}throw new ye["a"]("String decoding failed.")}Nd(s,o,r)?(o=128,r=191,t=t<<6|63&s,++n,n===i&&(a.push(t),t=i=n=0)):(t=i=n=0,o=128,r=191,--c)}return a}Md.decodeWithTextDecoder=function(e){const t=new TextDecoder("utf-8");return t.decode(e)},Md.decodeWithFromCharCode=function(e){let t="";const n=Ld(e),i=n.length;for(let o=0;o<i;++o){let e=n[o];e<=65535?t+=String.fromCharCode(e):(e-=65536,t+=String.fromCharCode(55296+(e>>10),56320+(1023&e)))}return t},"undefined"!==typeof TextDecoder?Md.decode=Md.decodeWithTextDecoder:Md.decode=Md.decodeWithFromCharCode;var Bd=Md;function Fd(e,t,n){return JSON.parse(Bd(e,t,n))}var kd=Fd;const zd={clipTriangleAtAxisAlignedThreshold:function(e,t,n,i,o,s){if(!Object(r["a"])(e))throw new a["a"]("threshold is required.");if(!Object(r["a"])(t))throw new a["a"]("keepAbove is required.");if(!Object(r["a"])(n))throw new a["a"]("u0 is required.");if(!Object(r["a"])(i))throw new a["a"]("u1 is required.");if(!Object(r["a"])(o))throw new a["a"]("u2 is required.");let c,l,u;Object(r["a"])(s)?s.length=0:s=[],t?(c=n<e,l=i<e,u=o<e):(c=n>e,l=i>e,u=o>e);const h=c+l+u;let d,f,p,m,_,g;return 1===h?c?(d=(e-n)/(i-n),f=(e-n)/(o-n),s.push(1),s.push(2),1!==f&&(s.push(-1),s.push(0),s.push(2),s.push(f)),1!==d&&(s.push(-1),s.push(0),s.push(1),s.push(d))):l?(p=(e-i)/(o-i),m=(e-i)/(n-i),s.push(2),s.push(0),1!==m&&(s.push(-1),s.push(1),s.push(0),s.push(m)),1!==p&&(s.push(-1),s.push(1),s.push(2),s.push(p))):u&&(_=(e-o)/(n-o),g=(e-o)/(i-o),s.push(0),s.push(1),1!==g&&(s.push(-1),s.push(2),s.push(1),s.push(g)),1!==_&&(s.push(-1),s.push(2),s.push(0),s.push(_))):2===h?c||n===e?l||i===e?u||o===e||(f=(e-n)/(o-n),p=(e-i)/(o-i),s.push(2),s.push(-1),s.push(0),s.push(2),s.push(f),s.push(-1),s.push(1),s.push(2),s.push(p)):(g=(e-o)/(i-o),d=(e-n)/(i-n),s.push(1),s.push(-1),s.push(2),s.push(1),s.push(g),s.push(-1),s.push(0),s.push(1),s.push(d)):(m=(e-i)/(n-i),_=(e-o)/(n-o),s.push(0),s.push(-1),s.push(1),s.push(0),s.push(m),s.push(-1),s.push(2),s.push(0),s.push(_)):3!==h&&(s.push(0),s.push(1),s.push(2)),s},computeBarycentricCoordinates:function(e,t,n,i,o,s,c,l,u){if(!Object(r["a"])(e))throw new a["a"]("x is required.");if(!Object(r["a"])(t))throw new a["a"]("y is required.");if(!Object(r["a"])(n))throw new a["a"]("x1 is required.");if(!Object(r["a"])(i))throw new a["a"]("y1 is required.");if(!Object(r["a"])(o))throw new a["a"]("x2 is required.");if(!Object(r["a"])(s))throw new a["a"]("y2 is required.");if(!Object(r["a"])(c))throw new a["a"]("x3 is required.");if(!Object(r["a"])(l))throw new a["a"]("y3 is required.");const h=n-c,d=c-o,f=s-l,p=i-l,m=1/(f*h+d*p),_=t-l,b=e-c,y=(f*b+d*_)*m,v=(-p*b+h*_)*m,O=1-y-v;return Object(r["a"])(u)?(u.x=y,u.y=v,u.z=O,u):new g(y,v,O)},computeLineSegmentLineSegmentIntersection:function(e,t,n,o,a,s,c,l,u){i["a"].typeOf.number("x00",e),i["a"].typeOf.number("y00",t),i["a"].typeOf.number("x01",n),i["a"].typeOf.number("y01",o),i["a"].typeOf.number("x10",a),i["a"].typeOf.number("y10",s),i["a"].typeOf.number("x11",c),i["a"].typeOf.number("y11",l);const h=(c-a)*(t-s)-(l-s)*(e-a),d=(n-e)*(t-s)-(o-t)*(e-a),f=(l-s)*(n-e)-(c-a)*(o-t);if(0===f)return;const p=h/f,m=d/f;return p>=0&&p<=1&&m>=0&&m<=1?(Object(r["a"])(u)||(u=new Ht),u.x=e+p*(n-e),u.y=t+p*(o-t),u):void 0}};var Ud=zd;function Vd(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.quantizedVertices))throw new a["a"]("options.quantizedVertices is required.");if(!Object(r["a"])(e.indices))throw new a["a"]("options.indices is required.");if(!Object(r["a"])(e.minimumHeight))throw new a["a"]("options.minimumHeight is required.");if(!Object(r["a"])(e.maximumHeight))throw new a["a"]("options.maximumHeight is required.");if(!Object(r["a"])(e.maximumHeight))throw new a["a"]("options.maximumHeight is required.");if(!Object(r["a"])(e.boundingSphere))throw new a["a"]("options.boundingSphere is required.");if(!Object(r["a"])(e.horizonOcclusionPoint))throw new a["a"]("options.horizonOcclusionPoint is required.");if(!Object(r["a"])(e.westIndices))throw new a["a"]("options.westIndices is required.");if(!Object(r["a"])(e.southIndices))throw new a["a"]("options.southIndices is required.");if(!Object(r["a"])(e.eastIndices))throw new a["a"]("options.eastIndices is required.");if(!Object(r["a"])(e.northIndices))throw new a["a"]("options.northIndices is required.");if(!Object(r["a"])(e.westSkirtHeight))throw new a["a"]("options.westSkirtHeight is required.");if(!Object(r["a"])(e.southSkirtHeight))throw new a["a"]("options.southSkirtHeight is required.");if(!Object(r["a"])(e.eastSkirtHeight))throw new a["a"]("options.eastSkirtHeight is required.");if(!Object(r["a"])(e.northSkirtHeight))throw new a["a"]("options.northSkirtHeight is required.");this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;const t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);function s(e,t){return i[e]-i[t]}function c(e,t){return n[e]-n[t]}this._heightValues=this._quantizedVertices.subarray(2*t,3*t),this._westIndices=Gd(e.westIndices,s,t),this._southIndices=Gd(e.southIndices,c,t),this._eastIndices=Gd(e.eastIndices,s,t),this._northIndices=Gd(e.northIndices,c,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=Object(o["a"])(e.childTileMask,15),this._createdByUpsampling=Object(o["a"])(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(Vd.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return Object(r["a"])(this._mesh)}}});const Hd=[];function Gd(e,t,n){Hd.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)Hd[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(Hd.sort(t),uu.createTypedArray(n,Hd)):e}const qd="createVerticesFromQuantizedTerrainMesh",Wd=new ou(qd),Yd=new ou(qd,au.maximumAsynchronousTasks);Vd.prototype.createMesh=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.tilingScheme",e.tilingScheme),i["a"].typeOf.number("options.x",e.x),i["a"].typeOf.number("options.y",e.y),i["a"].typeOf.number("options.level",e.level);const t=e.tilingScheme,n=e.x,a=e.y,s=e.level,c=Object(o["a"])(e.exaggeration,1),l=Object(o["a"])(e.exaggerationRelativeHeight,0),u=Object(o["a"])(e.throttle,!0),h=t.ellipsoid,d=t.tileXYToRectangle(n,a,s),f=u?Yd:Wd,p=f.scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:d,relativeToCenter:this._boundingSphere.center,ellipsoid:h,exaggeration:c,exaggerationRelativeHeight:l});if(!Object(r["a"])(p))return;const m=this;return Promise.resolve(p).then((function(e){const t=m._quantizedVertices.length/3,n=t+m._westIndices.length+m._southIndices.length+m._eastIndices.length+m._northIndices.length,i=uu.createTypedArray(n,e.indices),r=new Float32Array(e.vertices),a=e.center,s=e.minimumHeight,c=e.maximumHeight,l=m._boundingSphere,u=m._orientedBoundingBox,h=Object(o["a"])(g.clone(e.occludeePointInScaledSpace),m._horizonOcclusionPoint),d=e.vertexStride,f=Ml.clone(e.encoding);return m._mesh=new cu(a,r,i,e.indexCountWithoutSkirts,t,s,c,l,h,d,u,f,e.westIndicesSouthToNorth,e.southIndicesEastToWest,e.eastIndicesNorthToSouth,e.northIndicesWestToEast),m._quantizedVertices=void 0,m._encodedNormals=void 0,m._indices=void 0,m._uValues=void 0,m._vValues=void 0,m._heightValues=void 0,m._westIndices=void 0,m._southIndices=void 0,m._eastIndices=void 0,m._northIndices=void 0,m._mesh}))};const Xd=new ou("upsampleQuantizedTerrainMesh",au.maximumAsynchronousTasks);Vd.prototype.upsample=function(e,t,n,i,o,s,c){if(!Object(r["a"])(e))throw new a["a"]("tilingScheme is required.");if(!Object(r["a"])(t))throw new a["a"]("thisX is required.");if(!Object(r["a"])(n))throw new a["a"]("thisY is required.");if(!Object(r["a"])(i))throw new a["a"]("thisLevel is required.");if(!Object(r["a"])(o))throw new a["a"]("descendantX is required.");if(!Object(r["a"])(s))throw new a["a"]("descendantY is required.");if(!Object(r["a"])(c))throw new a["a"]("descendantLevel is required.");const l=c-i;if(l>1)throw new a["a"]("Upsampling through more than one level at a time is not currently supported.");const u=this._mesh;if(!Object(r["a"])(this._mesh))return;const h=2*t!==o,d=2*n===s,f=e.ellipsoid,p=e.tileXYToRectangle(o,s,c),m=Xd.scheduleTask({vertices:u.vertices,vertexCountWithoutSkirts:u.vertexCountWithoutSkirts,indices:u.indices,indexCountWithoutSkirts:u.indexCountWithoutSkirts,encoding:u.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:h,isNorthChild:d,childRectangle:p,ellipsoid:f});if(!Object(r["a"])(m))return;let _=Math.min(this._westSkirtHeight,this._eastSkirtHeight);_=Math.min(_,this._southSkirtHeight),_=Math.min(_,this._northSkirtHeight);const b=h?.5*_:this._westSkirtHeight,y=d?.5*_:this._southSkirtHeight,v=h?this._eastSkirtHeight:.5*_,O=d?this._northSkirtHeight:.5*_,w=this._credits;return Promise.resolve(m).then((function(e){const t=new Uint16Array(e.vertices),n=uu.createTypedArray(t.length/3,e.indices);let i;return Object(r["a"])(e.encodedNormals)&&(i=new Uint8Array(e.encodedNormals)),new Vd({quantizedVertices:t,indices:n,encodedNormals:i,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere:Tt.clone(e.boundingSphere),orientedBoundingBox:Xc.clone(e.orientedBoundingBox),horizonOcclusionPoint:g.clone(e.horizonOcclusionPoint),westIndices:e.westIndices,southIndices:e.southIndices,eastIndices:e.eastIndices,northIndices:e.northIndices,westSkirtHeight:b,southSkirtHeight:y,eastSkirtHeight:v,northSkirtHeight:O,childTileMask:0,credits:w,createdByUpsampling:!0})}))};const Kd=32767,Jd=new g;function Zd(e,t,n,i,o,r,a,s){const c=Math.min(n,o,a),l=Math.max(n,o,a),u=Math.min(i,r,s),h=Math.max(i,r,s);return e>=c&&e<=l&&t>=u&&t<=h}Vd.prototype.interpolateHeight=function(e,t,n){let i=s["a"].clamp((t-e.west)/e.width,0,1);i*=Kd;let o=s["a"].clamp((n-e.south)/e.height,0,1);return o*=Kd,Object(r["a"])(this._mesh)?tf(this,i,o):nf(this,i,o)};const $d=new Ht,Qd=new Ht,ef=new Ht;function tf(e,t,n){const i=e._mesh,o=i.vertices,r=i.encoding,a=i.indices;for(let s=0,c=a.length;s<c;s+=3){const e=a[s],i=a[s+1],c=a[s+2],l=r.decodeTextureCoordinates(o,e,$d),u=r.decodeTextureCoordinates(o,i,Qd),h=r.decodeTextureCoordinates(o,c,ef);if(Zd(t,n,l.x,l.y,u.x,u.y,h.x,h.y)){const a=Ud.computeBarycentricCoordinates(t,n,l.x,l.y,u.x,u.y,h.x,h.y,Jd);if(a.x>=-1e-15&&a.y>=-1e-15&&a.z>=-1e-15){const t=r.decodeHeight(o,e),n=r.decodeHeight(o,i),s=r.decodeHeight(o,c);return a.x*t+a.y*n+a.z*s}}}}function nf(e,t,n){const i=e._uValues,o=e._vValues,r=e._heightValues,a=e._indices;for(let c=0,l=a.length;c<l;c+=3){const l=a[c],u=a[c+1],h=a[c+2],d=i[l],f=i[u],p=i[h],m=o[l],_=o[u],g=o[h];if(Zd(t,n,d,m,f,_,p,g)){const i=Ud.computeBarycentricCoordinates(t,n,d,m,f,_,p,g,Jd);if(i.x>=-1e-15&&i.y>=-1e-15&&i.z>=-1e-15){const t=i.x*r[l]+i.y*r[u]+i.z*r[h];return s["a"].lerp(e._minimumHeight,e._maximumHeight,t/Kd)}}}}Vd.prototype.isChildAvailable=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("thisX is required.");if(!Object(r["a"])(t))throw new a["a"]("thisY is required.");if(!Object(r["a"])(n))throw new a["a"]("childX is required.");if(!Object(r["a"])(i))throw new a["a"]("childY is required.");let o=2;return n!==2*e&&++o,i!==2*t&&(o-=2),0!==(this._childTileMask&1<<o)},Vd.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var of=Vd;function rf(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function af(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=Object(o["a"])(e.requestVertexNormals,!1),this._requestWaterMask=Object(o["a"])(e.requestWaterMask,!1),this._requestMetadata=Object(o["a"])(e.requestMetadata,!0),this._errorEvent=new pi["a"];let t=e.credit;"string"===typeof t&&(t=new fi(t)),this._credit=t,this._availability=void 0;const n=Object(xr["a"])();this._ready=!1,this._readyPromise=n,this._tileCredits=void 0;const i=this;let s,c,l;const u=this._layers=[];let h="";const d=[];let f=0;function p(e){let t;if(!e.format)return t="The tile format is not specified in the layer.json file.",void(l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b));if(!e.tiles||0===e.tiles.length)return t="The layer.json file does not specify any tile URL templates.",void(l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b));let n=!1,o=!1,a=!1,_=!0,g=!1;if("heightmap-1.0"===e.format)g=!0,Object(r["a"])(i._heightmapStructure)||(i._heightmapStructure={heightScale:.2,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:65535}),o=!0,i._requestWaterMask=!0;else if(0!==e.format.indexOf("quantized-mesh-1."))return t=`The tile format "${e.format}" is invalid or not supported.`,void(l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b));const y=e.tiles,v=e.maxzoom;if(f=Math.max(f,v),e.projection&&"EPSG:4326"!==e.projection){if("EPSG:3857"!==e.projection)return t=`The projection "${e.projection}" is invalid or not supported.`,void(l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b));i._tilingScheme=new nh({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:i._ellipsoid})}else i._tilingScheme=new qt({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:i._ellipsoid});if(i._levelZeroMaximumGeometricError=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(i._tilingScheme.ellipsoid,i._heightmapWidth,i._tilingScheme.getNumberOfXTilesAtLevel(0)),e.scheme&&"tms"!==e.scheme&&"slippyMap"!==e.scheme)return t=`The scheme "${e.scheme}" is invalid or not supported.`,void(l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b));let O;i._scheme=e.scheme,Object(r["a"])(e.extensions)&&-1!==e.extensions.indexOf("octvertexnormals")?n=!0:Object(r["a"])(e.extensions)&&-1!==e.extensions.indexOf("vertexnormals")&&(n=!0,_=!1),Object(r["a"])(e.extensions)&&-1!==e.extensions.indexOf("watermask")&&(o=!0),Object(r["a"])(e.extensions)&&-1!==e.extensions.indexOf("metadata")&&(a=!0);const w=e.metadataAvailability,A=e.available;let T;if(Object(r["a"])(A)&&!Object(r["a"])(w)){T=new Ju(i._tilingScheme,A.length);for(let e=0;e<A.length;++e){const t=A[e],n=i._tilingScheme.getNumberOfYTilesAtLevel(e);Object(r["a"])(d[e])||(d[e]=[]);for(let i=0;i<t.length;++i){const o=t[i],r=n-o.endY-1,a=n-o.startY-1;d[e].push([o.startX,r,o.endX,a]),T.addAvailableTileRange(e,o.startX,r,o.endX,a)}}}else Object(r["a"])(w)&&(O=new Ju(i._tilingScheme,v),T=new Ju(i._tilingScheme,v),d[0]=[[0,0,1,0]],T.addAvailableTileRange(0,0,0,1,0));i._hasWaterMask=i._hasWaterMask||o,i._hasVertexNormals=i._hasVertexNormals||n,i._hasMetadata=i._hasMetadata||a,Object(r["a"])(e.attribution)&&(h.length>0&&(h+=" "),h+=e.attribution),u.push(new rf({resource:s,version:e.version,isHeightmap:g,tileUrlTemplates:y,availability:T,hasVertexNormals:n,hasWaterMask:o,hasMetadata:a,availabilityLevels:w,availabilityTilesLoaded:O,littleEndianExtensionSize:_}));const C=e.parentUrl;if(Object(r["a"])(C)){if(!Object(r["a"])(T))return console.log("A layer.json can't have a parentUrl if it does't have an available array."),Promise.resolve();s=s.getDerivedResource({url:C}),s.appendForwardSlash(),c=s.getDerivedResource({url:"layer.json"});const e=c.fetchJson();return Promise.resolve(e).then(p).catch(m)}return Promise.resolve()}function m(e){const t=`An error occurred while accessing ${c.url}.`;l=eh.handleError(l,i,i._errorEvent,t,void 0,void 0,void 0,b)}function _(e){p(e).then((function(){if(Object(r["a"])(l))return;const e=d.length;if(e>0){const t=i._availability=new Ju(i._tilingScheme,f);for(let n=0;n<e;++n){const e=d[n];for(let i=0;i<e.length;++i){const o=e[i];t.addAvailableTileRange(n,o[0],o[1],o[2],o[3])}}}if(h.length>0){const e=new fi(h);Object(r["a"])(i._tileCredits)?i._tileCredits.push(e):i._tileCredits=[e]}i._ready=!0,i._readyPromise.resolve(!0)}))}function g(e){Object(r["a"])(e)&&404===e.statusCode?_({tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]}):m(e)}function b(){Promise.resolve(c.fetchJson()).then(_).catch(g)}Promise.resolve(e.url).then((function(e){const t=Et["a"].createIfNeeded(e);t.appendForwardSlash(),s=t,c=s.getDerivedResource({url:"layer.json"}),i._tileCredits=t.credits,b()})).catch((function(e){n.reject(e)}))}const sf={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function cf(e){if(!Object(r["a"])(e)||0===e.length)return{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"};const t=e.join("-");return{Accept:`application/vnd.quantized-mesh;extensions=${t},application/octet-stream;q=0.9,*/*;q=0.01`}}function lf(e,t,n,i,o){const r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new Su({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function uf(e,t,n,i,o,a){const s=a.littleEndianExtensionSize;let c=0;const l=3,u=l+1,h=Float64Array.BYTES_PER_ELEMENT*l,d=Float64Array.BYTES_PER_ELEMENT*u,f=3,p=Uint16Array.BYTES_PER_ELEMENT*f,m=3;let _=Uint16Array.BYTES_PER_ELEMENT,b=_*m;const y=new DataView(t),v=new g(y.getFloat64(c,!0),y.getFloat64(c+8,!0),y.getFloat64(c+16,!0));c+=h;const O=y.getFloat32(c,!0);c+=Float32Array.BYTES_PER_ELEMENT;const w=y.getFloat32(c,!0);c+=Float32Array.BYTES_PER_ELEMENT;const A=new Tt(new g(y.getFloat64(c,!0),y.getFloat64(c+8,!0),y.getFloat64(c+16,!0)),y.getFloat64(c+h,!0));c+=d;const T=new g(y.getFloat64(c,!0),y.getFloat64(c+8,!0),y.getFloat64(c+16,!0));c+=h;const C=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const E=new Uint16Array(t,c,3*C);c+=C*p,C>65536&&(_=Uint32Array.BYTES_PER_ELEMENT,b=_*m);const x=E.subarray(0,C),S=E.subarray(C,2*C),I=E.subarray(2*C,3*C);gl.zigZagDeltaDecode(x,S,I),c%_!==0&&(c+=_-c%_);const D=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const j=uu.createTypedArrayFromArrayBuffer(C,t,c,D*m);c+=D*b;let P=0;const R=j.length;for(let r=0;r<R;++r){const e=j[r];j[r]=P-e,0===e&&++P}const M=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const N=uu.createTypedArrayFromArrayBuffer(C,t,c,M);c+=M*_;const L=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const B=uu.createTypedArrayFromArrayBuffer(C,t,c,L);c+=L*_;const F=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const k=uu.createTypedArrayFromArrayBuffer(C,t,c,F);c+=F*_;const z=y.getUint32(c,!0);c+=Uint32Array.BYTES_PER_ELEMENT;const U=uu.createTypedArrayFromArrayBuffer(C,t,c,z);let V,H;c+=z*_;while(c<y.byteLength){const l=y.getUint8(c,!0);c+=Uint8Array.BYTES_PER_ELEMENT;const u=y.getUint32(c,s);if(c+=Uint32Array.BYTES_PER_ELEMENT,l===sf.OCT_VERTEX_NORMALS&&e._requestVertexNormals)V=new Uint8Array(t,c,2*C);else if(l===sf.WATER_MASK&&e._requestWaterMask)H=new Uint8Array(t,c,u);else if(l===sf.METADATA&&e._requestMetadata){const s=y.getUint32(c,!0);if(s>0){const i=kd(new Uint8Array(t),c+Uint32Array.BYTES_PER_ELEMENT,s),o=i.available;if(Object(r["a"])(o))for(let t=0;t<o.length;++t){const i=n+t+1,r=o[t],s=e._tilingScheme.getNumberOfYTilesAtLevel(i);for(let t=0;t<r.length;++t){const n=r[t],o=s-n.endY-1,c=s-n.startY-1;e.availability.addAvailableTileRange(i,n.startX,o,n.endX,c),a.availability.addAvailableTileRange(i,n.startX,o,n.endX,c)}}}a.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}c+=u}const G=5*e.getLevelMaximumGeometricError(n),q=e._tilingScheme.tileXYToRectangle(i,o,n),W=Xc.fromRectangle(q,O,w,e._tilingScheme.ellipsoid);return new of({center:v,minimumHeight:O,maximumHeight:w,boundingSphere:A,orientedBoundingBox:W,horizonOcclusionPoint:T,quantizedVertices:E,encodedNormals:V,indices:j,westIndices:N,southIndices:B,eastIndices:k,northIndices:U,westSkirtHeight:G,southSkirtHeight:G,eastSkirtHeight:G,northSkirtHeight:G,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:H,credits:e._tileCredits})}function hf(e,t,n,i,o,a){if(!Object(r["a"])(o))return Promise.reject(new ye["a"]("Terrain tile doesn't exist"));const s=o.tileUrlTemplates;if(0===s.length)return;let c;if(e._scheme&&"tms"!==e._scheme)c=n;else{const t=e._tilingScheme.getNumberOfYTilesAtLevel(i);c=t-n-1}const l=[];let u,h;e._requestVertexNormals&&o.hasVertexNormals&&l.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&l.push("watermask"),e._requestMetadata&&o.hasMetadata&&l.push("metadata");const d=s[(t+c+i)%s.length],f=o.resource;Object(r["a"])(f._ionEndpoint)&&!Object(r["a"])(f._ionEndpoint.externalType)?(0!==l.length&&(h={extensions:l.join("-")}),u=cf(void 0)):u=cf(l);const p=f.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:c},queryParameters:h,headers:u,request:a}).fetchArrayBuffer();return Object(r["a"])(p)?p.then((function(a){return Object(r["a"])(e._heightmapStructure)?lf(e,a,i,t,n):uf(e,a,i,t,n,o)})):void 0}function df(e,t,n,i){if(0===i)return;const o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,a=1<<i-r,s=t/a|0,c=n/a|0;return{level:r,x:s,y:c}}function ff(e,t,n,i,o,a){if(!Object(r["a"])(o.availabilityLevels))return{result:!1};let s;const c=function(){delete o.availabilityPromiseCache[s]},l=o.availabilityTilesLoaded,u=o.availability;let h=df(o,t,n,i);while(Object(r["a"])(h)){if(u.isTileAvailable(h.level,h.x,h.y)&&!l.isTileAvailable(h.level,h.x,h.y)){let t;if(!a&&(s=`${h.level}-${h.x}-${h.y}`,t=o.availabilityPromiseCache[s],!Object(r["a"])(t))){const n=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].TERRAIN});t=hf(e,h.x,h.y,h.level,o,n),Object(r["a"])(t)&&(o.availabilityPromiseCache[s]=t,t.then(c))}return{result:!0,promise:t}}h=df(o,h.x,h.y,h.level)}return{result:!1}}af.prototype.requestTileGeometry=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestTileGeometry must not be called before the terrain provider is ready.");const o=this._layers;let s;const c=o.length;if(1===c)s=o[0];else for(let a=0;a<c;++a){const i=o[a];if(!Object(r["a"])(i.availability)||i.availability.isTileAvailable(n,e,t)){s=i;break}}return hf(this,e,t,n,s,i)},Object.defineProperties(af.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){if(!this._ready)throw new a["a"]("credit must not be called before the terrain provider is ready.");return this._credit}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the terrain provider is ready.");return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){if(!this._ready)throw new a["a"]("hasWaterMask must not be called before the terrain provider is ready.");return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){if(!this._ready)throw new a["a"]("hasVertexNormals must not be called before the terrain provider is ready.");return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){if(!this._ready)throw new a["a"]("hasMetadata must not be called before the terrain provider is ready.");return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){if(!this._ready)throw new a["a"]("availability must not be called before the terrain provider is ready.");return this._availability}}}),af.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},af.prototype.getTileDataAvailable=function(e,t,n){if(!Object(r["a"])(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;const i=this._layers,o=i.length;for(let r=0;r<o;++r){const o=ff(this,e,t,n,i[r],0===r);if(o.result)return}return!1},af.prototype.loadTileDataAvailability=function(e,t,n){if(!Object(r["a"])(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;const i=this._layers,o=i.length;for(let a=0;a<o;++a){const o=ff(this,e,t,n,i[a],0===a);if(Object(r["a"])(o.promise))return o.promise}},af._getAvailabilityTile=df;var pf=af;const mf={},_f=new g,gf=new g,bf=new $a,yf=new ce;function vf(e,t,n,i,o,r,a,s,c,l){const u=e+t;g.multiplyByScalar(i,Math.cos(u),_f),g.multiplyByScalar(n,Math.sin(u),gf),g.add(_f,gf,_f);let h=Math.cos(e);h*=h;let d=Math.sin(e);d*=d;const f=r/Math.sqrt(a*h+o*d),p=f/s;return $a.fromAxisAngle(_f,p,bf),ce.fromQuaternion(bf,yf),ce.multiplyByVector(yf,c,l),g.normalize(l,l),g.multiplyByScalar(l,s,l),l}const Of=new g,wf=new g,Af=new g,Tf=new g;mf.raisePositionsToHeight=function(e,t,n){const i=t.ellipsoid,o=t.height,r=t.extrudedHeight,a=n?e.length/3*2:e.length/3,s=new Float64Array(3*a),c=e.length,l=n?c:0;for(let u=0;u<c;u+=3){const t=u+1,a=u+2,c=g.fromArray(e,u,Of);i.scaleToGeodeticSurface(c,c);const h=g.clone(c,wf),d=i.geodeticSurfaceNormal(c,Tf),f=g.multiplyByScalar(d,o,Af);g.add(c,f,c),n&&(g.multiplyByScalar(d,r,f),g.add(h,f,h),s[u+l]=h.x,s[t+l]=h.y,s[a+l]=h.z),s[u]=c.x,s[t]=c.y,s[a]=c.z}return s};const Cf=new g,Ef=new g,xf=new g;mf.computeEllipsePositions=function(e,t,n){const i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,a=e.center,c=8*e.granularity,l=i*i,u=o*o,h=o*i,d=g.magnitude(a),f=g.normalize(a,Cf);let p=g.cross(g.UNIT_Z,a,Ef);p=g.normalize(p,p);const m=g.cross(f,p,xf);let _=1+Math.ceil(s["a"].PI_OVER_TWO/c);const b=s["a"].PI_OVER_TWO/(_-1);let y=s["a"].PI_OVER_TWO-_*b;y<0&&(_-=Math.ceil(Math.abs(y)/b));const v=_*(_+2)*2,O=t?new Array(3*v):void 0;let w=0,A=Of,T=wf;const C=4*_*3;let E=C-1,x=0;const S=n?new Array(C):void 0;let I,D,j,P,R;for(y=s["a"].PI_OVER_TWO,A=vf(y,r,m,p,l,h,u,d,f,A),t&&(O[w++]=A.x,O[w++]=A.y,O[w++]=A.z),n&&(S[E--]=A.z,S[E--]=A.y,S[E--]=A.x),y=s["a"].PI_OVER_TWO-b,I=1;I<_+1;++I){if(A=vf(y,r,m,p,l,h,u,d,f,A),T=vf(Math.PI-y,r,m,p,l,h,u,d,f,T),t){for(O[w++]=A.x,O[w++]=A.y,O[w++]=A.z,j=2*I+2,D=1;D<j-1;++D)P=D/(j-1),R=g.lerp(A,T,P,Af),O[w++]=R.x,O[w++]=R.y,O[w++]=R.z;O[w++]=T.x,O[w++]=T.y,O[w++]=T.z}n&&(S[E--]=A.z,S[E--]=A.y,S[E--]=A.x,S[x++]=T.x,S[x++]=T.y,S[x++]=T.z),y=s["a"].PI_OVER_TWO-(I+1)*b}for(I=_;I>1;--I){if(y=s["a"].PI_OVER_TWO-(I-1)*b,A=vf(-y,r,m,p,l,h,u,d,f,A),T=vf(y+Math.PI,r,m,p,l,h,u,d,f,T),t){for(O[w++]=A.x,O[w++]=A.y,O[w++]=A.z,j=2*(I-1)+2,D=1;D<j-1;++D)P=D/(j-1),R=g.lerp(A,T,P,Af),O[w++]=R.x,O[w++]=R.y,O[w++]=R.z;O[w++]=T.x,O[w++]=T.y,O[w++]=T.z}n&&(S[E--]=A.z,S[E--]=A.y,S[E--]=A.x,S[x++]=T.x,S[x++]=T.y,S[x++]=T.z)}y=s["a"].PI_OVER_TWO,A=vf(-y,r,m,p,l,h,u,d,f,A);const M={};return t&&(O[w++]=A.x,O[w++]=A.y,O[w++]=A.z,M.positions=O,M.numPts=_),n&&(S[E--]=A.z,S[E--]=A.y,S[E--]=A.x,M.outerPositions=S),M};var Sf=mf;function If(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.geometry))throw new a["a"]("options.geometry is required.");this.geometry=e.geometry,this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=Object(o["a"])(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var Df=If;const jf=new g,Pf=new g,Rf=new g;function Mf(e,t,n,o,a){let c,l,u,h,d,f,p,m;if(i["a"].defined("point",e),i["a"].defined("p0",t),i["a"].defined("p1",n),i["a"].defined("p2",o),Object(r["a"])(a)||(a=new g),Object(r["a"])(t.z)){if(g.equalsEpsilon(e,t,s["a"].EPSILON14))return g.clone(g.UNIT_X,a);if(g.equalsEpsilon(e,n,s["a"].EPSILON14))return g.clone(g.UNIT_Y,a);if(g.equalsEpsilon(e,o,s["a"].EPSILON14))return g.clone(g.UNIT_Z,a);c=g.subtract(n,t,jf),l=g.subtract(o,t,Pf),u=g.subtract(e,t,Rf),h=g.dot(c,c),d=g.dot(c,l),f=g.dot(c,u),p=g.dot(l,l),m=g.dot(l,u)}else{if(Ht.equalsEpsilon(e,t,s["a"].EPSILON14))return g.clone(g.UNIT_X,a);if(Ht.equalsEpsilon(e,n,s["a"].EPSILON14))return g.clone(g.UNIT_Y,a);if(Ht.equalsEpsilon(e,o,s["a"].EPSILON14))return g.clone(g.UNIT_Z,a);c=Ht.subtract(n,t,jf),l=Ht.subtract(o,t,Pf),u=Ht.subtract(e,t,Rf),h=Ht.dot(c,c),d=Ht.dot(c,l),f=Ht.dot(c,u),p=Ht.dot(l,l),m=Ht.dot(l,u)}a.y=p*f-d*m,a.z=h*m-d*f;const _=h*p-d*d;if(0!==_)return a.y/=_,a.z/=_,a.x=1-a.y-a.z,a}var Nf=Mf;function Lf(){this.high=g.clone(g.ZERO),this.low=g.clone(g.ZERO)}Lf.encode=function(e,t){let n;return i["a"].typeOf.number("value",e),Object(r["a"])(t)||(t={high:0,low:0}),e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};const Bf={high:0,low:0};Lf.fromCartesian=function(e,t){i["a"].typeOf.object("cartesian",e),Object(r["a"])(t)||(t=new Lf);const n=t.high,o=t.low;return Lf.encode(e.x,Bf),n.x=Bf.high,o.x=Bf.low,Lf.encode(e.y,Bf),n.y=Bf.high,o.y=Bf.low,Lf.encode(e.z,Bf),n.z=Bf.high,o.z=Bf.low,t};const Ff=new Lf;Lf.writeElements=function(e,t,n){i["a"].defined("cartesianArray",t),i["a"].typeOf.number("index",n),i["a"].typeOf.number.greaterThanOrEquals("index",n,0),Lf.fromCartesian(e,Ff);const o=Ff.high,r=Ff.low;t[n]=o.x,t[n+1]=o.y,t[n+2]=o.z,t[n+3]=r.x,t[n+4]=r.y,t[n+5]=r.z};var kf=Lf;const zf={calculateACMR:function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.indices;let n=e.maximumIndex;const i=Object(o["a"])(e.cacheSize,24);if(!Object(r["a"])(t))throw new a["a"]("indices is required.");const s=t.length;if(s<3||s%3!==0)throw new a["a"]("indices length must be a multiple of three.");if(n<=0)throw new a["a"]("maximumIndex must be greater than zero.");if(i<3)throw new a["a"]("cacheSize must be greater than two.");if(!Object(r["a"])(n)){n=0;let e=0,i=t[e];while(e<s)i>n&&(n=i),++e,i=t[e]}const c=[];for(let o=0;o<n+1;o++)c[o]=0;let l=i+1;for(let o=0;o<s;++o)l-c[t[o]]>i&&(c[t[o]]=l,++l);return(l-i+1)/(s/3)},tipsify:function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.indices,n=e.maximumIndex,i=Object(o["a"])(e.cacheSize,24);let s;function c(e,t,n,i){while(t.length>=1){const n=t[t.length-1];if(t.splice(t.length-1,1),e[n].numLiveTriangles>0)return n}while(s<i){if(e[s].numLiveTriangles>0)return++s,s-1;++s}return-1}function l(e,t,n,i,o,r,a){let s,l=-1,u=-1,h=0;while(h<n.length){const e=n[h];i[e].numLiveTriangles&&(s=0,o-i[e].timeStamp+2*i[e].numLiveTriangles<=t&&(s=o-i[e].timeStamp),(s>u||-1===u)&&(u=s,l=e)),++h}return-1===l?c(i,r,e,a):l}if(!Object(r["a"])(t))throw new a["a"]("indices is required.");const u=t.length;if(u<3||u%3!==0)throw new a["a"]("indices length must be a multiple of three.");if(n<=0)throw new a["a"]("maximumIndex must be greater than zero.");if(i<3)throw new a["a"]("cacheSize must be greater than two.");let h=0,d=0,f=t[d];const p=u;if(Object(r["a"])(n))h=n+1;else{while(d<p)f>h&&(h=f),++d,f=t[d];if(-1===h)return 0;++h}const m=[];let _;for(_=0;_<h;_++)m[_]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};d=0;let g=0;while(d<p)m[t[d]].vertexTriangles.push(g),++m[t[d]].numLiveTriangles,m[t[d+1]].vertexTriangles.push(g),++m[t[d+1]].numLiveTriangles,m[t[d+2]].vertexTriangles.push(g),++m[t[d+2]].numLiveTriangles,++g,d+=3;let b=0,y=i+1;s=1;let v=[];const O=[];let w,A,T=0;const C=[],E=u/3,x=[];for(_=0;_<E;_++)x[_]=!1;let S,I;while(-1!==b){v=[],A=m[b],I=A.vertexTriangles.length;for(let e=0;e<I;++e)if(g=A.vertexTriangles[e],!x[g]){x[g]=!0,d=g+g+g;for(let e=0;e<3;++e)S=t[d],v.push(S),O.push(S),C[T]=S,++T,w=m[S],--w.numLiveTriangles,y-w.timeStamp>i&&(w.timeStamp=y,++y),++d}b=l(t,i,v,m,y,O,h)}return C}};var Uf=zf;const Vf={};function Hf(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function Gf(e){const t=e.length,n=t/3*6,i=uu.createTypedArray(t,n);let o=0;for(let r=0;r<t;r+=3,o+=6)Hf(i,o,e[r],e[r+1],e[r+2]);return i}function qf(e){const t=e.length;if(t>=3){const n=6*(t-2),i=uu.createTypedArray(t,n);Hf(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)Hf(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function Wf(e){if(e.length>0){const t=e.length-1,n=6*(t-1),i=uu.createTypedArray(t,n),o=e[0];let r=0;for(let a=1;a<t;++a,r+=6)Hf(i,r,o,e[a],e[a+1]);return i}return new Uint16Array}function Yf(e){const t={};for(const n in e)if(e.hasOwnProperty(n)&&Object(r["a"])(e[n])&&Object(r["a"])(e[n].values)){const i=e[n];t[n]=new Uh({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function Xf(e,t,n){for(const i in t)if(t.hasOwnProperty(i)&&Object(r["a"])(t[i])&&Object(r["a"])(t[i].values)){const o=t[i];for(let t=0;t<o.componentsPerAttribute;++t)e[i].values.push(o.values[n*o.componentsPerAttribute+t])}}Vf.toWireframe=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const t=e.indices;if(Object(r["a"])(t)){switch(e.primitiveType){case xh.TRIANGLES:e.indices=Gf(t);break;case xh.TRIANGLE_STRIP:e.indices=qf(t);break;case xh.TRIANGLE_FAN:e.indices=Wf(t);break;default:throw new a["a"]("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}e.primitiveType=xh.LINES}return e},Vf.createLineSegmentsForVectors=function(e,t,n){if(t=Object(o["a"])(t,"normal"),!Object(r["a"])(e))throw new a["a"]("geometry is required.");if(!Object(r["a"])(e.attributes.position))throw new a["a"]("geometry.attributes.position is required.");if(!Object(r["a"])(e.attributes[t]))throw new a["a"](`geometry.attributes must have an attribute with the same name as the attributeName parameter, ${t}.`);n=Object(o["a"])(n,1e4);const i=e.attributes.position.values,s=e.attributes[t].values,c=i.length,l=new Float64Array(2*c);let u,h=0;for(let o=0;o<c;o+=3)l[h++]=i[o],l[h++]=i[o+1],l[h++]=i[o+2],l[h++]=i[o]+s[o]*n,l[h++]=i[o+1]+s[o+1]*n,l[h++]=i[o+2]+s[o+2]*n;const d=e.boundingSphere;return Object(r["a"])(d)&&(u=new Tt(d.center,d.radius+n)),new kh({attributes:{position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:l})},primitiveType:xh.LINES,boundingSphere:u})},Vf.createAttributeLocations=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={};let o,s=0;const c=t.length;for(o=0;o<c;++o){const e=t[o];Object(r["a"])(n[e])&&(i[e]=s++)}for(const a in n)n.hasOwnProperty(a)&&!Object(r["a"])(i[a])&&(i[a]=s++);return i},Vf.reorderForPreVertexCache=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const t=kh.computeNumberOfVertices(e),n=e.indices;if(Object(r["a"])(n)){const i=new Int32Array(t);for(let e=0;e<t;e++)i[e]=-1;const o=n,a=o.length,s=uu.createTypedArray(t,a);let c,l=0,u=0,h=0;while(l<a)c=i[o[l]],-1!==c?s[u]=c:(c=o[l],i[c]=h,s[u]=h,++h),++l,++u;e.indices=s;const d=e.attributes;for(const e in d)if(d.hasOwnProperty(e)&&Object(r["a"])(d[e])&&Object(r["a"])(d[e].values)){const n=d[e],o=n.values;let r=0;const a=n.componentsPerAttribute,s=$c.createTypedArray(n.componentDatatype,h*a);while(r<t){const e=i[r];if(-1!==e)for(let t=0;t<a;t++)s[a*e+t]=o[a*r+t];++r}n.values=s}}return e},Vf.reorderForPostVertexCache=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const n=e.indices;if(e.primitiveType===xh.TRIANGLES&&Object(r["a"])(n)){const i=n.length;let o=0;for(let e=0;e<i;e++)n[e]>o&&(o=n[e]);e.indices=Uf.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e},Vf.fitToUnsignedShortIndices=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");if(Object(r["a"])(e.indices)&&e.primitiveType!==xh.TRIANGLES&&e.primitiveType!==xh.LINES&&e.primitiveType!==xh.POINTS)throw new a["a"]("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");const t=[],n=kh.computeNumberOfVertices(e);if(Object(r["a"])(e.indices)&&n>=s["a"].SIXTY_FOUR_KILOBYTES){let n=[],i=[],o=0,a=Yf(e.attributes);const c=e.indices,l=c.length;let u;e.primitiveType===xh.TRIANGLES?u=3:e.primitiveType===xh.LINES?u=2:e.primitiveType===xh.POINTS&&(u=1);for(let h=0;h<l;h+=u){for(let t=0;t<u;++t){const s=c[h+t];let l=n[s];Object(r["a"])(l)||(l=o++,n[s]=l,Xf(a,e.attributes,s)),i.push(l)}o+u>=s["a"].SIXTY_FOUR_KILOBYTES&&(t.push(new kh({attributes:a,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),n=[],i=[],o=0,a=Yf(e.attributes))}0!==i.length&&t.push(new kh({attributes:a,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};const Kf=new g,Jf=new I;Vf.projectTo2D=function(e,t,n,i,o){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");if(!Object(r["a"])(t))throw new a["a"]("attributeName is required.");if(!Object(r["a"])(n))throw new a["a"]("attributeName3D is required.");if(!Object(r["a"])(i))throw new a["a"]("attributeName2D is required.");if(!Object(r["a"])(e.attributes[t]))throw new a["a"](`geometry must have attribute matching the attributeName argument: ${t}.`);if(e.attributes[t].componentDatatype!==$c.DOUBLE)throw new a["a"]("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");const s=e.attributes[t];o=Object(r["a"])(o)?o:new V;const c=o.ellipsoid,l=s.values,u=new Float64Array(l.length);let h=0;for(let d=0;d<l.length;d+=3){const e=g.fromArray(l,d,Kf),t=c.cartesianToCartographic(e,Jf);if(!Object(r["a"])(t))throw new a["a"](`Could not project point (${e.x}, ${e.y}, ${e.z}) to 2D.`);const n=o.project(t,Kf);u[h++]=n.x,u[h++]=n.y,u[h++]=n.z}return e.attributes[n]=s,e.attributes[i]=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:u}),delete e.attributes[t],e};const Zf={high:0,low:0};Vf.encodeAttribute=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");if(!Object(r["a"])(t))throw new a["a"]("attributeName is required.");if(!Object(r["a"])(n))throw new a["a"]("attributeHighName is required.");if(!Object(r["a"])(i))throw new a["a"]("attributeLowName is required.");if(!Object(r["a"])(e.attributes[t]))throw new a["a"](`geometry must have attribute matching the attributeName argument: ${t}.`);if(e.attributes[t].componentDatatype!==$c.DOUBLE)throw new a["a"]("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");const o=e.attributes[t],s=o.values,c=s.length,l=new Float32Array(c),u=new Float32Array(c);for(let r=0;r<c;++r)kf.encode(s[r],Zf),l[r]=Zf.high,u[r]=Zf.low;const h=o.componentsPerAttribute;return e.attributes[n]=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:h,values:l}),e.attributes[i]=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:h,values:u}),delete e.attributes[t],e};let $f=new g;function Qf(e,t){if(Object(r["a"])(t)){const n=t.values,i=n.length;for(let t=0;t<i;t+=3)g.unpack(n,t,$f),Ne.multiplyByPoint(e,$f,$f),g.pack($f,n,t)}}function ep(e,t){if(Object(r["a"])(t)){const n=t.values,i=n.length;for(let t=0;t<i;t+=3)g.unpack(n,t,$f),ce.multiplyByVector(e,$f,$f),$f=g.normalize($f,$f),g.pack($f,n,t)}}const tp=new Ne,np=new ce;function ip(e,t){const n=e.length,i={},o=e[0][t].attributes;let a;for(a in o)if(o.hasOwnProperty(a)&&Object(r["a"])(o[a])&&Object(r["a"])(o[a].values)){const s=o[a];let c=s.values.length,l=!0;for(let i=1;i<n;++i){const n=e[i][t].attributes[a];if(!Object(r["a"])(n)||s.componentDatatype!==n.componentDatatype||s.componentsPerAttribute!==n.componentsPerAttribute||s.normalize!==n.normalize){l=!1;break}c+=n.values.length}l&&(i[a]=new Uh({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:$c.createTypedArray(s.componentDatatype,c)}))}return i}Vf.transformToWorldCoordinates=function(e){if(!Object(r["a"])(e))throw new a["a"]("instance is required.");const t=e.modelMatrix;if(Ne.equals(t,Ne.IDENTITY))return e;const n=e.geometry.attributes;Qf(t,n.position),Qf(t,n.prevPosition),Qf(t,n.nextPosition),(Object(r["a"])(n.normal)||Object(r["a"])(n.tangent)||Object(r["a"])(n.bitangent))&&(Ne.inverse(t,tp),Ne.transpose(tp,tp),Ne.getMatrix3(tp,np),ep(np,n.normal),ep(np,n.tangent),ep(np,n.bitangent));const i=e.geometry.boundingSphere;return Object(r["a"])(i)&&(e.geometry.boundingSphere=Tt.transform(i,t,i)),e.modelMatrix=Ne.clone(Ne.IDENTITY),e};const op=new g;function rp(e,t){const n=e.length;let i,o,s,c;const l=e[0].modelMatrix,u=Object(r["a"])(e[0][t].indices),h=e[0][t].primitiveType;for(o=1;o<n;++o){if(!Ne.equals(e[o].modelMatrix,l))throw new a["a"]("All instances must have the same modelMatrix.");if(Object(r["a"])(e[o][t].indices)!==u)throw new a["a"]("All instance geometries must have an indices or not have one.");if(e[o][t].primitiveType!==h)throw new a["a"]("All instance geometries must have the same primitiveType.")}const d=ip(e,t);let f,p,m,_;for(i in d)if(d.hasOwnProperty(i))for(f=d[i].values,c=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,m=p.length,s=0;s<m;++s)f[c++]=p[s];if(u){let i=0;for(o=0;o<n;++o)i+=e[o][t].indices.length;const r=kh.computeNumberOfVertices(new kh({attributes:d,primitiveType:xh.POINTS})),a=uu.createTypedArray(r,i);let s=0,l=0;for(o=0;o<n;++o){const n=e[o][t].indices,i=n.length;for(c=0;c<i;++c)a[s++]=l+n[c];l+=kh.computeNumberOfVertices(e[o][t])}_=a}let b,y=new g,v=0;for(o=0;o<n;++o){if(b=e[o][t].boundingSphere,!Object(r["a"])(b)){y=void 0;break}g.add(b.center,y,y)}if(Object(r["a"])(y))for(g.divideByScalar(y,n,y),o=0;o<n;++o){b=e[o][t].boundingSphere;const n=g.magnitude(g.subtract(b.center,y,op))+b.radius;n>v&&(v=n)}return new kh({attributes:d,indices:_,primitiveType:h,boundingSphere:Object(r["a"])(y)?new Tt(y,v):void 0})}Vf.combineInstances=function(e){if(!Object(r["a"])(e)||e.length<1)throw new a["a"]("instances is required and must have length greater than zero.");const t=[],n=[],i=e.length;for(let a=0;a<i;++a){const i=e[a];Object(r["a"])(i.geometry)?t.push(i):Object(r["a"])(i.westHemisphereGeometry)&&Object(r["a"])(i.eastHemisphereGeometry)&&n.push(i)}const o=[];return t.length>0&&o.push(rp(t,"geometry")),n.length>0&&(o.push(rp(n,"westHemisphereGeometry")),o.push(rp(n,"eastHemisphereGeometry"))),o};const ap=new g,sp=new g,cp=new g,lp=new g;Vf.computeNormal=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");if(!Object(r["a"])(e.attributes.position)||!Object(r["a"])(e.attributes.position.values))throw new a["a"]("geometry.attributes.position.values is required.");if(!Object(r["a"])(e.indices))throw new a["a"]("geometry.indices is required.");if(e.indices.length<2||e.indices.length%3!==0)throw new a["a"]("geometry.indices length must be greater than 0 and be a multiple of 3.");if(e.primitiveType!==xh.TRIANGLES)throw new a["a"]("geometry.primitiveType must be PrimitiveType.TRIANGLES.");const t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,c=t.length,l=new Array(o),u=new Array(c/3),h=new Array(c);let d;for(d=0;d<o;d++)l[d]={indexOffset:0,count:0,currentCount:0};let f=0;for(d=0;d<c;d+=3){const e=t[d],n=t[d+1],o=t[d+2],r=3*e,a=3*n,s=3*o;sp.x=i[r],sp.y=i[r+1],sp.z=i[r+2],cp.x=i[a],cp.y=i[a+1],cp.z=i[a+2],lp.x=i[s],lp.y=i[s+1],lp.z=i[s+2],l[e].count++,l[n].count++,l[o].count++,g.subtract(cp,sp,cp),g.subtract(lp,sp,lp),u[f]=g.cross(cp,lp,new g),f++}let p,m=0;for(d=0;d<o;d++)l[d].indexOffset+=m,m+=l[d].count;for(f=0,d=0;d<c;d+=3){p=l[t[d]];let e=p.indexOffset+p.currentCount;h[e]=f,p.currentCount++,p=l[t[d+1]],e=p.indexOffset+p.currentCount,h[e]=f,p.currentCount++,p=l[t[d+2]],e=p.indexOffset+p.currentCount,h[e]=f,p.currentCount++,f++}const _=new Float32Array(3*o);for(d=0;d<o;d++){const e=3*d;if(p=l[d],g.clone(g.ZERO,ap),p.count>0){for(f=0;f<p.count;f++)g.add(ap,u[h[p.indexOffset+f]],ap);g.equalsEpsilon(g.ZERO,ap,s["a"].EPSILON10)&&g.clone(u[h[p.indexOffset]],ap)}g.equalsEpsilon(g.ZERO,ap,s["a"].EPSILON10)&&(ap.z=1),g.normalize(ap,ap),_[e]=ap.x,_[e+1]=ap.y,_[e+2]=ap.z}return e.attributes.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:_}),e};const up=new g,hp=new g,dp=new g;Vf.computeTangentAndBitangent=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const t=e.attributes,n=e.indices;if(!Object(r["a"])(t.position)||!Object(r["a"])(t.position.values))throw new a["a"]("geometry.attributes.position.values is required.");if(!Object(r["a"])(t.normal)||!Object(r["a"])(t.normal.values))throw new a["a"]("geometry.attributes.normal.values is required.");if(!Object(r["a"])(t.st)||!Object(r["a"])(t.st.values))throw new a["a"]("geometry.attributes.st.values is required.");if(!Object(r["a"])(n))throw new a["a"]("geometry.indices is required.");if(n.length<2||n.length%3!==0)throw new a["a"]("geometry.indices length must be greater than 0 and be a multiple of 3.");if(e.primitiveType!==xh.TRIANGLES)throw new a["a"]("geometry.primitiveType must be PrimitiveType.TRIANGLES.");const i=e.attributes.position.values,o=e.attributes.normal.values,s=e.attributes.st.values,c=e.attributes.position.values.length/3,l=n.length,u=new Array(3*c);let h,d,f,p;for(h=0;h<u.length;h++)u[h]=0;for(h=0;h<l;h+=3){const e=n[h],t=n[h+1],o=n[h+2];d=3*e,f=3*t,p=3*o;const r=2*e,a=2*t,c=2*o,l=i[d],m=i[d+1],_=i[d+2],g=s[r],b=s[r+1],y=s[a+1]-b,v=s[c+1]-b,O=1/((s[a]-g)*v-(s[c]-g)*y),w=(v*(i[f]-l)-y*(i[p]-l))*O,A=(v*(i[f+1]-m)-y*(i[p+1]-m))*O,T=(v*(i[f+2]-_)-y*(i[p+2]-_))*O;u[d]+=w,u[d+1]+=A,u[d+2]+=T,u[f]+=w,u[f+1]+=A,u[f+2]+=T,u[p]+=w,u[p+1]+=A,u[p+2]+=T}const m=new Float32Array(3*c),_=new Float32Array(3*c);for(h=0;h<c;h++){d=3*h,f=d+1,p=d+2;const e=g.fromArray(o,d,up),t=g.fromArray(u,d,dp),n=g.dot(e,t);g.multiplyByScalar(e,n,hp),g.normalize(g.subtract(t,hp,t),t),m[d]=t.x,m[f]=t.y,m[p]=t.z,g.normalize(g.cross(e,t,t),t),_[d]=t.x,_[f]=t.y,_[p]=t.z}return e.attributes.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:m}),e.attributes.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:_}),e};const fp=new Ht,pp=new g,mp=new g,_p=new g;let gp=new Ht;function bp(e){if(Object(r["a"])(e.indices))return e;const t=kh.computeNumberOfVertices(e);if(t<3)throw new a["a"]("The number of vertices must be at least three.");if(t%3!==0)throw new a["a"]("The number of vertices must be a multiple of three.");const n=uu.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function yp(e){const t=kh.computeNumberOfVertices(e);if(t<3)throw new a["a"]("The number of vertices must be at least three.");const n=uu.createTypedArray(t,3*(t-2));n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=xh.TRIANGLES,e}function vp(e){const t=kh.computeNumberOfVertices(e);if(t<3)throw new a["a"]("The number of vertices must be at least 3.");const n=uu.createTypedArray(t,3*(t-2));n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=xh.TRIANGLES,e}function Op(e){if(Object(r["a"])(e.indices))return e;const t=kh.computeNumberOfVertices(e);if(t<2)throw new a["a"]("The number of vertices must be at least two.");if(t%2!==0)throw new a["a"]("The number of vertices must be a multiple of 2.");const n=uu.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function wp(e){const t=kh.computeNumberOfVertices(e);if(t<2)throw new a["a"]("The number of vertices must be at least two.");const n=uu.createTypedArray(t,2*(t-1));n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=xh.LINES,e}function Ap(e){const t=kh.computeNumberOfVertices(e);if(t<2)throw new a["a"]("The number of vertices must be at least two.");const n=uu.createTypedArray(t,2*t);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=xh.LINES,e}function Tp(e){switch(e.primitiveType){case xh.TRIANGLE_FAN:return yp(e);case xh.TRIANGLE_STRIP:return vp(e);case xh.TRIANGLES:return bp(e);case xh.LINE_STRIP:return wp(e);case xh.LINE_LOOP:return Ap(e);case xh.LINES:return Op(e)}return e}function Cp(e,t){Math.abs(e.y)<s["a"].EPSILON6&&(e.y=t?-s["a"].EPSILON6:s["a"].EPSILON6)}function Ep(e,t,n){if(0!==e.y&&0!==t.y&&0!==n.y)return Cp(e,e.y<0),Cp(t,t.y<0),void Cp(n,n.y<0);const i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y);let a;a=i>o?i>r?s["a"].sign(e.y):s["a"].sign(n.y):o>r?s["a"].sign(t.y):s["a"].sign(n.y);const c=a<0;Cp(e,c),Cp(t,c),Cp(n,c)}Vf.compressVertices=function(e){if(!Object(r["a"])(e))throw new a["a"]("geometry is required.");const t=e.attributes.extrudeDirection;let n,i;if(Object(r["a"])(t)){const o=t.values;i=o.length/3;const r=new Float32Array(2*i);let a=0;for(n=0;n<i;++n)g.fromArray(o,3*n,pp),g.equals(pp,g.ZERO)?a+=2:(gp=gl.octEncodeInRange(pp,65535,gp),r[a++]=gp.x,r[a++]=gp.y);return e.attributes.compressedAttributes=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:r}),delete e.attributes.extrudeDirection,e}const o=e.attributes.normal,s=e.attributes.st,c=Object(r["a"])(o),l=Object(r["a"])(s);if(!c&&!l)return e;const u=e.attributes.tangent,h=e.attributes.bitangent,d=Object(r["a"])(u),f=Object(r["a"])(h);let p,m,_,b;c&&(p=o.values),l&&(m=s.values),d&&(_=u.values),f&&(b=h.values);const y=c?p.length:m.length,v=c?3:2;i=y/v;let O=i,w=l&&c?2:1;w+=d||f?1:0,O*=w;const A=new Float32Array(O);let T=0;for(n=0;n<i;++n){l&&(Ht.fromArray(m,2*n,fp),A[T++]=gl.compressTextureCoordinates(fp));const e=3*n;c&&Object(r["a"])(_)&&Object(r["a"])(b)?(g.fromArray(p,e,pp),g.fromArray(_,e,mp),g.fromArray(b,e,_p),gl.octPack(pp,mp,_p,fp),A[T++]=fp.x,A[T++]=fp.y):(c&&(g.fromArray(p,e,pp),A[T++]=gl.octEncodeFloat(pp)),d&&(g.fromArray(_,e,pp),A[T++]=gl.octEncodeFloat(pp)),f&&(g.fromArray(b,e,pp),A[T++]=gl.octEncodeFloat(pp)))}return e.attributes.compressedAttributes=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:w,values:A}),c&&delete e.attributes.normal,l&&delete e.attributes.st,f&&delete e.attributes.bitangent,d&&delete e.attributes.tangent,e};const xp=new g;function Sp(e,t,n,i){g.add(e,g.multiplyByScalar(g.subtract(t,e,xp),e.y/(e.y-t.y),xp),n),g.clone(n,i),Cp(n,!0),Cp(i,!1)}const Ip=new g,Dp=new g,jp=new g,Pp=new g,Rp={positions:new Array(7),indices:new Array(9)};function Mp(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;Ep(e,t,n);const i=e.y<0,o=t.y<0,r=n.y<0;let a=0;a+=i?1:0,a+=o?1:0,a+=r?1:0;const s=Rp.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,i?(Sp(e,t,Ip,jp),Sp(e,n,Dp,Pp),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(Sp(t,n,Ip,jp),Sp(t,e,Dp,Pp),s[0]=1,s[3]=2,s[4]=0,s[6]=2):r&&(Sp(n,e,Ip,jp),Sp(n,t,Dp,Pp),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,i?o?r||(Sp(n,e,Ip,jp),Sp(n,t,Dp,Pp),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(Sp(t,n,Ip,jp),Sp(t,e,Dp,Pp),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(Sp(e,t,Ip,jp),Sp(e,n,Dp,Pp),s[0]=1,s[1]=2,s[3]=1,s[6]=0));const c=Rp.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,1!==a&&2!==a||(c[3]=Ip,c[4]=Dp,c[5]=jp,c[6]=Pp,c.length=7),Rp}function Np(e,t){const n=e.attributes;if(0===n.position.values.length)return;for(const o in n)if(n.hasOwnProperty(o)&&Object(r["a"])(n[o])&&Object(r["a"])(n[o].values)){const e=n[o];e.values=$c.createTypedArray(e.componentDatatype,e.values)}const i=kh.computeNumberOfVertices(e);return e.indices=uu.createTypedArray(i,e.indices),t&&(e.boundingSphere=Tt.fromVertices(n.position.values)),e}function Lp(e){const t=e.attributes,n={};for(const i in t)if(t.hasOwnProperty(i)&&Object(r["a"])(t[i])&&Object(r["a"])(t[i].values)){const e=t[i];n[i]=new Uh({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:[]})}return new kh({attributes:n,indices:[],primitiveType:e.primitiveType})}function Bp(e,t,n){const i=Object(r["a"])(e.geometry.boundingSphere);t=Np(t,i),n=Np(n,i),Object(r["a"])(n)&&!Object(r["a"])(t)?e.geometry=n:!Object(r["a"])(n)&&Object(r["a"])(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function Fp(e,t){const n=new e,i=new e,o=new e;return function(r,a,s,c,l,u,h,d){const f=e.fromArray(l,r*t,n),p=e.fromArray(l,a*t,i),m=e.fromArray(l,s*t,o);e.multiplyByScalar(f,c.x,f),e.multiplyByScalar(p,c.y,p),e.multiplyByScalar(m,c.z,m);const _=e.add(f,p,f);e.add(_,m,_),d&&e.normalize(_,_),e.pack(_,u,h*t)}}const kp=Fp(be,4),zp=Fp(g,3),Up=Fp(Ht,2),Vp=function(e,t,n,i,o,r,a){const c=o[e]*i.x,l=o[t]*i.y,u=o[n]*i.z;r[a]=c+l+u>s["a"].EPSILON6?1:0},Hp=new g,Gp=new g,qp=new g,Wp=new g;function Yp(e,t,n,i,o,a,s,c,l,u,h,d,f,p,m,_){if(!Object(r["a"])(a)&&!Object(r["a"])(s)&&!Object(r["a"])(c)&&!Object(r["a"])(l)&&!Object(r["a"])(u)&&0===p)return;const b=g.fromArray(o,3*e,Hp),y=g.fromArray(o,3*t,Gp),v=g.fromArray(o,3*n,qp),O=Nf(i,b,y,v,Wp);if(Object(r["a"])(O)){if(Object(r["a"])(a)&&zp(e,t,n,O,a,d.normal.values,_,!0),Object(r["a"])(u)){const i=g.fromArray(u,3*e,Hp),o=g.fromArray(u,3*t,Gp),r=g.fromArray(u,3*n,qp);let a;g.multiplyByScalar(i,O.x,i),g.multiplyByScalar(o,O.y,o),g.multiplyByScalar(r,O.z,r),g.equals(i,g.ZERO)&&g.equals(o,g.ZERO)&&g.equals(r,g.ZERO)?(a=Hp,a.x=0,a.y=0,a.z=0):(a=g.add(i,o,i),g.add(a,r,a),g.normalize(a,a)),g.pack(a,d.extrudeDirection.values,3*_)}if(Object(r["a"])(h)&&Vp(e,t,n,O,h,d.applyOffset.values,_),Object(r["a"])(s)&&zp(e,t,n,O,s,d.tangent.values,_,!0),Object(r["a"])(c)&&zp(e,t,n,O,c,d.bitangent.values,_,!0),Object(r["a"])(l)&&Up(e,t,n,O,l,d.st.values,_),p>0)for(let i=0;i<p;i++){const o=f[i];Xp(e,t,n,O,_,m[o],d[o])}}}function Xp(e,t,n,i,o,r,a){const s=r.componentsPerAttribute,c=r.values,l=a.values;switch(s){case 4:kp(e,t,n,i,c,l,o,!1);break;case 3:zp(e,t,n,i,c,l,o,!1);break;case 2:Up(e,t,n,i,c,l,o,!1);break;default:l[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function Kp(e,t,n,i,o,r){const a=e.position.values.length/3;if(-1!==o){const s=i[o],c=n[s];return-1===c?(n[s]=a,e.position.values.push(r.x,r.y,r.z),t.push(a),a):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(a),a}const Jp={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function Zp(e){const t=e.geometry,n=t.attributes,i=n.position.values,o=Object(r["a"])(n.normal)?n.normal.values:void 0,a=Object(r["a"])(n.bitangent)?n.bitangent.values:void 0,s=Object(r["a"])(n.tangent)?n.tangent.values:void 0,c=Object(r["a"])(n.st)?n.st.values:void 0,l=Object(r["a"])(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=Object(r["a"])(n.applyOffset)?n.applyOffset.values:void 0,h=t.indices,d=[];for(const g in n)n.hasOwnProperty(g)&&!Jp[g]&&Object(r["a"])(n[g])&&d.push(g);const f=d.length,p=Lp(t),m=Lp(t);let _,b,y,v,O;const w=[];w.length=i.length/3;const A=[];for(A.length=i.length/3,O=0;O<w.length;++O)w[O]=-1,A[O]=-1;const T=h.length;for(O=0;O<T;O+=3){const e=h[O],t=h[O+1],T=h[O+2];let C=g.fromArray(i,3*e),E=g.fromArray(i,3*t),x=g.fromArray(i,3*T);const S=Mp(C,E,x);if(Object(r["a"])(S)&&S.positions.length>3){const r=S.positions,g=S.indices,C=g.length;for(let E=0;E<C;++E){const C=g[E],x=r[C];x.y<0?(_=m.attributes,b=m.indices,y=w):(_=p.attributes,b=p.indices,y=A),v=Kp(_,b,y,h,C<3?O+C:-1,x),Yp(e,t,T,x,i,o,s,a,c,l,u,_,d,f,n,v)}}else Object(r["a"])(S)&&(C=S.positions[0],E=S.positions[1],x=S.positions[2]),C.y<0?(_=m.attributes,b=m.indices,y=w):(_=p.attributes,b=p.indices,y=A),v=Kp(_,b,y,h,O,C),Yp(e,t,T,C,i,o,s,a,c,l,u,_,d,f,n,v),v=Kp(_,b,y,h,O+1,E),Yp(e,t,T,E,i,o,s,a,c,l,u,_,d,f,n,v),v=Kp(_,b,y,h,O+2,x),Yp(e,t,T,x,i,o,s,a,c,l,u,_,d,f,n,v)}Bp(e,m,p)}const $p=No.fromPointNormal(g.ZERO,g.UNIT_Y),Qp=new g,em=new g;function tm(e,t,n,i,o,a,c){if(!Object(r["a"])(c))return;const l=g.fromArray(i,3*e,Hp);g.equalsEpsilon(l,n,s["a"].EPSILON10)?a.applyOffset.values[o]=c[e]:a.applyOffset.values[o]=c[t]}function nm(e){const t=e.geometry,n=t.attributes,i=n.position.values,o=Object(r["a"])(n.applyOffset)?n.applyOffset.values:void 0,a=t.indices,c=Lp(t),l=Lp(t);let u;const h=a.length,d=[];d.length=i.length/3;const f=[];for(f.length=i.length/3,u=0;u<d.length;++u)d[u]=-1,f[u]=-1;for(u=0;u<h;u+=2){const e=a[u],t=a[u+1],n=g.fromArray(i,3*e,Hp),h=g.fromArray(i,3*t,Gp);let p;Math.abs(n.y)<s["a"].EPSILON6&&(n.y<0?n.y=-s["a"].EPSILON6:n.y=s["a"].EPSILON6),Math.abs(h.y)<s["a"].EPSILON6&&(h.y<0?h.y=-s["a"].EPSILON6:h.y=s["a"].EPSILON6);let m=c.attributes,_=c.indices,b=f,y=l.attributes,v=l.indices,O=d;const w=So.lineSegmentPlane(n,h,$p,qp);if(Object(r["a"])(w)){const r=g.multiplyByScalar(g.UNIT_Y,5*s["a"].EPSILON9,Qp);n.y<0&&(g.negate(r,r),m=l.attributes,_=l.indices,b=d,y=c.attributes,v=c.indices,O=f);const A=g.add(w,r,em);p=Kp(m,_,b,a,u,n),tm(e,t,n,i,p,m,o),p=Kp(m,_,b,a,-1,A),tm(e,t,A,i,p,m,o),g.negate(r,r),g.add(w,r,A),p=Kp(y,v,O,a,-1,A),tm(e,t,A,i,p,y,o),p=Kp(y,v,O,a,u+1,h),tm(e,t,h,i,p,y,o)}else{let r,s,m;n.y<0?(r=l.attributes,s=l.indices,m=d):(r=c.attributes,s=c.indices,m=f),p=Kp(r,s,m,a,u,n),tm(e,t,n,i,p,r,o),p=Kp(r,s,m,a,u+1,h),tm(e,t,h,i,p,r,o)}}Bp(e,l,c)}const im=new Ht,om=new Ht,rm=new g,am=new g,sm=new g,cm=new g,lm=new g,um=new g,hm=new be;function dm(e){const t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let a=0;a<r;a+=3){const e=g.unpack(n,a,rm);if(e.x>0)continue;const t=g.unpack(i,a,am);(e.y<0&&t.y>0||e.y>0&&t.y<0)&&(a-3>0?(i[a]=n[a-3],i[a+1]=n[a-2],i[a+2]=n[a-1]):g.pack(e,i,a));const s=g.unpack(o,a,sm);(e.y<0&&s.y>0||e.y>0&&s.y<0)&&(a+3<r?(o[a]=n[a+3],o[a+1]=n[a+4],o[a+2]=n[a+5]):g.pack(e,o,a))}}const fm=5*s["a"].EPSILON9,pm=s["a"].EPSILON6;function mm(e){const t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,a=n.nextPosition.values,c=n.expandAndWidth.values,l=Object(r["a"])(n.st)?n.st.values:void 0,u=Object(r["a"])(n.color)?n.color.values:void 0,h=Lp(t),d=Lp(t);let f,p,m,_=!1;const b=i.length/3;for(f=0;f<b;f+=4){const e=f,t=f+2,n=g.fromArray(i,3*e,rm),b=g.fromArray(i,3*t,am);if(Math.abs(n.y)<pm)for(n.y=pm*(b.y<0?-1:1),i[3*f+1]=n.y,i[3*(f+1)+1]=n.y,p=3*e;p<3*e+12;p+=3)o[p]=i[3*f],o[p+1]=i[3*f+1],o[p+2]=i[3*f+2];if(Math.abs(b.y)<pm)for(b.y=pm*(n.y<0?-1:1),i[3*(f+2)+1]=b.y,i[3*(f+3)+1]=b.y,p=3*e;p<3*e+12;p+=3)a[p]=i[3*(f+2)],a[p+1]=i[3*(f+2)+1],a[p+2]=i[3*(f+2)+2];let y=h.attributes,v=h.indices,O=d.attributes,w=d.indices;const A=So.lineSegmentPlane(n,b,$p,cm);if(Object(r["a"])(A)){_=!0;const i=g.multiplyByScalar(g.UNIT_Y,fm,lm);n.y<0&&(g.negate(i,i),y=d.attributes,v=d.indices,O=h.attributes,w=h.indices);const T=g.add(A,i,um);y.position.values.push(n.x,n.y,n.z,n.x,n.y,n.z),y.position.values.push(T.x,T.y,T.z),y.position.values.push(T.x,T.y,T.z),y.prevPosition.values.push(o[3*e],o[3*e+1],o[3*e+2]),y.prevPosition.values.push(o[3*e+3],o[3*e+4],o[3*e+5]),y.prevPosition.values.push(n.x,n.y,n.z,n.x,n.y,n.z),y.nextPosition.values.push(T.x,T.y,T.z),y.nextPosition.values.push(T.x,T.y,T.z),y.nextPosition.values.push(T.x,T.y,T.z),y.nextPosition.values.push(T.x,T.y,T.z),g.negate(i,i),g.add(A,i,T),O.position.values.push(T.x,T.y,T.z),O.position.values.push(T.x,T.y,T.z),O.position.values.push(b.x,b.y,b.z,b.x,b.y,b.z),O.prevPosition.values.push(T.x,T.y,T.z),O.prevPosition.values.push(T.x,T.y,T.z),O.prevPosition.values.push(T.x,T.y,T.z),O.prevPosition.values.push(T.x,T.y,T.z),O.nextPosition.values.push(b.x,b.y,b.z,b.x,b.y,b.z),O.nextPosition.values.push(a[3*t],a[3*t+1],a[3*t+2]),O.nextPosition.values.push(a[3*t+3],a[3*t+4],a[3*t+5]);const C=Ht.fromArray(c,2*e,im),E=Math.abs(C.y);y.expandAndWidth.values.push(-1,E,1,E),y.expandAndWidth.values.push(-1,-E,1,-E),O.expandAndWidth.values.push(-1,E,1,E),O.expandAndWidth.values.push(-1,-E,1,-E);let x=g.magnitudeSquared(g.subtract(A,n,sm));if(x/=g.magnitudeSquared(g.subtract(b,n,sm)),Object(r["a"])(u)){const n=be.fromArray(u,4*e,hm),i=be.fromArray(u,4*t,hm),o=s["a"].lerp(n.x,i.x,x),r=s["a"].lerp(n.y,i.y,x),a=s["a"].lerp(n.z,i.z,x),c=s["a"].lerp(n.w,i.w,x);for(p=4*e;p<4*e+8;++p)y.color.values.push(u[p]);for(y.color.values.push(o,r,a,c),y.color.values.push(o,r,a,c),O.color.values.push(o,r,a,c),O.color.values.push(o,r,a,c),p=4*t;p<4*t+8;++p)O.color.values.push(u[p])}if(Object(r["a"])(l)){const n=Ht.fromArray(l,2*e,im),i=Ht.fromArray(l,2*(f+3),om),o=s["a"].lerp(n.x,i.x,x);for(p=2*e;p<2*e+4;++p)y.st.values.push(l[p]);for(y.st.values.push(o,n.y),y.st.values.push(o,i.y),O.st.values.push(o,n.y),O.st.values.push(o,i.y),p=2*t;p<2*t+4;++p)O.st.values.push(l[p])}m=y.position.values.length/3-4,v.push(m,m+2,m+1),v.push(m+1,m+2,m+3),m=O.position.values.length/3-4,w.push(m,m+2,m+1),w.push(m+1,m+2,m+3)}else{let e,t;for(n.y<0?(e=d.attributes,t=d.indices):(e=h.attributes,t=h.indices),e.position.values.push(n.x,n.y,n.z),e.position.values.push(n.x,n.y,n.z),e.position.values.push(b.x,b.y,b.z),e.position.values.push(b.x,b.y,b.z),p=3*f;p<3*f+12;++p)e.prevPosition.values.push(o[p]),e.nextPosition.values.push(a[p]);for(p=2*f;p<2*f+8;++p)e.expandAndWidth.values.push(c[p]),Object(r["a"])(l)&&e.st.values.push(l[p]);if(Object(r["a"])(u))for(p=4*f;p<4*f+16;++p)e.color.values.push(u[p]);m=e.position.values.length/3-4,t.push(m,m+2,m+1),t.push(m+1,m+2,m+3)}}_&&(dm(d),dm(h)),Bp(e,d,h)}Vf.splitLongitude=function(e){if(!Object(r["a"])(e))throw new a["a"]("instance is required.");const t=e.geometry,n=t.boundingSphere;if(Object(r["a"])(n)){const t=n.center.x-n.radius;if(t>0||Tt.intersectPlane(n,No.ORIGIN_ZX_PLANE)!==G.INTERSECTING)return e}if(t.geometryType!==Ch.NONE)switch(t.geometryType){case Ch.POLYLINES:mm(e);break;case Ch.TRIANGLES:Zp(e);break;case Ch.LINES:nm(e);break}else Tp(t),t.primitiveType===xh.TRIANGLES?Zp(e):t.primitiveType===xh.LINES&&nm(e);return e};var _m=Vf;const gm=new g,bm=new g,ym=new g,vm=new g,Om=new Ht,wm=new ce,Am=new ce,Tm=new $a,Cm=new g,Em=new g,xm=new g,Sm=new I,Im=new g,Dm=new Ht,jm=new Ht;function Pm(e,t,n){const i=t.vertexFormat,o=t.center,a=t.semiMajorAxis,s=t.semiMinorAxis,c=t.ellipsoid,l=t.stRotation,u=n?e.length/3*2:e.length/3,h=t.shadowVolume,d=i.st?new Float32Array(2*u):void 0,f=i.normal?new Float32Array(3*u):void 0,p=i.tangent?new Float32Array(3*u):void 0,m=i.bitangent?new Float32Array(3*u):void 0,_=h?new Float32Array(3*u):void 0;let b=0,y=Cm,v=Em,O=xm;const w=new V(c),A=w.project(c.cartesianToCartographic(o,Sm),Im),T=c.scaleToGeodeticSurface(o,gm);c.geodeticSurfaceNormal(T,T);let C=wm,E=Am;if(0!==l){let e=$a.fromAxisAngle(T,l,Tm);C=ce.fromQuaternion(e,C),e=$a.fromAxisAngle(T,-l,Tm),E=ce.fromQuaternion(e,E)}else C=ce.clone(ce.IDENTITY,C),E=ce.clone(ce.IDENTITY,E);const x=Ht.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Dm),S=Ht.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,jm);let I=e.length;const D=n?I:0,j=D/3*2;for(let r=0;r<I;r+=3){const t=r+1,o=r+2,l=g.fromArray(e,r,gm);if(i.st){const e=ce.multiplyByVector(C,l,bm),t=w.project(c.cartesianToCartographic(e,Sm),ym);g.subtract(t,A,t),Om.x=(t.x+a)/(2*a),Om.y=(t.y+s)/(2*s),x.x=Math.min(Om.x,x.x),x.y=Math.min(Om.y,x.y),S.x=Math.max(Om.x,S.x),S.y=Math.max(Om.y,S.y),n&&(d[b+j]=Om.x,d[b+1+j]=Om.y),d[b++]=Om.x,d[b++]=Om.y}(i.normal||i.tangent||i.bitangent||h)&&(y=c.geodeticSurfaceNormal(l,y),h&&(_[r+D]=-y.x,_[t+D]=-y.y,_[o+D]=-y.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(v=g.normalize(g.cross(g.UNIT_Z,y,v),v),ce.multiplyByVector(E,v,v)),i.normal&&(f[r]=y.x,f[t]=y.y,f[o]=y.z,n&&(f[r+D]=-y.x,f[t+D]=-y.y,f[o+D]=-y.z)),i.tangent&&(p[r]=v.x,p[t]=v.y,p[o]=v.z,n&&(p[r+D]=-v.x,p[t+D]=-v.y,p[o+D]=-v.z)),i.bitangent&&(O=g.normalize(g.cross(y,v,O),O),m[r]=O.x,m[t]=O.y,m[o]=O.z,n&&(m[r+D]=O.x,m[t+D]=O.y,m[o+D]=O.z))))}if(i.st){I=d.length;for(let e=0;e<I;e+=2)d[e]=(d[e]-x.x)/(S.x-x.x),d[e+1]=(d[e+1]-x.y)/(S.y-x.y)}const P=new Hh;if(i.position){const i=Sf.raisePositionsToHeight(e,t,n);P.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:i})}if(i.st&&(P.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(P.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:f})),i.tangent&&(P.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:p})),i.bitangent&&(P.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:m})),h&&(P.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:_})),n&&Object(r["a"])(t.offsetAttribute)){let e=new Uint8Array(u);if(t.offsetAttribute===qh.TOP)e=Ah(e,1,0,u/2);else{const n=t.offsetAttribute===qh.NONE?0:1;e=Ah(e,n)}P.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:e})}return P}function Rm(e){const t=new Array(e*(e+1)*12-6);let n,i,o,r,a,s=0;for(n=0,o=1,r=0;r<3;r++)t[s++]=o++,t[s++]=n,t[s++]=o;for(r=2;r<e+1;++r){for(o=r*(r+1)-1,n=(r-1)*r-1,t[s++]=o++,t[s++]=n,t[s++]=o,i=2*r,a=0;a<i-1;++a)t[s++]=o,t[s++]=n++,t[s++]=n,t[s++]=o++,t[s++]=n,t[s++]=o;t[s++]=o++,t[s++]=n,t[s++]=o}for(i=2*e,++o,++n,r=0;r<i-1;++r)t[s++]=o,t[s++]=n++,t[s++]=n,t[s++]=o++,t[s++]=n,t[s++]=o;for(t[s++]=o,t[s++]=n++,t[s++]=n,t[s++]=o++,t[s++]=n++,t[s++]=n,++n,r=e-1;r>1;--r){for(t[s++]=n++,t[s++]=n,t[s++]=o,i=2*r,a=0;a<i-1;++a)t[s++]=o,t[s++]=n++,t[s++]=n,t[s++]=o++,t[s++]=n,t[s++]=o;t[s++]=n++,t[s++]=n++,t[s++]=o++}for(r=0;r<3;r++)t[s++]=n++,t[s++]=n,t[s++]=o;return t}let Mm=new g;function Nm(e){const t=e.center;Mm=g.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,Mm),e.height,Mm),Mm=g.add(t,Mm,Mm);const n=new Tt(Mm,e.semiMajorAxis),i=Sf.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,a=Pm(o,e,!1);let s=Rm(r);return s=uu.createTypedArray(o.length/3,s),{boundingSphere:n,attributes:a,indices:s}}function Lm(e,t){const n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,a=t.semiMinorAxis,s=t.ellipsoid,c=t.height,l=t.extrudedHeight,u=t.stRotation,h=e.length/3*2,d=new Float64Array(3*h),f=n.st?new Float32Array(2*h):void 0,p=n.normal?new Float32Array(3*h):void 0,m=n.tangent?new Float32Array(3*h):void 0,_=n.bitangent?new Float32Array(3*h):void 0,b=t.shadowVolume,y=b?new Float32Array(3*h):void 0;let v=0,O=Cm,w=Em,A=xm;const T=new V(s),C=T.project(s.cartesianToCartographic(i,Sm),Im),E=s.scaleToGeodeticSurface(i,gm);s.geodeticSurfaceNormal(E,E);const x=$a.fromAxisAngle(E,u,Tm),S=ce.fromQuaternion(x,wm),I=Ht.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Dm),D=Ht.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,jm);let j=e.length;const P=j/3*2;for(let r=0;r<j;r+=3){const t=r+1,i=r+2;let u,h=g.fromArray(e,r,gm);if(n.st){const e=ce.multiplyByVector(S,h,bm),t=T.project(s.cartesianToCartographic(e,Sm),ym);g.subtract(t,C,t),Om.x=(t.x+o)/(2*o),Om.y=(t.y+a)/(2*a),I.x=Math.min(Om.x,I.x),I.y=Math.min(Om.y,I.y),D.x=Math.max(Om.x,D.x),D.y=Math.max(Om.y,D.y),f[v+P]=Om.x,f[v+1+P]=Om.y,f[v++]=Om.x,f[v++]=Om.y}h=s.scaleToGeodeticSurface(h,h),u=g.clone(h,bm),O=s.geodeticSurfaceNormal(h,O),b&&(y[r+j]=-O.x,y[t+j]=-O.y,y[i+j]=-O.z);let E=g.multiplyByScalar(O,c,vm);if(h=g.add(h,E,h),E=g.multiplyByScalar(O,l,E),u=g.add(u,E,u),n.position&&(d[r+j]=u.x,d[t+j]=u.y,d[i+j]=u.z,d[r]=h.x,d[t]=h.y,d[i]=h.z),n.normal||n.tangent||n.bitangent){A=g.clone(O,A);const o=g.fromArray(e,(r+3)%j,vm);g.subtract(o,h,o);const a=g.subtract(u,h,ym);O=g.normalize(g.cross(a,o,O),O),n.normal&&(p[r]=O.x,p[t]=O.y,p[i]=O.z,p[r+j]=O.x,p[t+j]=O.y,p[i+j]=O.z),n.tangent&&(w=g.normalize(g.cross(A,O,w),w),m[r]=w.x,m[t]=w.y,m[i]=w.z,m[r+j]=w.x,m[r+1+j]=w.y,m[r+2+j]=w.z),n.bitangent&&(_[r]=A.x,_[t]=A.y,_[i]=A.z,_[r+j]=A.x,_[t+j]=A.y,_[i+j]=A.z)}}if(n.st){j=f.length;for(let e=0;e<j;e+=2)f[e]=(f[e]-I.x)/(D.x-I.x),f[e+1]=(f[e+1]-I.y)/(D.y-I.y)}const R=new Hh;if(n.position&&(R.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(R.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:f})),n.normal&&(R.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:p})),n.tangent&&(R.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(R.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:_})),b&&(R.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:y})),Object(r["a"])(t.offsetAttribute)){let e=new Uint8Array(h);if(t.offsetAttribute===qh.TOP)e=Ah(e,1,0,h/2);else{const n=t.offsetAttribute===qh.NONE?0:1;e=Ah(e,n)}R.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:e})}return R}function Bm(e){const t=e.length/3,n=uu.createTypedArray(t,6*t);let i=0;for(let o=0;o<t;o++){const e=o,r=o+t,a=(e+1)%t,s=a+t;n[i++]=e,n[i++]=r,n[i++]=a,n[i++]=a,n[i++]=r,n[i++]=s}return n}const Fm=new Tt,km=new Tt;function zm(e){const t=e.center,n=e.ellipsoid,i=e.semiMajorAxis;let o=g.multiplyByScalar(n.geodeticSurfaceNormal(t,gm),e.height,gm);Fm.center=g.add(t,o,Fm.center),Fm.radius=i,o=g.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),km.center=g.add(t,o,km.center),km.radius=i;const r=Sf.computeEllipsePositions(e,!0,!0),a=r.positions,s=r.numPts,c=r.outerPositions,l=Tt.union(Fm,km),u=Pm(a,e,!0);let h=Rm(s);const d=h.length;h.length=2*d;const f=a.length/3;for(let g=0;g<d;g+=3)h[g+d]=h[g+2]+f,h[g+1+d]=h[g+1]+f,h[g+2+d]=h[g]+f;const p=uu.createTypedArray(2*f/3,h),m=new kh({attributes:u,indices:p,primitiveType:xh.TRIANGLES}),_=Lm(c,e);h=Bm(c);const b=uu.createTypedArray(2*c.length/3,h),y=new kh({attributes:_,indices:b,primitiveType:xh.TRIANGLES}),v=_m.combineInstances([new Df({geometry:m}),new Df({geometry:y})]);return{boundingSphere:l,attributes:v[0].attributes,indices:v[0].indices}}function Um(e,t,n,i,o,r,a){const c=Sf.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0),l=c.outerPositions,u=l.length/3,h=new Array(u);for(let s=0;s<u;++s)h[s]=g.fromArray(l,3*s);const d=Fe.fromCartesianArray(h,r,a);return d.width>s["a"].PI&&(d.north=d.north>0?s["a"].PI_OVER_TWO-s["a"].EPSILON7:d.north,d.south=d.south<0?s["a"].EPSILON7-s["a"].PI_OVER_TWO:d.south,d.east=s["a"].PI,d.west=-s["a"].PI),d}function Vm(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.center,n=Object(o["a"])(e.ellipsoid,z.WGS84),r=e.semiMajorAxis,c=e.semiMinorAxis,l=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),u=Object(o["a"])(e.vertexFormat,Yh.DEFAULT);if(i["a"].defined("options.center",t),i["a"].typeOf.number("options.semiMajorAxis",r),i["a"].typeOf.number("options.semiMinorAxis",c),r<c)throw new a["a"]("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(l<=0)throw new a["a"]("granularity must be greater than zero.");const h=Object(o["a"])(e.height,0),d=Object(o["a"])(e.extrudedHeight,h);this._center=g.clone(t),this._semiMajorAxis=r,this._semiMinorAxis=c,this._ellipsoid=z.clone(n),this._rotation=Object(o["a"])(e.rotation,0),this._stRotation=Object(o["a"])(e.stRotation,0),this._height=Math.max(d,h),this._granularity=l,this._vertexFormat=Yh.clone(u),this._extrudedHeight=Math.min(d,h),this._shadowVolume=Object(o["a"])(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}Vm.packedLength=g.packedLength+z.packedLength+Yh.packedLength+9,Vm.pack=function(e,t,n){return i["a"].defined("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),g.pack(e._center,t,n),n+=g.packedLength,z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const Hm=new g,Gm=new z,qm=new Yh,Wm={center:Hm,ellipsoid:Gm,vertexFormat:qm,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};function Ym(e){const t=-e._stRotation;if(0===t)return[0,0,0,1,1,0];const n=Sf.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0),i=n.outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=g.fromArray(i,3*c);const a=e._ellipsoid,s=e.rectangle;return kh._textureCoordinateRotationPoints(r,t,a,s)}Vm.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=g.unpack(e,t,Hm);t+=g.packedLength;const s=z.unpack(e,t,Gm);t+=z.packedLength;const c=Yh.unpack(e,t,qm);t+=Yh.packedLength;const l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t++],m=e[t++],_=1===e[t++],b=e[t];return Object(r["a"])(n)?(n._center=g.clone(a,n._center),n._ellipsoid=z.clone(s,n._ellipsoid),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._semiMajorAxis=l,n._semiMinorAxis=u,n._rotation=h,n._stRotation=d,n._height=f,n._granularity=p,n._extrudedHeight=m,n._shadowVolume=_,n._offsetAttribute=-1===b?void 0:b,n):(Wm.height=f,Wm.extrudedHeight=m,Wm.granularity=p,Wm.stRotation=d,Wm.rotation=h,Wm.semiMajorAxis=l,Wm.semiMinorAxis=u,Wm.shadowVolume=_,Wm.offsetAttribute=-1===b?void 0:b,new Vm(Wm))},Vm.computeRectangle=function(e,t){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const n=e.center,r=Object(o["a"])(e.ellipsoid,z.WGS84),c=e.semiMajorAxis,l=e.semiMinorAxis,u=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),h=Object(o["a"])(e.rotation,0);if(i["a"].defined("options.center",n),i["a"].typeOf.number("options.semiMajorAxis",c),i["a"].typeOf.number("options.semiMinorAxis",l),c<l)throw new a["a"]("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(u<=0)throw new a["a"]("granularity must be greater than zero.");return Um(n,c,l,h,u,r,t)},Vm.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;const t=e._height,n=e._extrudedHeight,i=!s["a"].equalsEpsilon(t,n,0,s["a"].EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);const o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};let a;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,a=zm(o);else if(a=Nm(o),Object(r["a"])(e._offsetAttribute)){const t=a.attributes.position.values.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),a.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:a.attributes,indices:a.indices,primitiveType:xh.TRIANGLES,boundingSphere:a.boundingSphere,offsetAttribute:e._offsetAttribute})},Vm.createShadowVolume=function(e,t,n){const i=e._granularity,o=e._ellipsoid,r=t(i,o),a=n(i,o);return new Vm({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:a,vertexFormat:Yh.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(Vm.prototype,{rectangle:{get:function(){return Object(r["a"])(this._rectangle)||(this._rectangle=Um(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return Object(r["a"])(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=Ym(this)),this._textureCoordinateRotationPoints}}});var Xm=Vm;function Km(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.radius;i["a"].typeOf.number("radius",t);const n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new Xm(n),this._workerName="createCircleGeometry"}Km.packedLength=Xm.packedLength,Km.pack=function(e,t,n){return i["a"].typeOf.object("value",e),Xm.pack(e._ellipseGeometry,t,n)};const Jm=new Xm({center:new g,semiMajorAxis:1,semiMinorAxis:1}),Zm={center:new g,radius:void 0,ellipsoid:z.clone(z.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Yh,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};Km.unpack=function(e,t,n){const i=Xm.unpack(e,t,Jm);return Zm.center=g.clone(i._center,Zm.center),Zm.ellipsoid=z.clone(i._ellipsoid,Zm.ellipsoid),Zm.height=i._height,Zm.extrudedHeight=i._extrudedHeight,Zm.granularity=i._granularity,Zm.vertexFormat=Yh.clone(i._vertexFormat,Zm.vertexFormat),Zm.stRotation=i._stRotation,Zm.shadowVolume=i._shadowVolume,Object(r["a"])(n)?(Zm.semiMajorAxis=i._semiMajorAxis,Zm.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Xm(Zm),n):(Zm.radius=i._semiMajorAxis,new Km(Zm))},Km.createGeometry=function(e){return Xm.createGeometry(e._ellipseGeometry)},Km.createShadowVolume=function(e,t,n){const i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),a=n(i,o);return new Km({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:a,vertexFormat:Yh.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(Km.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var $m=Km;const Qm=new g;let e_=new g;function t_(e){const t=e.center;e_=g.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,e_),e.height,e_),e_=g.add(t,e_,e_);const n=new Tt(e_,e.semiMajorAxis),i=Sf.computeEllipsePositions(e,!1,!0).outerPositions,o=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:Sf.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,a=uu.createTypedArray(r,2*r);let s=0;for(let c=0;c<r;++c)a[s++]=c,a[s++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:a}}const n_=new Tt,i_=new Tt;function o_(e){const t=e.center,n=e.ellipsoid,i=e.semiMajorAxis;let a=g.multiplyByScalar(n.geodeticSurfaceNormal(t,Qm),e.height,Qm);n_.center=g.add(t,a,n_.center),n_.radius=i,a=g.multiplyByScalar(n.geodeticSurfaceNormal(t,a),e.extrudedHeight,a),i_.center=g.add(t,a,i_.center),i_.radius=i;let c=Sf.computeEllipsePositions(e,!1,!0).outerPositions;const l=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:Sf.raisePositionsToHeight(c,e,!0)})});c=l.position.values;const u=Tt.union(n_,i_);let h=c.length/3;if(Object(r["a"])(e.offsetAttribute)){let t=new Uint8Array(h);if(e.offsetAttribute===qh.TOP)t=Ah(t,1,0,h/2);else{const n=e.offsetAttribute===qh.NONE?0:1;t=Ah(t,n)}l.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})}let d=Object(o["a"])(e.numberOfVerticalLines,16);d=s["a"].clamp(d,0,h/2);const f=uu.createTypedArray(h,2*h+2*d);h/=2;let p,m,_=0;for(p=0;p<h;++p)f[_++]=p,f[_++]=(p+1)%h,f[_++]=p+h,f[_++]=(p+1)%h+h;if(d>0){const e=Math.min(d,h);m=Math.round(h/e);const t=Math.min(m*d,h);for(p=0;p<t;p+=m)f[_++]=p,f[_++]=p+h}return{boundingSphere:u,attributes:l,indices:f}}function r_(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.center,n=Object(o["a"])(e.ellipsoid,z.WGS84),i=e.semiMajorAxis,c=e.semiMinorAxis,l=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE);if(!Object(r["a"])(t))throw new a["a"]("center is required.");if(!Object(r["a"])(i))throw new a["a"]("semiMajorAxis is required.");if(!Object(r["a"])(c))throw new a["a"]("semiMinorAxis is required.");if(i<c)throw new a["a"]("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(l<=0)throw new a["a"]("granularity must be greater than zero.");const u=Object(o["a"])(e.height,0),h=Object(o["a"])(e.extrudedHeight,u);this._center=g.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=c,this._ellipsoid=z.clone(n),this._rotation=Object(o["a"])(e.rotation,0),this._height=Math.max(h,u),this._granularity=l,this._extrudedHeight=Math.min(h,u),this._numberOfVerticalLines=Math.max(Object(o["a"])(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}r_.packedLength=g.packedLength+z.packedLength+8,r_.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),g.pack(e._center,t,n),n+=g.packedLength,z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const a_=new g,s_=new z,c_={center:a_,ellipsoid:s_,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};r_.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");t=Object(o["a"])(t,0);const i=g.unpack(e,t,a_);t+=g.packedLength;const s=z.unpack(e,t,s_);t+=z.packedLength;const c=e[t++],l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t++],m=e[t];return Object(r["a"])(n)?(n._center=g.clone(i,n._center),n._ellipsoid=z.clone(s,n._ellipsoid),n._semiMajorAxis=c,n._semiMinorAxis=l,n._rotation=u,n._height=h,n._granularity=d,n._extrudedHeight=f,n._numberOfVerticalLines=p,n._offsetAttribute=-1===m?void 0:m,n):(c_.height=h,c_.extrudedHeight=f,c_.granularity=d,c_.rotation=u,c_.semiMajorAxis=c,c_.semiMinorAxis=l,c_.numberOfVerticalLines=p,c_.offsetAttribute=-1===m?void 0:m,new r_(c_))},r_.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;const t=e._height,n=e._extrudedHeight,i=!s["a"].equalsEpsilon(t,n,0,s["a"].EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);const o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};let a;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,a=o_(o);else if(a=t_(o),Object(r["a"])(e._offsetAttribute)){const t=a.attributes.position.values.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),a.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:a.attributes,indices:a.indices,primitiveType:xh.LINES,boundingSphere:a.boundingSphere,offsetAttribute:e._offsetAttribute})};var l_=r_;function u_(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.radius;i["a"].typeOf.number("radius",t);const n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new l_(n),this._workerName="createCircleOutlineGeometry"}u_.packedLength=l_.packedLength,u_.pack=function(e,t,n){return i["a"].typeOf.object("value",e),l_.pack(e._ellipseGeometry,t,n)};const h_=new l_({center:new g,semiMajorAxis:1,semiMinorAxis:1}),d_={center:new g,radius:void 0,ellipsoid:z.clone(z.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};u_.unpack=function(e,t,n){const i=l_.unpack(e,t,h_);return d_.center=g.clone(i._center,d_.center),d_.ellipsoid=z.clone(i._ellipsoid,d_.ellipsoid),d_.height=i._height,d_.extrudedHeight=i._extrudedHeight,d_.granularity=i._granularity,d_.numberOfVerticalLines=i._numberOfVerticalLines,Object(r["a"])(n)?(d_.semiMajorAxis=i._semiMajorAxis,d_.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new l_(d_),n):(d_.radius=i._semiMajorAxis,new u_(d_))},u_.createGeometry=function(e){return l_.createGeometry(e._ellipseGeometry)};var f_=u_;const p_={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2};var m_=Object.freeze(p_);const __={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2};var g_=Object.freeze(__);let b_;b_="undefined"!==typeof performance&&"function"===typeof performance.now&&isFinite(performance.now())?function(){return performance.now()}:function(){return Date.now()};var y_=b_;function v_(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;if(t=Object(r["a"])(t)?gr.clone(t):Object(r["a"])(n)?gr.clone(n):Object(r["a"])(i)?gr.addDays(i,-1,new gr):gr.now(),n=Object(r["a"])(n)?gr.clone(n):gr.clone(t),i=Object(r["a"])(i)?gr.clone(i):gr.addDays(n,1,new gr),gr.greaterThan(n,i))throw new a["a"]("startTime must come before stopTime.");this.startTime=n,this.stopTime=i,this.clockRange=Object(o["a"])(e.clockRange,m_.UNBOUNDED),this.canAnimate=Object(o["a"])(e.canAnimate,!0),this.onTick=new pi["a"],this.onStop=new pi["a"],this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=y_(),this.currentTime=t,this.multiplier=Object(o["a"])(e.multiplier,1),this.shouldAnimate=Object(o["a"])(e.shouldAnimate,!1),this.clockStep=Object(o["a"])(e.clockStep,g_.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(v_.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){gr.equals(this._currentTime,e)||(this._clockStep===g_.SYSTEM_CLOCK&&(this._clockStep=g_.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===g_.SYSTEM_CLOCK&&(this._clockStep=g_.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===g_.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=gr.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===g_.SYSTEM_CLOCK&&(this._clockStep=g_.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}}),v_.prototype.tick=function(){const e=y_();let t=gr.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){const n=this._clockStep;if(n===g_.SYSTEM_CLOCK)t=gr.now(t);else{const i=this._multiplier;if(n===g_.TICK_DEPENDENT)t=gr.addSeconds(t,i,t);else{const n=e-this._lastSystemTime;t=gr.addSeconds(t,i*(n/1e3),t)}const o=this.clockRange,r=this.startTime,a=this.stopTime;if(o===m_.CLAMPED)gr.lessThan(t,r)?t=gr.clone(r,t):gr.greaterThan(t,a)&&(t=gr.clone(a,t),this.onStop.raiseEvent(this));else if(o===m_.LOOP_STOP){gr.lessThan(t,r)&&(t=gr.clone(r,t));while(gr.greaterThan(t,a))t=gr.addSeconds(r,gr.secondsDifference(t,a),t),this.onStop.raiseEvent(this)}}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var O_=v_;function w_(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),6*n<1?e+6*(t-e)*n:2*n<1?t:3*n<2?e+(t-e)*(2/3-n)*6:e}function A_(e,t,n,i){this.red=Object(o["a"])(e,1),this.green=Object(o["a"])(t,1),this.blue=Object(o["a"])(n,1),this.alpha=Object(o["a"])(i,1)}let T_,C_,E_;A_.fromCartesian4=function(e,t){return i["a"].typeOf.object("cartesian",e),Object(r["a"])(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new A_(e.x,e.y,e.z,e.w)},A_.fromBytes=function(e,t,n,i,a){return e=A_.byteToFloat(Object(o["a"])(e,255)),t=A_.byteToFloat(Object(o["a"])(t,255)),n=A_.byteToFloat(Object(o["a"])(n,255)),i=A_.byteToFloat(Object(o["a"])(i,255)),Object(r["a"])(a)?(a.red=e,a.green=t,a.blue=n,a.alpha=i,a):new A_(e,t,n,i)},A_.fromAlpha=function(e,t,n){return i["a"].typeOf.object("color",e),i["a"].typeOf.number("alpha",t),Object(r["a"])(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new A_(e.red,e.green,e.blue,t)},Ta.supportsTypedArrays()&&(T_=new ArrayBuffer(4),C_=new Uint32Array(T_),E_=new Uint8Array(T_)),A_.fromRgba=function(e,t){return C_[0]=e,A_.fromBytes(E_[0],E_[1],E_[2],E_[3],t)},A_.fromHsl=function(e,t,n,i,a){e=Object(o["a"])(e,0)%1,t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),i=Object(o["a"])(i,1);let s=n,c=n,l=n;if(0!==t){let i;i=n<.5?n*(1+t):n+t-n*t;const o=2*n-i;s=w_(o,i,e+1/3),c=w_(o,i,e),l=w_(o,i,e-1/3)}return Object(r["a"])(a)?(a.red=s,a.green=c,a.blue=l,a.alpha=i,a):new A_(s,c,l,i)},A_.fromRandom=function(e,t){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let n=e.red;if(!Object(r["a"])(n)){const t=Object(o["a"])(e.minimumRed,0),r=Object(o["a"])(e.maximumRed,1);i["a"].typeOf.number.lessThanOrEquals("minimumRed",t,r),n=t+s["a"].nextRandomNumber()*(r-t)}let a=e.green;if(!Object(r["a"])(a)){const t=Object(o["a"])(e.minimumGreen,0),n=Object(o["a"])(e.maximumGreen,1);i["a"].typeOf.number.lessThanOrEquals("minimumGreen",t,n),a=t+s["a"].nextRandomNumber()*(n-t)}let c=e.blue;if(!Object(r["a"])(c)){const t=Object(o["a"])(e.minimumBlue,0),n=Object(o["a"])(e.maximumBlue,1);i["a"].typeOf.number.lessThanOrEquals("minimumBlue",t,n),c=t+s["a"].nextRandomNumber()*(n-t)}let l=e.alpha;if(!Object(r["a"])(l)){const t=Object(o["a"])(e.minimumAlpha,0),n=Object(o["a"])(e.maximumAlpha,1);i["a"].typeOf.number.lessThanOrEquals("minumumAlpha",t,n),l=t+s["a"].nextRandomNumber()*(n-t)}return Object(r["a"])(t)?(t.red=n,t.green=a,t.blue=c,t.alpha=l,t):new A_(n,a,c,l)};const x_=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,S_=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,I_=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,D_=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;A_.fromCssColorString=function(e,t){i["a"].typeOf.string("color",e),Object(r["a"])(t)||(t=new A_),e=e.replace(/\s/g,"");const n=A_[e.toUpperCase()];if(Object(r["a"])(n))return A_.clone(n,t),t;let a=x_.exec(e);return null!==a?(t.red=parseInt(a[1],16)/15,t.green=parseInt(a[2],16)/15,t.blue=parseInt(a[3],16)/15,t.alpha=parseInt(Object(o["a"])(a[4],"f"),16)/15,t):(a=S_.exec(e),null!==a?(t.red=parseInt(a[1],16)/255,t.green=parseInt(a[2],16)/255,t.blue=parseInt(a[3],16)/255,t.alpha=parseInt(Object(o["a"])(a[4],"ff"),16)/255,t):(a=I_.exec(e),null!==a?(t.red=parseFloat(a[1])/("%"===a[1].substr(-1)?100:255),t.green=parseFloat(a[2])/("%"===a[2].substr(-1)?100:255),t.blue=parseFloat(a[3])/("%"===a[3].substr(-1)?100:255),t.alpha=parseFloat(Object(o["a"])(a[4],"1.0")),t):(a=D_.exec(e),null!==a?A_.fromHsl(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,parseFloat(Object(o["a"])(a[4],"1.0")),t):(t=void 0,t))))},A_.packedLength=4,A_.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t},A_.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new A_),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n},A_.byteToFloat=function(e){return e/255},A_.floatToByte=function(e){return 1===e?255:256*e|0},A_.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new A_(e.red,e.green,e.blue,e.alpha)},A_.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},A_.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]},A_.prototype.clone=function(e){return A_.clone(this,e)},A_.prototype.equals=function(e){return A_.equals(this,e)},A_.prototype.equalsEpsilon=function(e,t){return this===e||Object(r["a"])(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},A_.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`},A_.prototype.toCssColorString=function(){const e=A_.floatToByte(this.red),t=A_.floatToByte(this.green),n=A_.floatToByte(this.blue);return 1===this.alpha?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`},A_.prototype.toCssHexString=function(){let e=A_.floatToByte(this.red).toString(16);e.length<2&&(e="0"+e);let t=A_.floatToByte(this.green).toString(16);t.length<2&&(t="0"+t);let n=A_.floatToByte(this.blue).toString(16);if(n.length<2&&(n="0"+n),this.alpha<1){let i=A_.floatToByte(this.alpha).toString(16);return i.length<2&&(i="0"+i),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`},A_.prototype.toBytes=function(e){const t=A_.floatToByte(this.red),n=A_.floatToByte(this.green),i=A_.floatToByte(this.blue),o=A_.floatToByte(this.alpha);return Object(r["a"])(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]},A_.prototype.toRgba=function(){return E_[0]=A_.floatToByte(this.red),E_[1]=A_.floatToByte(this.green),E_[2]=A_.floatToByte(this.blue),E_[3]=A_.floatToByte(this.alpha),C_[0]},A_.prototype.brighten=function(e,t){return i["a"].typeOf.number("magnitude",e),i["a"].typeOf.number.greaterThanOrEquals("magnitude",e,0),i["a"].typeOf.object("result",t),e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t},A_.prototype.darken=function(e,t){return i["a"].typeOf.number("magnitude",e),i["a"].typeOf.number.greaterThanOrEquals("magnitude",e,0),i["a"].typeOf.object("result",t),e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t},A_.prototype.withAlpha=function(e,t){return A_.fromAlpha(this,e,t)},A_.add=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n},A_.subtract=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n},A_.multiply=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n},A_.divide=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n},A_.mod=function(e,t,n){return i["a"].typeOf.object("left",e),i["a"].typeOf.object("right",t),i["a"].typeOf.object("result",n),n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n},A_.lerp=function(e,t,n,o){return i["a"].typeOf.object("start",e),i["a"].typeOf.object("end",t),i["a"].typeOf.number("t",n),i["a"].typeOf.object("result",o),o.red=s["a"].lerp(e.red,t.red,n),o.green=s["a"].lerp(e.green,t.green,n),o.blue=s["a"].lerp(e.blue,t.blue,n),o.alpha=s["a"].lerp(e.alpha,t.alpha,n),o},A_.multiplyByScalar=function(e,t,n){return i["a"].typeOf.object("color",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n},A_.divideByScalar=function(e,t,n){return i["a"].typeOf.object("color",e),i["a"].typeOf.number("scalar",t),i["a"].typeOf.object("result",n),n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n},A_.ALICEBLUE=Object.freeze(A_.fromCssColorString("#F0F8FF")),A_.ANTIQUEWHITE=Object.freeze(A_.fromCssColorString("#FAEBD7")),A_.AQUA=Object.freeze(A_.fromCssColorString("#00FFFF")),A_.AQUAMARINE=Object.freeze(A_.fromCssColorString("#7FFFD4")),A_.AZURE=Object.freeze(A_.fromCssColorString("#F0FFFF")),A_.BEIGE=Object.freeze(A_.fromCssColorString("#F5F5DC")),A_.BISQUE=Object.freeze(A_.fromCssColorString("#FFE4C4")),A_.BLACK=Object.freeze(A_.fromCssColorString("#000000")),A_.BLANCHEDALMOND=Object.freeze(A_.fromCssColorString("#FFEBCD")),A_.BLUE=Object.freeze(A_.fromCssColorString("#0000FF")),A_.BLUEVIOLET=Object.freeze(A_.fromCssColorString("#8A2BE2")),A_.BROWN=Object.freeze(A_.fromCssColorString("#A52A2A")),A_.BURLYWOOD=Object.freeze(A_.fromCssColorString("#DEB887")),A_.CADETBLUE=Object.freeze(A_.fromCssColorString("#5F9EA0")),A_.CHARTREUSE=Object.freeze(A_.fromCssColorString("#7FFF00")),A_.CHOCOLATE=Object.freeze(A_.fromCssColorString("#D2691E")),A_.CORAL=Object.freeze(A_.fromCssColorString("#FF7F50")),A_.CORNFLOWERBLUE=Object.freeze(A_.fromCssColorString("#6495ED")),A_.CORNSILK=Object.freeze(A_.fromCssColorString("#FFF8DC")),A_.CRIMSON=Object.freeze(A_.fromCssColorString("#DC143C")),A_.CYAN=Object.freeze(A_.fromCssColorString("#00FFFF")),A_.DARKBLUE=Object.freeze(A_.fromCssColorString("#00008B")),A_.DARKCYAN=Object.freeze(A_.fromCssColorString("#008B8B")),A_.DARKGOLDENROD=Object.freeze(A_.fromCssColorString("#B8860B")),A_.DARKGRAY=Object.freeze(A_.fromCssColorString("#A9A9A9")),A_.DARKGREEN=Object.freeze(A_.fromCssColorString("#006400")),A_.DARKGREY=A_.DARKGRAY,A_.DARKKHAKI=Object.freeze(A_.fromCssColorString("#BDB76B")),A_.DARKMAGENTA=Object.freeze(A_.fromCssColorString("#8B008B")),A_.DARKOLIVEGREEN=Object.freeze(A_.fromCssColorString("#556B2F")),A_.DARKORANGE=Object.freeze(A_.fromCssColorString("#FF8C00")),A_.DARKORCHID=Object.freeze(A_.fromCssColorString("#9932CC")),A_.DARKRED=Object.freeze(A_.fromCssColorString("#8B0000")),A_.DARKSALMON=Object.freeze(A_.fromCssColorString("#E9967A")),A_.DARKSEAGREEN=Object.freeze(A_.fromCssColorString("#8FBC8F")),A_.DARKSLATEBLUE=Object.freeze(A_.fromCssColorString("#483D8B")),A_.DARKSLATEGRAY=Object.freeze(A_.fromCssColorString("#2F4F4F")),A_.DARKSLATEGREY=A_.DARKSLATEGRAY,A_.DARKTURQUOISE=Object.freeze(A_.fromCssColorString("#00CED1")),A_.DARKVIOLET=Object.freeze(A_.fromCssColorString("#9400D3")),A_.DEEPPINK=Object.freeze(A_.fromCssColorString("#FF1493")),A_.DEEPSKYBLUE=Object.freeze(A_.fromCssColorString("#00BFFF")),A_.DIMGRAY=Object.freeze(A_.fromCssColorString("#696969")),A_.DIMGREY=A_.DIMGRAY,A_.DODGERBLUE=Object.freeze(A_.fromCssColorString("#1E90FF")),A_.FIREBRICK=Object.freeze(A_.fromCssColorString("#B22222")),A_.FLORALWHITE=Object.freeze(A_.fromCssColorString("#FFFAF0")),A_.FORESTGREEN=Object.freeze(A_.fromCssColorString("#228B22")),A_.FUCHSIA=Object.freeze(A_.fromCssColorString("#FF00FF")),A_.GAINSBORO=Object.freeze(A_.fromCssColorString("#DCDCDC")),A_.GHOSTWHITE=Object.freeze(A_.fromCssColorString("#F8F8FF")),A_.GOLD=Object.freeze(A_.fromCssColorString("#FFD700")),A_.GOLDENROD=Object.freeze(A_.fromCssColorString("#DAA520")),A_.GRAY=Object.freeze(A_.fromCssColorString("#808080")),A_.GREEN=Object.freeze(A_.fromCssColorString("#008000")),A_.GREENYELLOW=Object.freeze(A_.fromCssColorString("#ADFF2F")),A_.GREY=A_.GRAY,A_.HONEYDEW=Object.freeze(A_.fromCssColorString("#F0FFF0")),A_.HOTPINK=Object.freeze(A_.fromCssColorString("#FF69B4")),A_.INDIANRED=Object.freeze(A_.fromCssColorString("#CD5C5C")),A_.INDIGO=Object.freeze(A_.fromCssColorString("#4B0082")),A_.IVORY=Object.freeze(A_.fromCssColorString("#FFFFF0")),A_.KHAKI=Object.freeze(A_.fromCssColorString("#F0E68C")),A_.LAVENDER=Object.freeze(A_.fromCssColorString("#E6E6FA")),A_.LAVENDAR_BLUSH=Object.freeze(A_.fromCssColorString("#FFF0F5")),A_.LAWNGREEN=Object.freeze(A_.fromCssColorString("#7CFC00")),A_.LEMONCHIFFON=Object.freeze(A_.fromCssColorString("#FFFACD")),A_.LIGHTBLUE=Object.freeze(A_.fromCssColorString("#ADD8E6")),A_.LIGHTCORAL=Object.freeze(A_.fromCssColorString("#F08080")),A_.LIGHTCYAN=Object.freeze(A_.fromCssColorString("#E0FFFF")),A_.LIGHTGOLDENRODYELLOW=Object.freeze(A_.fromCssColorString("#FAFAD2")),A_.LIGHTGRAY=Object.freeze(A_.fromCssColorString("#D3D3D3")),A_.LIGHTGREEN=Object.freeze(A_.fromCssColorString("#90EE90")),A_.LIGHTGREY=A_.LIGHTGRAY,A_.LIGHTPINK=Object.freeze(A_.fromCssColorString("#FFB6C1")),A_.LIGHTSEAGREEN=Object.freeze(A_.fromCssColorString("#20B2AA")),A_.LIGHTSKYBLUE=Object.freeze(A_.fromCssColorString("#87CEFA")),A_.LIGHTSLATEGRAY=Object.freeze(A_.fromCssColorString("#778899")),A_.LIGHTSLATEGREY=A_.LIGHTSLATEGRAY,A_.LIGHTSTEELBLUE=Object.freeze(A_.fromCssColorString("#B0C4DE")),A_.LIGHTYELLOW=Object.freeze(A_.fromCssColorString("#FFFFE0")),A_.LIME=Object.freeze(A_.fromCssColorString("#00FF00")),A_.LIMEGREEN=Object.freeze(A_.fromCssColorString("#32CD32")),A_.LINEN=Object.freeze(A_.fromCssColorString("#FAF0E6")),A_.MAGENTA=Object.freeze(A_.fromCssColorString("#FF00FF")),A_.MAROON=Object.freeze(A_.fromCssColorString("#800000")),A_.MEDIUMAQUAMARINE=Object.freeze(A_.fromCssColorString("#66CDAA")),A_.MEDIUMBLUE=Object.freeze(A_.fromCssColorString("#0000CD")),A_.MEDIUMORCHID=Object.freeze(A_.fromCssColorString("#BA55D3")),A_.MEDIUMPURPLE=Object.freeze(A_.fromCssColorString("#9370DB")),A_.MEDIUMSEAGREEN=Object.freeze(A_.fromCssColorString("#3CB371")),A_.MEDIUMSLATEBLUE=Object.freeze(A_.fromCssColorString("#7B68EE")),A_.MEDIUMSPRINGGREEN=Object.freeze(A_.fromCssColorString("#00FA9A")),A_.MEDIUMTURQUOISE=Object.freeze(A_.fromCssColorString("#48D1CC")),A_.MEDIUMVIOLETRED=Object.freeze(A_.fromCssColorString("#C71585")),A_.MIDNIGHTBLUE=Object.freeze(A_.fromCssColorString("#191970")),A_.MINTCREAM=Object.freeze(A_.fromCssColorString("#F5FFFA")),A_.MISTYROSE=Object.freeze(A_.fromCssColorString("#FFE4E1")),A_.MOCCASIN=Object.freeze(A_.fromCssColorString("#FFE4B5")),A_.NAVAJOWHITE=Object.freeze(A_.fromCssColorString("#FFDEAD")),A_.NAVY=Object.freeze(A_.fromCssColorString("#000080")),A_.OLDLACE=Object.freeze(A_.fromCssColorString("#FDF5E6")),A_.OLIVE=Object.freeze(A_.fromCssColorString("#808000")),A_.OLIVEDRAB=Object.freeze(A_.fromCssColorString("#6B8E23")),A_.ORANGE=Object.freeze(A_.fromCssColorString("#FFA500")),A_.ORANGERED=Object.freeze(A_.fromCssColorString("#FF4500")),A_.ORCHID=Object.freeze(A_.fromCssColorString("#DA70D6")),A_.PALEGOLDENROD=Object.freeze(A_.fromCssColorString("#EEE8AA")),A_.PALEGREEN=Object.freeze(A_.fromCssColorString("#98FB98")),A_.PALETURQUOISE=Object.freeze(A_.fromCssColorString("#AFEEEE")),A_.PALEVIOLETRED=Object.freeze(A_.fromCssColorString("#DB7093")),A_.PAPAYAWHIP=Object.freeze(A_.fromCssColorString("#FFEFD5")),A_.PEACHPUFF=Object.freeze(A_.fromCssColorString("#FFDAB9")),A_.PERU=Object.freeze(A_.fromCssColorString("#CD853F")),A_.PINK=Object.freeze(A_.fromCssColorString("#FFC0CB")),A_.PLUM=Object.freeze(A_.fromCssColorString("#DDA0DD")),A_.POWDERBLUE=Object.freeze(A_.fromCssColorString("#B0E0E6")),A_.PURPLE=Object.freeze(A_.fromCssColorString("#800080")),A_.RED=Object.freeze(A_.fromCssColorString("#FF0000")),A_.ROSYBROWN=Object.freeze(A_.fromCssColorString("#BC8F8F")),A_.ROYALBLUE=Object.freeze(A_.fromCssColorString("#4169E1")),A_.SADDLEBROWN=Object.freeze(A_.fromCssColorString("#8B4513")),A_.SALMON=Object.freeze(A_.fromCssColorString("#FA8072")),A_.SANDYBROWN=Object.freeze(A_.fromCssColorString("#F4A460")),A_.SEAGREEN=Object.freeze(A_.fromCssColorString("#2E8B57")),A_.SEASHELL=Object.freeze(A_.fromCssColorString("#FFF5EE")),A_.SIENNA=Object.freeze(A_.fromCssColorString("#A0522D")),A_.SILVER=Object.freeze(A_.fromCssColorString("#C0C0C0")),A_.SKYBLUE=Object.freeze(A_.fromCssColorString("#87CEEB")),A_.SLATEBLUE=Object.freeze(A_.fromCssColorString("#6A5ACD")),A_.SLATEGRAY=Object.freeze(A_.fromCssColorString("#708090")),A_.SLATEGREY=A_.SLATEGRAY,A_.SNOW=Object.freeze(A_.fromCssColorString("#FFFAFA")),A_.SPRINGGREEN=Object.freeze(A_.fromCssColorString("#00FF7F")),A_.STEELBLUE=Object.freeze(A_.fromCssColorString("#4682B4")),A_.TAN=Object.freeze(A_.fromCssColorString("#D2B48C")),A_.TEAL=Object.freeze(A_.fromCssColorString("#008080")),A_.THISTLE=Object.freeze(A_.fromCssColorString("#D8BFD8")),A_.TOMATO=Object.freeze(A_.fromCssColorString("#FF6347")),A_.TURQUOISE=Object.freeze(A_.fromCssColorString("#40E0D0")),A_.VIOLET=Object.freeze(A_.fromCssColorString("#EE82EE")),A_.WHEAT=Object.freeze(A_.fromCssColorString("#F5DEB3")),A_.WHITE=Object.freeze(A_.fromCssColorString("#FFFFFF")),A_.WHITESMOKE=Object.freeze(A_.fromCssColorString("#F5F5F5")),A_.YELLOW=Object.freeze(A_.fromCssColorString("#FFFF00")),A_.YELLOWGREEN=Object.freeze(A_.fromCssColorString("#9ACD32")),A_.TRANSPARENT=Object.freeze(new A_(0,0,0,0));var j_=A_;function P_(e,t,n,i){e=Object(o["a"])(e,1),t=Object(o["a"])(t,1),n=Object(o["a"])(n,1),i=Object(o["a"])(i,1),this.value=new Uint8Array([j_.floatToByte(e),j_.floatToByte(t),j_.floatToByte(n),j_.floatToByte(i)])}Object.defineProperties(P_.prototype,{componentDatatype:{get:function(){return $c.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}}),P_.fromColor=function(e){if(!Object(r["a"])(e))throw new a["a"]("color is required.");return new P_(e.red,e.green,e.blue,e.alpha)},P_.toValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("color is required.");return Object(r["a"])(t)?e.toBytes(t):new Uint8Array(e.toBytes())},P_.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var R_=P_;function M_(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(M_.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}}),M_.clone=function(e){if(Object(r["a"])(e))return new M_(e._format,e._datatype,e._width,e._height,e._buffer)},M_.prototype.clone=function(){return M_.clone(this)};var N_=M_;function L_(e){this._value=e,this._valueType=hd.getPointType(e)}Object.defineProperties(L_.prototype,{value:{get:function(){return this._value}}}),L_.prototype.findTimeInterval=function(e){throw new a["a"]("findTimeInterval cannot be called on a ConstantSpline.")},L_.prototype.wrapTime=function(e){return i["a"].typeOf.number("time",e),0},L_.prototype.clampTime=function(e){return i["a"].typeOf.number("time",e),0},L_.prototype.evaluate=function(e,t){i["a"].typeOf.number("time",e);const n=this._value,o=this._valueType;return o===Number?n:o.clone(n,t)};var B_=L_;const F_=s["a"].EPSILON10;function k_(e,t,n,a){if(i["a"].defined("equalsEpsilon",t),!Object(r["a"])(e))return;n=Object(o["a"])(n,!1);const s=Object(r["a"])(a),c=e.length;if(c<2)return e;let l,u,h,d=e[0],f=0,p=-1;for(l=1;l<c;++l)u=e[l],t(d,u,F_)?(Object(r["a"])(h)||(h=e.slice(0,l),f=l-1,p=0),s&&a.push(l)):(Object(r["a"])(h)&&(h.push(u),f=l,s&&(p=a.length)),d=u);return n&&t(e[0],e[c-1],F_)&&(s&&(Object(r["a"])(h)?a.splice(p,0,f):a.push(c-1)),Object(r["a"])(h)?h.length-=1:h=e.slice(0,-1)),Object(r["a"])(h)?h:e}var z_=k_;const U_={},V_=new g,H_=new g,G_=new g,q_=new g,W_=new Xc;function Y_(e,t,n,i,o){const r=g.subtract(e,t,V_),a=g.dot(n,r),s=g.dot(i,r);return Ht.fromElements(a,s,o)}U_.validOutline=function(e){i["a"].defined("positions",e);const t=Xc.fromPoints(e,W_),n=t.halfAxes,o=ce.getColumn(n,0,H_),r=ce.getColumn(n,1,G_),a=ce.getColumn(n,2,q_),s=g.magnitude(o),c=g.magnitude(r),l=g.magnitude(a);return!(0===s&&(0===c||0===l)||0===c&&0===l)},U_.computeProjectTo2DArguments=function(e,t,n,o){i["a"].defined("positions",e),i["a"].defined("centerResult",t),i["a"].defined("planeAxis1Result",n),i["a"].defined("planeAxis2Result",o);const r=Xc.fromPoints(e,W_),a=r.halfAxes,s=ce.getColumn(a,0,H_),c=ce.getColumn(a,1,G_),l=ce.getColumn(a,2,q_),u=g.magnitude(s),h=g.magnitude(c),d=g.magnitude(l),f=Math.min(u,h,d);if(0===u&&(0===h||0===d)||0===h&&0===d)return!1;let p,m;return f!==h&&f!==d||(p=s),f===u?p=c:f===d&&(m=c),f!==u&&f!==h||(m=l),g.normalize(p,n),g.normalize(m,o),g.clone(r.center,t),!0},U_.createProjectPointsTo2DFunction=function(e,t,n){return function(i){const o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=Y_(i[r],e,t,n);return o}},U_.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return Y_(i,e,t,n,o)}};var X_=U_;function K_(e,t,n){if(0===e)return t*n;const i=e*e,o=i*i,r=o*i,a=r*i,s=a*i,c=s*i,l=n,u=Math.sin(2*l),h=Math.sin(4*l),d=Math.sin(6*l),f=Math.sin(8*l),p=Math.sin(10*l),m=Math.sin(12*l);return t*((1-i/4-3*o/64-5*r/256-175*a/16384-441*s/65536-4851*c/1048576)*l-(3*i/8+3*o/32+45*r/1024+105*a/4096+2205*s/131072+6237*c/524288)*u+(15*o/256+45*r/1024+525*a/16384+1575*s/65536+155925*c/8388608)*h-(35*r/3072+175*a/12288+3675*s/262144+13475*c/1048576)*d+(315*a/131072+2205*s/524288+43659*c/8388608)*f-(693*s/1310720+6237*c/5242880)*p+1001*c/8388608*m)}function J_(e,t,n){const i=e/n;if(0===t)return i;const o=i*i,r=o*i,a=r*i,s=t,c=s*s,l=c*c,u=l*c,h=u*c,d=h*c,f=d*c,p=Math.sin(2*i),m=Math.cos(2*i),_=Math.sin(4*i),g=Math.cos(4*i),b=Math.sin(6*i),y=Math.cos(6*i),v=Math.sin(8*i),O=Math.cos(8*i),w=Math.sin(10*i),A=Math.cos(10*i),T=Math.sin(12*i);return i+i*c/4+7*i*l/64+15*i*u/256+579*i*h/16384+1515*i*d/65536+16837*i*f/1048576+(3*i*l/16+45*i*u/256-i*(32*o-561)*h/4096-i*(232*o-1677)*d/16384+i*(399985-90560*o+512*a)*f/5242880)*m+(21*i*u/256+483*i*h/4096-i*(224*o-1969)*d/16384-i*(33152*o-112599)*f/1048576)*g+(151*i*h/4096+4681*i*d/65536+1479*i*f/16384-453*r*f/32768)*y+(1097*i*d/65536+42783*i*f/1048576)*O+8011*i*f/1048576*A+(3*c/8+3*l/16+213*u/2048-3*o*u/64+255*h/4096-33*o*h/512+20861*d/524288-33*o*d/512+a*d/1024+28273*f/1048576-471*o*f/8192+9*a*f/4096)*p+(21*l/256+21*u/256+533*h/8192-21*o*h/512+197*d/4096-315*o*d/4096+584039*f/16777216-12517*o*f/131072+7*a*f/2048)*_+(151*u/6144+151*h/4096+5019*d/131072-453*o*d/16384+26965*f/786432-8607*o*f/131072)*b+(1097*h/131072+1097*d/65536+225797*f/10485760-1097*o*f/65536)*v+(8011*d/2621440+8011*f/1048576)*w+293393*f/251658240*T}function Z_(e,t){if(0===e)return Math.log(Math.tan(.5*(s["a"].PI_OVER_TWO+t)));const n=e*Math.sin(t);return Math.log(Math.tan(.5*(s["a"].PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function $_(e,t,n,i,o){const r=Z_(e._ellipticity,n),a=Z_(e._ellipticity,o);return Math.atan2(s["a"].negativePiToPi(i-t),a-r)}function Q_(e,t,n,i,o,r,a){const c=e._heading,l=r-i;let u=0;if(s["a"].equalsEpsilon(Math.abs(c),s["a"].PI_OVER_TWO,s["a"].EPSILON8))if(t===n)u=t*Math.cos(o)*s["a"].negativePiToPi(l);else{const n=Math.sin(o);u=t*Math.cos(o)*s["a"].negativePiToPi(l)/Math.sqrt(1-e._ellipticitySquared*n*n)}else{const n=K_(e._ellipticity,t,o),i=K_(e._ellipticity,t,a);u=(i-n)/Math.cos(c)}return Math.abs(u)}const eg=new g,tg=new g;function ng(e,t,n,o){const r=g.normalize(o.cartographicToCartesian(t,tg),eg),a=g.normalize(o.cartographicToCartesian(n,tg),tg);i["a"].typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(g.angleBetween(r,a))-Math.PI),.0125);const s=o.maximumRadius,c=o.minimumRadius,l=s*s,u=c*c;e._ellipticitySquared=(l-u)/l,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=I.clone(t,e._start),e._start.height=0,e._end=I.clone(n,e._end),e._end.height=0,e._heading=$_(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=Q_(e,o.maximumRadius,o.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function ig(e,t,n,i,o,a){if(0===n)return I.clone(e,a);const c=o*o;let l,u,h;if(Math.abs(s["a"].PI_OVER_TWO-Math.abs(t))>s["a"].EPSILON8){const r=K_(o,i,e.latitude),a=n*Math.cos(t),c=r+a;u=J_(c,o,i);const d=Z_(o,e.latitude),f=Z_(o,u);h=Math.tan(t)*(f-d),l=s["a"].negativePiToPi(e.longitude+h)}else{let r;if(u=e.latitude,0===o)r=i*Math.cos(e.latitude);else{const t=Math.sin(e.latitude);r=i*Math.cos(e.latitude)/Math.sqrt(1-c*t*t)}h=n/r,l=t>0?s["a"].negativePiToPi(e.longitude+h):s["a"].negativePiToPi(e.longitude-h)}return Object(r["a"])(a)?(a.longitude=l,a.latitude=u,a.height=0,a):new I(l,u,0)}function og(e,t,n){const i=Object(o["a"])(n,z.WGS84);this._ellipsoid=i,this._start=new I,this._end=new I,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,Object(r["a"])(e)&&Object(r["a"])(t)&&ng(this,e,t,i)}Object.defineProperties(og.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return i["a"].defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return i["a"].defined("distance",this._distance),this._heading}}}),og.fromStartHeadingDistance=function(e,t,n,a,c){i["a"].defined("start",e),i["a"].defined("heading",t),i["a"].defined("distance",n),i["a"].typeOf.number.greaterThan("distance",n,0);const l=Object(o["a"])(a,z.WGS84),u=l.maximumRadius,h=l.minimumRadius,d=u*u,f=h*h,p=Math.sqrt((d-f)/d);t=s["a"].negativePiToPi(t);const m=ig(e,t,n,l.maximumRadius,p);return!Object(r["a"])(c)||Object(r["a"])(a)&&!a.equals(c.ellipsoid)?new og(e,m,l):(c.setEndPoints(e,m),c)},og.prototype.setEndPoints=function(e,t){i["a"].defined("start",e),i["a"].defined("end",t),ng(this,e,t,this._ellipsoid)},og.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)},og.prototype.interpolateUsingSurfaceDistance=function(e,t){if(i["a"].typeOf.number("distance",e),!Object(r["a"])(this._distance)||0===this._distance)throw new a["a"]("EllipsoidRhumbLine must have distinct start and end set.");return ig(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)},og.prototype.findIntersectionWithLongitude=function(e,t){if(i["a"].typeOf.number("intersectionLongitude",e),!Object(r["a"])(this._distance)||0===this._distance)throw new a["a"]("EllipsoidRhumbLine must have distinct start and end set.");const n=this._ellipticity,o=this._heading,c=Math.abs(o),l=this._start;if(e=s["a"].negativePiToPi(e),s["a"].equalsEpsilon(Math.abs(e),Math.PI,s["a"].EPSILON14)&&(e=s["a"].sign(l.longitude)*Math.PI),Object(r["a"])(t)||(t=new I),Math.abs(s["a"].PI_OVER_TWO-c)<=s["a"].EPSILON8)return t.longitude=e,t.latitude=l.latitude,t.height=0,t;if(s["a"].equalsEpsilon(Math.abs(s["a"].PI_OVER_TWO-c),s["a"].PI_OVER_TWO,s["a"].EPSILON8)){if(s["a"].equalsEpsilon(e,l.longitude,s["a"].EPSILON12))return;return t.longitude=e,t.latitude=s["a"].PI_OVER_TWO*s["a"].sign(s["a"].PI_OVER_TWO-o),t.height=0,t}const u=l.latitude,h=n*Math.sin(u),d=Math.tan(.5*(s["a"].PI_OVER_TWO+u))*Math.exp((e-l.longitude)/Math.tan(o)),f=(1+h)/(1-h);let p,m=l.latitude;do{p=m;const e=n*Math.sin(p),t=(1+e)/(1-e);m=2*Math.atan(d*Math.pow(t/f,n/2))-s["a"].PI_OVER_TWO}while(!s["a"].equalsEpsilon(m,p,s["a"].EPSILON12));return t.longitude=e,t.latitude=m,t.height=0,t},og.prototype.findIntersectionWithLatitude=function(e,t){if(i["a"].typeOf.number("intersectionLatitude",e),!Object(r["a"])(this._distance)||0===this._distance)throw new a["a"]("EllipsoidRhumbLine must have distinct start and end set.");const n=this._ellipticity,o=this._heading,c=this._start;if(s["a"].equalsEpsilon(Math.abs(o),s["a"].PI_OVER_TWO,s["a"].EPSILON8))return;const l=Z_(n,c.latitude),u=Z_(n,e),h=Math.tan(o)*(u-l),d=s["a"].negativePiToPi(c.longitude+h);return Object(r["a"])(t)?(t.longitude=d,t.latitude=e,t.height=0,t):new I(d,e,0)};var rg=og,ag=cg,sg=cg;function cg(e,t,n){n=n||2;var i,o,r,a,s,c,l,u=t&&t.length,h=u?t[0]*n:e.length,d=lg(e,0,h,n,!0),f=[];if(!d||d.next===d.prev)return f;if(u&&(d=_g(e,t,d,n)),e.length>80*n){i=r=e[0],o=a=e[1];for(var p=n;p<h;p+=n)s=e[p],c=e[p+1],s<i&&(i=s),c<o&&(o=c),s>r&&(r=s),c>a&&(a=c);l=Math.max(r-i,a-o),l=0!==l?1/l:0}return hg(d,f,n,i,o,l),f}function lg(e,t,n,i,o){var r,a;if(o===kg(e,t,n,i)>0)for(r=t;r<n;r+=i)a=Lg(r,e[r],e[r+1],a);else for(r=n-i;r>=t;r-=i)a=Lg(r,e[r],e[r+1],a);return a&&Sg(a,a.next)&&(Bg(a),a=a.next),a}function ug(e,t){if(!e)return e;t||(t=e);var n,i=e;do{if(n=!1,i.steiner||!Sg(i,i.next)&&0!==xg(i.prev,i,i.next))i=i.next;else{if(Bg(i),i=t=i.prev,i===i.next)break;n=!0}}while(n||i!==t);return t}function hg(e,t,n,i,o,r,a){if(e){!a&&r&&Og(e,i,o,r);var s,c,l=e;while(e.prev!==e.next)if(s=e.prev,c=e.next,r?fg(e,i,o,r):dg(e))t.push(s.i/n),t.push(e.i/n),t.push(c.i/n),Bg(e),e=c.next,l=c.next;else if(e=c,e===l){a?1===a?(e=pg(ug(e),t,n),hg(e,t,n,i,o,r,2)):2===a&&mg(e,t,n,i,o,r):hg(ug(e),t,n,i,o,r,1);break}}}function dg(e){var t=e.prev,n=e,i=e.next;if(xg(t,n,i)>=0)return!1;var o=e.next.next;while(o!==e.prev){if(Cg(t.x,t.y,n.x,n.y,i.x,i.y,o.x,o.y)&&xg(o.prev,o,o.next)>=0)return!1;o=o.next}return!0}function fg(e,t,n,i){var o=e.prev,r=e,a=e.next;if(xg(o,r,a)>=0)return!1;var s=o.x<r.x?o.x<a.x?o.x:a.x:r.x<a.x?r.x:a.x,c=o.y<r.y?o.y<a.y?o.y:a.y:r.y<a.y?r.y:a.y,l=o.x>r.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,h=Ag(s,c,t,n,i),d=Ag(l,u,t,n,i),f=e.prevZ,p=e.nextZ;while(f&&f.z>=h&&p&&p.z<=d){if(f!==e.prev&&f!==e.next&&Cg(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&xg(f.prev,f,f.next)>=0)return!1;if(f=f.prevZ,p!==e.prev&&p!==e.next&&Cg(o.x,o.y,r.x,r.y,a.x,a.y,p.x,p.y)&&xg(p.prev,p,p.next)>=0)return!1;p=p.nextZ}while(f&&f.z>=h){if(f!==e.prev&&f!==e.next&&Cg(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&xg(f.prev,f,f.next)>=0)return!1;f=f.prevZ}while(p&&p.z<=d){if(p!==e.prev&&p!==e.next&&Cg(o.x,o.y,r.x,r.y,a.x,a.y,p.x,p.y)&&xg(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}function pg(e,t,n){var i=e;do{var o=i.prev,r=i.next.next;!Sg(o,r)&&Ig(o,i,i.next,r)&&Rg(o,r)&&Rg(r,o)&&(t.push(o.i/n),t.push(i.i/n),t.push(r.i/n),Bg(i),Bg(i.next),i=e=r),i=i.next}while(i!==e);return ug(i)}function mg(e,t,n,i,o,r){var a=e;do{var s=a.next.next;while(s!==a.prev){if(a.i!==s.i&&Eg(a,s)){var c=Ng(a,s);return a=ug(a,a.next),c=ug(c,c.next),hg(a,t,n,i,o,r),void hg(c,t,n,i,o,r)}s=s.next}a=a.next}while(a!==e)}function _g(e,t,n,i){var o,r,a,s,c,l=[];for(o=0,r=t.length;o<r;o++)a=t[o]*i,s=o<r-1?t[o+1]*i:e.length,c=lg(e,a,s,i,!1),c===c.next&&(c.steiner=!0),l.push(Tg(c));for(l.sort(gg),o=0;o<l.length;o++)n=bg(l[o],n),n=ug(n,n.next);return n}function gg(e,t){return e.x-t.x}function bg(e,t){var n=yg(e,t);if(!n)return t;var i=Ng(n,e),o=ug(n,n.next);return ug(i,i.next),t===n?o:t}function yg(e,t){var n,i=t,o=e.x,r=e.y,a=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){var s=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(s<=o&&s>a){if(a=s,s===o){if(r===i.y)return i;if(r===i.next.y)return i.next}n=i.x<i.next.x?i:i.next}}i=i.next}while(i!==t);if(!n)return null;if(o===a)return n;var c,l=n,u=n.x,h=n.y,d=1/0;i=n;do{o>=i.x&&i.x>=u&&o!==i.x&&Cg(r<h?o:a,r,u,h,r<h?a:o,r,i.x,i.y)&&(c=Math.abs(r-i.y)/(o-i.x),Rg(i,e)&&(c<d||c===d&&(i.x>n.x||i.x===n.x&&vg(n,i)))&&(n=i,d=c)),i=i.next}while(i!==l);return n}function vg(e,t){return xg(e.prev,e,t.prev)<0&&xg(t.next,e,e.next)<0}function Og(e,t,n,i){var o=e;do{null===o.z&&(o.z=Ag(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,wg(o)}function wg(e){var t,n,i,o,r,a,s,c,l=1;do{n=e,e=null,r=null,a=0;while(n){for(a++,i=n,s=0,t=0;t<l;t++)if(s++,i=i.nextZ,!i)break;c=l;while(s>0||c>0&&i)0!==s&&(0===c||!i||n.z<=i.z)?(o=n,n=n.nextZ,s--):(o=i,i=i.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;n=i}r.nextZ=null,l*=2}while(a>1);return e}function Ag(e,t,n,i,o){return e=32767*(e-n)*o,t=32767*(t-i)*o,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e|t<<1}function Tg(e){var t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next}while(t!==e);return n}function Cg(e,t,n,i,o,r,a,s){return(o-a)*(t-s)-(e-a)*(r-s)>=0&&(e-a)*(i-s)-(n-a)*(t-s)>=0&&(n-a)*(r-s)-(o-a)*(i-s)>=0}function Eg(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!Pg(e,t)&&(Rg(e,t)&&Rg(t,e)&&Mg(e,t)&&(xg(e.prev,e,t.prev)||xg(e,t.prev,t))||Sg(e,t)&&xg(e.prev,e,e.next)>0&&xg(t.prev,t,t.next)>0)}function xg(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function Sg(e,t){return e.x===t.x&&e.y===t.y}function Ig(e,t,n,i){var o=jg(xg(e,t,n)),r=jg(xg(e,t,i)),a=jg(xg(n,i,e)),s=jg(xg(n,i,t));return o!==r&&a!==s||(!(0!==o||!Dg(e,n,t))||(!(0!==r||!Dg(e,i,t))||(!(0!==a||!Dg(n,e,i))||!(0!==s||!Dg(n,t,i)))))}function Dg(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function jg(e){return e>0?1:e<0?-1:0}function Pg(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Ig(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function Rg(e,t){return xg(e.prev,e,e.next)<0?xg(e,t,e.next)>=0&&xg(e,e.prev,t)>=0:xg(e,t,e.prev)<0||xg(e,e.next,t)<0}function Mg(e,t){var n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do{n.y>r!==n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==e);return i}function Ng(e,t){var n=new Fg(e.i,e.x,e.y),i=new Fg(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function Lg(e,t,n,i){var o=new Fg(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function Bg(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Fg(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function kg(e,t,n,i){for(var o=0,r=t,a=n-i;r<n;r+=i)o+=(e[a]-e[r])*(e[r+1]+e[a+1]),a=r;return o}cg.deviation=function(e,t,n,i){var o=t&&t.length,r=o?t[0]*n:e.length,a=Math.abs(kg(e,0,r,n));if(o)for(var s=0,c=t.length;s<c;s++){var l=t[s]*n,u=s<c-1?t[s+1]*n:e.length;a-=Math.abs(kg(e,l,u,n))}var h=0;for(s=0;s<i.length;s+=3){var d=i[s]*n,f=i[s+1]*n,p=i[s+2]*n;h+=Math.abs((e[d]-e[p])*(e[f+1]-e[d+1])-(e[d]-e[f])*(e[p+1]-e[d+1]))}return 0===a&&0===h?0:Math.abs((h-a)/a)},cg.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},i=0,o=0;o<e.length;o++){for(var r=0;r<e[o].length;r++)for(var a=0;a<t;a++)n.vertices.push(e[o][r][a]);o>0&&(i+=e[o-1].length,n.holes.push(i))}return n},ag.default=sg;const zg={CLOCKWISE:Jc.CW,COUNTER_CLOCKWISE:Jc.CCW,validate:function(e){return e===zg.CLOCKWISE||e===zg.COUNTER_CLOCKWISE}};var Ug=Object.freeze(zg);const Vg=new g,Hg=new g,Gg={computeArea2D:function(e){i["a"].defined("positions",e),i["a"].typeOf.number.greaterThanOrEquals("positions.length",e.length,3);const t=e.length;let n=0;for(let i=t-1,o=0;o<t;i=o++){const t=e[i],r=e[o];n+=t.x*r.y-r.x*t.y}return.5*n},computeWindingOrder2D:function(e){const t=Gg.computeArea2D(e);return t>0?Ug.COUNTER_CLOCKWISE:Ug.CLOCKWISE},triangulate:function(e,t){i["a"].defined("positions",e);const n=Ht.packArray(e);return ag(n,t,2)}},qg=new g,Wg=new g,Yg=new g,Xg=new g,Kg=new g,Jg=new g,Zg=new g,$g=new Ht,Qg=new Ht,eb=new Ht,tb=new Ht;Gg.computeSubdivision=function(e,t,n,a,c){c=Object(o["a"])(c,s["a"].RADIANS_PER_DEGREE);const l=Object(r["a"])(a);i["a"].typeOf.object("ellipsoid",e),i["a"].defined("positions",t),i["a"].defined("indices",n),i["a"].typeOf.number.greaterThanOrEquals("indices.length",n.length,3),i["a"].typeOf.number.equals("indices.length % 3","0",n.length%3,0),i["a"].typeOf.number.greaterThan("granularity",c,0);const u=n.slice(0);let h;const d=t.length,f=new Array(3*d),p=new Array(2*d);let m=0,_=0;for(h=0;h<d;h++){const e=t[h];if(f[m++]=e.x,f[m++]=e.y,f[m++]=e.z,l){const e=a[h];p[_++]=e.x,p[_++]=e.y}}const b=[],y={},v=e.maximumRadius,O=s["a"].chordLength(c,v),w=O*O;while(u.length>0){const e=u.pop(),t=u.pop(),n=u.pop(),i=g.fromArray(f,3*n,qg),o=g.fromArray(f,3*t,Wg),a=g.fromArray(f,3*e,Yg);let s,c,d;l&&(s=Ht.fromArray(p,2*n,$g),c=Ht.fromArray(p,2*t,Qg),d=Ht.fromArray(p,2*e,eb));const m=g.multiplyByScalar(g.normalize(i,Xg),v,Xg),_=g.multiplyByScalar(g.normalize(o,Kg),v,Kg),O=g.multiplyByScalar(g.normalize(a,Jg),v,Jg),A=g.magnitudeSquared(g.subtract(m,_,Zg)),T=g.magnitudeSquared(g.subtract(_,O,Zg)),C=g.magnitudeSquared(g.subtract(O,m,Zg)),E=Math.max(A,T,C);let x,S,I;E>w?A===E?(x=`${Math.min(n,t)} ${Math.max(n,t)}`,h=y[x],Object(r["a"])(h)||(S=g.add(i,o,Zg),g.multiplyByScalar(S,.5,S),f.push(S.x,S.y,S.z),h=f.length/3-1,y[x]=h,l&&(I=Ht.add(s,c,tb),Ht.multiplyByScalar(I,.5,I),p.push(I.x,I.y))),u.push(n,h,e),u.push(h,t,e)):T===E?(x=`${Math.min(t,e)} ${Math.max(t,e)}`,h=y[x],Object(r["a"])(h)||(S=g.add(o,a,Zg),g.multiplyByScalar(S,.5,S),f.push(S.x,S.y,S.z),h=f.length/3-1,y[x]=h,l&&(I=Ht.add(c,d,tb),Ht.multiplyByScalar(I,.5,I),p.push(I.x,I.y))),u.push(t,h,n),u.push(h,e,n)):C===E&&(x=`${Math.min(e,n)} ${Math.max(e,n)}`,h=y[x],Object(r["a"])(h)||(S=g.add(a,i,Zg),g.multiplyByScalar(S,.5,S),f.push(S.x,S.y,S.z),h=f.length/3-1,y[x]=h,l&&(I=Ht.add(d,s,tb),Ht.multiplyByScalar(I,.5,I),p.push(I.x,I.y))),u.push(e,h,t),u.push(h,n,t)):(b.push(n),b.push(t),b.push(e))}const A={attributes:{position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:f})},indices:b,primitiveType:xh.TRIANGLES};return l&&(A.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:p})),new kh(A)};const nb=new I,ib=new I,ob=new I,rb=new I;Gg.computeRhumbLineSubdivision=function(e,t,n,a,c){c=Object(o["a"])(c,s["a"].RADIANS_PER_DEGREE);const l=Object(r["a"])(a);i["a"].typeOf.object("ellipsoid",e),i["a"].defined("positions",t),i["a"].defined("indices",n),i["a"].typeOf.number.greaterThanOrEquals("indices.length",n.length,3),i["a"].typeOf.number.equals("indices.length % 3","0",n.length%3,0),i["a"].typeOf.number.greaterThan("granularity",c,0);const u=n.slice(0);let h;const d=t.length,f=new Array(3*d),p=new Array(2*d);let m=0,_=0;for(h=0;h<d;h++){const e=t[h];if(f[m++]=e.x,f[m++]=e.y,f[m++]=e.z,l){const e=a[h];p[_++]=e.x,p[_++]=e.y}}const b=[],y={},v=e.maximumRadius,O=s["a"].chordLength(c,v),w=new rg(void 0,void 0,e),A=new rg(void 0,void 0,e),T=new rg(void 0,void 0,e);while(u.length>0){const t=u.pop(),n=u.pop(),i=u.pop(),o=g.fromArray(f,3*i,qg),a=g.fromArray(f,3*n,Wg),s=g.fromArray(f,3*t,Yg);let c,d,m;l&&(c=Ht.fromArray(p,2*i,$g),d=Ht.fromArray(p,2*n,Qg),m=Ht.fromArray(p,2*t,eb));const _=e.cartesianToCartographic(o,nb),v=e.cartesianToCartographic(a,ib),C=e.cartesianToCartographic(s,ob);w.setEndPoints(_,v);const E=w.surfaceDistance;A.setEndPoints(v,C);const x=A.surfaceDistance;T.setEndPoints(C,_);const S=T.surfaceDistance,I=Math.max(E,x,S);let D,j,P,R,M;I>O?E===I?(D=`${Math.min(i,n)} ${Math.max(i,n)}`,h=y[D],Object(r["a"])(h)||(j=w.interpolateUsingFraction(.5,rb),P=.5*(_.height+v.height),R=g.fromRadians(j.longitude,j.latitude,P,e,Zg),f.push(R.x,R.y,R.z),h=f.length/3-1,y[D]=h,l&&(M=Ht.add(c,d,tb),Ht.multiplyByScalar(M,.5,M),p.push(M.x,M.y))),u.push(i,h,t),u.push(h,n,t)):x===I?(D=`${Math.min(n,t)} ${Math.max(n,t)}`,h=y[D],Object(r["a"])(h)||(j=A.interpolateUsingFraction(.5,rb),P=.5*(v.height+C.height),R=g.fromRadians(j.longitude,j.latitude,P,e,Zg),f.push(R.x,R.y,R.z),h=f.length/3-1,y[D]=h,l&&(M=Ht.add(d,m,tb),Ht.multiplyByScalar(M,.5,M),p.push(M.x,M.y))),u.push(n,h,i),u.push(h,t,i)):S===I&&(D=`${Math.min(t,i)} ${Math.max(t,i)}`,h=y[D],Object(r["a"])(h)||(j=T.interpolateUsingFraction(.5,rb),P=.5*(C.height+_.height),R=g.fromRadians(j.longitude,j.latitude,P,e,Zg),f.push(R.x,R.y,R.z),h=f.length/3-1,y[D]=h,l&&(M=Ht.add(m,c,tb),Ht.multiplyByScalar(M,.5,M),p.push(M.x,M.y))),u.push(t,h,n),u.push(h,i,n)):(b.push(i),b.push(n),b.push(t))}const C={attributes:{position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:f})},indices:b,primitiveType:xh.TRIANGLES};return l&&(C.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:p})),new kh(C)},Gg.scaleToGeodeticHeight=function(e,t,n,i){n=Object(o["a"])(n,z.WGS84);let a=Vg,s=Hg;if(t=Object(o["a"])(t,0),i=Object(o["a"])(i,!0),Object(r["a"])(e)){const o=e.length;for(let r=0;r<o;r+=3)g.fromArray(e,r,s),i&&(s=n.scaleToGeodeticSurface(s,s)),0!==t&&(a=n.geodeticSurfaceNormal(s,a),g.multiplyByScalar(a,t,a),g.add(s,a,s)),e[r]=s.x,e[r+1]=s.y,e[r+2]=s.z}return e};var ab=Gg;function sb(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(sb.prototype,{length:{get:function(){return this._length}}}),sb.prototype.enqueue=function(e){this._array.push(e),this._length++},sb.prototype.dequeue=function(){if(0===this._length)return;const e=this._array;let t=this._offset;const n=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n},sb.prototype.peek=function(){if(0!==this._length)return this._array[this._offset]},sb.prototype.contains=function(e){return-1!==this._array.indexOf(e)},sb.prototype.clear=function(){this._array.length=this._offset=this._length=0},sb.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var cb=sb;const lb={computeHierarchyPackedLength:function(e,t){let n=0;const i=[e];while(i.length>0){const e=i.pop();if(!Object(r["a"])(e))continue;n+=2;const o=e.positions,a=e.holes;if(Object(r["a"])(o)&&o.length>0&&(n+=o.length*t.packedLength),Object(r["a"])(a)){const e=a.length;for(let t=0;t<e;++t)i.push(a[t])}}return n},packPolygonHierarchy:function(e,t,n,i){const o=[e];while(o.length>0){const e=o.pop();if(!Object(r["a"])(e))continue;const a=e.positions,s=e.holes;if(t[n++]=Object(r["a"])(a)?a.length:0,t[n++]=Object(r["a"])(s)?s.length:0,Object(r["a"])(a)){const e=a.length;for(let o=0;o<e;++o,n+=i.packedLength)i.pack(a[o],t,n)}if(Object(r["a"])(s)){const e=s.length;for(let t=0;t<e;++t)o.push(s[t])}}return n},unpackPolygonHierarchy:function(e,t,n){const i=e[t++],o=e[t++],r=new Array(i),a=o>0?new Array(o):void 0;for(let s=0;s<i;++s,t+=n.packedLength)r[s]=n.unpack(e,t);for(let s=0;s<o;++s)a[s]=lb.unpackPolygonHierarchy(e,t,n),t=a[s].startingIndex,delete a[s].startingIndex;return{positions:r,holes:a,startingIndex:t}}},ub=new Ht;function hb(e,t,n,i){return Ht.subtract(t,e,ub),Ht.multiplyByScalar(ub,n/i,ub),Ht.add(e,ub,ub),[ub.x,ub.y]}const db=new g;function fb(e,t,n,i){return g.subtract(t,e,db),g.multiplyByScalar(db,n/i,db),g.add(e,db,db),[db.x,db.y,db.z]}lb.subdivideLineCount=function(e,t,n){const i=g.distance(e,t),o=i/n,r=Math.max(0,Math.ceil(s["a"].log2(o)));return Math.pow(2,r)};const pb=new I,mb=new I,_b=new I,gb=new g,bb=new rg;lb.subdivideRhumbLineCount=function(e,t,n,i){const o=e.cartesianToCartographic(t,pb),r=e.cartesianToCartographic(n,mb),a=new rg(o,r,e),c=a.surfaceDistance/i,l=Math.max(0,Math.ceil(s["a"].log2(c)));return Math.pow(2,l)},lb.subdivideTexcoordLine=function(e,t,n,i,o,r){const a=lb.subdivideLineCount(n,i,o),s=Ht.distance(e,t),c=s/a,l=r;l.length=2*a;let u=0;for(let h=0;h<a;h++){const n=hb(e,t,h*c,s);l[u++]=n[0],l[u++]=n[1]}return l},lb.subdivideLine=function(e,t,n,i){const o=lb.subdivideLineCount(e,t,n),a=g.distance(e,t),s=a/o;Object(r["a"])(i)||(i=[]);const c=i;c.length=3*o;let l=0;for(let r=0;r<o;r++){const n=fb(e,t,r*s,a);c[l++]=n[0],c[l++]=n[1],c[l++]=n[2]}return c},lb.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,a){const c=n.cartesianToCartographic(i,pb),l=n.cartesianToCartographic(o,mb);bb.setEndPoints(c,l);const u=bb.surfaceDistance/r,h=Math.max(0,Math.ceil(s["a"].log2(u))),d=Math.pow(2,h),f=Ht.distance(e,t),p=f/d,m=a;m.length=2*d;let _=0;for(let s=0;s<d;s++){const n=hb(e,t,s*p,f);m[_++]=n[0],m[_++]=n[1]}return m},lb.subdivideRhumbLine=function(e,t,n,i,o){const a=e.cartesianToCartographic(t,pb),c=e.cartesianToCartographic(n,mb),l=new rg(a,c,e),u=l.surfaceDistance/i,h=Math.max(0,Math.ceil(s["a"].log2(u))),d=Math.pow(2,h),f=l.surfaceDistance/d;Object(r["a"])(o)||(o=[]);const p=o;p.length=3*d;let m=0;for(let r=0;r<d;r++){const t=l.interpolateUsingSurfaceDistance(r*f,_b),n=e.cartographicToCartesian(t,gb);p[m++]=n.x,p[m++]=n.y,p[m++]=n.z}return p};const yb=new g,vb=new g,Ob=new g,wb=new g;lb.scaleToGeodeticHeightExtruded=function(e,t,n,i,a){i=Object(o["a"])(i,z.WGS84);const s=yb;let c=vb;const l=Ob;let u=wb;if(Object(r["a"])(e)&&Object(r["a"])(e.attributes)&&Object(r["a"])(e.attributes.position)){const o=e.attributes.position.values,r=o.length/2;for(let e=0;e<r;e+=3)g.fromArray(o,e,l),i.geodeticSurfaceNormal(l,s),u=i.scaleToGeodeticSurface(l,u),c=g.multiplyByScalar(s,n,c),c=g.add(u,c,c),o[e+r]=c.x,o[e+1+r]=c.y,o[e+2+r]=c.z,a&&(u=g.clone(l,u)),c=g.multiplyByScalar(s,t,c),c=g.add(u,c,c),o[e]=c.x,o[e+1]=c.y,o[e+2]=c.z}return e},lb.polygonOutlinesFromHierarchy=function(e,t,n){const i=[],o=new cb;let a,s,c;o.enqueue(e);while(0!==o.length){const e=o.dequeue();let l=e.positions;if(t)for(c=l.length,a=0;a<c;a++)n.scaleToGeodeticSurface(l[a],l[a]);if(l=z_(l,g.equalsEpsilon,!0),l.length<3)continue;const u=e.holes?e.holes.length:0;for(a=0;a<u;a++){const l=e.holes[a];let u=l.positions;if(t)for(c=u.length,s=0;s<c;++s)n.scaleToGeodeticSurface(u[s],u[s]);if(u=z_(u,g.equalsEpsilon,!0),u.length<3)continue;i.push(u);let h=0;for(Object(r["a"])(l.holes)&&(h=l.holes.length),s=0;s<h;s++)o.enqueue(l.holes[s])}i.push(l)}return i},lb.polygonsFromHierarchy=function(e,t,n,i,o){const a=[],s=[],c=new cb;c.enqueue(e);while(0!==c.length){const e=c.dequeue();let l=e.positions;const u=e.holes;let h,d;if(i)for(d=l.length,h=0;h<d;h++)o.scaleToGeodeticSurface(l[h],l[h]);if(t||(l=z_(l,g.equalsEpsilon,!0)),l.length<3)continue;let f=n(l);if(!Object(r["a"])(f))continue;const p=[];let m=ab.computeWindingOrder2D(f);m===Ug.CLOCKWISE&&(f.reverse(),l=l.slice().reverse());let _=l.slice();const b=Object(r["a"])(u)?u.length:0,y=[];let v;for(h=0;h<b;h++){const e=u[h];let a=e.positions;if(i)for(d=a.length,v=0;v<d;++v)o.scaleToGeodeticSurface(a[v],a[v]);if(t||(a=z_(a,g.equalsEpsilon,!0)),a.length<3)continue;const s=n(a);if(!Object(r["a"])(s))continue;m=ab.computeWindingOrder2D(s),m===Ug.CLOCKWISE&&(s.reverse(),a=a.slice().reverse()),y.push(a),p.push(_.length),_=_.concat(a),f=f.concat(s);let l=0;for(Object(r["a"])(e.holes)&&(l=e.holes.length),v=0;v<l;v++)c.enqueue(e.holes[v])}a.push({outerRing:l,holes:y}),s.push({positions:_,positions2D:f,holes:p})}return{hierarchy:a,polygons:s}};const Ab=new Ht,Tb=new g,Cb=new $a,Eb=new ce;lb.computeBoundingRectangle=function(e,t,n,i,o){const a=$a.fromAxisAngle(e,i,Cb),s=ce.fromQuaternion(a,Eb);let c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;const d=n.length;for(let f=0;f<d;++f){const e=g.clone(n[f],Tb);ce.multiplyByVector(s,e,e);const i=t(e,Ab);Object(r["a"])(i)&&(c=Math.min(c,i.x),l=Math.max(l,i.x),u=Math.min(u,i.y),h=Math.max(h,i.y))}return o.x=c,o.y=u,o.width=l-c,o.height=h-u,o},lb.createGeometryFromPositions=function(e,t,n,i,o,a,s){let c=ab.triangulate(t.positions2D,t.holes);c.length<3&&(c=[0,1,2]);const l=t.positions,u=Object(r["a"])(n),h=u?n.positions:void 0;if(o){const e=l.length,t=new Array(3*e);let n=0;for(let r=0;r<e;r++){const e=l[r];t[n++]=e.x,t[n++]=e.y,t[n++]=e.z}const i={attributes:{position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:t})},indices:c,primitiveType:xh.TRIANGLES};u&&(i.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:Ht.packArray(h)}));const o=new kh(i);return a.normal?_m.computeNormal(o):o}return s===hh.GEODESIC?ab.computeSubdivision(e,l,c,h,i):s===hh.RHUMB?ab.computeRhumbLineSubdivision(e,l,c,h,i):void 0};const xb=[],Sb=[],Ib=new g,Db=new g;lb.computeWallGeometry=function(e,t,n,i,o,a){let c,l,u,h,d,f,p,m,_,b=e.length,y=0,v=0;const O=Object(r["a"])(t),w=O?t.positions:void 0;if(o)for(l=3*b*2,c=new Array(2*l),O&&(_=2*b*2,m=new Array(2*_)),u=0;u<b;u++)h=e[u],d=e[(u+1)%b],c[y]=c[y+l]=h.x,++y,c[y]=c[y+l]=h.y,++y,c[y]=c[y+l]=h.z,++y,c[y]=c[y+l]=d.x,++y,c[y]=c[y+l]=d.y,++y,c[y]=c[y+l]=d.z,++y,O&&(f=w[u],p=w[(u+1)%b],m[v]=m[v+_]=f.x,++v,m[v]=m[v+_]=f.y,++v,m[v]=m[v+_]=p.x,++v,m[v]=m[v+_]=p.y,++v);else{const t=s["a"].chordLength(i,n.maximumRadius);let o=0;if(a===hh.GEODESIC)for(u=0;u<b;u++)o+=lb.subdivideLineCount(e[u],e[(u+1)%b],t);else if(a===hh.RHUMB)for(u=0;u<b;u++)o+=lb.subdivideRhumbLineCount(n,e[u],e[(u+1)%b],t);for(l=3*(o+b),c=new Array(2*l),O&&(_=2*(o+b),m=new Array(2*_)),u=0;u<b;u++){let i,o;h=e[u],d=e[(u+1)%b],O&&(f=w[u],p=w[(u+1)%b]),a===hh.GEODESIC?(i=lb.subdivideLine(h,d,t,Sb),O&&(o=lb.subdivideTexcoordLine(f,p,h,d,t,xb))):a===hh.RHUMB&&(i=lb.subdivideRhumbLine(n,h,d,t,Sb),O&&(o=lb.subdivideTexcoordRhumbLine(f,p,n,h,d,t,xb)));const r=i.length;for(let e=0;e<r;++e,++y)c[y]=i[e],c[y+l]=i[e];if(c[y]=d.x,c[y+l]=d.x,++y,c[y]=d.y,c[y+l]=d.y,++y,c[y]=d.z,c[y+l]=d.z,++y,O){const e=o.length;for(let t=0;t<e;++t,++v)m[v]=o[t],m[v+_]=o[t];m[v]=p.x,m[v+_]=p.x,++v,m[v]=p.y,m[v+_]=p.y,++v}}}b=c.length;const A=uu.createTypedArray(b/3,b-6*e.length);let T=0;for(b/=6,u=0;u<b;u++){const e=u,t=e+1,n=e+b,i=n+1;h=g.fromArray(c,3*e,Ib),d=g.fromArray(c,3*t,Db),g.equalsEpsilon(h,d,s["a"].EPSILON10,s["a"].EPSILON10)||(A[T++]=e,A[T++]=n,A[T++]=t,A[T++]=t,A[T++]=n,A[T++]=i)}const C={attributes:new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:c})}),indices:A,primitiveType:xh.TRIANGLES};O&&(C.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:m}));const E=new kh(C);return E};var jb=lb;const Pb=new g,Rb=new Oh,Mb=new Ht,Nb=new Ht,Lb=new g,Bb=new g,Fb=new g,kb=new g,zb=new g,Ub=new g,Vb=new $a,Hb=new ce,Gb=new ce,qb=new g;function Wb(e,t,n,i,o,a,c,l,u){const h=e.positions;let d=ab.triangulate(e.positions2D,e.holes);d.length<3&&(d=[0,1,2]);const f=uu.createTypedArray(h.length,d.length);f.set(d);let p=Hb;if(0!==i){let e=$a.fromAxisAngle(c,i,Vb);if(p=ce.fromQuaternion(e,p),t.tangent||t.bitangent){e=$a.fromAxisAngle(c,-i,Vb);const n=ce.fromQuaternion(e,Gb);l=g.normalize(ce.multiplyByVector(n,l,l),l),t.bitangent&&(u=g.normalize(g.cross(c,l,u),u))}}else p=ce.clone(ce.IDENTITY,p);const m=Nb;t.st&&(m.x=n.x,m.y=n.y);const _=h.length,b=3*_,y=new Float64Array(b),v=t.normal?new Float32Array(b):void 0,O=t.tangent?new Float32Array(b):void 0,w=t.bitangent?new Float32Array(b):void 0,A=t.st?new Float32Array(2*_):void 0;let T=0,C=0,E=0,x=0,S=0;for(let g=0;g<_;g++){const e=h[g];if(y[T++]=e.x,y[T++]=e.y,y[T++]=e.z,t.st)if(Object(r["a"])(o)&&o.positions.length===_)A[S++]=o.positions[g].x,A[S++]=o.positions[g].y;else{const t=ce.multiplyByVector(p,e,Pb),i=a(t,Mb);Ht.subtract(i,m,i);const o=s["a"].clamp(i.x/n.width,0,1),r=s["a"].clamp(i.y/n.height,0,1);A[S++]=o,A[S++]=r}t.normal&&(v[C++]=c.x,v[C++]=c.y,v[C++]=c.z),t.tangent&&(O[x++]=l.x,O[x++]=l.y,O[x++]=l.z),t.bitangent&&(w[E++]=u.x,w[E++]=u.y,w[E++]=u.z)}const I=new Hh;return t.position&&(I.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:y})),t.normal&&(I.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:v})),t.tangent&&(I.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:O})),t.bitangent&&(I.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:w})),t.st&&(I.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:A})),new kh({attributes:I,indices:f,primitiveType:xh.TRIANGLES})}function Yb(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.polygonHierarchy,n=e.textureCoordinates;i["a"].defined("options.polygonHierarchy",t);const a=Object(o["a"])(e.vertexFormat,Yh.DEFAULT);this._vertexFormat=Yh.clone(a),this._polygonHierarchy=t,this._stRotation=Object(o["a"])(e.stRotation,0),this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=jb.computeHierarchyPackedLength(t,g)+Yh.packedLength+z.packedLength+(Object(r["a"])(n)?jb.computeHierarchyPackedLength(n,Ht):1)+2}Yb.fromPositions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.positions",e.positions);const t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new Yb(t)},Yb.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),n=jb.packPolygonHierarchy(e._polygonHierarchy,t,n,g),z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._stRotation,Object(r["a"])(e._textureCoordinates)?n=jb.packPolygonHierarchy(e._textureCoordinates,t,n,Ht):t[n++]=-1,t[n++]=e.packedLength,t};const Xb=z.clone(z.UNIT_SPHERE),Kb=new Yh,Jb={polygonHierarchy:{}};Yb.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=jb.unpackPolygonHierarchy(e,t,g);t=a.startingIndex,delete a.startingIndex;const s=z.unpack(e,t,Xb);t+=z.packedLength;const c=Yh.unpack(e,t,Kb);t+=Yh.packedLength;const l=e[t++],u=-1===e[t]?void 0:jb.unpackPolygonHierarchy(e,t,Ht);Object(r["a"])(u)?(t=u.startingIndex,delete u.startingIndex):t++;const h=e[t++];return Object(r["a"])(n)||(n=new Yb(Jb)),n._polygonHierarchy=a,n._ellipsoid=z.clone(s,n._ellipsoid),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._stRotation=l,n._textureCoordinates=u,n.packedLength=h,n},Yb.createGeometry=function(e){const t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,a=Object(r["a"])(o);let c=n.positions;if(c=z_(c,g.equalsEpsilon,!0),c.length<3)return;let l=Lb,u=Bb,h=Fb,d=zb;const f=Ub,p=X_.computeProjectTo2DArguments(c,kb,d,f);if(!p)return;if(l=g.cross(d,f,l),l=g.normalize(l,l),!g.equalsEpsilon(kb,g.ZERO,s["a"].EPSILON6)){const t=e._ellipsoid.geodeticSurfaceNormal(kb,qb);g.dot(l,t)<0&&(l=g.negate(l,l),d=g.negate(d,d))}const m=X_.createProjectPointsTo2DFunction(kb,d,f),_=X_.createProjectPointTo2DFunction(kb,d,f);t.tangent&&(u=g.clone(d,u)),t.bitangent&&(h=g.clone(f,h));const b=jb.polygonsFromHierarchy(n,a,m,!1),y=b.hierarchy,v=b.polygons,O=function(e){return e},w=a?jb.polygonsFromHierarchy(o,!0,O,!1).polygons:void 0;if(0===y.length)return;c=y[0].outerRing;const A=Tt.fromPoints(c),T=jb.computeBoundingRectangle(l,_,c,i,Rb),C=[];for(let r=0;r<v.length;r++){const e=new Df({geometry:Wb(v[r],t,T,i,a?w[r]:void 0,_,l,u,h)});C.push(e)}const E=_m.combineInstances(C)[0];E.attributes.position.values=new Float64Array(E.attributes.position.values),E.indices=uu.createTypedArray(E.attributes.position.values.length/3,E.indices);const x=E.attributes;return t.position||delete x.position,new kh({attributes:x,indices:E.indices,primitiveType:E.primitiveType,boundingSphere:A})};var Zb=Yb;function $b(e){const t=e.length,n=new Float64Array(3*t),i=uu.createTypedArray(t,2*t);let o=0,r=0;for(let s=0;s<t;s++){const a=e[s];n[o++]=a.x,n[o++]=a.y,n[o++]=a.z,i[r++]=s,i[r++]=(s+1)%t}const a=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:n})});return new kh({attributes:a,indices:i,primitiveType:xh.LINES})}function Qb(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.polygonHierarchy;i["a"].defined("options.polygonHierarchy",t),this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=jb.computeHierarchyPackedLength(t,g)+1}Qb.fromPositions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.positions",e.positions);const t={polygonHierarchy:{positions:e.positions}};return new Qb(t)},Qb.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),n=jb.packPolygonHierarchy(e._polygonHierarchy,t,n,g),t[n]=e.packedLength,t};const ey={polygonHierarchy:{}};Qb.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=jb.unpackPolygonHierarchy(e,t,g);t=a.startingIndex,delete a.startingIndex;const s=e[t];return Object(r["a"])(n)||(n=new Qb(ey)),n._polygonHierarchy=a,n.packedLength=s,n},Qb.createGeometry=function(e){const t=e._polygonHierarchy;let n=t.positions;if(n=z_(n,g.equalsEpsilon,!0),n.length<3)return;const i=X_.validOutline(n);if(!i)return;const o=jb.polygonOutlinesFromHierarchy(t,!1);if(0===o.length)return;const r=[];for(let c=0;c<o.length;c++){const e=new Df({geometry:$b(o[c])});r.push(e)}const a=_m.combineInstances(r)[0],s=Tt.fromPoints(t.positions);return new kh({attributes:a.attributes,indices:a.indices,primitiveType:a.primitiveType,boundingSphere:s})};var ty=Qb;const ny={ROUNDED:0,MITERED:1,BEVELED:2};var iy=Object.freeze(ny);function oy(e){const t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),a=Math.sin(e._startHeading),s=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+s*s),l=c*s,u=Math.atan2(s,r),h=c*a,d=h*h,f=1-d,p=Math.sqrt(f),m=t/4,_=m*m,g=_*m,b=_*_,y=1+m-3*_/4+5*g/4-175*b/64,v=1-m+15*_/8-35*g/8,O=1-3*m+35*_/4,w=1-5*m,A=y*u-v*Math.sin(2*u)*m/2-O*Math.sin(4*u)*_/16-w*Math.sin(6*u)*g/48-5*Math.sin(8*u)*b/512,T=e._constants;T.a=n,T.b=i,T.f=o,T.cosineHeading=r,T.sineHeading=a,T.tanU=s,T.cosineU=c,T.sineU=l,T.sigma=u,T.sineAlpha=h,T.sineSquaredAlpha=d,T.cosineSquaredAlpha=f,T.cosineAlpha=p,T.u2Over4=m,T.u4Over16=_,T.u6Over64=g,T.u8Over256=b,T.a0=y,T.a1=v,T.a2=O,T.a3=w,T.distanceRatio=A}function ry(e,t){return e*t*(4+e*(4-3*t))/16}function ay(e,t,n,i,o,r,a){const s=ry(e,n);return(1-s)*e*t*(i+s*o*(a+s*r*(2*a*a-1)))}function sy(e,t,n,i,o,r,a){const c=(t-n)/t,l=r-i,u=Math.atan((1-c)*Math.tan(o)),h=Math.atan((1-c)*Math.tan(a)),d=Math.cos(u),f=Math.sin(u),p=Math.cos(h),m=Math.sin(h),_=d*p,g=d*m,b=f*m,y=f*p;let v,O,w,A,T,C=l,E=s["a"].TWO_PI,x=Math.cos(C),S=Math.sin(C);do{x=Math.cos(C),S=Math.sin(C);const e=g-y*x;let t;w=Math.sqrt(p*p*S*S+e*e),O=b+_*x,v=Math.atan2(w,O),0===w?(t=0,A=1):(t=_*S/w,A=1-t*t),E=C,T=O-2*b/A,isFinite(T)||(T=0),C=l+ay(c,t,A,v,w,O,T)}while(Math.abs(C-E)>s["a"].EPSILON12);const I=A*(t*t-n*n)/(n*n),D=1+I*(4096+I*(I*(320-175*I)-768))/16384,j=I*(256+I*(I*(74-47*I)-128))/1024,P=T*T,R=j*w*(T+j*(O*(2*P-1)-j*T*(4*w*w-3)*(4*P-3)/6)/4),M=n*D*(v-R),N=Math.atan2(p*S,g-y*x),L=Math.atan2(d*S,g*x-y);e._distance=M,e._startHeading=N,e._endHeading=L,e._uSquared=I}const cy=new g,ly=new g;function uy(e,t,n,o){const r=g.normalize(o.cartographicToCartesian(t,ly),cy),a=g.normalize(o.cartographicToCartesian(n,ly),ly);i["a"].typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(g.angleBetween(r,a))-Math.PI),.0125),sy(e,o.maximumRadius,o.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=I.clone(t,e._start),e._end=I.clone(n,e._end),e._start.height=0,e._end.height=0,oy(e)}function hy(e,t,n){const i=Object(o["a"])(n,z.WGS84);this._ellipsoid=i,this._start=new I,this._end=new I,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,Object(r["a"])(e)&&Object(r["a"])(t)&&uy(this,e,t,i)}Object.defineProperties(hy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return i["a"].defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return i["a"].defined("distance",this._distance),this._startHeading}},endHeading:{get:function(){return i["a"].defined("distance",this._distance),this._endHeading}}}),hy.prototype.setEndPoints=function(e,t){i["a"].defined("start",e),i["a"].defined("end",t),uy(this,e,t,this._ellipsoid)},hy.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},hy.prototype.interpolateUsingSurfaceDistance=function(e,t){i["a"].defined("distance",this._distance);const n=this._constants,o=n.distanceRatio+e/n.b,a=Math.cos(2*o),s=Math.cos(4*o),c=Math.cos(6*o),l=Math.sin(2*o),u=Math.sin(4*o),h=Math.sin(6*o),d=Math.sin(8*o),f=o*o,p=o*f,m=n.u8Over256,_=n.u2Over4,g=n.u6Over64,b=n.u4Over16;let y=2*p*m*a/3+o*(1-_+7*b/4-15*g/4+579*m/64-(b-15*g/4+187*m/16)*a-(5*g/4-115*m/16)*s-29*m*c/16)+(_/2-b+71*g/32-85*m/16)*l+(5*b/16-5*g/4+383*m/96)*u-f*((g-11*m/2)*l+5*m*u/2)+(29*g/96-29*m/16)*h+539*m*d/1536;const v=Math.asin(Math.sin(y)*n.cosineAlpha),O=Math.atan(n.a/n.b*Math.tan(v));y-=n.sigma;const w=Math.cos(2*n.sigma+y),A=Math.sin(y),T=Math.cos(y),C=n.cosineU*T,E=n.sineU*A,x=Math.atan2(A*n.sineHeading,C-E*n.cosineHeading),S=x-ay(n.f,n.sineAlpha,n.cosineSquaredAlpha,y,A,T,w);return Object(r["a"])(t)?(t.longitude=this._start.longitude+S,t.latitude=O,t.height=0,t):new I(this._start.longitude+S,O,0)};var dy=hy;const fy={numberOfPoints:function(e,t,n){const i=g.distance(e,t);return Math.ceil(i/n)},numberOfPointsRhumbLine:function(e,t,n){const i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))}},py=new I;fy.extractHeights=function(e,t){const n=e.length,i=new Array(n);for(let o=0;o<n;o++){const n=e[o];i[o]=t.cartesianToCartographic(n,py).height}return i};const my=new Ne,_y=new g,gy=new g,by=new No(g.UNIT_X,0),yy=new g,vy=new No(g.UNIT_X,0),Oy=new g,wy=new g,Ay=[];function Ty(e,t,n){const i=Ay;let o;if(i.length=e,t===n){for(o=0;o<e;o++)i[o]=t;return i}const r=n-t,a=r/e;for(o=0;o<e;o++){const e=t+o*a;i[o]=e}return i}const Cy=new I,Ey=new I,xy=new g,Sy=new g,Iy=new g,Dy=new dy;let jy=new rg;function Py(e,t,n,i,o,r,a,s){const c=i.scaleToGeodeticSurface(e,Sy),l=i.scaleToGeodeticSurface(t,Iy),u=fy.numberOfPoints(e,t,n),h=i.cartesianToCartographic(c,Cy),d=i.cartesianToCartographic(l,Ey),f=Ty(u,o,r);Dy.setEndPoints(h,d);const p=Dy.surfaceDistance/u;let m=s;h.height=o;let _=i.cartographicToCartesian(h,xy);g.pack(_,a,m),m+=3;for(let b=1;b<u;b++){const e=Dy.interpolateUsingSurfaceDistance(b*p,Ey);e.height=f[b],_=i.cartographicToCartesian(e,xy),g.pack(_,a,m),m+=3}return m}function Ry(e,t,n,i,o,r,a,s){const c=i.cartesianToCartographic(e,Cy),l=i.cartesianToCartographic(t,Ey),u=fy.numberOfPointsRhumbLine(c,l,n);c.height=0,l.height=0;const h=Ty(u,o,r);jy.ellipsoid.equals(i)||(jy=new rg(void 0,void 0,i)),jy.setEndPoints(c,l);const d=jy.surfaceDistance/u;let f=s;c.height=o;let p=i.cartographicToCartesian(c,xy);g.pack(p,a,f),f+=3;for(let m=1;m<u;m++){const e=jy.interpolateUsingSurfaceDistance(m*d,Ey);e.height=h[m],p=i.cartographicToCartesian(e,xy),g.pack(p,a,f),f+=3}return f}fy.wrapLongitude=function(e,t){const n=[],i=[];if(Object(r["a"])(e)&&e.length>0){t=Object(o["a"])(t,Ne.IDENTITY);const a=Ne.inverseTransformation(t,my),s=Ne.multiplyByPoint(a,g.ZERO,_y),c=g.normalize(Ne.multiplyByPointAsVector(a,g.UNIT_Y,gy),gy),l=No.fromPointNormal(s,c,by),u=g.normalize(Ne.multiplyByPointAsVector(a,g.UNIT_X,yy),yy),h=No.fromPointNormal(s,u,vy);let d=1;n.push(g.clone(e[0]));let f=n[0];const p=e.length;for(let t=1;t<p;++t){const o=e[t];if(No.getPointDistance(h,f)<0||No.getPointDistance(h,o)<0){const e=So.lineSegmentPlane(f,o,l,Oy);if(Object(r["a"])(e)){const t=g.multiplyByScalar(c,5e-9,wy);No.getPointDistance(l,f)<0&&g.negate(t,t),n.push(g.add(e,t,new g)),i.push(d+1),g.negate(t,t),n.push(g.add(e,t,new g)),d=1}}n.push(g.clone(e[t])),d++,f=o}i.push(d)}return{positions:n,lengths:i}},fy.generateArc=function(e){Object(r["a"])(e)||(e={});const t=e.positions;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");const n=t.length,i=Object(o["a"])(e.ellipsoid,z.WGS84);let c=Object(o["a"])(e.height,0);const l=Array.isArray(c);if(n<1)return[];if(1===n){const e=i.scaleToGeodeticSurface(t[0],Sy);if(c=l?c[0]:c,0!==c){const t=i.geodeticSurfaceNormal(e,xy);g.multiplyByScalar(t,c,t),g.add(e,t,e)}return[e.x,e.y,e.z]}let u=e.minDistance;if(!Object(r["a"])(u)){const t=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE);u=s["a"].chordLength(t,i.maximumRadius)}let h,d=0;for(h=0;h<n-1;h++)d+=fy.numberOfPoints(t[h],t[h+1],u);const f=3*(d+1),p=new Array(f);let m=0;for(h=0;h<n-1;h++){const e=t[h],n=t[h+1],o=l?c[h]:c,r=l?c[h+1]:c;m=Py(e,n,u,i,o,r,p,m)}Ay.length=0;const _=t[n-1],b=i.cartesianToCartographic(_,Cy);b.height=l?c[n-1]:c;const y=i.cartographicToCartesian(b,xy);return g.pack(y,p,f-3),p};const My=new I,Ny=new I;fy.generateRhumbArc=function(e){Object(r["a"])(e)||(e={});const t=e.positions;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");const n=t.length,i=Object(o["a"])(e.ellipsoid,z.WGS84);let c=Object(o["a"])(e.height,0);const l=Array.isArray(c);if(n<1)return[];if(1===n){const e=i.scaleToGeodeticSurface(t[0],Sy);if(c=l?c[0]:c,0!==c){const t=i.geodeticSurfaceNormal(e,xy);g.multiplyByScalar(t,c,t),g.add(e,t,e)}return[e.x,e.y,e.z]}const u=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE);let h,d,f=0,p=i.cartesianToCartographic(t[0],My);for(h=0;h<n-1;h++)d=i.cartesianToCartographic(t[h+1],Ny),f+=fy.numberOfPointsRhumbLine(p,d,u),p=I.clone(d,My);const m=3*(f+1),_=new Array(m);let b=0;for(h=0;h<n-1;h++){const e=t[h],n=t[h+1],o=l?c[h]:c,r=l?c[h+1]:c;b=Ry(e,n,u,i,o,r,_,b)}Ay.length=0;const y=t[n-1],v=i.cartesianToCartographic(y,Cy);v.height=l?c[n-1]:c;const O=i.cartographicToCartesian(v,xy);return g.pack(O,_,m-3),_},fy.generateCartesianArc=function(e){const t=fy.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=g.unpack(t,3*o);return i},fy.generateCartesianRhumbArc=function(e){const t=fy.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=g.unpack(t,3*o);return i};var Ly=fy;const By={};function Fy(e,t){if(!Object(r["a"])(e))throw new a["a"]("identifier is required.");Object(r["a"])(By[e])||(By[e]=!0,console.warn(Object(o["a"])(t,e)))}Fy.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.",Fy.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored",Fy.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored",Fy.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var ky=Fy;const zy=[new g,new g],Uy=new g,Vy=new g,Hy=new g,Gy=new g,qy=new g,Wy=new g,Yy=new g,Xy=new g,Ky=new g,Jy=new g,Zy=new g,$y={};let Qy=new I;function ev(e,t){const n=new Array(e.length);for(let i=0;i<e.length;i++){const o=e[i];Qy=t.cartesianToCartographic(o,Qy),n[i]=Qy.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function tv(e,t,n,i){const o=e[0],r=e[1],a=g.angleBetween(o,r),s=Math.ceil(a/i),c=new Array(s);let l;if(t===n){for(l=0;l<s;l++)c[l]=t;return c.push(n),c}const u=n-t,h=u/s;for(l=1;l<s;l++){const e=t+l*h;c[l]=e}return c[0]=t,c.push(n),c}const nv=new g,iv=new g;function ov(e,t,n,i){const o=new Js(n,i),r=o.projectPointOntoPlane(g.add(n,e,nv),nv),a=o.projectPointOntoPlane(g.add(n,t,iv),iv),s=Ht.angleBetween(r,a);return a.x*r.y-a.y*r.x>=0?-s:s}const rv=new g(-1,0,0);let av=new Ne;const sv=new Ne;let cv=new ce;const lv=ce.IDENTITY.clone(),uv=new g,hv=new be,dv=new g;function fv(e,t,n,i,o,r,a,s){let c=uv,l=hv;av=Hs.eastNorthUpToFixedFrame(e,o,av),c=Ne.multiplyByPointAsVector(av,rv,c),c=g.normalize(c,c);const u=ov(c,t,e,o);cv=ce.fromRotationZ(u,cv),dv.z=r,av=Ne.multiplyTransformation(av,Ne.fromRotationTranslation(cv,dv,sv),av);const h=lv;h[0]=a;for(let d=0;d<s;d++)for(let e=0;e<n.length;e+=3)l=g.fromArray(n,e,l),l=ce.multiplyByVector(h,l,l),l=Ne.multiplyByPoint(av,l,l),i.push(l.x,l.y,l.z);return i}const pv=new g;function mv(e,t,n,i,o,r,a){for(let s=0;s<e.length;s+=3){const c=g.fromArray(e,s,pv);i=fv(c,t,n,i,o,r[s/3],a,1)}return i}function _v(e,t){const n=e.length,i=new Array(6*n);let o=0;const r=t.x+t.width/2,a=t.y+t.height/2;let s=e[0];i[o++]=s.x-r,i[o++]=0,i[o++]=s.y-a;for(let c=1;c<n;c++){s=e[c];const t=s.x-r,n=s.y-a;i[o++]=t,i[o++]=0,i[o++]=n,i[o++]=t,i[o++]=0,i[o++]=n}return s=e[0],i[o++]=s.x-r,i[o++]=0,i[o++]=s.y-a,i}function gv(e,t){const n=e.length,i=new Array(3*n);let o=0;const r=t.x+t.width/2,a=t.y+t.height/2;for(let s=0;s<n;s++)i[o++]=e[s].x-r,i[o++]=0,i[o++]=e[s].y-a;return i}const bv=new $a,yv=new g,vv=new ce;function Ov(e,t,n,i,o,r,a,c,l,u){const h=g.angleBetween(g.subtract(t,e,Jy),g.subtract(n,e,Zy)),d=i===iy.BEVELED?0:Math.ceil(h/s["a"].toRadians(5));let f,p,m;if(f=o?ce.fromQuaternion($a.fromAxisAngle(g.negate(e,Jy),h/(d+1),bv),vv):ce.fromQuaternion($a.fromAxisAngle(e,h/(d+1),bv),vv),t=g.clone(t,yv),d>0){const n=u?2:1;for(let i=0;i<d;i++)t=ce.multiplyByVector(f,t,t),p=g.subtract(t,e,Jy),p=g.normalize(p,p),o||(p=g.negate(p,p)),m=r.scaleToGeodeticSurface(t,Zy),a=fv(m,p,c,a,r,l,1,n)}else p=g.subtract(t,e,Jy),p=g.normalize(p,p),o||(p=g.negate(p,p)),m=r.scaleToGeodeticSurface(t,Zy),a=fv(m,p,c,a,r,l,1,1),n=g.clone(n,yv),p=g.subtract(n,e,Jy),p=g.normalize(p,p),o||(p=g.negate(p,p)),m=r.scaleToGeodeticSurface(n,Zy),a=fv(m,p,c,a,r,l,1,1);return a}$y.removeDuplicatesFromShape=function(e){const t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){const t=e[i],r=e[o];Ht.equals(t,r)||n.push(r)}return n},$y.angleIsGreaterThanPi=function(e,t,n,i){const o=new Js(n,i),r=o.projectPointOntoPlane(g.add(n,e,nv),nv),a=o.projectPointOntoPlane(g.add(n,t,iv),iv);return a.x*r.y-a.y*r.x>=0};const wv=new g,Av=new g;$y.computePositions=function(e,t,n,i,o){const r=i._ellipsoid,a=ev(e,r),c=i._granularity,l=i._cornerType,u=o?_v(t,n):gv(t,n),h=o?gv(t,n):void 0,d=n.height/2,f=n.width/2;let p=e.length,m=[],_=o?[]:void 0,b=Uy,y=Vy,v=Hy,O=Gy,w=qy,A=Wy,T=Yy,C=Xy,E=Ky,x=e[0],S=e[1];O=r.geodeticSurfaceNormal(x,O),b=g.subtract(S,x,b),b=g.normalize(b,b),C=g.cross(O,b,C),C=g.normalize(C,C);let I,D,j=a[0],P=a[1];o&&(_=fv(x,C,h,_,r,j+d,1,1)),E=g.clone(x,E),x=S,y=g.negate(b,y);for(let N=1;N<p-1;N++){const t=o?2:1;if(S=e[N+1],x.equals(S)){ky("Positions are too close and are considered equivalent with rounding error.");continue}b=g.subtract(S,x,b),b=g.normalize(b,b),v=g.add(b,y,v),v=g.normalize(v,v),O=r.geodeticSurfaceNormal(x,O);const n=g.multiplyByScalar(O,g.dot(b,O),wv);g.subtract(b,n,n),g.normalize(n,n);const i=g.multiplyByScalar(O,g.dot(y,O),Av);g.subtract(y,i,i),g.normalize(i,i);const h=!s["a"].equalsEpsilon(Math.abs(g.dot(n,i)),1,s["a"].EPSILON7);if(h){v=g.cross(v,O,v),v=g.cross(O,v,v),v=g.normalize(v,v);const e=1/Math.max(.25,g.magnitude(g.cross(v,y,Jy))),n=$y.angleIsGreaterThanPi(b,y,x,r);n?(w=g.add(x,g.multiplyByScalar(v,e*f,v),w),A=g.add(w,g.multiplyByScalar(C,f,A),A),zy[0]=g.clone(E,zy[0]),zy[1]=g.clone(A,zy[1]),I=tv(zy,j+d,P+d,c),D=Ly.generateArc({positions:zy,granularity:c,ellipsoid:r}),m=mv(D,C,u,m,r,I,1),C=g.cross(O,b,C),C=g.normalize(C,C),T=g.add(w,g.multiplyByScalar(C,f,T),T),l===iy.ROUNDED||l===iy.BEVELED?Ov(w,A,T,l,n,r,m,u,P+d,o):(v=g.negate(v,v),m=fv(x,v,u,m,r,P+d,e,t)),E=g.clone(T,E)):(w=g.add(x,g.multiplyByScalar(v,e*f,v),w),A=g.add(w,g.multiplyByScalar(C,-f,A),A),zy[0]=g.clone(E,zy[0]),zy[1]=g.clone(A,zy[1]),I=tv(zy,j+d,P+d,c),D=Ly.generateArc({positions:zy,granularity:c,ellipsoid:r}),m=mv(D,C,u,m,r,I,1),C=g.cross(O,b,C),C=g.normalize(C,C),T=g.add(w,g.multiplyByScalar(C,-f,T),T),l===iy.ROUNDED||l===iy.BEVELED?Ov(w,A,T,l,n,r,m,u,P+d,o):m=fv(x,v,u,m,r,P+d,e,t),E=g.clone(T,E)),y=g.negate(b,y)}else m=fv(E,C,u,m,r,j+d,1,1),E=x;j=P,P=a[N+1],x=S}zy[0]=g.clone(E,zy[0]),zy[1]=g.clone(x,zy[1]),I=tv(zy,j+d,P+d,c),D=Ly.generateArc({positions:zy,granularity:c,ellipsoid:r}),m=mv(D,C,u,m,r,I,1),o&&(_=fv(x,C,h,_,r,P+d,1,1)),p=m.length;const R=o?p+_.length:p,M=new Float64Array(R);return M.set(m),o&&M.set(_,p),M};var Tv=$y;const Cv={},Ev=new g,xv=new g,Sv=new g,Iv=new g,Dv=[new g,new g],jv=new g,Pv=new g,Rv=new g,Mv=new g,Nv=new g,Lv=new g,Bv=new g,Fv=new g,kv=new g,zv=new g,Uv=new $a,Vv=new ce;function Hv(e,t,n,i,o){const r=g.angleBetween(g.subtract(t,e,Ev),g.subtract(n,e,xv)),a=i===iy.BEVELED?1:Math.ceil(r/s["a"].toRadians(5))+1,c=3*a,l=new Array(c);let u;l[c-3]=n.x,l[c-2]=n.y,l[c-1]=n.z,u=o?ce.fromQuaternion($a.fromAxisAngle(g.negate(e,Ev),r/a,Uv),Vv):ce.fromQuaternion($a.fromAxisAngle(e,r/a,Uv),Vv);let h=0;t=g.clone(t,Ev);for(let s=0;s<a;s++)t=ce.multiplyByVector(u,t,t),l[h++]=t.x,l[h++]=t.y,l[h++]=t.z;return l}function Gv(e){let t=jv,n=Pv,i=Rv,o=e[1];n=g.fromArray(e[1],o.length-3,n),i=g.fromArray(e[0],0,i),t=g.midpoint(n,i,t);const r=Hv(t,n,i,iy.ROUNDED,!1),a=e.length-1,s=e[a-1];o=e[a],n=g.fromArray(s,s.length-3,n),i=g.fromArray(o,0,i),t=g.midpoint(n,i,t);const c=Hv(t,n,i,iy.ROUNDED,!1);return[r,c]}function qv(e,t,n,i){let o=Ev;return i||(t=g.negate(t,t)),o=g.add(e,t,o),[o.x,o.y,o.z,n.x,n.y,n.z]}function Wv(e,t,n,i){const o=new Array(e.length),r=new Array(e.length),a=g.multiplyByScalar(t,n,Ev),s=g.negate(a,xv);let c=0,l=e.length-1;for(let u=0;u<e.length;u+=3){const t=g.fromArray(e,u,Sv),n=g.add(t,s,Iv);o[c++]=n.x,o[c++]=n.y,o[c++]=n.z;const i=g.add(t,a,Iv);r[l--]=i.z,r[l--]=i.y,r[l--]=i.x}return i.push(o,r),i}Cv.addAttribute=function(e,t,n,i){const o=t.x,a=t.y,s=t.z;Object(r["a"])(n)&&(e[n]=o,e[n+1]=a,e[n+2]=s),Object(r["a"])(i)&&(e[i]=s,e[i-1]=a,e[i-2]=o)};const Yv=new g,Xv=new g;Cv.computePositions=function(e){const t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,a=e.saveAttributes;let c=jv,l=Pv,u=Rv,h=Mv,d=Nv,f=Lv,p=Bv,m=Fv,_=kv,b=zv,y=[];const v=a?[]:void 0,O=a?[]:void 0;let w,A=n[0],T=n[1];l=g.normalize(g.subtract(T,A,l),l),c=i.geodeticSurfaceNormal(A,c),h=g.normalize(g.cross(c,l,h),h),a&&(v.push(h.x,h.y,h.z),O.push(c.x,c.y,c.z)),p=g.clone(A,p),A=T,u=g.negate(l,u);const C=[];let E;const x=n.length;for(E=1;E<x-1;E++){c=i.geodeticSurfaceNormal(A,c),T=n[E+1],l=g.normalize(g.subtract(T,A,l),l),d=g.normalize(g.add(l,u,d),d);const e=g.multiplyByScalar(c,g.dot(l,c),Yv);g.subtract(l,e,e),g.normalize(e,e);const x=g.multiplyByScalar(c,g.dot(u,c),Xv);g.subtract(u,x,x),g.normalize(x,x);const S=!s["a"].equalsEpsilon(Math.abs(g.dot(e,x)),1,s["a"].EPSILON7);if(S){d=g.cross(d,c,d),d=g.cross(c,d,d),d=g.normalize(d,d);const e=o/Math.max(.25,g.magnitude(g.cross(d,u,Ev))),n=Tv.angleIsGreaterThanPi(l,u,A,i);d=g.multiplyByScalar(d,e,d),n?(m=g.add(A,d,m),b=g.add(m,g.multiplyByScalar(h,o,b),b),_=g.add(m,g.multiplyByScalar(h,2*o,_),_),Dv[0]=g.clone(p,Dv[0]),Dv[1]=g.clone(b,Dv[1]),w=Ly.generateArc({positions:Dv,granularity:t,ellipsoid:i}),y=Wv(w,h,o,y),a&&(v.push(h.x,h.y,h.z),O.push(c.x,c.y,c.z)),f=g.clone(_,f),h=g.normalize(g.cross(c,l,h),h),_=g.add(m,g.multiplyByScalar(h,2*o,_),_),p=g.add(m,g.multiplyByScalar(h,o,p),p),r===iy.ROUNDED||r===iy.BEVELED?C.push({leftPositions:Hv(m,f,_,r,n)}):C.push({leftPositions:qv(A,g.negate(d,d),_,n)})):(_=g.add(A,d,_),b=g.add(_,g.negate(g.multiplyByScalar(h,o,b),b),b),m=g.add(_,g.negate(g.multiplyByScalar(h,2*o,m),m),m),Dv[0]=g.clone(p,Dv[0]),Dv[1]=g.clone(b,Dv[1]),w=Ly.generateArc({positions:Dv,granularity:t,ellipsoid:i}),y=Wv(w,h,o,y),a&&(v.push(h.x,h.y,h.z),O.push(c.x,c.y,c.z)),f=g.clone(m,f),h=g.normalize(g.cross(c,l,h),h),m=g.add(_,g.negate(g.multiplyByScalar(h,2*o,m),m),m),p=g.add(_,g.negate(g.multiplyByScalar(h,o,p),p),p),r===iy.ROUNDED||r===iy.BEVELED?C.push({rightPositions:Hv(_,f,m,r,n)}):C.push({rightPositions:qv(A,d,m,n)})),u=g.negate(l,u)}A=T}let S;return c=i.geodeticSurfaceNormal(A,c),Dv[0]=g.clone(p,Dv[0]),Dv[1]=g.clone(A,Dv[1]),w=Ly.generateArc({positions:Dv,granularity:t,ellipsoid:i}),y=Wv(w,h,o,y),a&&(v.push(h.x,h.y,h.z),O.push(c.x,c.y,c.z)),r===iy.ROUNDED&&(S=Gv(y)),{positions:y,corners:C,lefts:v,normals:O,endPositions:S}};var Kv=Cv;const Jv=new g,Zv=new g,$v=new g,Qv=new g,eO=new g,tO=new g,nO=new g,iO=new g;function oO(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function rO(e,t,n,i,o,r){const a=e.normals,s=e.tangents,c=e.bitangents,l=g.normalize(g.cross(n,t,nO),nO);r.normal&&Kv.addAttribute(a,t,i,o),r.tangent&&Kv.addAttribute(s,l,i,o),r.bitangent&&Kv.addAttribute(c,n,i,o)}function aO(e,t,n){const i=e.positions,o=e.corners,a=e.endPositions,c=e.lefts,l=e.normals,u=new Hh;let h,d,f,p=0,m=0,_=0;for(d=0;d<i.length;d+=2)f=i[d].length-3,p+=f,_+=2*f,m+=i[d+1].length-3;for(p+=3,m+=3,d=0;d<o.length;d++){h=o[d];const e=o[d].leftPositions;Object(r["a"])(e)?(f=e.length,p+=f,_+=f):(f=o[d].rightPositions.length,m+=f,_+=f)}const b=Object(r["a"])(a);let y;b&&(y=a[0].length-3,p+=y,m+=y,y/=3,_+=6*y);const v=p+m,O=new Float64Array(v),w=t.normal?new Float32Array(v):void 0,A=t.tangent?new Float32Array(v):void 0,T=t.bitangent?new Float32Array(v):void 0,C={normals:w,tangents:A,bitangents:T};let E,x,S,I,D,j,P=0,R=v-1,M=Jv,N=Zv;const L=y/2,B=uu.createTypedArray(v/3,_);let F=0;if(b){j=$v,D=Qv;const e=a[0];for(M=g.fromArray(l,0,M),N=g.fromArray(c,0,N),d=0;d<L;d++)j=g.fromArray(e,3*(L-1-d),j),D=g.fromArray(e,3*(L+d),D),Kv.addAttribute(O,D,P),Kv.addAttribute(O,j,void 0,R),rO(C,M,N,P,R,t),x=P/3,I=x+1,E=(R-2)/3,S=E-1,B[F++]=E,B[F++]=x,B[F++]=S,B[F++]=S,B[F++]=x,B[F++]=I,P+=3,R-=3}let k,z,U=0,V=0,H=i[U++],G=i[U++];for(O.set(H,P),O.set(G,R-G.length+1),N=g.fromArray(c,V,N),f=G.length-3,d=0;d<f;d+=3)k=n.geodeticSurfaceNormal(g.fromArray(H,d,nO),nO),z=n.geodeticSurfaceNormal(g.fromArray(G,f-d,iO),iO),M=g.normalize(g.add(k,z,M),M),rO(C,M,N,P,R,t),x=P/3,I=x+1,E=(R-2)/3,S=E-1,B[F++]=E,B[F++]=x,B[F++]=S,B[F++]=S,B[F++]=x,B[F++]=I,P+=3,R-=3;for(k=n.geodeticSurfaceNormal(g.fromArray(H,f,nO),nO),z=n.geodeticSurfaceNormal(g.fromArray(G,f,iO),iO),M=g.normalize(g.add(k,z,M),M),V+=3,d=0;d<o.length;d++){let e;h=o[d];const a=h.leftPositions,s=h.rightPositions;let u,p,m=tO,_=$v,b=Qv;if(M=g.fromArray(l,V,M),Object(r["a"])(a)){for(rO(C,M,N,void 0,R,t),R-=3,u=I,p=S,e=0;e<a.length/3;e++)m=g.fromArray(a,3*e,m),B[F++]=u,B[F++]=p-e-1,B[F++]=p-e,Kv.addAttribute(O,m,void 0,R),_=g.fromArray(O,3*(p-e-1),_),b=g.fromArray(O,3*u,b),N=g.normalize(g.subtract(_,b,N),N),rO(C,M,N,void 0,R,t),R-=3;m=g.fromArray(O,3*u,m),_=g.subtract(g.fromArray(O,3*p,_),m,_),b=g.subtract(g.fromArray(O,3*(p-e),b),m,b),N=g.normalize(g.add(_,b,N),N),rO(C,M,N,P,void 0,t),P+=3}else{for(rO(C,M,N,P,void 0,t),P+=3,u=S,p=I,e=0;e<s.length/3;e++)m=g.fromArray(s,3*e,m),B[F++]=u,B[F++]=p+e,B[F++]=p+e+1,Kv.addAttribute(O,m,P),_=g.fromArray(O,3*u,_),b=g.fromArray(O,3*(p+e),b),N=g.normalize(g.subtract(_,b,N),N),rO(C,M,N,P,void 0,t),P+=3;m=g.fromArray(O,3*u,m),_=g.subtract(g.fromArray(O,3*(p+e),_),m,_),b=g.subtract(g.fromArray(O,3*p,b),m,b),N=g.normalize(g.negate(g.add(b,_,N),N),N),rO(C,M,N,void 0,R,t),R-=3}for(H=i[U++],G=i[U++],H.splice(0,3),G.splice(G.length-3,3),O.set(H,P),O.set(G,R-G.length+1),f=G.length-3,V+=3,N=g.fromArray(c,V,N),e=0;e<G.length;e+=3)k=n.geodeticSurfaceNormal(g.fromArray(H,e,nO),nO),z=n.geodeticSurfaceNormal(g.fromArray(G,f-e,iO),iO),M=g.normalize(g.add(k,z,M),M),rO(C,M,N,P,R,t),I=P/3,x=I-1,S=(R-2)/3,E=S+1,B[F++]=E,B[F++]=x,B[F++]=S,B[F++]=S,B[F++]=x,B[F++]=I,P+=3,R-=3;P-=3,R+=3}if(M=g.fromArray(l,l.length-3,M),rO(C,M,N,P,R,t),b){P+=3,R-=3,j=$v,D=Qv;const e=a[1];for(d=0;d<L;d++)j=g.fromArray(e,3*(y-d-1),j),D=g.fromArray(e,3*d,D),Kv.addAttribute(O,j,void 0,R),Kv.addAttribute(O,D,P),rO(C,M,N,P,R,t),I=P/3,x=I-1,S=(R-2)/3,E=S+1,B[F++]=E,B[F++]=x,B[F++]=S,B[F++]=S,B[F++]=x,B[F++]=I,P+=3,R-=3}if(u.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:O}),t.st){const e=new Float32Array(v/3*2);let t,n,i=0;if(b){p/=3,m/=3;const o=Math.PI/(y+1);let r;n=1/(p-y+1),t=1/(m-y+1);const a=y/2;for(d=a+1;d<y+1;d++)r=s["a"].PI_OVER_TWO+o*d,e[i++]=t*(1+Math.cos(r)),e[i++]=.5*(1+Math.sin(r));for(d=1;d<m-y+1;d++)e[i++]=d*t,e[i++]=0;for(d=y;d>a;d--)r=s["a"].PI_OVER_TWO-d*o,e[i++]=1-t*(1+Math.cos(r)),e[i++]=.5*(1+Math.sin(r));for(d=a;d>0;d--)r=s["a"].PI_OVER_TWO-o*d,e[i++]=1-n*(1+Math.cos(r)),e[i++]=.5*(1+Math.sin(r));for(d=p-y;d>0;d--)e[i++]=d*n,e[i++]=1;for(d=1;d<a+1;d++)r=s["a"].PI_OVER_TWO+o*d,e[i++]=n*(1+Math.cos(r)),e[i++]=.5*(1+Math.sin(r))}else{for(p/=3,m/=3,n=1/(p-1),t=1/(m-1),d=0;d<m;d++)e[i++]=d*t,e[i++]=0;for(d=p;d>0;d--)e[i++]=(d-1)*n,e[i++]=1}u.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:e})}return t.normal&&(u.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:C.normals})),t.tangent&&(u.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:C.tangents})),t.bitangent&&(u.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:C.bitangents})),{attributes:u,indices:B}}function sO(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;const n=e.position.values;let i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);const r=e.position.values.length/18,a=3*r,s=2*r,c=2*a;let l;if(t.normal||t.bitangent||t.tangent){const r=t.normal?new Float32Array(6*a):void 0,s=t.tangent?new Float32Array(6*a):void 0,u=t.bitangent?new Float32Array(6*a):void 0;let h=Jv,d=Zv,f=$v,p=Qv,m=eO,_=tO,b=c;for(l=0;l<a;l+=3){const e=b+c;h=g.fromArray(n,l,h),d=g.fromArray(n,l+a,d),f=g.fromArray(n,(l+3)%a,f),d=g.subtract(d,h,d),f=g.subtract(f,h,f),p=g.normalize(g.cross(d,f,p),p),t.normal&&(Kv.addAttribute(r,p,e),Kv.addAttribute(r,p,e+3),Kv.addAttribute(r,p,b),Kv.addAttribute(r,p,b+3)),(t.tangent||t.bitangent)&&(_=g.fromArray(i,l,_),t.bitangent&&(Kv.addAttribute(u,_,e),Kv.addAttribute(u,_,e+3),Kv.addAttribute(u,_,b),Kv.addAttribute(u,_,b+3)),t.tangent&&(m=g.normalize(g.cross(_,p,m),m),Kv.addAttribute(s,m,e),Kv.addAttribute(s,m,e+3),Kv.addAttribute(s,m,b),Kv.addAttribute(s,m,b+3))),b+=6}if(t.normal){for(r.set(i),l=0;l<a;l+=3)r[l+a]=-i[l],r[l+a+1]=-i[l+1],r[l+a+2]=-i[l+2];e.normal.values=r}else e.normal=void 0;if(t.bitangent?(u.set(o),u.set(o,a),e.bitangent.values=u):e.bitangent=void 0,t.tangent){const t=e.tangent.values;s.set(t),s.set(t,a),e.tangent.values=s}}if(t.st){const t=e.st.values,n=new Float32Array(6*s);n.set(t),n.set(t,s);let i=2*s;for(let e=0;e<2;e++){for(n[i++]=t[0],n[i++]=t[1],l=2;l<s;l+=2){const e=t[l],o=t[l+1];n[i++]=e,n[i++]=o,n[i++]=e,n[i++]=o}n[i++]=t[0],n[i++]=t[1]}e.st.values=n}return e}function cO(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){const o=e[i],r=e[i+1],a=e[i+2];n[t++]=o,n[t++]=r,n[t++]=a,n[t++]=o,n[t++]=r,n[t++]=a}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function lO(e,t){const n=new Yh({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=Kv.computePositions(e),a=aO(o,n,i),s=e.height,c=e.extrudedHeight;let l=a.attributes;const u=a.indices;let h=l.position.values,d=h.length;const f=new Float64Array(6*d);let p=new Float64Array(d);p.set(h);let m,_=new Float64Array(4*d);h=ab.scaleToGeodeticHeight(h,s,i),_=cO(h,0,_),p=ab.scaleToGeodeticHeight(p,c,i),_=cO(p,2*d,_),f.set(h),f.set(p,d),f.set(_,2*d),l.position.values=f,l=sO(l,t);const g=d/3;if(e.shadowVolume){const e=l.normal.values;d=e.length;let n=new Float32Array(6*d);for(m=0;m<d;m++)e[m]=-e[m];n.set(e,d),n=cO(e,4*d,n),l.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:n}),t.normal||(l.normal=void 0)}if(Object(r["a"])(e.offsetAttribute)){let t=new Uint8Array(6*g);if(e.offsetAttribute===qh.TOP)t=Ah(t,1,0,g),t=Ah(t,1,2*g,4*g);else{const n=e.offsetAttribute===qh.NONE?0:1;t=Ah(t,n)}l.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})}const b=u.length,y=g+g,v=uu.createTypedArray(f.length/3,2*b+3*y);v.set(u);let O,w,A,T,C=b;for(m=0;m<b;m+=3){const e=u[m],t=u[m+1],n=u[m+2];v[C++]=n+g,v[C++]=t+g,v[C++]=e+g}for(m=0;m<y;m+=2)O=m+y,w=O+y,A=O+1,T=w+1,v[C++]=O,v[C++]=w,v[C++]=A,v[C++]=A,v[C++]=w,v[C++]=T;return{attributes:l,indices:v}}const uO=new g,hO=new g,dO=new I;function fO(e,t,n,i,o,r){const a=g.subtract(t,e,uO);g.normalize(a,a);const s=n.geodeticSurfaceNormal(e,hO),c=g.cross(a,s,uO);g.multiplyByScalar(c,i,c);let l=o.latitude,u=o.longitude,h=r.latitude,d=r.longitude;g.add(e,c,hO),n.cartesianToCartographic(hO,dO);let f=dO.latitude,p=dO.longitude;l=Math.min(l,f),u=Math.min(u,p),h=Math.max(h,f),d=Math.max(d,p),g.subtract(e,c,hO),n.cartesianToCartographic(hO,dO),f=dO.latitude,p=dO.longitude,l=Math.min(l,f),u=Math.min(u,p),h=Math.max(h,f),d=Math.max(d,p),o.latitude=l,o.longitude=u,r.latitude=h,r.longitude=d}const pO=new g,mO=new g,_O=new I,gO=new I;function bO(e,t,n,i,o){e=oO(e,t);const a=z_(e,g.equalsEpsilon),s=a.length;if(s<2||n<=0)return new Fe;const c=.5*n;let l,u;if(_O.latitude=Number.POSITIVE_INFINITY,_O.longitude=Number.POSITIVE_INFINITY,gO.latitude=Number.NEGATIVE_INFINITY,gO.longitude=Number.NEGATIVE_INFINITY,i===iy.ROUNDED){const e=a[0];g.subtract(e,a[1],pO),g.normalize(pO,pO),g.multiplyByScalar(pO,c,pO),g.add(e,pO,mO),t.cartesianToCartographic(mO,dO),l=dO.latitude,u=dO.longitude,_O.latitude=Math.min(_O.latitude,l),_O.longitude=Math.min(_O.longitude,u),gO.latitude=Math.max(gO.latitude,l),gO.longitude=Math.max(gO.longitude,u)}for(let r=0;r<s-1;++r)fO(a[r],a[r+1],t,c,_O,gO);const h=a[s-1];g.subtract(h,a[s-2],pO),g.normalize(pO,pO),g.multiplyByScalar(pO,c,pO),g.add(h,pO,mO),fO(h,mO,t,c,_O,gO),i===iy.ROUNDED&&(t.cartesianToCartographic(mO,dO),l=dO.latitude,u=dO.longitude,_O.latitude=Math.min(_O.latitude,l),_O.longitude=Math.min(_O.longitude,u),gO.latitude=Math.max(gO.latitude,l),gO.longitude=Math.max(gO.longitude,u));const d=Object(r["a"])(o)?o:new Fe;return d.north=gO.latitude,d.south=_O.latitude,d.east=gO.longitude,d.west=_O.longitude,d}function yO(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.width;i["a"].defined("options.positions",t),i["a"].defined("options.width",n);const r=Object(o["a"])(e.height,0),a=Object(o["a"])(e.extrudedHeight,r);this._positions=t,this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._vertexFormat=Yh.clone(Object(o["a"])(e.vertexFormat,Yh.DEFAULT)),this._width=n,this._height=Math.max(r,a),this._extrudedHeight=Math.min(r,a),this._cornerType=Object(o["a"])(e.cornerType,iy.ROUNDED),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._shadowVolume=Object(o["a"])(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*g.packedLength+z.packedLength+Yh.packedLength+7}yO.pack=function(e,t,n){i["a"].defined("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0);const r=e._positions,a=r.length;t[n++]=a;for(let i=0;i<a;++i,n+=g.packedLength)g.pack(r[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const vO=z.clone(z.UNIT_SPHERE),OO=new Yh,wO={positions:void 0,ellipsoid:vO,vertexFormat:OO,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};yO.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=e[t++],s=new Array(a);for(let i=0;i<a;++i,t+=g.packedLength)s[i]=g.unpack(e,t);const c=z.unpack(e,t,vO);t+=z.packedLength;const l=Yh.unpack(e,t,OO);t+=Yh.packedLength;const u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t++],m=1===e[t++],_=e[t];return Object(r["a"])(n)?(n._positions=s,n._ellipsoid=z.clone(c,n._ellipsoid),n._vertexFormat=Yh.clone(l,n._vertexFormat),n._width=u,n._height=h,n._extrudedHeight=d,n._cornerType=f,n._granularity=p,n._shadowVolume=m,n._offsetAttribute=-1===_?void 0:_,n):(wO.positions=s,wO.width=u,wO.height=h,wO.extrudedHeight=d,wO.cornerType=f,wO.granularity=p,wO.shadowVolume=m,wO.offsetAttribute=-1===_?void 0:_,new yO(wO))},yO.computeRectangle=function(e,t){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const n=e.positions,r=e.width;i["a"].defined("options.positions",n),i["a"].defined("options.width",r);const a=Object(o["a"])(e.ellipsoid,z.WGS84),s=Object(o["a"])(e.cornerType,iy.ROUNDED);return bO(n,a,r,s,t)},yO.createGeometry=function(e){let t=e._positions;const n=e._width,i=e._ellipsoid;t=oO(t,i);const o=z_(t,g.equalsEpsilon);if(o.length<2||n<=0)return;const a=e._height,c=e._extrudedHeight,l=!s["a"].equalsEpsilon(a,c,0,s["a"].EPSILON2),u=e._vertexFormat,h={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0};let d;if(l)h.height=a,h.extrudedHeight=c,h.shadowVolume=e._shadowVolume,h.offsetAttribute=e._offsetAttribute,d=lO(h,u);else{const t=Kv.computePositions(h);if(d=aO(t,u,i),d.attributes.position.values=ab.scaleToGeodeticHeight(d.attributes.position.values,a,i),Object(r["a"])(e._offsetAttribute)){const t=e._offsetAttribute===qh.NONE?0:1,n=d.attributes.position.values.length,i=new Uint8Array(n/3);Ah(i,t),d.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:i})}}const f=d.attributes,p=Tt.fromVertices(f.position.values,void 0,3);return u.position||(d.attributes.position.values=void 0),new kh({attributes:f,indices:d.indices,primitiveType:xh.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})},yO.createShadowVolume=function(e,t,n){const i=e._granularity,o=e._ellipsoid,r=t(i,o),a=n(i,o);return new yO({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:a,vertexFormat:Yh.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(yO.prototype,{rectangle:{get:function(){return Object(r["a"])(this._rectangle)||(this._rectangle=bO(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var AO=yO;const TO=new g,CO=new g,EO=new g;function xO(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function SO(e,t){const n=[],i=e.positions,o=e.corners,a=e.endPositions,s=new Hh;let c,l,u,h=0,d=0,f=0;for(l=0;l<i.length;l+=2)u=i[l].length-3,h+=u,f+=u/3*4,d+=i[l+1].length-3;for(h+=3,d+=3,l=0;l<o.length;l++){c=o[l];const e=o[l].leftPositions;Object(r["a"])(e)?(u=e.length,h+=u,f+=u/3*2):(u=o[l].rightPositions.length,d+=u,f+=u/3*2)}const p=Object(r["a"])(a);let m;p&&(m=a[0].length-3,h+=m,d+=m,m/=3,f+=4*m);const _=h+d,b=new Float64Array(_);let y,v,O,w,A,T,C=0,E=_-1;const x=m/2,S=uu.createTypedArray(_/3,f+4);let I=0;if(S[I++]=C/3,S[I++]=(E-2)/3,p){n.push(C/3),T=TO,A=CO;const e=a[0];for(l=0;l<x;l++)T=g.fromArray(e,3*(x-1-l),T),A=g.fromArray(e,3*(x+l),A),Kv.addAttribute(b,A,C),Kv.addAttribute(b,T,void 0,E),v=C/3,w=v+1,y=(E-2)/3,O=y-1,S[I++]=y,S[I++]=O,S[I++]=v,S[I++]=w,C+=3,E-=3}let D=0,j=i[D++],P=i[D++];for(b.set(j,C),b.set(P,E-P.length+1),u=P.length-3,n.push(C/3,(E-2)/3),l=0;l<u;l+=3)v=C/3,w=v+1,y=(E-2)/3,O=y-1,S[I++]=y,S[I++]=O,S[I++]=v,S[I++]=w,C+=3,E-=3;for(l=0;l<o.length;l++){let e;c=o[l];const a=c.leftPositions,s=c.rightPositions;let h,d=EO;if(Object(r["a"])(a)){for(E-=3,h=O,n.push(w),e=0;e<a.length/3;e++)d=g.fromArray(a,3*e,d),S[I++]=h-e-1,S[I++]=h-e,Kv.addAttribute(b,d,void 0,E),E-=3;n.push(h-Math.floor(a.length/6)),t===iy.BEVELED&&n.push((E-2)/3+1),C+=3}else{for(C+=3,h=w,n.push(O),e=0;e<s.length/3;e++)d=g.fromArray(s,3*e,d),S[I++]=h+e,S[I++]=h+e+1,Kv.addAttribute(b,d,C),C+=3;n.push(h+Math.floor(s.length/6)),t===iy.BEVELED&&n.push(C/3-1),E-=3}for(j=i[D++],P=i[D++],j.splice(0,3),P.splice(P.length-3,3),b.set(j,C),b.set(P,E-P.length+1),u=P.length-3,e=0;e<P.length;e+=3)w=C/3,v=w-1,O=(E-2)/3,y=O+1,S[I++]=y,S[I++]=O,S[I++]=v,S[I++]=w,C+=3,E-=3;C-=3,E+=3,n.push(C/3,(E-2)/3)}if(p){C+=3,E-=3,T=TO,A=CO;const e=a[1];for(l=0;l<x;l++)T=g.fromArray(e,3*(m-l-1),T),A=g.fromArray(e,3*l,A),Kv.addAttribute(b,T,void 0,E),Kv.addAttribute(b,A,C),w=C/3,v=w-1,O=(E-2)/3,y=O+1,S[I++]=y,S[I++]=O,S[I++]=v,S[I++]=w,C+=3,E-=3;n.push(C/3)}else n.push(C/3,(E-2)/3);return S[I++]=C/3,S[I++]=(E-2)/3,s.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:s,indices:S,wallIndices:n}}function IO(e){const t=e.ellipsoid,n=Kv.computePositions(e),i=SO(n,e.cornerType),o=i.wallIndices,a=e.height,s=e.extrudedHeight,c=i.attributes,l=i.indices;let u=c.position.values,h=u.length,d=new Float64Array(h);d.set(u);const f=new Float64Array(2*h);if(u=ab.scaleToGeodeticHeight(u,a,t),d=ab.scaleToGeodeticHeight(d,s,t),f.set(u),f.set(d,h),c.position.values=f,h/=3,Object(r["a"])(e.offsetAttribute)){let t=new Uint8Array(2*h);if(e.offsetAttribute===qh.TOP)t=Ah(t,1,0,h);else{const n=e.offsetAttribute===qh.NONE?0:1;t=Ah(t,n)}c.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})}let p;const m=l.length,_=uu.createTypedArray(f.length/3,2*(m+o.length));_.set(l);let g,b,y=m;for(p=0;p<m;p+=2){const e=l[p],t=l[p+1];_[y++]=e+h,_[y++]=t+h}for(p=0;p<o.length;p++)g=o[p],b=g+h,_[y++]=g,_[y++]=b;return{attributes:c,indices:_}}function DO(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.width;i["a"].typeOf.object("options.positions",t),i["a"].typeOf.number("options.width",n);const r=Object(o["a"])(e.height,0),a=Object(o["a"])(e.extrudedHeight,r);this._positions=t,this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._width=n,this._height=Math.max(r,a),this._extrudedHeight=Math.min(r,a),this._cornerType=Object(o["a"])(e.cornerType,iy.ROUNDED),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*g.packedLength+z.packedLength+6}DO.pack=function(e,t,n){i["a"].typeOf.object("value",e),i["a"].typeOf.object("array",t),n=Object(o["a"])(n,0);const r=e._positions,a=r.length;t[n++]=a;for(let i=0;i<a;++i,n+=g.packedLength)g.pack(r[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const jO=z.clone(z.UNIT_SPHERE),PO={positions:void 0,ellipsoid:jO,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};DO.unpack=function(e,t,n){i["a"].typeOf.object("array",e),t=Object(o["a"])(t,0);const a=e[t++],s=new Array(a);for(let i=0;i<a;++i,t+=g.packedLength)s[i]=g.unpack(e,t);const c=z.unpack(e,t,jO);t+=z.packedLength;const l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t];return Object(r["a"])(n)?(n._positions=s,n._ellipsoid=z.clone(c,n._ellipsoid),n._width=l,n._height=u,n._extrudedHeight=h,n._cornerType=d,n._granularity=f,n._offsetAttribute=-1===p?void 0:p,n):(PO.positions=s,PO.width=l,PO.height=u,PO.extrudedHeight=h,PO.cornerType=d,PO.granularity=f,PO.offsetAttribute=-1===p?void 0:p,new DO(PO))},DO.createGeometry=function(e){let t=e._positions;const n=e._width,i=e._ellipsoid;t=xO(t,i);const o=z_(t,g.equalsEpsilon);if(o.length<2||n<=0)return;const a=e._height,c=e._extrudedHeight,l=!s["a"].equalsEpsilon(a,c,0,s["a"].EPSILON2),u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1};let h;if(l)u.height=a,u.extrudedHeight=c,u.offsetAttribute=e._offsetAttribute,h=IO(u);else{const t=Kv.computePositions(u);if(h=SO(t,u.cornerType),h.attributes.position.values=ab.scaleToGeodeticHeight(h.attributes.position.values,a,i),Object(r["a"])(e._offsetAttribute)){const t=h.attributes.position.values.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),h.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}}const d=h.attributes,f=Tt.fromVertices(d.position.values,void 0,3);return new kh({attributes:d,indices:h.indices,primitiveType:xh.LINES,boundingSphere:f,offsetAttribute:e._offsetAttribute})};var RO=DO;function MO(e){this.planes=Object(o["a"])(e,[])}const NO=[new g,new g,new g];g.clone(g.UNIT_X,NO[0]),g.clone(g.UNIT_Y,NO[1]),g.clone(g.UNIT_Z,NO[2]);const LO=new g,BO=new g,FO=new No(new g(1,0,0),0);MO.fromBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("boundingSphere is required.");Object(r["a"])(t)||(t=new MO);const n=NO.length,i=t.planes;i.length=2*n;const o=e.center,s=e.radius;let c=0;for(let a=0;a<n;++a){const e=NO[a];let t=i[c],n=i[c+1];Object(r["a"])(t)||(t=i[c]=new be),Object(r["a"])(n)||(n=i[c+1]=new be),g.multiplyByScalar(e,-s,LO),g.add(o,LO,LO),t.x=e.x,t.y=e.y,t.z=e.z,t.w=-g.dot(e,LO),g.multiplyByScalar(e,s,LO),g.add(o,LO,LO),n.x=-e.x,n.y=-e.y,n.z=-e.z,n.w=-g.dot(g.negate(e,BO),LO),c+=2}return t},MO.prototype.computeVisibility=function(e){if(!Object(r["a"])(e))throw new a["a"]("boundingVolume is required.");const t=this.planes;let n=!1;for(let i=0,o=t.length;i<o;++i){const o=e.intersectPlane(No.fromCartesian4(t[i],FO));if(o===G.OUTSIDE)return G.OUTSIDE;o===G.INTERSECTING&&(n=!0)}return n?G.INTERSECTING:G.INSIDE},MO.prototype.computeVisibilityWithPlaneMask=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("boundingVolume is required.");if(!Object(r["a"])(t))throw new a["a"]("parentPlaneMask is required.");if(t===MO.MASK_OUTSIDE||t===MO.MASK_INSIDE)return t;let n=MO.MASK_INSIDE;const i=this.planes;for(let o=0,r=i.length;o<r;++o){const r=o<31?1<<o:0;if(o<31&&0===(t&r))continue;const a=e.intersectPlane(No.fromCartesian4(i[o],FO));if(a===G.OUTSIDE)return MO.MASK_OUTSIDE;a===G.INTERSECTING&&(n|=r)}return n},MO.MASK_OUTSIDE=4294967295,MO.MASK_INSIDE=0,MO.MASK_INDETERMINATE=2147483647;var kO=MO;function zO(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.callback",e.callback),i["a"].defined("options.width",e.width),i["a"].defined("options.height",e.height),this._callback=e.callback,this._tilingScheme=e.tilingScheme,Object(r["a"])(this._tilingScheme)||(this._tilingScheme=new qt({ellipsoid:Object(o["a"])(e.ellipsoid,z.WGS84)})),this._width=e.width,this._height=e.height;const t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new pi["a"];let n=e.credit;"string"===typeof n&&(n=new fi(n)),this._credit=n,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(zO.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}}),zO.prototype.requestTileGeometry=function(e,t,n,i){const o=this._callback(e,t,n);if(!Object(r["a"])(o))return;const a=this._width,s=this._height;return Promise.resolve(o).then((function(e){let t=e;return Array.isArray(t)&&(t=new Float64Array(t)),new Su({buffer:t,width:a,height:s})}))},zO.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},zO.prototype.getTileDataAvailable=function(e,t,n){},zO.prototype.loadTileDataAvailability=function(e,t,n){};var UO=zO;const VO={computePositions:function(e,t,n,i,o){const r=.5*e,a=-r,c=i+i,l=o?2*c:c,u=new Float64Array(3*l);let h,d=0,f=0;const p=o?3*c:0,m=o?3*(c+i):3*i;for(h=0;h<i;h++){const e=h/i*s["a"].TWO_PI,c=Math.cos(e),l=Math.sin(e),_=c*n,g=l*n,b=c*t,y=l*t;u[f+p]=_,u[f+p+1]=g,u[f+p+2]=a,u[f+m]=b,u[f+m+1]=y,u[f+m+2]=r,f+=3,o&&(u[d++]=_,u[d++]=g,u[d++]=a,u[d++]=b,u[d++]=y,u[d++]=r)}return u}};var HO=VO;const GO=new Ht,qO=new g,WO=new g,YO=new g,XO=new g;function KO(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.length,n=e.topRadius,i=e.bottomRadius,s=Object(o["a"])(e.vertexFormat,Yh.DEFAULT),c=Object(o["a"])(e.slices,128);if(!Object(r["a"])(t))throw new a["a"]("options.length must be defined.");if(!Object(r["a"])(n))throw new a["a"]("options.topRadius must be defined.");if(!Object(r["a"])(i))throw new a["a"]("options.bottomRadius must be defined.");if(c<3)throw new a["a"]("options.slices must be greater than or equal to 3.");if(Object(r["a"])(e.offsetAttribute)&&e.offsetAttribute===qh.TOP)throw new a["a"]("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Yh.clone(s),this._slices=c,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}KO.packedLength=Yh.packedLength+5,KO.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const JO=new Yh,ZO={vertexFormat:JO,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};let $O;KO.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");t=Object(o["a"])(t,0);const i=Yh.unpack(e,t,JO);t+=Yh.packedLength;const s=e[t++],c=e[t++],l=e[t++],u=e[t++],h=e[t];return Object(r["a"])(n)?(n._vertexFormat=Yh.clone(i,n._vertexFormat),n._length=s,n._topRadius=c,n._bottomRadius=l,n._slices=u,n._offsetAttribute=-1===h?void 0:h,n):(ZO.length=s,ZO.topRadius=c,ZO.bottomRadius=l,ZO.slices=u,ZO.offsetAttribute=-1===h?void 0:h,new KO(ZO))},KO.createGeometry=function(e){let t=e._length;const n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,a=e._slices;if(t<=0||n<0||i<0||0===n&&0===i)return;const c=a+a,l=a+c,u=c+c,h=HO.computePositions(t,n,i,a,!0),d=o.st?new Float32Array(2*u):void 0,f=o.normal?new Float32Array(3*u):void 0,p=o.tangent?new Float32Array(3*u):void 0,m=o.bitangent?new Float32Array(3*u):void 0;let _;const b=o.normal||o.tangent||o.bitangent;if(b){const e=o.tangent||o.bitangent;let r=0,c=0,l=0;const u=Math.atan2(i-n,t),h=qO;h.z=Math.sin(u);const d=Math.cos(u);let y=YO,v=WO;for(_=0;_<a;_++){const t=_/a*s["a"].TWO_PI,n=d*Math.cos(t),i=d*Math.sin(t);b&&(h.x=n,h.y=i,e&&(y=g.normalize(g.cross(g.UNIT_Z,h,y),y)),o.normal&&(f[r++]=h.x,f[r++]=h.y,f[r++]=h.z,f[r++]=h.x,f[r++]=h.y,f[r++]=h.z),o.tangent&&(p[c++]=y.x,p[c++]=y.y,p[c++]=y.z,p[c++]=y.x,p[c++]=y.y,p[c++]=y.z),o.bitangent&&(v=g.normalize(g.cross(h,y,v),v),m[l++]=v.x,m[l++]=v.y,m[l++]=v.z,m[l++]=v.x,m[l++]=v.y,m[l++]=v.z))}for(_=0;_<a;_++)o.normal&&(f[r++]=0,f[r++]=0,f[r++]=-1),o.tangent&&(p[c++]=1,p[c++]=0,p[c++]=0),o.bitangent&&(m[l++]=0,m[l++]=-1,m[l++]=0);for(_=0;_<a;_++)o.normal&&(f[r++]=0,f[r++]=0,f[r++]=1),o.tangent&&(p[c++]=1,p[c++]=0,p[c++]=0),o.bitangent&&(m[l++]=0,m[l++]=1,m[l++]=0)}const y=12*a-12,v=uu.createTypedArray(u,y);let O=0,w=0;for(_=0;_<a-1;_++)v[O++]=w,v[O++]=w+2,v[O++]=w+3,v[O++]=w,v[O++]=w+3,v[O++]=w+1,w+=2;for(v[O++]=c-2,v[O++]=0,v[O++]=1,v[O++]=c-2,v[O++]=1,v[O++]=c-1,_=1;_<a-1;_++)v[O++]=c+_+1,v[O++]=c+_,v[O++]=c;for(_=1;_<a-1;_++)v[O++]=l,v[O++]=l+_,v[O++]=l+_+1;let A=0;if(o.st){const e=Math.max(n,i);for(_=0;_<u;_++){const t=g.fromArray(h,3*_,XO);d[A++]=(t.x+e)/(2*e),d[A++]=(t.y+e)/(2*e)}}const T=new Hh;o.position&&(T.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:h})),o.normal&&(T.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:f})),o.tangent&&(T.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(T.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:m})),o.st&&(T.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:d})),GO.x=.5*t,GO.y=Math.max(i,n);const C=new Tt(g.ZERO,Ht.magnitude(GO));if(Object(r["a"])(e._offsetAttribute)){t=h.length;const n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),T.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:T,indices:v,primitiveType:xh.TRIANGLES,boundingSphere:C,offsetAttribute:e._offsetAttribute})},KO.getUnitCylinder=function(){return Object(r["a"])($O)||($O=KO.createGeometry(new KO({topRadius:1,bottomRadius:1,length:1,vertexFormat:Yh.POSITION_ONLY}))),$O};var QO=KO;const ew=new Ht;function tw(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.length,n=e.topRadius,s=e.bottomRadius,c=Object(o["a"])(e.slices,128),l=Math.max(Object(o["a"])(e.numberOfVerticalLines,16),0);if(i["a"].typeOf.number("options.positions",t),i["a"].typeOf.number("options.topRadius",n),i["a"].typeOf.number("options.bottomRadius",s),i["a"].typeOf.number.greaterThanOrEquals("options.slices",c,3),Object(r["a"])(e.offsetAttribute)&&e.offsetAttribute===qh.TOP)throw new a["a"]("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=t,this._topRadius=n,this._bottomRadius=s,this._slices=c,this._numberOfVerticalLines=l,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}tw.packedLength=6,tw.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const nw={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};tw.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=e[t++],s=e[t++],c=e[t++],l=e[t++],u=e[t++],h=e[t];return Object(r["a"])(n)?(n._length=a,n._topRadius=s,n._bottomRadius=c,n._slices=l,n._numberOfVerticalLines=u,n._offsetAttribute=-1===h?void 0:h,n):(nw.length=a,nw.topRadius=s,nw.bottomRadius=c,nw.slices=l,nw.numberOfVerticalLines=u,nw.offsetAttribute=-1===h?void 0:h,new tw(nw))},tw.createGeometry=function(e){let t=e._length;const n=e._topRadius,i=e._bottomRadius,o=e._slices,a=e._numberOfVerticalLines;if(t<=0||n<0||i<0||0===n&&0===i)return;const s=2*o,c=HO.computePositions(t,n,i,o,!1);let l,u=2*o;if(a>0){const e=Math.min(a,o);l=Math.round(o/e),u+=e}const h=uu.createTypedArray(s,2*u);let d,f=0;for(d=0;d<o-1;d++)h[f++]=d,h[f++]=d+1,h[f++]=d+o,h[f++]=d+1+o;if(h[f++]=o-1,h[f++]=0,h[f++]=o+o-1,h[f++]=o,a>0)for(d=0;d<o;d+=l)h[f++]=d,h[f++]=d+o;const p=new Hh;p.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:c}),ew.x=.5*t,ew.y=Math.max(i,n);const m=new Tt(g.ZERO,Ht.magnitude(ew));if(Object(r["a"])(e._offsetAttribute)){t=c.length;const n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),p.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:p,indices:h,primitiveType:xh.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var iw=tw;function ow(e){this.proxy=e}ow.prototype.getURL=function(e){const t=-1===this.proxy.indexOf("?")?"?":"";return this.proxy+t+encodeURIComponent(e)};var rw=ow;function aw(e,t){e=Object(o["a"])(e,0),this._near=e,t=Object(o["a"])(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(aw.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}}),aw.packedLength=2,aw.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),t[n++]=e.near,t[n]=e.far,t},aw.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");return t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new aw),n.near=e[t++],n.far=e[t],n},aw.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.near===t.near&&e.far===t.far},aw.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)||(t=new aw),t.near=e.near,t.far=e.far,t},aw.prototype.clone=function(e){return aw.clone(this,e)},aw.prototype.equals=function(e){return aw.equals(this,e)};var sw=aw;function cw(e,t){if(e=Object(o["a"])(e,0),t=Object(o["a"])(t,Number.MAX_VALUE),t<=e)throw new a["a"]("far distance must be greater than near distance.");this.value=new Float32Array([e,t])}Object.defineProperties(cw.prototype,{componentDatatype:{get:function(){return $c.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}}),cw.fromDistanceDisplayCondition=function(e){if(!Object(r["a"])(e))throw new a["a"]("distanceDisplayCondition is required.");if(e.far<=e.near)throw new a["a"]("distanceDisplayCondition.far distance must be greater than distanceDisplayCondition.near distance.");return new cw(e.near,e.far)},cw.toValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("distanceDisplayCondition is required.");return Object(r["a"])(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var lw=cw;function uw(e){i["a"].typeOf.object("options",e),i["a"].defined("options.comparator",e.comparator),Object(r["a"])(e.maximumLength)&&i["a"].typeOf.number.greaterThanOrEquals("options.maximumLength",e.maximumLength,0),this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=Object(r["a"])(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}function hw(e,t,n){const i=e._array,o=i[t];i[t]=i[n],i[n]=o}function dw(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function fw(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function pw(e,t){if(0===t)return;const n=Math.floor(s["a"].log2(t+1))%2===0,i=Math.floor((t-1)/2),o=dw(e,t,i);o!==n&&(hw(e,t,i),t=i);while(t>=3){const n=Math.floor((t-3)/4);if(dw(e,t,n)!==o)break;hw(e,t,n),t=n}}function mw(e,t){const n=e._length,i=Math.floor(s["a"].log2(t+1))%2===0;let o;while((o=2*t+1)<n){let r=o;const a=o+1;if(a<n){dw(e,a,r)===i&&(r=a);const t=2*o+1,s=Math.max(Math.min(n-t,4),0);for(let n=0;n<s;n++){const o=t+n;dw(e,o,r)===i&&(r=o)}}if(dw(e,r,t)===i&&(hw(e,r,t),r!==o&&r!==a)){const t=Math.floor((r-1)/2);fw(e,r,t)===i&&hw(e,r,t)}t=r}}Object.defineProperties(uw.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(Object(r["a"])(e)){i["a"].typeOf.number.greaterThanOrEquals("maximumLength",e,0);while(this._length>e)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}}),uw.prototype.clone=function(){const e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new uw({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o},uw.prototype.reset=function(){this._length=0;const e=this._maximumLength;if(Object(r["a"])(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0},uw.prototype.resort=function(){const e=this._length;for(let t=0;t<e;t++)pw(this,t)},uw.prototype.insert=function(e){let t;const n=this._maximumLength;if(Object(r["a"])(n)){if(0===n)return;if(this._length===n){const n=this._array[0];if(this._comparator(e,n)<=0)return e;t=this.removeMinimum()}}const i=this._length;return this._array[i]=e,this._length++,pw(this,i),t},uw.prototype.removeMinimum=function(){const e=this._length;if(0===e)return;this._length--;const t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],mw(this,0)),this._array[e-1]=void 0,t},uw.prototype.removeMaximum=function(){const e=this._length;if(0===e)return;let t;if(this._length--,e<=2)t=this._array[e-1];else{const n=fw(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&mw(this,n)}return this._array[e-1]=void 0,t},uw.prototype.getMinimum=function(){const e=this._length;if(0!==e)return this._array[0]},uw.prototype.getMaximum=function(){const e=this._length;if(0!==e)return e<=2?this._array[e-1]:this._array[fw(this,1,2)?1:2]};var _w=uw;function gw(){this.head=void 0,this.tail=void 0,this._length=0}function bw(e,t,n){this.item=e,this.previous=t,this.next=n}function yw(e,t){Object(r["a"])(t.previous)&&Object(r["a"])(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):Object(r["a"])(t.previous)?(t.previous.next=void 0,e.tail=t.previous):Object(r["a"])(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}Object.defineProperties(gw.prototype,{length:{get:function(){return this._length}}}),gw.prototype.add=function(e){const t=new bw(e,this.tail,void 0);return Object(r["a"])(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t},gw.prototype.remove=function(e){Object(r["a"])(e)&&(yw(this,e),--this._length)},gw.prototype.splice=function(e,t){if(e===t)return;yw(this,t);const n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var vw=gw,Ow=n("fa1c");const ww={LINEAR_NONE:Ow["a"].Easing.Linear.None,QUADRATIC_IN:Ow["a"].Easing.Quadratic.In,QUADRATIC_OUT:Ow["a"].Easing.Quadratic.Out,QUADRATIC_IN_OUT:Ow["a"].Easing.Quadratic.InOut,CUBIC_IN:Ow["a"].Easing.Cubic.In,CUBIC_OUT:Ow["a"].Easing.Cubic.Out,CUBIC_IN_OUT:Ow["a"].Easing.Cubic.InOut,QUARTIC_IN:Ow["a"].Easing.Quartic.In,QUARTIC_OUT:Ow["a"].Easing.Quartic.Out,QUARTIC_IN_OUT:Ow["a"].Easing.Quartic.InOut,QUINTIC_IN:Ow["a"].Easing.Quintic.In,QUINTIC_OUT:Ow["a"].Easing.Quintic.Out,QUINTIC_IN_OUT:Ow["a"].Easing.Quintic.InOut,SINUSOIDAL_IN:Ow["a"].Easing.Sinusoidal.In,SINUSOIDAL_OUT:Ow["a"].Easing.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Ow["a"].Easing.Sinusoidal.InOut,EXPONENTIAL_IN:Ow["a"].Easing.Exponential.In,EXPONENTIAL_OUT:Ow["a"].Easing.Exponential.Out,EXPONENTIAL_IN_OUT:Ow["a"].Easing.Exponential.InOut,CIRCULAR_IN:Ow["a"].Easing.Circular.In,CIRCULAR_OUT:Ow["a"].Easing.Circular.Out,CIRCULAR_IN_OUT:Ow["a"].Easing.Circular.InOut,ELASTIC_IN:Ow["a"].Easing.Elastic.In,ELASTIC_OUT:Ow["a"].Easing.Elastic.Out,ELASTIC_IN_OUT:Ow["a"].Easing.Elastic.InOut,BACK_IN:Ow["a"].Easing.Back.In,BACK_OUT:Ow["a"].Easing.Back.Out,BACK_IN_OUT:Ow["a"].Easing.Back.InOut,BOUNCE_IN:Ow["a"].Easing.Bounce.In,BOUNCE_OUT:Ow["a"].Easing.Bounce.Out,BOUNCE_IN_OUT:Ow["a"].Easing.Bounce.InOut};var Aw=Object.freeze(ww);const Tw=new g,Cw=new g,Ew=new g,xw=new g,Sw=new g,Iw=new g(1,1,1),Dw=Math.cos,jw=Math.sin;function Pw(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.radii,Iw),n=Object(o["a"])(e.innerRadii,t),i=Object(o["a"])(e.minimumClock,0),r=Object(o["a"])(e.maximumClock,s["a"].TWO_PI),c=Object(o["a"])(e.minimumCone,0),l=Object(o["a"])(e.maximumCone,s["a"].PI),u=Math.round(Object(o["a"])(e.stackPartitions,64)),h=Math.round(Object(o["a"])(e.slicePartitions,64)),d=Object(o["a"])(e.vertexFormat,Yh.DEFAULT);if(h<3)throw new a["a"]("options.slicePartitions cannot be less than three.");if(u<3)throw new a["a"]("options.stackPartitions cannot be less than three.");this._radii=g.clone(t),this._innerRadii=g.clone(n),this._minimumClock=i,this._maximumClock=r,this._minimumCone=c,this._maximumCone=l,this._stackPartitions=u,this._slicePartitions=h,this._vertexFormat=Yh.clone(d),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}Pw.packedLength=2*g.packedLength+Yh.packedLength+7,Pw.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),g.pack(e._radii,t,n),n+=g.packedLength,g.pack(e._innerRadii,t,n),n+=g.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const Rw=new g,Mw=new g,Nw=new Yh,Lw={radii:Rw,innerRadii:Mw,vertexFormat:Nw,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};let Bw;Pw.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");t=Object(o["a"])(t,0);const i=g.unpack(e,t,Rw);t+=g.packedLength;const s=g.unpack(e,t,Mw);t+=g.packedLength;const c=Yh.unpack(e,t,Nw);t+=Yh.packedLength;const l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t++],m=e[t];return Object(r["a"])(n)?(n._radii=g.clone(i,n._radii),n._innerRadii=g.clone(s,n._innerRadii),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._minimumClock=l,n._maximumClock=u,n._minimumCone=h,n._maximumCone=d,n._stackPartitions=f,n._slicePartitions=p,n._offsetAttribute=-1===m?void 0:m,n):(Lw.minimumClock=l,Lw.maximumClock=u,Lw.minimumCone=h,Lw.maximumCone=d,Lw.stackPartitions=f,Lw.slicePartitions=p,Lw.offsetAttribute=-1===m?void 0:m,new Pw(Lw))},Pw.createGeometry=function(e){const t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;const n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;const i=e._minimumClock,o=e._maximumClock,a=e._minimumCone,c=e._maximumCone,l=e._vertexFormat;let u,h,d=e._slicePartitions+1,f=e._stackPartitions+1;d=Math.round(d*Math.abs(o-i)/s["a"].TWO_PI),f=Math.round(f*Math.abs(c-a)/s["a"].PI),d<2&&(d=2),f<2&&(f=2);let p=0;const m=[a],_=[i];for(u=0;u<f;u++)m.push(a+u*(c-a)/(f-1));for(m.push(c),h=0;h<d;h++)_.push(i+h*(o-i)/(d-1));_.push(o);const b=m.length,y=_.length;let v=0,O=1;const w=n.x!==t.x||n.y!==t.y||n.z!==t.z;let A=!1,T=!1,C=!1;w&&(O=2,a>0&&(A=!0,v+=d-1),c<Math.PI&&(T=!0,v+=d-1),(o-i)%s["a"].TWO_PI?(C=!0,v+=2*(f-1)+1):v+=1);const E=y*b*O,x=new Float64Array(3*E),S=Ah(new Array(E),!1),I=Ah(new Array(E),!1),D=d*f*O,j=6*(D+v+1-(d+f)*O),P=uu.createTypedArray(D,j),R=l.normal?new Float32Array(3*E):void 0,M=l.tangent?new Float32Array(3*E):void 0,N=l.bitangent?new Float32Array(3*E):void 0,L=l.st?new Float32Array(2*E):void 0,B=new Array(b),F=new Array(b);for(u=0;u<b;u++)B[u]=jw(m[u]),F[u]=Dw(m[u]);const k=new Array(y),U=new Array(y);for(h=0;h<y;h++)U[h]=Dw(_[h]),k[h]=jw(_[h]);for(u=0;u<b;u++)for(h=0;h<y;h++)x[p++]=t.x*B[u]*U[h],x[p++]=t.y*B[u]*k[h],x[p++]=t.z*F[u];let V,H,G,q,W=E/2;if(w)for(u=0;u<b;u++)for(h=0;h<y;h++)x[p++]=n.x*B[u]*U[h],x[p++]=n.y*B[u]*k[h],x[p++]=n.z*F[u],S[W]=!0,u>0&&u!==b-1&&0!==h&&h!==y-1&&(I[W]=!0),W++;for(p=0,u=1;u<b-2;u++)for(V=u*y,H=(u+1)*y,h=1;h<y-2;h++)P[p++]=H+h,P[p++]=H+h+1,P[p++]=V+h+1,P[p++]=H+h,P[p++]=V+h+1,P[p++]=V+h;if(w){const e=b*y;for(u=1;u<b-2;u++)for(V=e+u*y,H=e+(u+1)*y,h=1;h<y-2;h++)P[p++]=H+h,P[p++]=V+h,P[p++]=V+h+1,P[p++]=H+h,P[p++]=V+h+1,P[p++]=H+h+1}if(w){if(A)for(q=b*y,u=1;u<y-2;u++)P[p++]=u,P[p++]=u+1,P[p++]=q+u+1,P[p++]=u,P[p++]=q+u+1,P[p++]=q+u;if(T)for(G=b*y-y,q=b*y*O-y,u=1;u<y-2;u++)P[p++]=G+u+1,P[p++]=G+u,P[p++]=q+u,P[p++]=G+u+1,P[p++]=q+u,P[p++]=q+u+1}if(C){for(u=1;u<b-2;u++)q=y*b+y*u,G=y*u,P[p++]=q,P[p++]=G+y,P[p++]=G,P[p++]=q,P[p++]=q+y,P[p++]=G+y;for(u=1;u<b-2;u++)q=y*b+y*(u+1)-1,G=y*(u+1)-1,P[p++]=G+y,P[p++]=q,P[p++]=G,P[p++]=G+y,P[p++]=q+y,P[p++]=q}const Y=new Hh;l.position&&(Y.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:x}));let X=0,K=0,J=0,Z=0;const $=E/2;let Q;const ee=z.fromCartesian3(t),te=z.fromCartesian3(n);if(l.st||l.normal||l.tangent||l.bitangent){for(u=0;u<E;u++){Q=S[u]?te:ee;const e=g.fromArray(x,3*u,Tw),t=Q.geodeticSurfaceNormal(e,Cw);if(I[u]&&g.negate(t,t),l.st){const e=Ht.negate(t,Sw);L[X++]=Math.atan2(e.y,e.x)/s["a"].TWO_PI+.5,L[X++]=Math.asin(t.z)/Math.PI+.5}if(l.normal&&(R[K++]=t.x,R[K++]=t.y,R[K++]=t.z),l.tangent||l.bitangent){const e=Ew;let n,i=0;if(S[u]&&(i=$),n=!A&&u>=i&&u<i+2*y?g.UNIT_X:g.UNIT_Z,g.cross(n,t,e),g.normalize(e,e),l.tangent&&(M[J++]=e.x,M[J++]=e.y,M[J++]=e.z),l.bitangent){const n=g.cross(t,e,xw);g.normalize(n,n),N[Z++]=n.x,N[Z++]=n.y,N[Z++]=n.z}}}l.st&&(Y.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:L})),l.normal&&(Y.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:R})),l.tangent&&(Y.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:M})),l.bitangent&&(Y.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:N}))}if(Object(r["a"])(e._offsetAttribute)){const t=x.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),Y.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:Y,indices:P,primitiveType:xh.TRIANGLES,boundingSphere:Tt.fromEllipsoid(ee),offsetAttribute:e._offsetAttribute})},Pw.getUnitEllipsoid=function(){return Object(r["a"])(Bw)||(Bw=Pw.createGeometry(new Pw({radii:new g(1,1,1),vertexFormat:Yh.POSITION_ONLY}))),Bw};var Fw=Pw;const kw=new g(1,1,1),zw=Math.cos,Uw=Math.sin;function Vw(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.radii,kw),n=Object(o["a"])(e.innerRadii,t),i=Object(o["a"])(e.minimumClock,0),c=Object(o["a"])(e.maximumClock,s["a"].TWO_PI),l=Object(o["a"])(e.minimumCone,0),u=Object(o["a"])(e.maximumCone,s["a"].PI),h=Math.round(Object(o["a"])(e.stackPartitions,10)),d=Math.round(Object(o["a"])(e.slicePartitions,8)),f=Math.round(Object(o["a"])(e.subdivisions,128));if(h<1)throw new a["a"]("options.stackPartitions cannot be less than 1");if(d<0)throw new a["a"]("options.slicePartitions cannot be less than 0");if(f<0)throw new a["a"]("options.subdivisions must be greater than or equal to zero.");if(Object(r["a"])(e.offsetAttribute)&&e.offsetAttribute===qh.TOP)throw new a["a"]("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._radii=g.clone(t),this._innerRadii=g.clone(n),this._minimumClock=i,this._maximumClock=c,this._minimumCone=l,this._maximumCone=u,this._stackPartitions=h,this._slicePartitions=d,this._subdivisions=f,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}Vw.packedLength=2*g.packedLength+8,Vw.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),g.pack(e._radii,t,n),n+=g.packedLength,g.pack(e._innerRadii,t,n),n+=g.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const Hw=new g,Gw=new g,qw={radii:Hw,innerRadii:Gw,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};Vw.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");t=Object(o["a"])(t,0);const i=g.unpack(e,t,Hw);t+=g.packedLength;const s=g.unpack(e,t,Gw);t+=g.packedLength;const c=e[t++],l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=e[t++],m=e[t];return Object(r["a"])(n)?(n._radii=g.clone(i,n._radii),n._innerRadii=g.clone(s,n._innerRadii),n._minimumClock=c,n._maximumClock=l,n._minimumCone=u,n._maximumCone=h,n._stackPartitions=d,n._slicePartitions=f,n._subdivisions=p,n._offsetAttribute=-1===m?void 0:m,n):(qw.minimumClock=c,qw.maximumClock=l,qw.minimumCone=u,qw.maximumCone=h,qw.stackPartitions=d,qw.slicePartitions=f,qw.subdivisions=p,qw.offsetAttribute=-1===m?void 0:m,new Vw(qw))},Vw.createGeometry=function(e){const t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;const n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;const i=e._minimumClock,o=e._maximumClock,a=e._minimumCone,c=e._maximumCone,l=e._subdivisions,u=z.fromCartesian3(t);let h=e._slicePartitions+1,d=e._stackPartitions+1;h=Math.round(h*Math.abs(o-i)/s["a"].TWO_PI),d=Math.round(d*Math.abs(c-a)/s["a"].PI),h<2&&(h=2),d<2&&(d=2);let f=0,p=1;const m=n.x!==t.x||n.y!==t.y||n.z!==t.z;let _=!1,g=!1;m&&(p=2,a>0&&(_=!0,f+=h),c<Math.PI&&(g=!0,f+=h));const b=l*p*(d+h),y=new Float64Array(3*b),v=2*(b+f-(h+d)*p),O=uu.createTypedArray(b,v);let w,A,T,C,E=0;const x=new Array(d),S=new Array(d);for(w=0;w<d;w++)C=a+w*(c-a)/(d-1),x[w]=Uw(C),S[w]=zw(C);const I=new Array(l),D=new Array(l);for(w=0;w<l;w++)T=i+w*(o-i)/(l-1),I[w]=Uw(T),D[w]=zw(T);for(w=0;w<d;w++)for(A=0;A<l;A++)y[E++]=t.x*x[w]*D[A],y[E++]=t.y*x[w]*I[A],y[E++]=t.z*S[w];if(m)for(w=0;w<d;w++)for(A=0;A<l;A++)y[E++]=n.x*x[w]*D[A],y[E++]=n.y*x[w]*I[A],y[E++]=n.z*S[w];for(x.length=l,S.length=l,w=0;w<l;w++)C=a+w*(c-a)/(l-1),x[w]=Uw(C),S[w]=zw(C);for(I.length=h,D.length=h,w=0;w<h;w++)T=i+w*(o-i)/(h-1),I[w]=Uw(T),D[w]=zw(T);for(w=0;w<l;w++)for(A=0;A<h;A++)y[E++]=t.x*x[w]*D[A],y[E++]=t.y*x[w]*I[A],y[E++]=t.z*S[w];if(m)for(w=0;w<l;w++)for(A=0;A<h;A++)y[E++]=n.x*x[w]*D[A],y[E++]=n.y*x[w]*I[A],y[E++]=n.z*S[w];for(E=0,w=0;w<d*p;w++){const e=w*l;for(A=0;A<l-1;A++)O[E++]=e+A,O[E++]=e+A+1}let j=d*l*p;for(w=0;w<h;w++)for(A=0;A<l-1;A++)O[E++]=j+w+A*h,O[E++]=j+w+(A+1)*h;if(m)for(j=d*l*p+h*l,w=0;w<h;w++)for(A=0;A<l-1;A++)O[E++]=j+w+A*h,O[E++]=j+w+(A+1)*h;if(m){let e=d*l*p,t=e+l*h;if(_)for(w=0;w<h;w++)O[E++]=e+w,O[E++]=t+w;if(g)for(e+=l*h-h,t+=l*h-h,w=0;w<h;w++)O[E++]=e+w,O[E++]=t+w}const P=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:y})});if(Object(r["a"])(e._offsetAttribute)){const t=y.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),P.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new kh({attributes:P,indices:O,primitiveType:xh.LINES,boundingSphere:Tt.fromEllipsoid(u),offsetAttribute:e._offsetAttribute})};var Ww=Vw;function Yw(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,Object(r["a"])(this._tilingScheme)||(this._tilingScheme=new qt({ellipsoid:Object(o["a"])(e.ellipsoid,z.WGS84)})),this._levelZeroMaximumGeometricError=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new pi["a"],this._readyPromise=Promise.resolve(!0)}Object.defineProperties(Yw.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}}),Yw.prototype.requestTileGeometry=function(e,t,n,i){const o=16,r=16;return Promise.resolve(new Su({buffer:new Uint8Array(o*r),width:o,height:r}))},Yw.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},Yw.prototype.getTileDataAvailable=function(e,t,n){},Yw.prototype.loadTileDataAvailability=function(e,t,n){};var Xw=Yw;function Kw(){this._removalFunctions=[]}Kw.prototype.add=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("event is required");const i=e.addEventListener(t,n);this._removalFunctions.push(i);const o=this;return function(){i();const e=o._removalFunctions;e.splice(e.indexOf(i),1)}},Kw.prototype.removeAll=function(){const e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var Jw=Kw;const Zw={enableModelExperimental:!1};var $w=Zw;const Qw={NONE:0,HOLD:1,EXTRAPOLATE:2};var eA=Object.freeze(Qw);function tA(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=Object(o["a"])(e.near,1),this._near=this.near,this.far=Object(o["a"])(e.far,5e8),this._far=this.far,this._cullingVolume=new kO,this._orthographicMatrix=new Ne}function nA(e){if(!Object(r["a"])(e.right)||!Object(r["a"])(e.left)||!Object(r["a"])(e.top)||!Object(r["a"])(e.bottom)||!Object(r["a"])(e.near)||!Object(r["a"])(e.far))throw new a["a"]("right, left, top, bottom, near, or far parameters are not set.");if(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far){if(e.left>e.right)throw new a["a"]("right must be greater than left.");if(e.bottom>e.top)throw new a["a"]("top must be greater than bottom.");if(e.near<=0||e.near>e.far)throw new a["a"]("near must be greater than zero and less than far.");e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=Ne.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix)}}Object.defineProperties(tA.prototype,{projectionMatrix:{get:function(){return nA(this),this._orthographicMatrix}}});const iA=new g,oA=new g,rA=new g,aA=new g;tA.prototype.computeCullingVolume=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("position is required.");if(!Object(r["a"])(t))throw new a["a"]("direction is required.");if(!Object(r["a"])(n))throw new a["a"]("up is required.");const i=this._cullingVolume.planes,o=this.top,s=this.bottom,c=this.right,l=this.left,u=this.near,h=this.far,d=g.cross(t,n,iA);g.normalize(d,d);const f=oA;g.multiplyByScalar(t,u,f),g.add(e,f,f);const p=rA;g.multiplyByScalar(d,l,p),g.add(f,p,p);let m=i[0];return Object(r["a"])(m)||(m=i[0]=new be),m.x=d.x,m.y=d.y,m.z=d.z,m.w=-g.dot(d,p),g.multiplyByScalar(d,c,p),g.add(f,p,p),m=i[1],Object(r["a"])(m)||(m=i[1]=new be),m.x=-d.x,m.y=-d.y,m.z=-d.z,m.w=-g.dot(g.negate(d,aA),p),g.multiplyByScalar(n,s,p),g.add(f,p,p),m=i[2],Object(r["a"])(m)||(m=i[2]=new be),m.x=n.x,m.y=n.y,m.z=n.z,m.w=-g.dot(n,p),g.multiplyByScalar(n,o,p),g.add(f,p,p),m=i[3],Object(r["a"])(m)||(m=i[3]=new be),m.x=-n.x,m.y=-n.y,m.z=-n.z,m.w=-g.dot(g.negate(n,aA),p),m=i[4],Object(r["a"])(m)||(m=i[4]=new be),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-g.dot(t,f),g.multiplyByScalar(t,h,p),g.add(e,p,p),m=i[5],Object(r["a"])(m)||(m=i[5]=new be),m.x=-t.x,m.y=-t.y,m.z=-t.z,m.w=-g.dot(g.negate(t,aA),p),this._cullingVolume},tA.prototype.getPixelDimensions=function(e,t,n,i,o){if(nA(this),!Object(r["a"])(e)||!Object(r["a"])(t))throw new a["a"]("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new a["a"]("drawingBufferWidth must be greater than zero.");if(t<=0)throw new a["a"]("drawingBufferHeight must be greater than zero.");if(!Object(r["a"])(n))throw new a["a"]("distance is required.");if(!Object(r["a"])(i))throw new a["a"]("pixelRatio is required.");if(i<=0)throw new a["a"]("pixelRatio must be greater than zero.");if(!Object(r["a"])(o))throw new a["a"]("A result object is required.");const s=this.right-this.left,c=this.top-this.bottom,l=i*s/e,u=i*c/t;return o.x=l,o.y=u,o},tA.prototype.clone=function(e){return Object(r["a"])(e)||(e=new tA),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},tA.prototype.equals=function(e){return Object(r["a"])(e)&&e instanceof tA&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},tA.prototype.equalsEpsilon=function(e,t,n){return e===this||Object(r["a"])(e)&&e instanceof tA&&s["a"].equalsEpsilon(this.right,e.right,t,n)&&s["a"].equalsEpsilon(this.left,e.left,t,n)&&s["a"].equalsEpsilon(this.top,e.top,t,n)&&s["a"].equalsEpsilon(this.bottom,e.bottom,t,n)&&s["a"].equalsEpsilon(this.near,e.near,t,n)&&s["a"].equalsEpsilon(this.far,e.far,t,n)};var sA=tA;function cA(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._offCenterFrustum=new sA,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=Object(o["a"])(e.near,1),this._near=this.near,this.far=Object(o["a"])(e.far,5e8),this._far=this.far}function lA(e){if(!Object(r["a"])(e.width)||!Object(r["a"])(e.aspectRatio)||!Object(r["a"])(e.near)||!Object(r["a"])(e.far))throw new a["a"]("width, aspectRatio, near, or far parameters are not set.");const t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){if(e.aspectRatio<0)throw new a["a"]("aspectRatio must be positive.");if(e.near<0||e.near>e.far)throw new a["a"]("near must be greater than zero and less than far.");e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;const n=1/e.aspectRatio;t.right=.5*e.width,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}cA.packedLength=4,cA.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t},cA.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new cA),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n},Object.defineProperties(cA.prototype,{projectionMatrix:{get:function(){return lA(this),this._offCenterFrustum.projectionMatrix}}}),cA.prototype.computeCullingVolume=function(e,t,n){return lA(this),this._offCenterFrustum.computeCullingVolume(e,t,n)},cA.prototype.getPixelDimensions=function(e,t,n,i,o){return lA(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)},cA.prototype.clone=function(e){return Object(r["a"])(e)||(e=new cA),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e},cA.prototype.equals=function(e){return!!(Object(r["a"])(e)&&e instanceof cA)&&(lA(this),lA(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))},cA.prototype.equalsEpsilon=function(e,t,n){return!!(Object(r["a"])(e)&&e instanceof cA)&&(lA(this),lA(e),s["a"].equalsEpsilon(this.width,e.width,t,n)&&s["a"].equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var uA=cA;function hA(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=Object(o["a"])(e.near,1),this._near=this.near,this.far=Object(o["a"])(e.far,5e8),this._far=this.far,this._cullingVolume=new kO,this._perspectiveMatrix=new Ne,this._infinitePerspective=new Ne}function dA(e){if(!Object(r["a"])(e.right)||!Object(r["a"])(e.left)||!Object(r["a"])(e.top)||!Object(r["a"])(e.bottom)||!Object(r["a"])(e.near)||!Object(r["a"])(e.far))throw new a["a"]("right, left, top, bottom, near, or far parameters are not set.");const t=e.top,n=e.bottom,i=e.right,o=e.left,s=e.near,c=e.far;if(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||s!==e._near||c!==e._far){if(e.near<=0||e.near>e.far)throw new a["a"]("near must be greater than zero and less than far.");e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=s,e._far=c,e._perspectiveMatrix=Ne.computePerspectiveOffCenter(o,i,n,t,s,c,e._perspectiveMatrix),e._infinitePerspective=Ne.computeInfinitePerspectiveOffCenter(o,i,n,t,s,e._infinitePerspective)}}Object.defineProperties(hA.prototype,{projectionMatrix:{get:function(){return dA(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return dA(this),this._infinitePerspective}}});const fA=new g,pA=new g,mA=new g,_A=new g;hA.prototype.computeCullingVolume=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("position is required.");if(!Object(r["a"])(t))throw new a["a"]("direction is required.");if(!Object(r["a"])(n))throw new a["a"]("up is required.");const i=this._cullingVolume.planes,o=this.top,s=this.bottom,c=this.right,l=this.left,u=this.near,h=this.far,d=g.cross(t,n,fA),f=pA;g.multiplyByScalar(t,u,f),g.add(e,f,f);const p=mA;g.multiplyByScalar(t,h,p),g.add(e,p,p);const m=_A;g.multiplyByScalar(d,l,m),g.add(f,m,m),g.subtract(m,e,m),g.normalize(m,m),g.cross(m,n,m),g.normalize(m,m);let _=i[0];return Object(r["a"])(_)||(_=i[0]=new be),_.x=m.x,_.y=m.y,_.z=m.z,_.w=-g.dot(m,e),g.multiplyByScalar(d,c,m),g.add(f,m,m),g.subtract(m,e,m),g.cross(n,m,m),g.normalize(m,m),_=i[1],Object(r["a"])(_)||(_=i[1]=new be),_.x=m.x,_.y=m.y,_.z=m.z,_.w=-g.dot(m,e),g.multiplyByScalar(n,s,m),g.add(f,m,m),g.subtract(m,e,m),g.cross(d,m,m),g.normalize(m,m),_=i[2],Object(r["a"])(_)||(_=i[2]=new be),_.x=m.x,_.y=m.y,_.z=m.z,_.w=-g.dot(m,e),g.multiplyByScalar(n,o,m),g.add(f,m,m),g.subtract(m,e,m),g.cross(m,d,m),g.normalize(m,m),_=i[3],Object(r["a"])(_)||(_=i[3]=new be),_.x=m.x,_.y=m.y,_.z=m.z,_.w=-g.dot(m,e),_=i[4],Object(r["a"])(_)||(_=i[4]=new be),_.x=t.x,_.y=t.y,_.z=t.z,_.w=-g.dot(t,f),g.negate(t,m),_=i[5],Object(r["a"])(_)||(_=i[5]=new be),_.x=m.x,_.y=m.y,_.z=m.z,_.w=-g.dot(m,p),this._cullingVolume},hA.prototype.getPixelDimensions=function(e,t,n,i,o){if(dA(this),!Object(r["a"])(e)||!Object(r["a"])(t))throw new a["a"]("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new a["a"]("drawingBufferWidth must be greater than zero.");if(t<=0)throw new a["a"]("drawingBufferHeight must be greater than zero.");if(!Object(r["a"])(n))throw new a["a"]("distance is required.");if(!Object(r["a"])(i))throw new a["a"]("pixelRatio is required");if(i<=0)throw new a["a"]("pixelRatio must be greater than zero.");if(!Object(r["a"])(o))throw new a["a"]("A result object is required.");const s=1/this.near;let c=this.top*s;const l=2*i*n*c/t;c=this.right*s;const u=2*i*n*c/e;return o.x=u,o.y=l,o},hA.prototype.clone=function(e){return Object(r["a"])(e)||(e=new hA),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},hA.prototype.equals=function(e){return Object(r["a"])(e)&&e instanceof hA&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},hA.prototype.equalsEpsilon=function(e,t,n){return e===this||Object(r["a"])(e)&&e instanceof hA&&s["a"].equalsEpsilon(this.right,e.right,t,n)&&s["a"].equalsEpsilon(this.left,e.left,t,n)&&s["a"].equalsEpsilon(this.top,e.top,t,n)&&s["a"].equalsEpsilon(this.bottom,e.bottom,t,n)&&s["a"].equalsEpsilon(this.near,e.near,t,n)&&s["a"].equalsEpsilon(this.far,e.far,t,n)};var gA=hA;function bA(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._offCenterFrustum=new gA,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=Object(o["a"])(e.near,1),this._near=this.near,this.far=Object(o["a"])(e.far,5e8),this._far=this.far,this.xOffset=Object(o["a"])(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=Object(o["a"])(e.yOffset,0),this._yOffset=this.yOffset}function yA(e){if(!Object(r["a"])(e.fov)||!Object(r["a"])(e.aspectRatio)||!Object(r["a"])(e.near)||!Object(r["a"])(e.far))throw new a["a"]("fov, aspectRatio, near, or far parameters are not set.");const t=e._offCenterFrustum;if(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset){if(e.fov<0||e.fov>=Math.PI)throw new a["a"]("fov must be in the range [0, PI).");if(e.aspectRatio<0)throw new a["a"]("aspectRatio must be positive.");if(e.near<0||e.near>e.far)throw new a["a"]("near must be greater than zero and less than far.");e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:2*Math.atan(Math.tan(.5*e.fov)/e.aspectRatio),e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset,t.top=e.near*Math.tan(.5*e._fovy),t.bottom=-t.top,t.right=e.aspectRatio*t.top,t.left=-t.right,t.near=e.near,t.far=e.far,t.right+=e.xOffset,t.left+=e.xOffset,t.top+=e.yOffset,t.bottom+=e.yOffset}}bA.packedLength=6,bA.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t},bA.unpack=function(e,t,n){return i["a"].defined("array",e),t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new bA),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n},Object.defineProperties(bA.prototype,{projectionMatrix:{get:function(){return yA(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return yA(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return yA(this),this._fovy}},sseDenominator:{get:function(){return yA(this),this._sseDenominator}}}),bA.prototype.computeCullingVolume=function(e,t,n){return yA(this),this._offCenterFrustum.computeCullingVolume(e,t,n)},bA.prototype.getPixelDimensions=function(e,t,n,i,o){return yA(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)},bA.prototype.clone=function(e){return Object(r["a"])(e)||(e=new bA),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e},bA.prototype.equals=function(e){return!!(Object(r["a"])(e)&&e instanceof bA)&&(yA(this),yA(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))},bA.prototype.equalsEpsilon=function(e,t,n){return!!(Object(r["a"])(e)&&e instanceof bA)&&(yA(this),yA(e),s["a"].equalsEpsilon(this.fov,e.fov,t,n)&&s["a"].equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var vA=bA;const OA=0,wA=1;function AA(e){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.frustum",e.frustum),i["a"].typeOf.object("options.origin",e.origin),i["a"].typeOf.object("options.orientation",e.orientation);const t=e.frustum,n=e.orientation,r=e.origin,a=Object(o["a"])(e.vertexFormat,Yh.DEFAULT),s=Object(o["a"])(e._drawNearPlane,!0);let c,l;t instanceof vA?(c=OA,l=vA.packedLength):t instanceof uA&&(c=wA,l=uA.packedLength),this._frustumType=c,this._frustum=t.clone(),this._origin=g.clone(r),this._orientation=$a.clone(n),this._drawNearPlane=s,this._vertexFormat=a,this._workerName="createFrustumGeometry",this.packedLength=2+l+g.packedLength+$a.packedLength+Yh.packedLength}AA.pack=function(e,t,n){i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0);const r=e._frustumType,a=e._frustum;return t[n++]=r,r===OA?(vA.pack(a,t,n),n+=vA.packedLength):(uA.pack(a,t,n),n+=uA.packedLength),g.pack(e._origin,t,n),n+=g.packedLength,$a.pack(e._orientation,t,n),n+=$a.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n]=e._drawNearPlane?1:0,t};const TA=new vA,CA=new uA,EA=new $a,xA=new g,SA=new Yh;function IA(e,t,n,i,o,a,s,c){const l=e/3*2;for(let u=0;u<4;++u)Object(r["a"])(t)&&(t[e]=a.x,t[e+1]=a.y,t[e+2]=a.z),Object(r["a"])(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),Object(r["a"])(i)&&(i[e]=c.x,i[e+1]=c.y,i[e+2]=c.z),e+=3;o[l]=0,o[l+1]=0,o[l+2]=1,o[l+3]=0,o[l+4]=1,o[l+5]=1,o[l+6]=0,o[l+7]=1}AA.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=e[t++];let s;a===OA?(s=vA.unpack(e,t,TA),t+=vA.packedLength):(s=uA.unpack(e,t,CA),t+=uA.packedLength);const c=g.unpack(e,t,xA);t+=g.packedLength;const l=$a.unpack(e,t,EA);t+=$a.packedLength;const u=Yh.unpack(e,t,SA);t+=Yh.packedLength;const h=1===e[t];if(!Object(r["a"])(n))return new AA({frustum:s,origin:c,orientation:l,vertexFormat:u,_drawNearPlane:h});const d=a===n._frustumType?n._frustum:void 0;return n._frustum=s.clone(d),n._frustumType=a,n._origin=g.clone(c,n._origin),n._orientation=$a.clone(l,n._orientation),n._vertexFormat=Yh.clone(u,n._vertexFormat),n._drawNearPlane=h,n};const DA=new ce,jA=new Ne,PA=new Ne,RA=new g,MA=new g,NA=new g,LA=new g,BA=new g,FA=new g,kA=new Array(3),zA=new Array(4);zA[0]=new be(-1,-1,1,1),zA[1]=new be(1,-1,1,1),zA[2]=new be(1,1,1,1),zA[3]=new be(-1,1,1,1);const UA=new Array(4);for(let opt=0;opt<4;++opt)UA[opt]=new be;AA._computeNearFarPlanes=function(e,t,n,i,a,s,c,l){const u=ce.fromQuaternion(t,DA);let h=Object(o["a"])(s,RA),d=Object(o["a"])(c,MA),f=Object(o["a"])(l,NA);h=ce.getColumn(u,0,h),d=ce.getColumn(u,1,d),f=ce.getColumn(u,2,f),g.normalize(h,h),g.normalize(d,d),g.normalize(f,f),g.negate(h,h);const p=Ne.computeView(e,f,d,h,jA);let m,_;if(n===OA){const e=i.projectionMatrix,t=Ne.multiply(e,p,PA);_=Ne.inverse(t,PA)}else m=Ne.inverseTransformation(p,PA);Object(r["a"])(_)?(kA[0]=i.near,kA[1]=i.far):(kA[0]=0,kA[1]=i.near,kA[2]=i.far);for(let o=0;o<2;++o)for(let t=0;t<4;++t){let n=be.clone(zA[t],UA[t]);if(Object(r["a"])(_)){n=Ne.multiplyByVector(_,n,n);const t=1/n.w;g.multiplyByScalar(n,t,n),g.subtract(n,e,n),g.normalize(n,n);const i=g.dot(f,n);g.multiplyByScalar(n,kA[o]/i,n),g.add(n,e,n)}else{Object(r["a"])(i._offCenterFrustum)&&(i=i._offCenterFrustum);const e=kA[o],t=kA[o+1];n.x=.5*(n.x*(i.right-i.left)+i.left+i.right),n.y=.5*(n.y*(i.top-i.bottom)+i.bottom+i.top),n.z=.5*(n.z*(e-t)-e-t),n.w=1,Ne.multiplyByVector(m,n,n)}a[12*o+3*t]=n.x,a[12*o+3*t+1]=n.y,a[12*o+3*t+2]=n.z}},AA.createGeometry=function(e){const t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,a=e._drawNearPlane,s=e._vertexFormat,c=a?6:5;let l=new Float64Array(72);AA._computeNearFarPlanes(i,o,t,n,l);let u=24;l[u]=l[12],l[u+1]=l[13],l[u+2]=l[14],l[u+3]=l[0],l[u+4]=l[1],l[u+5]=l[2],l[u+6]=l[9],l[u+7]=l[10],l[u+8]=l[11],l[u+9]=l[21],l[u+10]=l[22],l[u+11]=l[23],u+=12,l[u]=l[15],l[u+1]=l[16],l[u+2]=l[17],l[u+3]=l[3],l[u+4]=l[4],l[u+5]=l[5],l[u+6]=l[0],l[u+7]=l[1],l[u+8]=l[2],l[u+9]=l[12],l[u+10]=l[13],l[u+11]=l[14],u+=12,l[u]=l[3],l[u+1]=l[4],l[u+2]=l[5],l[u+3]=l[15],l[u+4]=l[16],l[u+5]=l[17],l[u+6]=l[18],l[u+7]=l[19],l[u+8]=l[20],l[u+9]=l[6],l[u+10]=l[7],l[u+11]=l[8],u+=12,l[u]=l[6],l[u+1]=l[7],l[u+2]=l[8],l[u+3]=l[18],l[u+4]=l[19],l[u+5]=l[20],l[u+6]=l[21],l[u+7]=l[22],l[u+8]=l[23],l[u+9]=l[9],l[u+10]=l[10],l[u+11]=l[11],a||(l=l.subarray(12));const h=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:l})});if(Object(r["a"])(s.normal)||Object(r["a"])(s.tangent)||Object(r["a"])(s.bitangent)||Object(r["a"])(s.st)){const e=Object(r["a"])(s.normal)?new Float32Array(12*c):void 0,t=Object(r["a"])(s.tangent)?new Float32Array(12*c):void 0,n=Object(r["a"])(s.bitangent)?new Float32Array(12*c):void 0,i=Object(r["a"])(s.st)?new Float32Array(8*c):void 0,o=RA,l=MA,d=NA,f=g.negate(o,LA),p=g.negate(l,BA),m=g.negate(d,FA);u=0,a&&(IA(u,e,t,n,i,m,o,l),u+=12),IA(u,e,t,n,i,d,f,l),u+=12,IA(u,e,t,n,i,f,m,l),u+=12,IA(u,e,t,n,i,p,m,f),u+=12,IA(u,e,t,n,i,o,d,l),u+=12,IA(u,e,t,n,i,l,d,f),Object(r["a"])(e)&&(h.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})),Object(r["a"])(t)&&(h.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:t})),Object(r["a"])(n)&&(h.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:n})),Object(r["a"])(i)&&(h.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:i}))}const d=new Uint16Array(6*c);for(let r=0;r<c;++r){const e=6*r,t=4*r;d[e]=t,d[e+1]=t+1,d[e+2]=t+2,d[e+3]=t,d[e+4]=t+2,d[e+5]=t+3}return new kh({attributes:h,indices:d,primitiveType:xh.TRIANGLES,boundingSphere:Tt.fromVertices(l)})};var VA=AA;const HA=0,GA=1;function qA(e){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.frustum",e.frustum),i["a"].typeOf.object("options.origin",e.origin),i["a"].typeOf.object("options.orientation",e.orientation);const t=e.frustum,n=e.orientation,r=e.origin,a=Object(o["a"])(e._drawNearPlane,!0);let s,c;t instanceof vA?(s=HA,c=vA.packedLength):t instanceof uA&&(s=GA,c=uA.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=g.clone(r),this._orientation=$a.clone(n),this._drawNearPlane=a,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+c+g.packedLength+$a.packedLength}qA.pack=function(e,t,n){i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0);const r=e._frustumType,a=e._frustum;return t[n++]=r,r===HA?(vA.pack(a,t,n),n+=vA.packedLength):(uA.pack(a,t,n),n+=uA.packedLength),g.pack(e._origin,t,n),n+=g.packedLength,$a.pack(e._orientation,t,n),n+=$a.packedLength,t[n]=e._drawNearPlane?1:0,t};const WA=new vA,YA=new uA,XA=new $a,KA=new g;qA.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=e[t++];let s;a===HA?(s=vA.unpack(e,t,WA),t+=vA.packedLength):(s=uA.unpack(e,t,YA),t+=uA.packedLength);const c=g.unpack(e,t,KA);t+=g.packedLength;const l=$a.unpack(e,t,XA);t+=$a.packedLength;const u=1===e[t];if(!Object(r["a"])(n))return new qA({frustum:s,origin:c,orientation:l,_drawNearPlane:u});const h=a===n._frustumType?n._frustum:void 0;return n._frustum=s.clone(h),n._frustumType=a,n._origin=g.clone(c,n._origin),n._orientation=$a.clone(l,n._orientation),n._drawNearPlane=u,n},qA.createGeometry=function(e){const t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,a=new Float64Array(24);VA._computeNearFarPlanes(i,o,t,n,a);const s=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:a})});let c,l;const u=r?2:1,h=new Uint16Array(8*(u+1));let d=r?0:1;for(;d<2;++d)c=r?8*d:0,l=4*d,h[c]=l,h[c+1]=l+1,h[c+2]=l+1,h[c+3]=l+2,h[c+4]=l+2,h[c+5]=l+3,h[c+6]=l+3,h[c+7]=l;for(d=0;d<2;++d)c=8*(u+d),l=4*d,h[c]=l,h[c+1]=l+4,h[c+2]=l+1,h[c+3]=l+5,h[c+4]=l+2,h[c+5]=l+6,h[c+6]=l+3,h[c+7]=l+7;return new kh({attributes:s,indices:h,primitiveType:xh.LINES,boundingSphere:Tt.fromVertices(a)})};var JA=qA;const ZA={SEARCH:0,AUTOCOMPLETE:1};var $A=Object.freeze(ZA);function QA(){}QA.prototype.geocode=a["a"].throwInstantiationError;var eT=QA;function tT(){a["a"].throwInstantiationError()}tT.createGeometry=function(e){a["a"].throwInstantiationError()};var nT=tT;function iT(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.componentDatatype))throw new a["a"]("options.componentDatatype is required.");if(!Object(r["a"])(e.componentsPerAttribute))throw new a["a"]("options.componentsPerAttribute is required.");if(e.componentsPerAttribute<1||e.componentsPerAttribute>4)throw new a["a"]("options.componentsPerAttribute must be between 1 and 4.");if(!Object(r["a"])(e.value))throw new a["a"]("options.value is required.");this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=Object(o["a"])(e.normalize,!1),this.value=e.value}var oT=iT,rT=n("99b0");function aT(e,t){return 0!==(e&t)}var sT=aT;const cT=[1,2,4,8],lT=15,uT=16,hT=64,dT=128;function fT(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}fT.clone=function(e,t){return Object(r["a"])(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new fT(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t},fT.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()},fT.prototype.hasSubtree=function(){return sT(this._bits,uT)},fT.prototype.hasImagery=function(){return sT(this._bits,hT)},fT.prototype.hasTerrain=function(){return sT(this._bits,dT)},fT.prototype.hasChildren=function(){return sT(this._bits,lT)},fT.prototype.hasChild=function(e){return sT(this._bits,cT[e])},fT.prototype.getChildBitmask=function(){return this._bits&lT};var pT=fT,mT=n("0e68");function _T(e){const t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}const gT=_T('Eô½\vyâjE"’,ÍqøIFgQ\0B%Æèa,f)\bÆ4Üjb%y\nwmiÖðœk“¡½NuàA[ß@V\fÙ»r›|3SîOlÔq°{ÀEVZ­wUe\v3’*¬l5Å0sø3>mF8J´Ýð.ÝuڌDt"úa"\f3"So¯9D\vŒ9Ù9L¹¿«\\ŒP_Ÿ"uxéq‘h;Áěð<VqH‚\'UfYNe˜u£aF}a?A\0Ÿ×´4M·F°Õ¸Š\'{‹Ü+»Mg0ÈÑö\\Pú[/F›n5/\'C.ë\n\f^¥se4ål.jC\'c#U©?q{gC}:¯ÍâTUœýKÆâŸ/(íË\\Æ-fˆ§;/*"N°k.Ý\r•}}GºC²²+>Mª>}æÎI‰Ææx\fa1-¤O¥~q ˆì\r1èN\v\0nPh}=\b\r•¦n£h—$[kó#ó¶s³\r\v@ÀŸØQ]ú".jßI\0¹ wUÆïj¿{GLƒîÜÜF…©­S+S4ÿ”Yä8è1ƒN¹XFkË-#†’p\x005ˆ"Ï1²&/çÃu-6,rt°#G·ÓÑ&…7râ\0ŒDÏÚ3-Þ`†i#i*|ÍKQ\r•T9w.)ê¦P¢joP™\\>TûïP[\vE‰m(w7ێJfJo™ åpâ¹q~\fmI-zþrÇòY0»]såÉ êxì ðŠB|G`°½&·q¶ÇŸÑ3‚=Ó«îc™È+S D\\qÆÌD2O<ÊÀ)=RÓaX©}e´ÜÏ\rô=ñ\b©BÚ#\tØ¿^PIøMÀËGLO÷{+ØÅ1’;µoÜl\r’ˆўÛ?âéÚ_ԄâFaZÞUϤ\0¾ýÎgñJi—æ HØ]~®q N®ÀV©‘<‚rçvì)IÖ]-ƒãÛ6©;f—‡jÕ¶=P^R¹KÇsWxÉô.Y•“oÐKW>\'\'Ç`Û;íšSD>?’mw¢\në?R¨ÆU^1I7…ôÅ&-©¿‹\'TÚÃj å*x°Öprª‹h½ˆ÷_H±~ÀXL?fù>áeÀp§Ï8i¯ðVldIœ\'­xtO‡ÞV9\0Úw\vË-‰û5Oõ\bQ`Á\nZGM&30xÚÀœFGâ[y`In7gS\n>éìF9²ñ4\rƄSuná\fYÙÞ)…{II¥wy¾IV.6ç\v:»Ob{ÒM1•/½8{¨O!áìFpv•})"xˆ\nÝ\\ÚÞQÏðüYRe|3ßóHÚ»*uÛ`²Ôüíì5¨ÿ(1-È܈F|Š["');function bT(e){i["a"].defined("resourceOrUrl",e);let t=e;"string"===typeof t||t instanceof Et["a"]||(i["a"].typeOf.string("resourceOrUrl.url",e.url),t=e.url);const n=Et["a"].createIfNeeded(t);n.appendForwardSlash(),this._resource=n,this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=s["a"].EPSILON12,this.providers={},this.key=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={};const o=this;this._readyPromise=TT(this).then((function(){return o.getQuadTreePacket("",o._quadPacketVersion)})).then((function(){return!0})).catch((function(e){const t=`An error occurred while accessing ${OT(o,"",1).url}.`;return Promise.reject(new ye["a"](t))}))}Object.defineProperties(bT.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}}}),bT.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){const n=1<<o;let r=0;sT(t,n)?sT(e,n)&&(r|=1):(r|=2,sT(e,n)||(r|=1)),i+=r}return i},bT.quadKeyToTileXY=function(e){let t=0,n=0;const i=e.length-1;for(let o=i;o>=0;--o){const r=1<<o,a=+e[i-o];sT(a,2)?sT(a,1)||(t|=r):(n|=r,sT(a,1)&&(t|=r))}return{x:t,y:n,level:i}},bT.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(Object(r["a"])(t))return null!==t;let n,i=!0,o=e;while(o.length>1){if(n=o.substring(o.length-1),o=o.substring(0,o.length-1),t=this.getTileInformationFromQuadKey(o),Object(r["a"])(t)){t.hasSubtree()||t.hasChild(parseInt(n))||(i=!1);break}if(null===t){i=!1;break}}return i};const yT=new ou("decodeGoogleEarthEnterprisePacket");function vT(e,t,n){const i=e._tileInfo;let o,a=t,s=i[a];if(Object(r["a"])(s)&&(!s.hasSubtree()||s.hasChildren()))return s;while(void 0===s&&a.length>1)a=a.substring(0,a.length-1),s=i[a];const c=e._subtreePromises;let l=c[a];return Object(r["a"])(l)?l.then((function(){return o=new Iu["a"]({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),vT(e,t,o)})):Object(r["a"])(s)&&s.hasSubtree()?(l=e.getQuadTreePacket(a,s.cnodeVersion,n),Object(r["a"])(l)?(c[a]=l,l.then((function(){return o=new Iu["a"]({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),vT(e,t,o)})).finally((function(){delete c[a]}))):void 0):Promise.reject(new ye["a"]("Couldn't load metadata for tile "+t))}function OT(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}let wT,AT;function TT(e){const t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!Object(r["a"])(AT)){const e=Lt("ThirdParty/google-earth-dbroot-parser.js"),t=window.cesiumGoogleEarthDbRootParser;AT=Object(mT["a"])(e).then((function(){wT=window.cesiumGoogleEarthDbRootParser(rT["a"]),Object(r["a"])(t)?window.cesiumGoogleEarthDbRootParser=t:delete window.cesiumGoogleEarthDbRootParser}))}return AT.then((function(){return t.fetchArrayBuffer()})).then((function(t){const n=wT.EncryptedDbRootProto.decode(new Uint8Array(t));let i=n.encryptionData,o=i.byteOffset,r=o+i.byteLength;const a=e.key=i.buffer.slice(o,r);i=n.dbrootData,o=i.byteOffset,r=o+i.byteLength;const s=i.buffer.slice(o,r);return yT.scheduleTask({buffer:s,type:"DbRoot",key:a},[s])})).then((function(t){const n=wT.DbRootProto.decode(new Uint8Array(t.buffer));if(e.imageryPresent=Object(o["a"])(n.imageryPresent,e.imageryPresent),e.protoImagery=n.protoImagery,e.terrainPresent=Object(o["a"])(n.terrainPresent,e.terrainPresent),Object(r["a"])(n.endSnippet)&&Object(r["a"])(n.endSnippet.model)){const t=n.endSnippet.model;e.negativeAltitudeExponentBias=Object(o["a"])(t.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=Object(o["a"])(t.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}Object(r["a"])(n.databaseVersion)&&(e._quadPacketVersion=Object(o["a"])(n.databaseVersion.quadtreeVersion,e._quadPacketVersion));const i=e.providers,a=Object(o["a"])(n.providerInfo,[]),s=a.length;for(let e=0;e<s;++e){const t=a[e],n=t.copyrightString;Object(r["a"])(n)&&(i[t.providerId]=new fi(n.value))}})).catch((function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=gT}))}bT.prototype.getQuadTreePacket=function(e,t,n){t=Object(o["a"])(t,1),e=Object(o["a"])(e,"");const i=OT(this,e,t,n),a=i.fetchArrayBuffer();if(!Object(r["a"])(a))return;const s=this._tileInfo,c=this.key;return a.then((function(t){const n=yT.scheduleTask({buffer:t,quadKey:e,type:"Metadata",key:c},[t]);return n.then((function(t){let n,i=-1;if(""!==e){i=e.length+1;const o=t[e];n=s[e],n._bits|=o._bits,delete t[e]}const o=Object.keys(t);o.sort((function(e,t){return e.length-t.length}));const r=o.length;for(let e=0;e<r;++e){const r=o[e],a=t[r];if(null!==a){const e=pT.clone(t[r]),o=r.length;if(o===i)e.setParent(n);else if(o>1){const t=s[r.substring(0,r.length-1)];e.setParent(t)}s[r]=e}else s[r]=null}}))}))},bT.prototype.populateSubtree=function(e,t,n,i){const o=bT.tileXYToQuadKey(e,t,n);return vT(this,o,i)},bT.prototype.getTileInformation=function(e,t,n){const i=bT.tileXYToQuadKey(e,t,n);return this._tileInfo[i]},bT.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};var CT=bT;function ET(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.buffer",e.buffer),i["a"].typeOf.number("options.negativeAltitudeExponentBias",e.negativeAltitudeExponentBias),i["a"].typeOf.number("options.negativeElevationThreshold",e.negativeElevationThreshold),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;const t=Object(o["a"])(e.childTileMask,15);let n=3&t;n|=4&t?8:0,n|=8&t?4:0,this._childTileMask=n,this._createdByUpsampling=Object(o["a"])(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(ET.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});const xT="createVerticesFromGoogleEarthEnterpriseBuffer",ST=new ou(xT),IT=new ou(xT,au.maximumAsynchronousTasks),DT=new Fe,jT=new Fe;ET.prototype.createMesh=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.tilingScheme",e.tilingScheme),i["a"].typeOf.number("options.x",e.x),i["a"].typeOf.number("options.y",e.y),i["a"].typeOf.number("options.level",e.level);const t=e.tilingScheme,n=e.x,a=e.y,s=e.level,c=Object(o["a"])(e.exaggeration,1),l=Object(o["a"])(e.exaggerationRelativeHeight,0),u=Object(o["a"])(e.throttle,!0),h=t.ellipsoid;t.tileXYToNativeRectangle(n,a,s,DT),t.tileXYToRectangle(n,a,s,jT);const d=h.cartographicToCartesian(Fe.center(jT)),f=40075.16,p=f/(1<<s);this._skirtHeight=Math.min(8*p,1e3);const m=u?IT:ST,_=m.scheduleTask({buffer:this._buffer,nativeRectangle:DT,rectangle:jT,relativeToCenter:d,ellipsoid:h,skirtHeight:this._skirtHeight,exaggeration:c,exaggerationRelativeHeight:l,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!Object(r["a"])(_))return;const b=this;return _.then((function(e){return b._mesh=new cu(d,new Float32Array(e.vertices),new Uint16Array(e.indices),e.indexCountWithoutSkirts,e.vertexCountWithoutSkirts,e.minimumHeight,e.maximumHeight,Tt.clone(e.boundingSphere3D),g.clone(e.occludeePointInScaledSpace),e.numberOfAttributes,Xc.clone(e.orientedBoundingBox),Ml.clone(e.encoding),e.westIndicesSouthToNorth,e.southIndicesEastToWest,e.eastIndicesNorthToSouth,e.northIndicesWestToEast),b._minimumHeight=e.minimumHeight,b._maximumHeight=e.maximumHeight,b._buffer=void 0,b._mesh}))},ET.prototype.interpolateHeight=function(e,t,n){const i=s["a"].clamp((t-e.west)/e.width,0,1),o=s["a"].clamp((n-e.south)/e.height,0,1);return Object(r["a"])(this._mesh)?BT(this,i,o):HT(this,i,o,e)};const PT=new ou("upsampleQuantizedTerrainMesh",au.maximumAsynchronousTasks);ET.prototype.upsample=function(e,t,n,o,s,c,l){i["a"].typeOf.object("tilingScheme",e),i["a"].typeOf.number("thisX",t),i["a"].typeOf.number("thisY",n),i["a"].typeOf.number("thisLevel",o),i["a"].typeOf.number("descendantX",s),i["a"].typeOf.number("descendantY",c),i["a"].typeOf.number("descendantLevel",l);const u=l-o;if(u>1)throw new a["a"]("Upsampling through more than one level at a time is not currently supported.");const h=this._mesh;if(!Object(r["a"])(this._mesh))return;const d=2*t!==s,f=2*n===c,p=e.ellipsoid,m=e.tileXYToRectangle(s,c,l),_=PT.scheduleTask({vertices:h.vertices,indices:h.indices,indexCountWithoutSkirts:h.indexCountWithoutSkirts,vertexCountWithoutSkirts:h.vertexCountWithoutSkirts,encoding:h.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:d,isNorthChild:f,childRectangle:m,ellipsoid:p});if(!Object(r["a"])(_))return;const b=this;return _.then((function(e){const t=new Uint16Array(e.vertices),n=uu.createTypedArray(t.length/3,e.indices),i=b._skirtHeight;return new of({quantizedVertices:t,indices:n,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere:Tt.clone(e.boundingSphere),orientedBoundingBox:Xc.clone(e.orientedBoundingBox),horizonOcclusionPoint:g.clone(e.horizonOcclusionPoint),westIndices:e.westIndices,southIndices:e.southIndices,eastIndices:e.eastIndices,northIndices:e.northIndices,westSkirtHeight:i,southSkirtHeight:i,eastSkirtHeight:i,northSkirtHeight:i,childTileMask:0,createdByUpsampling:!0,credits:b._credits})}))},ET.prototype.isChildAvailable=function(e,t,n,o){i["a"].typeOf.number("thisX",e),i["a"].typeOf.number("thisY",t),i["a"].typeOf.number("childX",n),i["a"].typeOf.number("childY",o);let r=2;return n!==2*e&&++r,o!==2*t&&(r-=2),0!==(this._childTileMask&1<<r)},ET.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};const RT=new Ht,MT=new Ht,NT=new Ht,LT=new g;function BT(e,t,n){const i=e._mesh,o=i.vertices,r=i.encoding,a=i.indices;for(let s=0,c=a.length;s<c;s+=3){const e=a[s],i=a[s+1],c=a[s+2],l=r.decodeTextureCoordinates(o,e,RT),u=r.decodeTextureCoordinates(o,i,MT),h=r.decodeTextureCoordinates(o,c,NT),d=Ud.computeBarycentricCoordinates(t,n,l.x,l.y,u.x,u.y,h.x,h.y,LT);if(d.x>=-1e-15&&d.y>=-1e-15&&d.z>=-1e-15){const t=r.decodeHeight(o,e),n=r.decodeHeight(o,i),a=r.decodeHeight(o,c);return d.x*t+d.y*n+d.z*a}}}const FT=Uint16Array.BYTES_PER_ELEMENT,kT=Uint32Array.BYTES_PER_ELEMENT,zT=Int32Array.BYTES_PER_ELEMENT,UT=Float32Array.BYTES_PER_ELEMENT,VT=Float64Array.BYTES_PER_ELEMENT;function HT(e,t,n,i){const o=e._buffer;let r=0,a=0,c=0;n>.5?(t>.5?(r=2,a=.5):r=3,c=.5):t>.5&&(r=1,a=.5);const l=new DataView(o);let u=0;for(let s=0;s<r;++s)u+=l.getUint32(u,!0),u+=kT;u+=kT,u+=2*VT;const h=s["a"].toRadians(180*l.getFloat64(u,!0));u+=VT;const d=s["a"].toRadians(180*l.getFloat64(u,!0));u+=VT;const f=i.width/h/2,p=i.height/d/2,m=l.getInt32(u,!0);u+=zT;const _=3*l.getInt32(u,!0);u+=zT,u+=zT;const g=new Array(m),b=new Array(m),y=new Array(m);let v;for(v=0;v<m;++v)g[v]=a+l.getUint8(u++)*f,b[v]=c+l.getUint8(u++)*p,y[v]=6371010*l.getFloat32(u,!0),u+=UT;const O=new Array(_);for(v=0;v<_;++v)O[v]=l.getUint16(u,!0),u+=FT;for(v=0;v<_;v+=3){const e=O[v],i=O[v+1],o=O[v+2],r=g[e],a=g[i],s=g[o],c=b[e],l=b[i],u=b[o],h=Ud.computeBarycentricCoordinates(t,n,r,c,a,l,s,u,LT);if(h.x>=-1e-15&&h.y>=-1e-15&&h.z>=-1e-15)return h.x*y[e]+h.y*y[i]+h.z*y[o]}}var GT=ET;const qT={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},WT=new gr;function YT(){this._terrainCache={},this._lastTidy=gr.now()}function XT(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url)&&!Object(r["a"])(e.metadata))throw new a["a"]("options.url or options.metadata is required.");let t;if(Object(r["a"])(e.metadata))t=e.metadata;else{const n=Et["a"].createIfNeeded(e.url);t=new CT(n)}this._metadata=t,this._tilingScheme=new qt({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Fe(-s["a"].PI,-s["a"].PI,s["a"].PI,s["a"].PI),ellipsoid:e.ellipsoid});let n=e.credit;"string"===typeof n&&(n=new fi(n)),this._credit=n,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new YT,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new pi["a"],this._ready=!1;const i=this;let c;this._readyPromise=t.readyPromise.then((function(e){if(!t.terrainPresent){const e=new ye["a"](`The server ${t.url} doesn't have terrain`);return c=eh.handleError(c,i,i._errorEvent,e.message,void 0,void 0,void 0,e),Promise.reject(e)}return eh.handleSuccess(c),i._ready=e,e})).catch((function(e){return c=eh.handleError(c,i,i._errorEvent,e.message,void 0,void 0,void 0,e),Promise.reject(e)}))}YT.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:gr.now()}},YT.prototype.get=function(e){const t=this._terrainCache,n=t[e];if(Object(r["a"])(n))return delete this._terrainCache[e],n.buffer},YT.prototype.tidy=function(){if(gr.now(WT),gr.secondsDifference(WT,this._lastTidy)>10){const e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){const n=t[i],o=e[n];gr.secondsDifference(WT,o.timestamp)>10&&delete e[n]}gr.clone(WT,this._lastTidy)}},Object.defineProperties(XT.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});const KT=new ou("decodeGoogleEarthEnterprisePacket");function JT(e,t,n){let i=t.getChildBitmask();if(t.terrainState===qT.PARENT){i=0;for(let t=0;t<4;++t){const o=n.getTileInformationFromQuadKey(e+t.toString());Object(r["a"])(o)&&o.hasTerrain()&&(i|=1<<t)}}return i}function ZT(e,t,n,i){return n=Object(r["a"])(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}XT.prototype.requestTileGeometry=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestTileGeometry must not be called before the terrain provider is ready.");const o=CT.tileXYToQuadKey(e,t,n),s=this._terrainCache,c=this._metadata,l=c.getTileInformationFromQuadKey(o);if(!Object(r["a"])(l))return Promise.reject(new ye["a"]("Terrain tile doesn't exist"));let u=l.terrainState;Object(r["a"])(u)||(u=l.terrainState=qT.UNKNOWN);const h=s.get(o);if(Object(r["a"])(h)){const e=c.providers[l.terrainProvider];return Promise.resolve(new GT({buffer:h,childTileMask:JT(o,l,c),credits:Object(r["a"])(e)?[e]:void 0,negativeAltitudeExponentBias:c.negativeAltitudeExponentBias,negativeElevationThreshold:c.negativeAltitudeThreshold}))}if(s.tidy(),!l.ancestorHasTerrain)return Promise.resolve(new Su({buffer:new Uint8Array(256),width:16,height:16}));if(u===qT.NONE)return Promise.reject(new ye["a"]("Terrain tile doesn't exist"));let d,f=o,p=-1;switch(u){case qT.SELF:p=l.terrainVersion;break;case qT.PARENT:f=f.substring(0,f.length-1),d=c.getTileInformationFromQuadKey(f),p=d.terrainVersion;break;case qT.UNKNOWN:l.hasTerrain()?p=l.terrainVersion:(f=f.substring(0,f.length-1),d=c.getTileInformationFromQuadKey(f),Object(r["a"])(d)&&d.hasTerrain()&&(p=d.terrainVersion));break}if(p<0)return Promise.reject(new ye["a"]("Terrain tile doesn't exist"));const m=this._terrainPromises,_=this._terrainRequests;let g,b;if(Object(r["a"])(m[f]))g=m[f],b=_[f];else{b=i;const e=ZT(this,f,p,b).fetchArrayBuffer();if(!Object(r["a"])(e))return;g=e.then((function(e){return Object(r["a"])(e)?KT.scheduleTask({buffer:e,type:"Terrain",key:c.key},[e]).then((function(e){const t=c.getTileInformationFromQuadKey(f);t.terrainState=qT.SELF,s.add(f,e[0]);const n=t.terrainProvider,i=e.length-1;for(let o=0;o<i;++o){const t=f+o.toString(),i=c.getTileInformationFromQuadKey(t);Object(r["a"])(i)&&(s.add(t,e[o+1]),i.terrainState=qT.PARENT,0===i.terrainProvider&&(i.terrainProvider=n))}})):Promise.reject(new ye["a"]("Failed to load terrain."))})),m[f]=g,_[f]=b,g=g.finally((function(){delete m[f],delete _[f]}))}return g.then((function(){const e=s.get(o);if(Object(r["a"])(e)){const t=c.providers[l.terrainProvider];return new GT({buffer:e,childTileMask:JT(o,l,c),credits:Object(r["a"])(t)?[t]:void 0,negativeAltitudeExponentBias:c.negativeAltitudeExponentBias,negativeElevationThreshold:c.negativeAltitudeThreshold})}return Promise.reject(new ye["a"]("Failed to load terrain."))})).catch((function(e){return b.state===Du["a"].CANCELLED?(i.state=b.state,Promise.reject(e)):(l.terrainState=qT.NONE,Promise.reject(e))}))},XT.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},XT.prototype.getTileDataAvailable=function(e,t,n){const i=this._metadata;let o=CT.tileXYToQuadKey(e,t,n);const a=i.getTileInformation(e,t,n);if(null===a)return!1;if(Object(r["a"])(a)){if(!a.ancestorHasTerrain)return!0;const e=a.terrainState;if(e===qT.NONE)return!1;if((!Object(r["a"])(e)||e===qT.UNKNOWN)&&(a.terrainState=qT.UNKNOWN,!a.hasTerrain())){o=o.substring(0,o.length-1);const e=i.getTileInformationFromQuadKey(o);if(!Object(r["a"])(e)||!e.hasTerrain())return!1}return!0}if(i.isValid(o)){const o=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].TERRAIN});i.populateSubtree(e,t,n,o)}return!1},XT.prototype.loadTileDataAvailability=function(e,t,n){};var $T=XT;const QT=[V,Ll],eC=QT.length,tC=Math.cos(s["a"].toRadians(30)),nC=Math.cos(s["a"].toRadians(150)),iC=0,oC=1e3;function rC(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions;if(!Object(r["a"])(t)||t.length<2)throw new a["a"]("At least two positions are required.");if(Object(r["a"])(e.arcType)&&e.arcType!==hh.GEODESIC&&e.arcType!==hh.RHUMB)throw new a["a"]("Valid options for arcType are ArcType.GEODESIC and ArcType.RHUMB.");this.width=Object(o["a"])(e.width,1),this._positions=t,this.granularity=Object(o["a"])(e.granularity,9999),this.loop=Object(o["a"])(e.loop,!1),this.arcType=Object(o["a"])(e.arcType,hh.GEODESIC),this._ellipsoid=z.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(rC.prototype,{packedLength:{get:function(){return 1+3*this._positions.length+1+1+1+z.packedLength+1+1}}}),rC.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<eC;i++)if(t instanceof QT[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};const aC=new g,sC=new g,cC=new g;function lC(e,t,n,i,o){const r=_C(i,e,0,aC),a=_C(i,e,n,sC),s=_C(i,t,0,cC),c=gC(a,r,sC),l=gC(s,r,cC);return g.cross(l,c,o),g.normalize(o,o)}const uC=new I,hC=new g,dC=new g,fC=new g;function pC(e,t,n,i,o,r,a,s,c,l,u){if(0===o)return;let h;r===hh.GEODESIC?h=new dy(e,t,a):r===hh.RHUMB&&(h=new rg(e,t,a));const d=h.surfaceDistance;if(d<o)return;const f=lC(e,t,i,a,fC),p=Math.ceil(d/o),m=d/p;let _=m;const b=p-1;let y=s.length;for(let v=0;v<b;v++){const e=h.interpolateUsingSurfaceDistance(_,uC),t=_C(a,e,n,hC),o=_C(a,e,i,dC);g.pack(f,s,y),g.pack(t,c,y),g.pack(o,l,y),u.push(e.latitude),u.push(e.longitude),y+=3,_+=m}}const mC=new I;function _C(e,t,n,i){return I.clone(t,mC),mC.height=n,I.toCartesian(mC,e,i)}function gC(e,t,n){return g.subtract(e,t,n),g.normalize(n,n),n}function bC(e,t,n,i){return i=gC(e,t,i),i=g.cross(i,n,i),i=g.normalize(i,i),i=g.cross(n,i,i),i}rC.pack=function(e,t,n){i["a"].typeOf.object("value",e),i["a"].defined("array",t);let r=Object(o["a"])(n,0);const a=e._positions,s=a.length;t[r++]=s;for(let i=0;i<s;++i){const e=a[i];g.pack(e,t,r),r+=3}return t[r++]=e.granularity,t[r++]=e.loop?1:0,t[r++]=e.arcType,z.pack(e._ellipsoid,t,r),r+=z.packedLength,t[r++]=e._projectionIndex,t[r++]=e._scene3DOnly?1:0,t},rC.unpack=function(e,t,n){i["a"].defined("array",e);let a=Object(o["a"])(t,0);const s=e[a++],c=new Array(s);for(let i=0;i<s;i++)c[i]=g.unpack(e,a),a+=3;const l=e[a++],u=1===e[a++],h=e[a++],d=z.unpack(e,a);a+=z.packedLength;const f=e[a++],p=1===e[a++];return Object(r["a"])(n)||(n=new rC({positions:c})),n._positions=c,n.granularity=l,n.loop=u,n.arcType=h,n._ellipsoid=d,n._projectionIndex=f,n._scene3DOnly=p,n};const yC=new g,vC=new g,OC=new g,wC=new g,AC=0,TC=-1;function CC(e,t,n,i,o){const r=gC(n,t,wC),a=bC(e,t,r,yC),c=bC(i,t,r,vC);if(s["a"].equalsEpsilon(g.dot(a,c),TC,s["a"].EPSILON5))return o=g.cross(r,a,o),o=g.normalize(o,o),o;o=g.add(c,a,o),o=g.normalize(o,o);const l=g.cross(r,o,OC);return g.dot(c,l)<AC&&(o=g.negate(o,o)),o}const EC=No.fromPointNormal(g.ZERO,g.UNIT_Y),xC=new g,SC=new g,IC=new g,DC=new g,jC=new g,PC=new g,RC=new I,MC=new I,NC=new I;rC.createGeometry=function(e){const t=!e._scene3DOnly;let n=e.loop;const i=e._ellipsoid,o=e.granularity,a=e.arcType,c=new QT[e._projectionIndex](i),l=iC,u=oC;let h,d;const f=e._positions,p=f.length;let m,_,b,y;2===p&&(n=!1);const v=new rg(void 0,void 0,i);let O,w,A;const T=[f[0]];for(d=0;d<p-1;d++)m=f[d],_=f[d+1],O=So.lineSegmentPlane(m,_,EC,PC),!Object(r["a"])(O)||g.equalsEpsilon(O,m,s["a"].EPSILON7)||g.equalsEpsilon(O,_,s["a"].EPSILON7)||(e.arcType===hh.GEODESIC?T.push(g.clone(O)):e.arcType===hh.RHUMB&&(A=i.cartesianToCartographic(O,RC).longitude,b=i.cartesianToCartographic(m,RC),y=i.cartesianToCartographic(_,MC),v.setEndPoints(b,y),w=v.findIntersectionWithLongitude(A,NC),O=i.cartographicToCartesian(w,PC),!Object(r["a"])(O)||g.equalsEpsilon(O,m,s["a"].EPSILON7)||g.equalsEpsilon(O,_,s["a"].EPSILON7)||T.push(g.clone(O)))),T.push(_);n&&(m=f[p-1],_=f[0],O=So.lineSegmentPlane(m,_,EC,PC),!Object(r["a"])(O)||g.equalsEpsilon(O,m,s["a"].EPSILON7)||g.equalsEpsilon(O,_,s["a"].EPSILON7)||(e.arcType===hh.GEODESIC?T.push(g.clone(O)):e.arcType===hh.RHUMB&&(A=i.cartesianToCartographic(O,RC).longitude,b=i.cartesianToCartographic(m,RC),y=i.cartesianToCartographic(_,MC),v.setEndPoints(b,y),w=v.findIntersectionWithLongitude(A,NC),O=i.cartographicToCartesian(w,PC),!Object(r["a"])(O)||g.equalsEpsilon(O,m,s["a"].EPSILON7)||g.equalsEpsilon(O,_,s["a"].EPSILON7)||T.push(g.clone(O)))));let C=T.length,E=new Array(C);for(d=0;d<C;d++){const e=I.fromCartesian(T[d],i);e.height=0,E[d]=e}if(E=z_(E,I.equalsEpsilon),C=E.length,C<2)return;const x=[],S=[],D=[],j=[];let P=xC,R=SC,M=IC,N=DC,L=jC;const B=E[0],F=E[1],k=E[C-1];for(P=_C(i,k,l,P),N=_C(i,F,l,N),R=_C(i,B,l,R),M=_C(i,B,u,M),L=n?CC(P,R,M,N,L):lC(B,F,u,i,L),g.pack(L,S,0),g.pack(R,D,0),g.pack(M,j,0),x.push(B.latitude),x.push(B.longitude),pC(B,F,l,u,o,a,i,S,D,j,x),d=1;d<C-1;++d){P=g.clone(R,P),R=g.clone(N,R);const e=E[d];_C(i,e,u,M),_C(i,E[d+1],l,N),CC(P,R,M,N,L),h=S.length,g.pack(L,S,h),g.pack(R,D,h),g.pack(M,j,h),x.push(e.latitude),x.push(e.longitude),pC(E[d],E[d+1],l,u,o,a,i,S,D,j,x)}const z=E[C-1],U=E[C-2];if(R=_C(i,z,l,R),M=_C(i,z,u,M),n){const e=E[0];P=_C(i,U,l,P),N=_C(i,e,l,N),L=CC(P,R,M,N,L)}else L=lC(U,z,u,i,L);if(h=S.length,g.pack(L,S,h),g.pack(R,D,h),g.pack(M,j,h),x.push(z.latitude),x.push(z.longitude),n){for(pC(z,B,l,u,o,a,i,S,D,j,x),h=S.length,d=0;d<3;++d)S[h+d]=S[d],D[h+d]=D[d],j[h+d]=j[d];x.push(B.latitude),x.push(B.longitude)}return SE(n,c,D,j,S,x,t)};const LC=new g,BC=new ce,FC=new $a;function kC(e,t,n,i){const o=gC(n,t,LC),r=g.dot(o,e);if(r>tC||r<nC){const t=gC(i,n,wC),o=r<nC?s["a"].PI_OVER_TWO:-s["a"].PI_OVER_TWO,a=$a.fromAxisAngle(t,o,FC),c=ce.fromQuaternion(a,BC);return ce.multiplyByVector(c,e,e),!0}return!1}const zC=new I,UC=new g,VC=new g;function HC(e,t,n,i,o){const r=I.toCartesian(t,e._ellipsoid,UC);let a=g.add(r,n,VC),c=!1;const l=e._ellipsoid;let u=l.cartesianToCartographic(a,zC);Math.abs(t.longitude-u.longitude)>s["a"].PI_OVER_TWO&&(c=!0,a=g.subtract(r,n,VC),u=l.cartesianToCartographic(a,zC)),u.height=0;const h=e.project(u,o);return o=g.subtract(h,i,o),o.z=0,o=g.normalize(o,o),c&&g.negate(o,o),o}const GC=new g,qC=new g;function WC(e,t,n,i,o,r){const a=g.subtract(t,e,GC);g.normalize(a,a);const s=n-iC;let c=g.multiplyByScalar(a,s,qC);g.add(e,c,o);const l=i-oC;c=g.multiplyByScalar(a,l,qC),g.add(t,c,r)}const YC=new g;function XC(e,t){const n=No.getPointDistance(EC,e),i=No.getPointDistance(EC,t);let o=YC;s["a"].equalsEpsilon(n,0,s["a"].EPSILON2)?(o=gC(t,e,o),g.multiplyByScalar(o,s["a"].EPSILON2,o),g.add(e,o,e)):s["a"].equalsEpsilon(i,0,s["a"].EPSILON2)&&(o=gC(e,t,o),g.multiplyByScalar(o,s["a"].EPSILON2,o),g.add(t,o,t))}function KC(e,t){const n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(s["a"].equalsEpsilon(n,s["a"].PI,s["a"].EPSILON11)){const i=s["a"].sign(t.longitude);return e.longitude=i*(n-s["a"].EPSILON11),1}if(s["a"].equalsEpsilon(i,s["a"].PI,s["a"].EPSILON11)){const n=s["a"].sign(e.longitude);return t.longitude=n*(i-s["a"].EPSILON11),2}return 0}const JC=new I,ZC=new I,$C=new g,QC=new g,eE=new g,tE=new g,nE=new g,iE=new g,oE=[JC,ZC],rE=new Fe,aE=new g,sE=new g,cE=new g,lE=new g,uE=new g,hE=new g,dE=new g,fE=new g,pE=new g,mE=new g,_E=new g,gE=new g,bE=new g,yE=new g,vE=new kf,OE=new kf,wE=new g,AE=new g,TE=new g,CE=[new Tt,new Tt],EE=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],xE=EE.length;function SE(e,t,n,i,o,r,a){let c,l;const u=t._ellipsoid,h=n.length/3-1,d=8*h,f=4*d,p=36*h,m=d>65535?new Uint32Array(p):new Uint16Array(p),_=new Float64Array(3*d),b=new Float32Array(f),y=new Float32Array(f),v=new Float32Array(f),O=new Float32Array(f),w=new Float32Array(f);let A,T,C,E;a&&(A=new Float32Array(f),T=new Float32Array(f),C=new Float32Array(f),E=new Float32Array(2*d));const x=r.length/2;let S=0;const I=JC;I.height=0;const D=ZC;D.height=0;let j=$C,P=QC;if(a)for(l=0,c=1;c<x;c++)I.latitude=r[l],I.longitude=r[l+1],D.latitude=r[l+2],D.longitude=r[l+3],j=t.project(I,j),P=t.project(D,P),S+=g.distance(j,P),l+=2;const R=i.length/3;P=g.unpack(i,0,P);let M,N=0;for(l=3,c=1;c<R;c++)j=g.clone(P,j),P=g.unpack(i,l,P),N+=g.distance(j,P),l+=3;l=3;let L=0,B=0,F=0,k=0,z=!1,U=g.unpack(n,0,tE),V=g.unpack(i,0,QC),H=g.unpack(o,0,iE);if(e){const e=g.unpack(n,n.length-6,eE);kC(H,e,U,V)&&(H=g.negate(H,H))}let G=0,q=0,W=0;for(c=0;c<h;c++){const e=g.clone(U,eE),c=g.clone(V,$C);let h,d,f,p,m=g.clone(H,nE);if(z&&(m=g.negate(m,m)),U=g.unpack(n,l,tE),V=g.unpack(i,l,QC),H=g.unpack(o,l,iE),z=kC(H,e,U,V),I.latitude=r[L],I.longitude=r[L+1],D.latitude=r[L+2],D.longitude=r[L+3],a){const e=KC(I,D);h=t.project(I,uE),d=t.project(D,hE);const n=gC(d,h,wE);n.y=Math.abs(n.y),f=dE,p=fE,0===e||g.dot(n,g.UNIT_Y)>tC?(f=HC(t,I,m,h,dE),p=HC(t,D,H,d,fE)):1===e?(p=HC(t,D,H,d,fE),f.x=0,f.y=s["a"].sign(I.longitude-Math.abs(D.longitude)),f.z=0):(f=HC(t,I,m,h,dE),p.x=0,p.y=s["a"].sign(I.longitude-D.longitude),p.z=0)}const x=g.distance(c,V),j=kf.fromCartesian(e,vE),P=g.subtract(U,e,pE),R=g.normalize(P,gE);let Y=g.subtract(c,e,mE);Y=g.normalize(Y,Y);let X=g.cross(R,Y,gE);X=g.normalize(X,X);let K=g.cross(Y,m,bE);K=g.normalize(K,K);let J=g.subtract(V,U,_E);J=g.normalize(J,J);let Z=g.cross(H,J,yE);Z=g.normalize(Z,Z);const $=x/N,Q=G/N;let ee,te,ne,ie=0,oe=0,re=0;if(a){ie=g.distance(h,d),ee=kf.fromCartesian(h,OE),te=g.subtract(d,h,wE),ne=g.normalize(te,AE);const e=ne.x;ne.x=ne.y,ne.y=-e,oe=ie/S,re=q/S}for(M=0;M<8;M++){const e=k+4*M,t=B+2*M,n=e+3,i=M<4?1:-1,o=2===M||3===M||6===M||7===M?1:-1;g.pack(j.high,b,e),b[n]=P.x,g.pack(j.low,y,e),y[n]=P.y,g.pack(K,v,e),v[n]=P.z,g.pack(Z,O,e),O[n]=$*i,g.pack(X,w,e);let r=Q*o;0===r&&o<0&&(r=9),w[n]=r,a&&(A[e]=ee.high.x,A[e+1]=ee.high.y,A[e+2]=ee.low.x,A[e+3]=ee.low.y,C[e]=-f.y,C[e+1]=f.x,C[e+2]=p.y,C[e+3]=-p.x,T[e]=te.x,T[e+1]=te.y,T[e+2]=ne.x,T[e+3]=ne.y,E[t]=oe*i,r=re*o,0===r&&o<0&&(r=9),E[t+1]=r)}const ae=cE,se=lE,ce=aE,le=sE,ue=Fe.fromCartographicArray(oE,rE),he=on.getMinimumMaximumHeights(ue,u),de=he.minimumTerrainHeight,fe=he.maximumTerrainHeight;W+=de,W+=fe,WC(e,c,de,fe,ae,ce),WC(U,V,de,fe,se,le);let pe=g.multiplyByScalar(X,s["a"].EPSILON5,TE);g.add(ae,pe,ae),g.add(se,pe,se),g.add(ce,pe,ce),g.add(le,pe,le),XC(ae,se),XC(ce,le),g.pack(ae,_,F),g.pack(se,_,F+3),g.pack(le,_,F+6),g.pack(ce,_,F+9),pe=g.multiplyByScalar(X,-2*s["a"].EPSILON5,TE),g.add(ae,pe,ae),g.add(se,pe,se),g.add(ce,pe,ce),g.add(le,pe,le),XC(ae,se),XC(ce,le),g.pack(ae,_,F+12),g.pack(se,_,F+15),g.pack(le,_,F+18),g.pack(ce,_,F+21),L+=2,l+=3,B+=16,F+=24,k+=32,G+=x,q+=ie}l=0;let Y=0;for(c=0;c<h;c++){for(M=0;M<xE;M++)m[l+M]=EE[M]+Y;Y+=8,l+=xE}const X=CE;Tt.fromVertices(n,g.ZERO,3,X[0]),Tt.fromVertices(i,g.ZERO,3,X[1]);const K=Tt.fromBoundingSpheres(X);K.radius+=W/(2*h);const J={position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,normalize:!1,values:_}),startHiAndForwardOffsetX:IE(b),startLoAndForwardOffsetY:IE(y),startNormalAndForwardOffsetZ:IE(v),endNormalAndTextureCoordinateNormalizationX:IE(O),rightNormalAndTextureCoordinateNormalizationY:IE(w)};return a&&(J.startHiLo2D=IE(A),J.offsetAndRight2D=IE(T),J.startEndNormals2D=IE(C),J.texcoordNormalization2D=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,normalize:!1,values:E})),new kh({attributes:J,indices:m,boundingSphere:K})}function IE(e){return new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}rC._projectNormal=HC;var DE=rC;function jE(e,t,n){this.heading=Object(o["a"])(e,0),this.pitch=Object(o["a"])(t,0),this.range=Object(o["a"])(n,0)}jE.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)||(t=new jE),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var PE=jE,RE=n("6a30");const ME=s["a"].factorial;function NE(e,t,n,i,o,r){let a,s,c,l=0;if(i>0){for(s=0;s<o;s++){for(a=!1,c=0;c<r.length&&!a;c++)s===r[c]&&(a=!0);a||(r.push(s),l+=NE(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return l}for(l=1,s=0;s<o;s++){for(a=!1,c=0;c<r.length&&!a;c++)s===r[c]&&(a=!0);a||(l*=e-n[t[s]])}return l}const LE={type:"Hermite",getRequiredDataPoints:function(e,t){if(t=Object(o["a"])(t,0),!Object(r["a"])(e))throw new a["a"]("degree is required.");if(e<0)throw new a["a"]("degree must be 0 or greater.");if(t<0)throw new a["a"]("inputOrder must be 0 or greater.");return Math.max(Math.floor((e+1)/(t+1)),2)},interpolateOrderZero:function(e,t,n,i,o){let a,s,c,l,u,h;Object(r["a"])(o)||(o=new Array(i));const d=t.length,f=new Array(i);for(a=0;a<i;a++){o[a]=0;const e=new Array(d);for(f[a]=e,s=0;s<d;s++)e[s]=[]}const p=d,m=new Array(p);for(a=0;a<p;a++)m[a]=a;let _=d-1;for(l=0;l<i;l++){for(s=0;s<p;s++)h=m[s]*i+l,f[l][0].push(n[h]);for(a=1;a<p;a++){let e=!1;for(s=0;s<p-a;s++){const o=t[m[s]],r=t[m[s+a]];let c;r-o<=0?(h=m[s]*i+i*a+l,c=n[h],f[l][a].push(c/ME(a))):(c=f[l][a-1][s+1]-f[l][a-1][s],f[l][a].push(c/(r-o))),e=e||0!==c}e||(_=a-1)}}for(c=0,u=0;c<=u;c++)for(a=c;a<=_;a++){const n=NE(e,m,t,c,a,[]);for(l=0;l<i;l++){const e=f[l][a][0];o[l+c*i]+=e*n}}return o}},BE=[];function FE(e,t,n,i,o,r){let a,c,l=-1;const u=t.length,h=u*(u+1)/2;for(let d=0;d<o;d++){const f=Math.floor(d*h);for(a=0;a<u;a++)c=t[a]*o*(r+1)+d,e[f+a]=i[c];for(let h=1;h<u;h++){let p=0;const m=Math.floor(h*(1-h)/2)+u*h;let _=!1;for(a=0;a<u-h;a++){const l=n[t[a]],g=n[t[a+h]];let b,y;if(g-l<=0)c=t[a]*o*(r+1)+o*h+d,b=i[c],y=b/s["a"].factorial(h),e[f+m+p]=y,p++;else{const t=Math.floor((h-1)*(2-h)/2)+u*(h-1);b=e[f+t+a+1]-e[f+t+a],y=b/(g-l),e[f+m+p]=y,p++}_=_||0!==b}_&&(l=Math.max(l,h))}}return l}LE.interpolate=function(e,t,n,i,o,a,s){const c=i*(a+1);Object(r["a"])(s)||(s=new Array(c));for(let r=0;r<c;r++)s[r]=0;const l=t.length,u=new Array(l*(o+1));let h;for(h=0;h<l;h++)for(let e=0;e<o+1;e++)u[h*(o+1)+e]=h;const d=u.length,f=BE,p=FE(f,u,t,n,i,o),m=[],_=d*(d+1)/2,g=Math.min(p,a);for(let r=0;r<=g;r++)for(h=r;h<=p;h++){m.length=0;const n=NE(e,u,t,r,h,m),o=Math.floor(h*(1-h)/2)+d*h;for(let e=0;e<i;e++){const t=Math.floor(e*_),a=f[t+o];s[e+r*i]+=a*n}}return s};var kE=LE;const zE={};function UE(e,t,n,i){if(0!==i)return;1===n&&(t.x=e-1-t.x,t.y=e-1-t.y);const o=t.x;t.x=t.y,t.y=o}zE.encode2D=function(e,t,n){const o=Math.pow(2,e);if(i["a"].typeOf.number("level",e),i["a"].typeOf.number("x",t),i["a"].typeOf.number("y",n),e<1)throw new a["a"]("Hilbert level cannot be less than 1.");if(t<0||t>=o||n<0||n>=o)throw new a["a"]("Invalid coordinates for given level.");const r={x:t,y:n};let s,c,l,u=BigInt(0);for(l=o/2;l>0;l/=2)s=(r.x&l)>0?1:0,c=(r.y&l)>0?1:0,u+=BigInt((3*s^c)*l*l),UE(o,r,s,c);return u},zE.decode2D=function(e,t){if(i["a"].typeOf.number("level",e),i["a"].typeOf.bigint("index",t),e<1)throw new a["a"]("Hilbert level cannot be less than 1.");if(t<BigInt(0)||t>=BigInt(Math.pow(4,e)))throw new a["a"]("Hilbert index exceeds valid maximum for given level.");const n=Math.pow(2,e),o={x:0,y:0};let r,s,c,l;for(c=1,l=t;c<n;c*=2)r=1&Number(l/BigInt(2)),s=1&Number(l^BigInt(r)),UE(c,o,r,s),o.x+=c*r,o.y+=c*s,l/=BigInt(4);return[o.x,o.y]};var VE=zE;function HE(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var GE=HE;const qE={},WE=32.184,YE=2451545,XE=-.0529921,KE=-.1059842,JE=13.0120009,ZE=13.3407154,$E=.9856003,QE=26.4057084,ex=13.064993,tx=.3287146,nx=1.7484877,ix=-.1589763,ox=.0036096,rx=.1643573,ax=12.9590088;let sx=new gr;qE.ComputeMoon=function(e,t){Object(r["a"])(e)||(e=gr.now()),sx=gr.addSeconds(e,WE,sx);const n=gr.totalDays(sx)-YE,i=n/Yo.DAYS_PER_JULIAN_CENTURY,o=(125.045+XE*n)*s["a"].RADIANS_PER_DEGREE,a=(250.089+KE*n)*s["a"].RADIANS_PER_DEGREE,c=(260.008+JE*n)*s["a"].RADIANS_PER_DEGREE,l=(176.625+ZE*n)*s["a"].RADIANS_PER_DEGREE,u=(357.529+$E*n)*s["a"].RADIANS_PER_DEGREE,h=(311.589+QE*n)*s["a"].RADIANS_PER_DEGREE,d=(134.963+ex*n)*s["a"].RADIANS_PER_DEGREE,f=(276.617+tx*n)*s["a"].RADIANS_PER_DEGREE,p=(34.226+nx*n)*s["a"].RADIANS_PER_DEGREE,m=(15.134+ix*n)*s["a"].RADIANS_PER_DEGREE,_=(119.743+ox*n)*s["a"].RADIANS_PER_DEGREE,g=(239.961+rx*n)*s["a"].RADIANS_PER_DEGREE,b=(25.053+ax*n)*s["a"].RADIANS_PER_DEGREE,y=Math.sin(o),v=Math.sin(a),O=Math.sin(c),w=Math.sin(l),A=Math.sin(u),T=Math.sin(h),C=Math.sin(d),E=Math.sin(f),x=Math.sin(p),S=Math.sin(m),I=Math.sin(_),D=Math.sin(g),j=Math.sin(b),P=Math.cos(o),R=Math.cos(a),M=Math.cos(c),N=Math.cos(l),L=Math.cos(u),B=Math.cos(h),F=Math.cos(d),k=Math.cos(f),z=Math.cos(p),U=Math.cos(m),V=Math.cos(_),H=Math.cos(g),G=Math.cos(b),q=(269.9949+.0031*i-3.8787*y-.1204*v+.07*O-.0172*w+.0072*T-.0052*S+.0043*j)*s["a"].RADIANS_PER_DEGREE,W=(66.5392+.013*i+1.5419*P+.0239*R-.0278*M+.0068*N-.0029*B+9e-4*F+8e-4*U-9e-4*G)*s["a"].RADIANS_PER_DEGREE,Y=(38.3213+13.17635815*n-14e-13*n*n+3.561*y+.1208*v-.0642*O+.0158*w+.0252*A-.0066*T-.0047*C-.0046*E+.0028*x+.0052*S+.004*I+.0019*D-.0044*j)*s["a"].RADIANS_PER_DEGREE,X=(13.17635815-2*n*14e-13+3.561*P*XE+.1208*R*KE-.0642*M*JE+.0158*N*ZE+.0252*L*$E-.0066*B*QE-.0047*F*ex-.0046*k*tx+.0028*z*nx+.0052*U*ix+.004*V*ox+.0019*H*rx-.0044*G*ax)/86400*s["a"].RADIANS_PER_DEGREE;return Object(r["a"])(t)||(t=new GE),t.rightAscension=q,t.declination=W,t.rotation=Y,t.rotationRate=X,t};var cx=qE;function lx(e){Object(r["a"])(e)&&"function"===typeof e||(e=cx.ComputeMoon),this._computeFunction=e}const ux=new g,hx=new g,dx=new g;function fx(e,t,n){const i=ux;i.x=Math.cos(e+s["a"].PI_OVER_TWO),i.y=Math.sin(e+s["a"].PI_OVER_TWO),i.z=0;const o=Math.cos(t),a=dx;a.x=o*Math.cos(e),a.y=o*Math.sin(e),a.z=Math.sin(t);const c=g.cross(a,i,hx);return Object(r["a"])(n)||(n=new ce),n[0]=i.x,n[1]=c.x,n[2]=a.x,n[3]=i.y,n[4]=c.y,n[5]=a.y,n[6]=i.z,n[7]=c.z,n[8]=a.z,n}const px=new ce,mx=new $a;lx.prototype.evaluate=function(e,t){Object(r["a"])(e)||(e=gr.now());const n=this._computeFunction(e),i=fx(n.rightAscension,n.declination,t),o=s["a"].zeroToTwoPi(n.rotation),a=$a.fromAxisAngle(g.UNIT_Z,o,mx),c=ce.fromQuaternion($a.conjugate(a,a),px),l=ce.multiply(c,i,i);return l};var _x=lx;const gx={type:void 0};gx.getRequiredDataPoints=a["a"].throwInstantiationError,gx.interpolateOrderZero=a["a"].throwInstantiationError,gx.interpolate=a["a"].throwInstantiationError;var bx=gx;const yx={STEP:0,LINEAR:1,CUBICSPLINE:2};var vx=Object.freeze(yx);let Ox;const wx="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5MTdhODgxYi1hNzE4LTRlYjAtOWY4Zi0yN2RjNmIxMDA3MWEiLCJpZCI6MjU5LCJpYXQiOjE2NTQwOTk1ODB9.6fgeb1wewbbv88IZBRvjGM6tqNXXc_3x0Lawo8lCt7c",Ax={};Ax.defaultAccessToken=wx,Ax.defaultServer=new Et["a"]({url:"https://api.cesium.com/"}),Ax.getDefaultTokenCredit=function(e){if(e===wx){if(!Object(r["a"])(Ox)){const e='<b> This application is using Cesium\'s default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>';Ox=new fi(e,!0)}return Ox}};var Tx=Ax;function Cx(e){i["a"].defined("url",e),this._url=Et["a"].createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(Cx.prototype,{url:{get:function(){return this._url}}}),Cx.prototype.geocode=function(e,t){i["a"].typeOf.string("query",e);const n=this._url.getDerivedResource({url:t===$A.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}});return n.fetchJson().then((function(e){return e.features.map((function(e){let t;const n=e.bbox;if(Object(r["a"])(n))t=Fe.fromDegrees(n[0],n[1],n[2],n[3]);else{const n=e.geometry.coordinates[0],i=e.geometry.coordinates[1];t=g.fromDegrees(n,i)}return{displayName:e.properties.label,destination:t}}))}))};var Ex=Cx;function xx(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.scene",e.scene);const t=Object(o["a"])(e.accessToken,Tx.defaultAccessToken),n=Et["a"].createIfNeeded(Object(o["a"])(e.server,Tx.defaultServer));n.appendForwardSlash();const a=Tx.getDefaultTokenCredit(t);Object(r["a"])(a)&&e.scene.frameState.creditDisplay.addDefaultCredit(fi.clone(a));const s=n.getDerivedResource({url:"v1/geocode"});Object(r["a"])(t)&&s.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new Ex(s)}xx.prototype.geocode=function(e,t){return this._pelias.geocode(e,t)};var Sx=xx;function Ix(e,t){let n;i["a"].defined("endpoint",e),i["a"].defined("endpointResource",t);const o=e.externalType,a=Object(r["a"])(o);if(a){if("3DTILES"!==o&&"STK_TERRAIN_SERVER"!==o)throw new ye["a"]("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");n={url:e.options.url}}else n={url:e.url,retryAttempts:1,retryCallback:Dx};Et["a"].call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=a?void 0:new Hl["a"](e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=a}function Dx(e,t){const n=Object(o["a"])(e._ionRoot,e),i=n._ionEndpointResource,a="undefined"!==typeof Image;return Object(r["a"])(t)&&(401===t.statusCode||a&&t.target instanceof Image)?(Object(r["a"])(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then((function(e){return n._ionEndpoint=e,e})).finally((function(e){return n._pendingPromise=void 0,e}))),n._pendingPromise.then((function(t){return e._ionEndpoint=t,!0}))):Promise.resolve(!1)}Object(r["a"])(Object.create)&&(Ix.prototype=Object.create(Et["a"].prototype),Ix.prototype.constructor=Ix),Ix.fromAssetId=function(e,t){const n=Ix._createEndpointResource(e,t);return n.fetchJson().then((function(e){return new Ix(e,n)}))},Object.defineProperties(Ix.prototype,{credits:{get:function(){return Object(r["a"])(this._ionRoot)?this._ionRoot.credits:(Object(r["a"])(this._credits)||(this._credits=Ix.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource)),this._credits)}}}),Ix.getCreditsFromEndpoint=function(e,t){const n=e.attributions.map(fi.getIonCredit),i=Tx.getDefaultTokenCredit(t.queryParameters.access_token);return Object(r["a"])(i)&&n.push(fi.clone(i)),n},Ix.prototype.clone=function(e){const t=Object(o["a"])(this._ionRoot,this);return Object(r["a"])(e)||(e=new Ix(t._ionEndpoint,t._ionEndpointResource)),e=Et["a"].prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e},Ix.prototype.fetchImage=function(e){if(!this._isExternal){const t=e;e={preferBlob:!0},Object(r["a"])(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Et["a"].prototype.fetchImage.call(this,e)},Ix.prototype._makeRequest=function(e){return this._isExternal||new Hl["a"](this.url).authority()!==this._ionEndpointDomain||(Object(r["a"])(e.headers)||(e.headers={}),e.headers.Authorization="Bearer "+this._ionEndpoint.accessToken),Et["a"].prototype._makeRequest.call(this,e)},Ix._createEndpointResource=function(e,t){i["a"].defined("assetId",e),t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);let n=Object(o["a"])(t.server,Tx.defaultServer);const a=Object(o["a"])(t.accessToken,Tx.defaultAccessToken);n=Et["a"].createIfNeeded(n);const s={url:`v1/assets/${e}/endpoint`};return Object(r["a"])(a)&&(s.queryParameters={access_token:a}),n.getDerivedResource(s)};var jx=Ix;function Px(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.start=Object(r["a"])(e.start)?gr.clone(e.start):new gr,this.stop=Object(r["a"])(e.stop)?gr.clone(e.stop):new gr,this.data=e.data,this.isStartIncluded=Object(o["a"])(e.isStartIncluded,!0),this.isStopIncluded=Object(o["a"])(e.isStopIncluded,!0)}Object.defineProperties(Px.prototype,{isEmpty:{get:function(){const e=gr.compare(this.stop,this.start);return e<0||0===e&&(!this.isStartIncluded||!this.isStopIncluded)}}});const Rx={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Px.fromIso8601=function(e,t){i["a"].typeOf.object("options",e),i["a"].typeOf.string("options.iso8601",e.iso8601);const n=e.iso8601.split("/");if(2!==n.length)throw new a["a"]("options.iso8601 is an invalid ISO 8601 interval.");const s=gr.fromIso8601(n[0]),c=gr.fromIso8601(n[1]),l=Object(o["a"])(e.isStartIncluded,!0),u=Object(o["a"])(e.isStopIncluded,!0),h=e.data;return Object(r["a"])(t)?(t.start=s,t.stop=c,t.isStartIncluded=l,t.isStopIncluded=u,t.data=h,t):(Rx.start=s,Rx.stop=c,Rx.isStartIncluded=l,Rx.isStopIncluded=u,Rx.data=h,new Px(Rx))},Px.toIso8601=function(e,t){return i["a"].typeOf.object("timeInterval",e),`${gr.toIso8601(e.start,t)}/${gr.toIso8601(e.stop,t)}`},Px.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Px(e)},Px.equals=function(e,t,n){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&gr.equals(e.start,t.start)&&gr.equals(e.stop,t.stop)&&(e.data===t.data||Object(r["a"])(n)&&n(e.data,t.data)))},Px.equalsEpsilon=function(e,t,n,i){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&gr.equalsEpsilon(e.start,t.start,n)&&gr.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||Object(r["a"])(i)&&i(e.data,t.data)))},Px.intersect=function(e,t,n,o){if(i["a"].typeOf.object("left",e),!Object(r["a"])(t))return Px.clone(Px.EMPTY,n);const a=e.start,s=e.stop,c=t.start,l=t.stop,u=gr.greaterThanOrEquals(c,a)&&gr.greaterThanOrEquals(s,c),h=!u&&gr.lessThanOrEquals(c,a)&&gr.lessThanOrEquals(a,l);if(!u&&!h)return Px.clone(Px.EMPTY,n);const d=e.isStartIncluded,f=e.isStopIncluded,p=t.isStartIncluded,m=t.isStopIncluded,_=gr.lessThan(s,l);return Object(r["a"])(n)||(n=new Px),n.start=u?c:a,n.isStartIncluded=d&&p||!gr.equals(c,a)&&(u&&p||h&&d),n.stop=_?s:l,n.isStopIncluded=_?f:f&&m||!gr.equals(l,s)&&m,n.data=Object(r["a"])(o)?o(e.data,t.data):e.data,n},Px.contains=function(e,t){if(i["a"].typeOf.object("timeInterval",e),i["a"].typeOf.object("julianDate",t),e.isEmpty)return!1;const n=gr.compare(e.start,t);if(0===n)return e.isStartIncluded;const o=gr.compare(t,e.stop);return 0===o?e.isStopIncluded:n<0&&o<0},Px.prototype.clone=function(e){return Px.clone(this,e)},Px.prototype.equals=function(e,t){return Px.equals(this,e,t)},Px.prototype.equalsEpsilon=function(e,t,n){return Px.equalsEpsilon(this,e,t,n)},Px.prototype.toString=function(){return Px.toIso8601(this)},Px.EMPTY=Object.freeze(new Px({start:new gr,stop:new gr,isStartIncluded:!1,isStopIncluded:!1}));var Mx=Px;const Nx=Object.freeze(gr.fromIso8601("0000-01-01T00:00:00Z")),Lx=Object.freeze(gr.fromIso8601("9999-12-31T24:00:00Z")),Bx=Object.freeze(new Mx({start:Nx,stop:Lx})),Fx={MINIMUM_VALUE:Nx,MAXIMUM_VALUE:Lx,MAXIMUM_INTERVAL:Bx};var kx=Fx;function zx(){}function Ux(){const e=zx._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then((function(){return zx._transcodeTaskProcessor}));zx._readyPromise=e}zx._transcodeTaskProcessor=new ou("transcodeKTX2",Number.POSITIVE_INFINITY),zx._readyPromise=void 0,zx.transcode=function(e,t){return i["a"].defined("supportedTargetFormats",t),Object(r["a"])(zx._readyPromise)||Ux(),zx._readyPromise.then((function(n){let i;if(e instanceof ArrayBuffer){const o=new Uint8Array(e);return i={supportedTargetFormats:t,ktx2Buffer:o},n.scheduleTask(i,[e])}return i={supportedTargetFormats:t,ktx2Buffer:e},n.scheduleTask(i,[e.buffer])})).then((function(e){const t=e.length,n=Object.keys(e[0]),i=n.length;let o;for(o=0;o<t;o++){const t=e[o];for(let e=0;e<i;e++){const i=t[n[e]];t[n[e]]=new N_(i.internalFormat,i.datatype,i.width,i.height,i.levelBuffer)}}if(1===i){for(o=0;o<t;++o)e[o]=e[o][n[0]];1===t&&(e=e[0])}return e})).catch((function(e){throw e}))};var Vx=zx;const Hx={SHIFT:0,CTRL:1,ALT:2};var Gx=Object.freeze(Hx);const qx={type:"Lagrange",getRequiredDataPoints:function(e){return Math.max(e+1,2)},interpolateOrderZero:function(e,t,n,i,o){let a,s;Object(r["a"])(o)||(o=new Array(i));const c=t.length;for(a=0;a<i;a++)o[a]=0;for(a=0;a<c;a++){let r=1;for(s=0;s<c;s++)if(s!==a){const n=t[a]-t[s];r*=(e-t[s])/n}for(s=0;s<i;s++)o[s]+=r*n[a*i+s]}return o}};var Wx=qx;const Yx={type:"Linear",getRequiredDataPoints:function(e){return 2},interpolateOrderZero:function(e,t,n,i,o){if(2!==t.length)throw new a["a"]("The xTable provided to the linear interpolator must have exactly two elements.");if(i<=0)throw new a["a"]("There must be at least 1 dependent variable for each independent variable.");let s,c,l;Object(r["a"])(o)||(o=new Array(i));const u=t[0],h=t[1];if(u===h)throw new a["a"]("Divide by zero error: xTable[0] and xTable[1] are equal");for(s=0;s<i;s++)c=n[s],l=n[s+i],o[s]=((l-c)*e+h*c-u*l)/(h-u);return o}};var Xx=Yx;function Kx(e){e=Object(o["a"])(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(Kx.prototype,{length:{get:function(){return this._length},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("length",e,0);const t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}}),Kx.prototype.get=function(e){return i["a"].typeOf.number.lessThan("index",e,this._array.length),this._array[e]},Kx.prototype.set=function(e,t){i["a"].typeOf.number("index",e),e>=this._length&&(this.length=e+1),this._array[e]=t},Kx.prototype.peek=function(){return this._array[this._length-1]},Kx.prototype.push=function(e){const t=this.length++;this._array[t]=e},Kx.prototype.pop=function(){if(0===this._length)return;const e=this._array[this._length-1];return--this.length,e},Kx.prototype.reserve=function(e){i["a"].typeOf.number.greaterThanOrEquals("length",e,0),e>this._array.length&&(this._array.length=e)},Kx.prototype.resize=function(e){i["a"].typeOf.number.greaterThanOrEquals("length",e,0),this.length=e},Kx.prototype.trim=function(e){e=Object(o["a"])(e,this._length),this._array.length=e};var Jx=Kx;function Zx(){a["a"].throwInstantiationError()}Object.defineProperties(Zx.prototype,{ellipsoid:{get:a["a"].throwInstantiationError}}),Zx.prototype.project=a["a"].throwInstantiationError,Zx.prototype.unproject=a["a"].throwInstantiationError;var $x=Zx;function Qx(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.weights,n=e.times;if(i["a"].defined("weights",t),i["a"].defined("times",n),i["a"].typeOf.number.greaterThanOrEquals("weights.length",t.length,3),t.length%n.length!==0)throw new a["a"]("times.length must be a factor of weights.length.");this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(Qx.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}}),Qx.prototype.findTimeInterval=hd.prototype.findTimeInterval,Qx.prototype.wrapTime=hd.prototype.wrapTime,Qx.prototype.clampTime=hd.prototype.clampTime,Qx.prototype.evaluate=function(e,t){const n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),a=(e-i[o])/(i[o+1]-i[o]);Object(r["a"])(t)||(t=new Array(this._count));for(let r=0;r<this._count;r++){const e=o*this._count+r;t[r]=n[e]*(1-a)+n[e+this._count]*a}return t};var eS=Qx;const tS={};function nS(e){return e=16711935&(e^e<<8),e=252645135&(e^e<<4),e=858993459&(e^e<<2),e=1431655765&(e^e<<1),e}function iS(e){return e=50331903&(e^e<<16),e=50393103&(e^e<<8),e=51130563&(e^e<<4),e=153391689&(e^e<<2),e}function oS(e){return e&=1431655765,e=858993459&(e^e>>1),e=252645135&(e^e>>2),e=16711935&(e^e>>4),e=65535&(e^e>>8),e}function rS(e){return e&=153391689,e=51130563&(e^e>>2),e=50393103&(e^e>>4),e=4278190335&(e^e>>8),e=1023&(e^e>>16),e}tS.encode2D=function(e,t){if(i["a"].typeOf.number("x",e),i["a"].typeOf.number("y",t),e<0||e>65535||t<0||t>65535)throw new a["a"]("inputs must be 16-bit unsigned integers");return(nS(e)|nS(t)<<1)>>>0},tS.decode2D=function(e,t){if(i["a"].typeOf.number("mortonIndex",e),e<0||e>4294967295)throw new a["a"]("input must be a 32-bit unsigned integer");return Object(r["a"])(t)||(t=new Array(2)),t[0]=oS(e),t[1]=oS(e>>1),t},tS.encode3D=function(e,t,n){if(i["a"].typeOf.number("x",e),i["a"].typeOf.number("y",t),i["a"].typeOf.number("z",n),e<0||e>1023||t<0||t>1023||n<0||n>1023)throw new a["a"]("inputs must be 10-bit unsigned integers");return iS(e)|iS(t)<<1|iS(n)<<2},tS.decode3D=function(e,t){if(i["a"].typeOf.number("mortonIndex",e),e<0||e>1073741823)throw new a["a"]("input must be a 30-bit unsigned integer");return Object(r["a"])(t)||(t=new Array(3)),t[0]=rS(e),t[1]=rS(e>>1),t[2]=rS(e>>2),t};var aS=tS;function sS(e,t,n,i){this.near=Object(o["a"])(e,0),this.nearValue=Object(o["a"])(t,0),this.far=Object(o["a"])(n,1),this.farValue=Object(o["a"])(i,0)}sS.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new sS(e.near,e.nearValue,e.far,e.farValue)},sS.packedLength=4,sS.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t},sS.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");return t=Object(o["a"])(t,0),Object(r["a"])(n)||(n=new sS),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n},sS.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue},sS.prototype.clone=function(e){return sS.clone(this,e)},sS.prototype.equals=function(e){return sS.equals(this,e)};var cS=sS;const lS={NONE:-1,PARTIAL:0,FULL:1};var uS=Object.freeze(lS);function hS(e,t){if(!Object(r["a"])(e))throw new a["a"]("occluderBoundingSphere is required.");if(!Object(r["a"])(t))throw new a["a"]("camera position is required.");this._occluderPosition=g.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}const dS=new g;Object.defineProperties(hS.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){if(!Object(r["a"])(e))throw new a["a"]("cameraPosition is required.");e=g.clone(e,this._cameraPosition);const t=g.subtract(this._occluderPosition,e,dS);let n=g.magnitudeSquared(t);const i=this._occluderRadius*this._occluderRadius;let o,s,c;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),s=g.multiplyByScalar(t,n,dS);const r=o*o*n;c=g.add(e,g.multiplyByScalar(s,r,dS),dS)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=s,this._horizonPlanePosition=c,this._cameraPosition=e}}}),hS.fromBoundingSphere=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("occluderBoundingSphere is required.");if(!Object(r["a"])(t))throw new a["a"]("camera position is required.");return Object(r["a"])(n)?(g.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new hS(e,t)};const fS=new g;hS.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=g.subtract(e,this._occluderPosition,fS),n=this._occluderRadius;if(n=g.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=g.subtract(e,this._cameraPosition,t),n*n>g.magnitudeSquared(t)}return!1};const pS=new g;hS.prototype.isBoundingSphereVisible=function(e){const t=g.clone(e.center,pS),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let e=g.subtract(t,this._occluderPosition,fS),i=this._occluderRadius-n;if(i=g.magnitudeSquared(e)-i*i,n<this._occluderRadius)return i>0&&(i=Math.sqrt(i)+this._horizonDistance,e=g.subtract(t,this._cameraPosition,e),i*i+n*n>g.magnitudeSquared(e));if(i>0){e=g.subtract(t,this._cameraPosition,e);const o=g.magnitudeSquared(e),r=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+r)*a>o*r||(i=Math.sqrt(i)+this._horizonDistance,i*i+a>o)}return!0}return!1};const mS=new g;hS.prototype.computeVisibility=function(e){if(!Object(r["a"])(e))throw new a["a"]("occludeeBS is required.");const t=g.clone(e.center),n=e.radius;if(n>this._occluderRadius)return uS.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let e=g.subtract(t,this._occluderPosition,mS),i=this._occluderRadius-n;const o=g.magnitudeSquared(e);if(i=o-i*i,i>0){i=Math.sqrt(i)+this._horizonDistance,e=g.subtract(t,this._cameraPosition,e);const r=g.magnitudeSquared(e);return i*i+n*n<r?uS.NONE:(i=this._occluderRadius+n,i=o-i*i,i>0?(i=Math.sqrt(i)+this._horizonDistance,r<i*i+n*n?uS.FULL:uS.PARTIAL):(e=g.subtract(t,this._horizonPlanePosition,e),g.dot(e,this._horizonPlaneNormal)>-n?uS.PARTIAL:uS.FULL))}}return uS.NONE};const _S=new g;hS.computeOccludeePoint=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("occluderBoundingSphere is required.");if(!Object(r["a"])(n))throw new a["a"]("positions is required.");if(0===n.length)throw new a["a"]("positions must contain at least one element");const i=g.clone(t),o=g.clone(e.center),s=e.radius,c=n.length;if(g.equals(o,t))throw new a["a"]("occludeePosition must be different than occluderBoundingSphere.center");const l=g.normalize(g.subtract(i,o,_S),_S),u=-g.dot(l,o),h=hS._anyRotationVector(o,l,u);let d,f=hS._horizonToPlaneNormalDotProduct(e,l,u,h,n[0]);if(!f)return;for(let r=1;r<c;++r){if(d=hS._horizonToPlaneNormalDotProduct(e,l,u,h,n[r]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;const p=s/f;return g.add(o,g.multiplyByScalar(l,p,_S),_S)};const gS=[];hS.computeOccludeePointFromRectangle=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("rectangle is required.");t=Object(o["a"])(t,z.WGS84);const n=Fe.subsample(e,t,0,gS),i=Tt.fromPoints(n),s=g.ZERO;if(!g.equals(s,i.center))return hS.computeOccludeePoint(new Tt(s,t.minimumRadius),i.center,n)};const bS=new g;hS._anyRotationVector=function(e,t,n){const i=g.abs(t,bS);let o=i.x>i.y?0:1;(0===o&&i.z>i.x||1===o&&i.z>i.y)&&(o=2);const r=new g;let a;0===o?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,a=g.UNIT_X):1===o?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,a=g.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,a=g.UNIT_Z);const s=(g.dot(t,i)+n)/-g.dot(t,a);return g.normalize(g.subtract(g.add(i,g.multiplyByScalar(a,s,r),i),e,i),i)};const yS=new g;hS._rotationVector=function(e,t,n,i,o){let r=g.subtract(i,e,yS);if(r=g.normalize(r,r),g.dot(t,r)<.9999999847691291){const e=g.cross(t,r,r),n=g.magnitude(e);if(n>s["a"].EPSILON13)return g.normalize(e,new g)}return o};const vS=new g,OS=new g,wS=new g,AS=new g;hS._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){const r=g.clone(o,vS),a=g.clone(e.center,OS),s=e.radius;let c=g.subtract(a,r,wS);const l=g.magnitudeSquared(c),u=s*s;if(l<u)return!1;const h=l-u,d=Math.sqrt(h),f=Math.sqrt(l),p=1/f,m=d*p,_=m*d;c=g.normalize(c,c);const b=g.add(r,g.multiplyByScalar(c,_,AS),AS),y=Math.sqrt(h-_*_);let v=this._rotationVector(a,t,n,r,i),O=g.fromElements(v.x*v.x*c.x+(v.x*v.y-v.z)*c.y+(v.x*v.z+v.y)*c.z,(v.x*v.y+v.z)*c.x+v.y*v.y*c.y+(v.y*v.z-v.x)*c.z,(v.x*v.z-v.y)*c.x+(v.y*v.z+v.x)*c.y+v.z*v.z*c.z,vS);O=g.normalize(O,O);const w=g.multiplyByScalar(O,y,vS);v=g.normalize(g.subtract(g.add(b,w,wS),a,wS),wS);const A=g.dot(t,v);v=g.normalize(g.subtract(g.subtract(b,w,v),a,v),v);const T=g.dot(t,v);return A<T?A:T};var TS=hS;function CS(e,t,n){e=Object(o["a"])(e,0),t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(CS.prototype,{componentDatatype:{get:function(){return $c.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}}),CS.fromCartesian3=function(e){return i["a"].defined("offset",e),new CS(e.x,e.y,e.z)},CS.toValue=function(e,t){return i["a"].defined("offset",e),Object(r["a"])(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var ES=CS,xS=n("2bb9");function SS(e,t,n){i["a"].defined("url",e),i["a"].defined("apiKey",t),Object(r["a"])(n)&&i["a"].typeOf.object("params",n),e=Et["a"].createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=Object(o["a"])(n,{})}Object.defineProperties(SS.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}}}),SS.prototype.geocode=function(e){i["a"].typeOf.string("query",e);const t=this._url.getDerivedResource({url:"json",queryParameters:Object(xS["a"])(this._params,{q:e})});return t.fetchJson().then((function(e){return e.results.map((function(e){let t;const n=e.bounds;if(Object(r["a"])(n))t=Fe.fromDegrees(n.southwest.lng,n.southwest.lat,n.northeast.lng,n.northeast.lat);else{const n=e.geometry.lat,i=e.geometry.lng;t=g.fromDegrees(n,i)}return{displayName:e.formatted,destination:t}}))}))};var IS=SS;const DS={packedLength:void 0,pack:a["a"].throwInstantiationError,unpack:a["a"].throwInstantiationError};var jS=DS;const PS={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:a["a"].throwInstantiationError,unpackInterpolationResult:a["a"].throwInstantiationError};var RS=PS;function MS(e,t,n,i,o){const r=e.measureText(t),a=!/\S/.test(t);if(!a){const a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),s=document.createElement("canvas"),c=100,l=r.width+c|0,u=3*a,h=u/2;s.width=l,s.height=u;const d=s.getContext("2d");d.font=n,d.fillStyle="white",d.fillRect(0,0,s.width+1,s.height+1),i&&(d.strokeStyle="black",d.lineWidth=e.lineWidth,d.strokeText(t,c/2,h)),o&&(d.fillStyle="black",d.fillText(t,c/2,h));const f=d.getImageData(0,0,l,u).data,p=f.length,m=4*l;let _,g,b,y;for(_=0;_<p;++_)if(255!==f[_]){b=_/m|0;break}for(_=p-1;_>=0;--_)if(255!==f[_]){y=_/m|0;break}let v=-1;for(_=0;_<l&&-1===v;++_)for(g=0;g<u;++g){const e=4*_+g*m;if(255!==f[e]||255!==f[e+1]||255!==f[e+2]||255!==f[e+3]){v=_;break}}return{width:r.width,height:y-b,ascent:h-b,descent:y-h,minx:v-c/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}let NS;function LS(e,t){if(!Object(r["a"])(e))throw new a["a"]("text is required.");if(""===e)return;t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=Object(o["a"])(t.font,"10px sans-serif"),i=Object(o["a"])(t.stroke,!1),s=Object(o["a"])(t.fill,!0),c=Object(o["a"])(t.strokeWidth,1),l=Object(o["a"])(t.backgroundColor,j_.TRANSPARENT),u=Object(o["a"])(t.padding,0),h=2*u,d=document.createElement("canvas");d.width=1,d.height=1,d.style.font=n;const f=d.getContext("2d");Object(r["a"])(NS)||(Object(r["a"])(f.imageSmoothingEnabled)?NS="imageSmoothingEnabled":Object(r["a"])(f.mozImageSmoothingEnabled)?NS="mozImageSmoothingEnabled":Object(r["a"])(f.webkitImageSmoothingEnabled)?NS="webkitImageSmoothingEnabled":Object(r["a"])(f.msImageSmoothingEnabled)&&(NS="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=c,f[NS]=!1,d.style.visibility="hidden",document.body.appendChild(d);const p=MS(f,e,n,i,s);d.dimensions=p,document.body.removeChild(d),d.style.visibility="";const m=-p.minx,_=Math.ceil(p.width)+m+h,g=p.height+h,b=g-p.ascent+u,y=g-b+h;if(d.width=_,d.height=g,f.font=n,f.lineJoin="round",f.lineWidth=c,f[NS]=!1,l!==j_.TRANSPARENT&&(f.fillStyle=l.toCssColorString(),f.fillRect(0,0,d.width,d.height)),i){const n=Object(o["a"])(t.strokeColor,j_.BLACK);f.strokeStyle=n.toCssColorString(),f.strokeText(e,m+u,y)}if(s){const n=Object(o["a"])(t.fillColor,j_.WHITE);f.fillStyle=n.toCssColorString(),f.fillText(e,m+u,y)}return d}var BS=LS;function FS(){this._cache={}}FS.prototype.fromColor=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("color is required");if(!Object(r["a"])(t))throw new a["a"]("size is required");return HS(void 0,void 0,e,t,this._cache)},FS.prototype.fromUrl=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("url is required");if(!Object(r["a"])(t))throw new a["a"]("color is required");if(!Object(r["a"])(n))throw new a["a"]("size is required");return HS(e,void 0,t,n,this._cache)},FS.prototype.fromMakiIconId=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("id is required");if(!Object(r["a"])(t))throw new a["a"]("color is required");if(!Object(r["a"])(n))throw new a["a"]("size is required");return HS(Lt(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)},FS.prototype.fromText=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("text is required");if(!Object(r["a"])(t))throw new a["a"]("color is required");if(!Object(r["a"])(n))throw new a["a"]("size is required");return HS(void 0,e,t,n,this._cache)};const kS=new j_;function zS(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,kS).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function US(e,t,n){const i=n/2.5;let o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));const a=Math.round((n-o)/2),s=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,a-1,s,o,r),e.drawImage(t,a,s-1,o,r),e.drawImage(t,a+1,s,o,r),e.drawImage(t,a,s+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=j_.BLACK.toCssColorString(),e.fillRect(a-1,s-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,a,s,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=j_.WHITE.toCssColorString(),e.fillRect(a-1,s-2,o+2,r+2)}const VS=new Array(4);function HS(e,t,n,i,o){VS[0]=e,VS[1]=t,VS[2]=n,VS[3]=i;const a=JSON.stringify(VS),s=o[a];if(Object(r["a"])(s))return s;const c=document.createElement("canvas");c.width=i,c.height=i;const l=c.getContext("2d");if(zS(l,n,i),Object(r["a"])(e)){const t=Et["a"].createIfNeeded(e),n=t.fetchImage().then((function(e){return US(l,e,i),o[a]=c,c}));return o[a]=n,n}if(Object(r["a"])(t)){const e=BS(t,{font:`bold ${i}px sans-serif`});US(l,e,i)}return o[a]=c,c}var GS=FS;const qS={UNSIGNED_BYTE:Jc.UNSIGNED_BYTE,UNSIGNED_SHORT:Jc.UNSIGNED_SHORT,UNSIGNED_INT:Jc.UNSIGNED_INT,FLOAT:Jc.FLOAT,HALF_FLOAT:Jc.HALF_FLOAT_OES,UNSIGNED_INT_24_8:Jc.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:Jc.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:Jc.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:Jc.UNSIGNED_SHORT_5_6_5,toWebGLConstant:function(e,t){switch(e){case qS.UNSIGNED_BYTE:return Jc.UNSIGNED_BYTE;case qS.UNSIGNED_SHORT:return Jc.UNSIGNED_SHORT;case qS.UNSIGNED_INT:return Jc.UNSIGNED_INT;case qS.FLOAT:return Jc.FLOAT;case qS.HALF_FLOAT:return t.webgl2?Jc.HALF_FLOAT:Jc.HALF_FLOAT_OES;case qS.UNSIGNED_INT_24_8:return Jc.UNSIGNED_INT_24_8;case qS.UNSIGNED_SHORT_4_4_4_4:return Jc.UNSIGNED_SHORT_4_4_4_4;case qS.UNSIGNED_SHORT_5_5_5_1:return Jc.UNSIGNED_SHORT_5_5_5_1;case qS.UNSIGNED_SHORT_5_6_5:return qS.UNSIGNED_SHORT_5_6_5}},isPacked:function(e){return e===qS.UNSIGNED_INT_24_8||e===qS.UNSIGNED_SHORT_4_4_4_4||e===qS.UNSIGNED_SHORT_5_5_5_1||e===qS.UNSIGNED_SHORT_5_6_5},sizeInBytes:function(e){switch(e){case qS.UNSIGNED_BYTE:return 1;case qS.UNSIGNED_SHORT:case qS.UNSIGNED_SHORT_4_4_4_4:case qS.UNSIGNED_SHORT_5_5_5_1:case qS.UNSIGNED_SHORT_5_6_5:case qS.HALF_FLOAT:return 2;case qS.UNSIGNED_INT:case qS.FLOAT:case qS.UNSIGNED_INT_24_8:return 4}},validate:function(e){return e===qS.UNSIGNED_BYTE||e===qS.UNSIGNED_SHORT||e===qS.UNSIGNED_INT||e===qS.FLOAT||e===qS.HALF_FLOAT||e===qS.UNSIGNED_INT_24_8||e===qS.UNSIGNED_SHORT_4_4_4_4||e===qS.UNSIGNED_SHORT_5_5_5_1||e===qS.UNSIGNED_SHORT_5_6_5}};var WS=Object.freeze(qS);const YS={DEPTH_COMPONENT:Jc.DEPTH_COMPONENT,DEPTH_STENCIL:Jc.DEPTH_STENCIL,ALPHA:Jc.ALPHA,RGB:Jc.RGB,RGBA:Jc.RGBA,LUMINANCE:Jc.LUMINANCE,LUMINANCE_ALPHA:Jc.LUMINANCE_ALPHA,RGB_DXT1:Jc.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:Jc.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:Jc.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:Jc.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:Jc.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:Jc.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:Jc.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:Jc.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:Jc.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:Jc.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:Jc.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:Jc.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:Jc.COMPRESSED_RGBA_BPTC_UNORM,componentsLength:function(e){switch(e){case YS.RGB:return 3;case YS.RGBA:return 4;case YS.LUMINANCE_ALPHA:return 2;case YS.ALPHA:case YS.LUMINANCE:return 1;default:return 1}},validate:function(e){return e===YS.DEPTH_COMPONENT||e===YS.DEPTH_STENCIL||e===YS.ALPHA||e===YS.RGB||e===YS.RGBA||e===YS.LUMINANCE||e===YS.LUMINANCE_ALPHA||e===YS.RGB_DXT1||e===YS.RGBA_DXT1||e===YS.RGBA_DXT3||e===YS.RGBA_DXT5||e===YS.RGB_PVRTC_4BPPV1||e===YS.RGB_PVRTC_2BPPV1||e===YS.RGBA_PVRTC_4BPPV1||e===YS.RGBA_PVRTC_2BPPV1||e===YS.RGBA_ASTC||e===YS.RGB_ETC1||e===YS.RGB8_ETC2||e===YS.RGBA8_ETC2_EAC||e===YS.RGBA_BC7},isColorFormat:function(e){return e===YS.ALPHA||e===YS.RGB||e===YS.RGBA||e===YS.LUMINANCE||e===YS.LUMINANCE_ALPHA},isDepthFormat:function(e){return e===YS.DEPTH_COMPONENT||e===YS.DEPTH_STENCIL},isCompressedFormat:function(e){return e===YS.RGB_DXT1||e===YS.RGBA_DXT1||e===YS.RGBA_DXT3||e===YS.RGBA_DXT5||e===YS.RGB_PVRTC_4BPPV1||e===YS.RGB_PVRTC_2BPPV1||e===YS.RGBA_PVRTC_4BPPV1||e===YS.RGBA_PVRTC_2BPPV1||e===YS.RGBA_ASTC||e===YS.RGB_ETC1||e===YS.RGB8_ETC2||e===YS.RGBA8_ETC2_EAC||e===YS.RGBA_BC7},isDXTFormat:function(e){return e===YS.RGB_DXT1||e===YS.RGBA_DXT1||e===YS.RGBA_DXT3||e===YS.RGBA_DXT5},isPVRTCFormat:function(e){return e===YS.RGB_PVRTC_4BPPV1||e===YS.RGB_PVRTC_2BPPV1||e===YS.RGBA_PVRTC_4BPPV1||e===YS.RGBA_PVRTC_2BPPV1},isASTCFormat:function(e){return e===YS.RGBA_ASTC},isETC1Format:function(e){return e===YS.RGB_ETC1},isETC2Format:function(e){return e===YS.RGB8_ETC2||e===YS.RGBA8_ETC2_EAC},isBC7Format:function(e){return e===YS.RGBA_BC7},compressedTextureSizeInBytes:function(e,t,n){switch(e){case YS.RGB_DXT1:case YS.RGBA_DXT1:case YS.RGB_ETC1:case YS.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case YS.RGBA_DXT3:case YS.RGBA_DXT5:case YS.RGBA_ASTC:case YS.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case YS.RGB_PVRTC_4BPPV1:case YS.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case YS.RGB_PVRTC_2BPPV1:case YS.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case YS.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}},textureSizeInBytes:function(e,t,n,i){let o=YS.componentsLength(e);return WS.isPacked(t)&&(o=1),o*WS.sizeInBytes(t)*n*i},alignmentInBytes:function(e,t,n){const i=YS.textureSizeInBytes(e,t,n,1)%4;return 0===i?4:2===i?2:1},createTypedArray:function(e,t,n,i){let o;const r=WS.sizeInBytes(t);o=r===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:r===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:r===Float32Array.BYTES_PER_ELEMENT&&t===WS.FLOAT?Float32Array:Uint32Array;const a=YS.componentsLength(e)*n*i;return new o(a)},flipY:function(e,t,n,i,o){if(1===o)return e;const r=YS.createTypedArray(t,n,i,o),a=YS.componentsLength(t),s=i*a;for(let c=0;c<o;++c){const t=c*i*a,n=(o-c-1)*i*a;for(let i=0;i<s;++i)r[n+i]=e[t+i]}return r},toInternalFormat:function(e,t,n){if(!n.webgl2)return e;if(e===YS.DEPTH_STENCIL)return Jc.DEPTH24_STENCIL8;if(e===YS.DEPTH_COMPONENT){if(t===WS.UNSIGNED_SHORT)return Jc.DEPTH_COMPONENT16;if(t===WS.UNSIGNED_INT)return Jc.DEPTH_COMPONENT24}if(t===WS.FLOAT)switch(e){case YS.RGBA:return Jc.RGBA32F;case YS.RGB:return Jc.RGB32F;case YS.RG:return Jc.RG32F;case YS.R:return Jc.R32F}if(t===WS.HALF_FLOAT)switch(e){case YS.RGBA:return Jc.RGBA16F;case YS.RGB:return Jc.RGB16F;case YS.RG:return Jc.RG16F;case YS.R:return Jc.R16F}return e}};var XS=Object.freeze(YS);function KS(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.vertexFormat,Yh.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}KS.packedLength=Yh.packedLength,KS.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),Yh.pack(e._vertexFormat,t,n),t};const JS=new Yh,ZS={vertexFormat:JS};KS.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=Yh.unpack(e,t,JS);return Object(r["a"])(n)?(n._vertexFormat=Yh.clone(a,n._vertexFormat),n):new KS(ZS)};const $S=new g(-.5,-.5,0),QS=new g(.5,.5,0);KS.createGeometry=function(e){const t=e._vertexFormat,n=new Hh;let i,o;if(t.position){if(o=new Float64Array(12),o[0]=$S.x,o[1]=$S.y,o[2]=0,o[3]=QS.x,o[4]=$S.y,o[5]=0,o[6]=QS.x,o[7]=QS.y,o[8]=0,o[9]=$S.x,o[10]=QS.y,o[11]=0,n.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){const e=new Float32Array(12);e[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=1,e[9]=0,e[10]=0,e[11]=1,n.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}if(t.st){const e=new Float32Array(8);e[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=1,e[5]=1,e[6]=0,e[7]=1,n.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:e})}if(t.tangent){const e=new Float32Array(12);e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=1,e[7]=0,e[8]=0,e[9]=1,e[10]=0,e[11]=0,n.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}if(t.bitangent){const e=new Float32Array(12);e[0]=0,e[1]=1,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=1,e[8]=0,e[9]=0,e[10]=1,e[11]=0,n.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}i=new Uint16Array(6),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new kh({attributes:n,indices:i,primitiveType:xh.TRIANGLES,boundingSphere:new Tt(g.ZERO,Math.sqrt(2))})};var eI=KS;function tI(){this._workerName="createPlaneOutlineGeometry"}tI.packedLength=0,tI.pack=function(e,t){return i["a"].defined("value",e),i["a"].defined("array",t),t},tI.unpack=function(e,t,n){return i["a"].defined("array",e),Object(r["a"])(n)?n:new tI};const nI=new g(-.5,-.5,0),iI=new g(.5,.5,0);tI.createGeometry=function(){const e=new Hh,t=new Uint16Array(8),n=new Float64Array(12);return n[0]=nI.x,n[1]=nI.y,n[2]=nI.z,n[3]=iI.x,n[4]=nI.y,n[5]=nI.z,n[6]=iI.x,n[7]=iI.y,n[8]=nI.z,n[9]=nI.x,n[10]=iI.y,n[11]=nI.z,e.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new kh({attributes:e,indices:t,primitiveType:xh.LINES,boundingSphere:new Tt(g.ZERO,Math.sqrt(2))})};var oI=tI;const rI=new I,aI=new I;function sI(e,t,n,i){const o=i.cartesianToCartographic(e,rI),r=o.height,a=i.cartesianToCartographic(t,aI);a.height=r,i.cartographicToCartesian(a,t);const s=i.cartesianToCartographic(n,aI);s.height=r-100,i.cartographicToCartesian(s,n)}const cI=new Oh,lI=new g,uI=new g,hI=new g,dI=new g,fI=new g,pI=new g;let mI=new g,_I=new g,gI=new g;const bI=new Ht,yI=new Ht,vI=new g,OI=new $a,wI=new ce,AI=new ce;function TI(e){const t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,a=Object(r["a"])(n.attributes.st)?n.attributes.st.values:void 0;let c=o.length;const l=e.wall,u=e.top||l,h=e.bottom||l;if(t.st||t.normal||t.tangent||t.bitangent||i){const d=e.boundingRectangle,f=e.tangentPlane,p=e.ellipsoid,m=e.stRotation,_=e.perPositionHeight,b=bI;b.x=d.x,b.y=d.y;const y=t.st?new Float32Array(c/3*2):void 0;let v;t.normal&&(v=_&&u&&!l?n.attributes.normal.values:new Float32Array(c));const O=t.tangent?new Float32Array(c):void 0,w=t.bitangent?new Float32Array(c):void 0,A=i?new Float32Array(c):void 0;let T=0,C=0,E=uI,x=hI,S=dI,I=!0,D=wI,j=AI;if(0!==m){let e=$a.fromAxisAngle(f._plane.normal,m,OI);D=ce.fromQuaternion(e,D),e=$a.fromAxisAngle(f._plane.normal,-m,OI),j=ce.fromQuaternion(e,j)}else D=ce.clone(ce.IDENTITY,D),j=ce.clone(ce.IDENTITY,j);let P=0,R=0;u&&h&&(P=c/2,R=c/3,c/=2);for(let n=0;n<c;n+=3){const m=g.fromArray(o,n,vI);if(t.st&&!Object(r["a"])(a)){let e=ce.multiplyByVector(D,m,lI);e=p.scaleToGeodeticSurface(e,e);const t=f.projectPointOntoPlane(e,yI);Ht.subtract(t,b,t);const n=s["a"].clamp(t.x/d.width,0,1),i=s["a"].clamp(t.y/d.height,0,1);h&&(y[T+R]=n,y[T+1+R]=i),u&&(y[T]=n,y[T+1]=i),T+=2}if(t.normal||t.tangent||t.bitangent||i){const r=C+1,a=C+2;if(l){if(n+3<c){const e=g.fromArray(o,n+3,fI);if(I){const t=g.fromArray(o,n+c,pI);_&&sI(m,e,t,p),g.subtract(e,m,e),g.subtract(t,m,t),E=g.normalize(g.cross(t,e,E),E),I=!1}g.equalsEpsilon(e,m,s["a"].EPSILON10)&&(I=!0)}(t.tangent||t.bitangent)&&(S=p.geodeticSurfaceNormal(m,S),t.tangent&&(x=g.normalize(g.cross(S,E,x),x)))}else E=p.geodeticSurfaceNormal(m,E),(t.tangent||t.bitangent)&&(_&&(mI=g.fromArray(v,C,mI),_I=g.cross(g.UNIT_Z,mI,_I),_I=g.normalize(ce.multiplyByVector(j,_I,_I),_I),t.bitangent&&(gI=g.normalize(g.cross(mI,_I,gI),gI))),x=g.cross(g.UNIT_Z,E,x),x=g.normalize(ce.multiplyByVector(j,x,x),x),t.bitangent&&(S=g.normalize(g.cross(E,x,S),S)));t.normal&&(e.wall?(v[C+P]=E.x,v[r+P]=E.y,v[a+P]=E.z):h&&(v[C+P]=-E.x,v[r+P]=-E.y,v[a+P]=-E.z),(u&&!_||l)&&(v[C]=E.x,v[r]=E.y,v[a]=E.z)),i&&(l&&(E=p.geodeticSurfaceNormal(m,E)),A[C+P]=-E.x,A[r+P]=-E.y,A[a+P]=-E.z),t.tangent&&(e.wall?(O[C+P]=x.x,O[r+P]=x.y,O[a+P]=x.z):h&&(O[C+P]=-x.x,O[r+P]=-x.y,O[a+P]=-x.z),u&&(_?(O[C]=_I.x,O[r]=_I.y,O[a]=_I.z):(O[C]=x.x,O[r]=x.y,O[a]=x.z))),t.bitangent&&(h&&(w[C+P]=S.x,w[r+P]=S.y,w[a+P]=S.z),u&&(_?(w[C]=gI.x,w[r]=gI.y,w[a]=gI.z):(w[C]=S.x,w[r]=S.y,w[a]=S.z))),C+=3}}t.st&&!Object(r["a"])(a)&&(n.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:y})),t.normal&&(n.attributes.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:v})),t.tangent&&(n.attributes.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:O})),t.bitangent&&(n.attributes.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:w})),i&&(n.attributes.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:A}))}if(e.extrude&&Object(r["a"])(e.offsetAttribute)){const t=o.length/3;let i=new Uint8Array(t);if(e.offsetAttribute===qh.TOP)u&&h||l?i=Ah(i,1,0,t/2):u&&(i=Ah(i,1));else{const t=e.offsetAttribute===qh.NONE?0:1;i=Ah(i,t)}n.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:i})}return n}const CI=new I,EI=new I,xI={westOverIDL:0,eastOverIDL:0};let SI=new dy;function II(e,t,n,i,a){if(a=Object(o["a"])(a,new Fe),!Object(r["a"])(e)||e.length<3)return a.west=0,a.north=0,a.south=0,a.east=0,a;if(n===hh.RHUMB)return Fe.fromCartesianArray(e,t,a);SI.ellipsoid.equals(t)||(SI=new dy(void 0,void 0,t)),a.west=Number.POSITIVE_INFINITY,a.east=Number.NEGATIVE_INFINITY,a.south=Number.POSITIVE_INFINITY,a.north=Number.NEGATIVE_INFINITY,xI.westOverIDL=Number.POSITIVE_INFINITY,xI.eastOverIDL=Number.NEGATIVE_INFINITY;const c=1/s["a"].chordLength(i,t.maximumRadius),l=e.length;let u,h=t.cartesianToCartographic(e[0],EI),d=CI;for(let o=1;o<l;o++)u=d,d=h,h=t.cartesianToCartographic(e[o],u),SI.setEndPoints(d,h),jI(SI,c,a,xI);return u=d,d=h,h=t.cartesianToCartographic(e[0],u),SI.setEndPoints(d,h),jI(SI,c,a,xI),a.east-a.west>xI.eastOverIDL-xI.westOverIDL&&(a.west=xI.westOverIDL,a.east=xI.eastOverIDL,a.east>s["a"].PI&&(a.east=a.east-s["a"].TWO_PI),a.west>s["a"].PI&&(a.west=a.west-s["a"].TWO_PI)),a}const DI=new I;function jI(e,t,n,i){const o=e.surfaceDistance,r=Math.ceil(o*t),a=r>0?o/(r-1):Number.POSITIVE_INFINITY;let c=0;for(let l=0;l<r;l++){const t=e.interpolateUsingSurfaceDistance(c,DI);c+=a;const o=t.longitude,r=t.latitude;n.west=Math.min(n.west,o),n.east=Math.max(n.east,o),n.south=Math.min(n.south,r),n.north=Math.max(n.north,r);const l=o>=0?o:o+s["a"].TWO_PI;i.westOverIDL=Math.min(i.westOverIDL,l),i.eastOverIDL=Math.max(i.eastOverIDL,l)}}const PI=[];function RI(e,t,n,i,o,a,s,c,l,u){const h={walls:[]};let d;if(s||c){const o=jb.createGeometryFromPositions(e,t,n,i,a,l,u),f=o.attributes.position.values,p=o.indices;let m,_;if(s&&c){const e=f.concat(f);m=e.length/3,_=uu.createTypedArray(m,2*p.length),_.set(p);const t=p.length,i=m/2;for(d=0;d<t;d+=3){const e=_[d]+i,n=_[d+1]+i,o=_[d+2]+i;_[d+t]=o,_[d+1+t]=n,_[d+2+t]=e}if(o.attributes.position.values=e,a&&l.normal){const t=o.attributes.normal.values;o.attributes.normal.values=new Float32Array(e.length),o.attributes.normal.values.set(t)}if(l.st&&Object(r["a"])(n)){const e=o.attributes.st.values;o.attributes.st.values=new Float32Array(2*m),o.attributes.st.values=e.concat(e)}o.indices=_}else if(c){for(m=f.length/3,_=uu.createTypedArray(m,p.length),d=0;d<p.length;d+=3)_[d]=p[d+2],_[d+1]=p[d+1],_[d+2]=p[d];o.indices=_}h.topAndBottom=new Df({geometry:o})}let f=o.outerRing,p=Js.fromPoints(f,e),m=p.projectPointsOntoPlane(f,PI),_=ab.computeWindingOrder2D(m);_===Ug.CLOCKWISE&&(f=f.slice().reverse());let g=jb.computeWallGeometry(f,n,e,i,a,u);h.walls.push(new Df({geometry:g}));const b=o.holes;for(d=0;d<b.length;d++){let t=b[d];p=Js.fromPoints(t,e),m=p.projectPointsOntoPlane(t,PI),_=ab.computeWindingOrder2D(m),_===Ug.COUNTER_CLOCKWISE&&(t=t.slice().reverse()),g=jb.computeWallGeometry(t,n,e,i,a,u),h.walls.push(new Df({geometry:g}))}return h}function MI(e){if(i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.polygonHierarchy",e.polygonHierarchy),Object(r["a"])(e.perPositionHeight)&&e.perPositionHeight&&Object(r["a"])(e.height))throw new a["a"]("Cannot use both options.perPositionHeight and options.height");if(Object(r["a"])(e.arcType)&&e.arcType!==hh.GEODESIC&&e.arcType!==hh.RHUMB)throw new a["a"]("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");const t=e.polygonHierarchy,n=Object(o["a"])(e.vertexFormat,Yh.DEFAULT),c=Object(o["a"])(e.ellipsoid,z.WGS84),l=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),u=Object(o["a"])(e.stRotation,0),h=e.textureCoordinates,d=Object(o["a"])(e.perPositionHeight,!1),f=d&&Object(r["a"])(e.extrudedHeight);let p=Object(o["a"])(e.height,0),m=Object(o["a"])(e.extrudedHeight,p);if(!f){const e=Math.max(p,m);m=Math.min(p,m),p=e}this._vertexFormat=Yh.clone(n),this._ellipsoid=z.clone(c),this._granularity=l,this._stRotation=u,this._height=p,this._extrudedHeight=m,this._closeTop=Object(o["a"])(e.closeTop,!0),this._closeBottom=Object(o["a"])(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=d,this._perPositionHeightExtrude=f,this._shadowVolume=Object(o["a"])(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=Object(o["a"])(e.arcType,hh.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=h,this.packedLength=jb.computeHierarchyPackedLength(t,g)+z.packedLength+Yh.packedLength+(h?jb.computeHierarchyPackedLength(h,Ht):1)+12}MI.fromPositions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.positions",e.positions);const t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new MI(t)},MI.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),n=jb.packPolygonHierarchy(e._polygonHierarchy,t,n,g),z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=Object(o["a"])(e._offsetAttribute,-1),t[n++]=e._arcType,Object(r["a"])(e._textureCoordinates)?n=jb.packPolygonHierarchy(e._textureCoordinates,t,n,Ht):t[n++]=-1,t[n++]=e.packedLength,t};const NI=z.clone(z.UNIT_SPHERE),LI=new Yh,BI={polygonHierarchy:{}};function FI(e){const t=-e._stRotation;if(0===t)return[0,0,0,1,1,0];const n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return kh._textureCoordinateRotationPoints(i,t,n,o)}MI.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=jb.unpackPolygonHierarchy(e,t,g);t=a.startingIndex,delete a.startingIndex;const s=z.unpack(e,t,NI);t+=z.packedLength;const c=Yh.unpack(e,t,LI);t+=Yh.packedLength;const l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=1===e[t++],p=1===e[t++],m=1===e[t++],_=1===e[t++],b=1===e[t++],y=e[t++],v=e[t++],O=-1===e[t]?void 0:jb.unpackPolygonHierarchy(e,t,Ht);Object(r["a"])(O)?(t=O.startingIndex,delete O.startingIndex):t++;const w=e[t++];return Object(r["a"])(n)||(n=new MI(BI)),n._polygonHierarchy=a,n._ellipsoid=z.clone(s,n._ellipsoid),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._height=l,n._extrudedHeight=u,n._granularity=h,n._stRotation=d,n._perPositionHeightExtrude=f,n._perPositionHeight=p,n._closeTop=m,n._closeBottom=_,n._shadowVolume=b,n._offsetAttribute=-1===y?void 0:y,n._arcType=v,n._textureCoordinates=O,n.packedLength=w,n},MI.computeRectangle=function(e,t){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.polygonHierarchy",e.polygonHierarchy);const n=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),r=Object(o["a"])(e.arcType,hh.GEODESIC);if(r!==hh.GEODESIC&&r!==hh.RHUMB)throw new a["a"]("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");const c=e.polygonHierarchy,l=Object(o["a"])(e.ellipsoid,z.WGS84);return II(c.positions,l,r,n,t)},MI.createGeometry=function(e){const t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,a=e._polygonHierarchy,c=e._perPositionHeight,l=e._closeTop,u=e._closeBottom,h=e._arcType,d=e._textureCoordinates,f=Object(r["a"])(d);let p=a.positions;if(p.length<3)return;const m=Js.fromPoints(p,n),_=jb.polygonsFromHierarchy(a,f,m.projectPointsOntoPlane.bind(m),!c,n),g=_.hierarchy,b=_.polygons,y=function(e){return e},v=f?jb.polygonsFromHierarchy(d,!0,y,!1).polygons:void 0;if(0===g.length)return;p=g[0].outerRing;const O=jb.computeBoundingRectangle(m.plane.normal,m.projectPointOntoPlane.bind(m),p,o,cI),w=[],A=e._height,T=e._extrudedHeight,C=e._perPositionHeightExtrude||!s["a"].equalsEpsilon(A,T,0,s["a"].EPSILON2),E={perPositionHeight:c,vertexFormat:t,geometry:void 0,tangentPlane:m,boundingRectangle:O,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:h};let x;if(C)for(E.extrude=!0,E.top=l,E.bottom=u,E.shadowVolume=e._shadowVolume,E.offsetAttribute=e._offsetAttribute,x=0;x<b.length;x++){const e=RI(n,b[x],f?v[x]:void 0,i,g[x],c,l,u,t,h);let o;l&&u?(o=e.topAndBottom,E.geometry=jb.scaleToGeodeticHeightExtruded(o.geometry,A,T,n,c)):l?(o=e.topAndBottom,o.geometry.attributes.position.values=ab.scaleToGeodeticHeight(o.geometry.attributes.position.values,A,n,!c),E.geometry=o.geometry):u&&(o=e.topAndBottom,o.geometry.attributes.position.values=ab.scaleToGeodeticHeight(o.geometry.attributes.position.values,T,n,!0),E.geometry=o.geometry),(l||u)&&(E.wall=!1,o.geometry=TI(E),w.push(o));const r=e.walls;E.wall=!0;for(let t=0;t<r.length;t++){const e=r[t];E.geometry=jb.scaleToGeodeticHeightExtruded(e.geometry,A,T,n,c),e.geometry=TI(E),w.push(e)}}else for(x=0;x<b.length;x++){const o=new Df({geometry:jb.createGeometryFromPositions(n,b[x],f?v[x]:void 0,i,c,t,h)});if(o.geometry.attributes.position.values=ab.scaleToGeodeticHeight(o.geometry.attributes.position.values,A,n,!c),E.geometry=o.geometry,o.geometry=TI(E),Object(r["a"])(e._offsetAttribute)){const t=o.geometry.attributes.position.values.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),o.geometry.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}w.push(o)}const S=_m.combineInstances(w)[0];S.attributes.position.values=new Float64Array(S.attributes.position.values),S.indices=uu.createTypedArray(S.attributes.position.values.length/3,S.indices);const I=S.attributes,D=Tt.fromVertices(I.position.values);return t.position||delete I.position,new kh({attributes:I,indices:S.indices,primitiveType:S.primitiveType,boundingSphere:D,offsetAttribute:e._offsetAttribute})},MI.createShadowVolume=function(e,t,n){const i=e._granularity,o=e._ellipsoid,r=t(i,o),a=n(i,o);return new MI({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:a,vertexFormat:Yh.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})},Object.defineProperties(MI.prototype,{rectangle:{get:function(){if(!Object(r["a"])(this._rectangle)){const e=this._polygonHierarchy.positions;this._rectangle=II(e,this._ellipsoid,this._arcType,this._granularity)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return Object(r["a"])(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=FI(this)),this._textureCoordinateRotationPoints}}});var kI=MI;function zI(e,t){this.positions=Object(r["a"])(e)?e:[],this.holes=Object(r["a"])(t)?t:[]}var UI=zI;const VI=[],HI=[];function GI(e,t,n,i,o){const r=Js.fromPoints(t,e),a=r.projectPointsOntoPlane(t,VI),s=ab.computeWindingOrder2D(a);let c,l;s===Ug.CLOCKWISE&&(a.reverse(),t=t.slice().reverse());let u=t.length,h=0;if(i)for(c=new Float64Array(2*u*3),l=0;l<u;l++){const e=t[l],n=t[(l+1)%u];c[h++]=e.x,c[h++]=e.y,c[h++]=e.z,c[h++]=n.x,c[h++]=n.y,c[h++]=n.z}else{let i=0;if(o===hh.GEODESIC)for(l=0;l<u;l++)i+=jb.subdivideLineCount(t[l],t[(l+1)%u],n);else if(o===hh.RHUMB)for(l=0;l<u;l++)i+=jb.subdivideRhumbLineCount(e,t[l],t[(l+1)%u],n);for(c=new Float64Array(3*i),l=0;l<u;l++){let i;o===hh.GEODESIC?i=jb.subdivideLine(t[l],t[(l+1)%u],n,HI):o===hh.RHUMB&&(i=jb.subdivideRhumbLine(e,t[l],t[(l+1)%u],n,HI));const r=i.length;for(let e=0;e<r;++e)c[h++]=i[e]}}u=c.length/3;const d=2*u,f=uu.createTypedArray(u,d);for(h=0,l=0;l<u-1;l++)f[h++]=l,f[h++]=l+1;return f[h++]=u-1,f[h++]=0,new Df({geometry:new kh({attributes:new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:c})}),indices:f,primitiveType:xh.LINES})})}function qI(e,t,n,i,o){const r=Js.fromPoints(t,e),a=r.projectPointsOntoPlane(t,VI),s=ab.computeWindingOrder2D(a);let c,l;s===Ug.CLOCKWISE&&(a.reverse(),t=t.slice().reverse());let u=t.length;const h=new Array(u);let d=0;if(i)for(c=new Float64Array(2*u*3*2),l=0;l<u;++l){h[l]=d/3;const e=t[l],n=t[(l+1)%u];c[d++]=e.x,c[d++]=e.y,c[d++]=e.z,c[d++]=n.x,c[d++]=n.y,c[d++]=n.z}else{let i=0;if(o===hh.GEODESIC)for(l=0;l<u;l++)i+=jb.subdivideLineCount(t[l],t[(l+1)%u],n);else if(o===hh.RHUMB)for(l=0;l<u;l++)i+=jb.subdivideRhumbLineCount(e,t[l],t[(l+1)%u],n);for(c=new Float64Array(3*i*2),l=0;l<u;++l){let i;h[l]=d/3,o===hh.GEODESIC?i=jb.subdivideLine(t[l],t[(l+1)%u],n,HI):o===hh.RHUMB&&(i=jb.subdivideRhumbLine(e,t[l],t[(l+1)%u],n,HI));const r=i.length;for(let e=0;e<r;++e)c[d++]=i[e]}}u=c.length/6;const f=h.length,p=2*(2*u+f),m=uu.createTypedArray(u+f,p);for(d=0,l=0;l<u;++l)m[d++]=l,m[d++]=(l+1)%u,m[d++]=l+u,m[d++]=(l+1)%u+u;for(l=0;l<f;l++){const e=h[l];m[d++]=e,m[d++]=e+u}return new Df({geometry:new kh({attributes:new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:c})}),indices:m,primitiveType:xh.LINES})})}function WI(e){if(i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.polygonHierarchy",e.polygonHierarchy),e.perPositionHeight&&Object(r["a"])(e.height))throw new a["a"]("Cannot use both options.perPositionHeight and options.height");if(Object(r["a"])(e.arcType)&&e.arcType!==hh.GEODESIC&&e.arcType!==hh.RHUMB)throw new a["a"]("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");const t=e.polygonHierarchy,n=Object(o["a"])(e.ellipsoid,z.WGS84),c=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),l=Object(o["a"])(e.perPositionHeight,!1),u=l&&Object(r["a"])(e.extrudedHeight),h=Object(o["a"])(e.arcType,hh.GEODESIC);let d=Object(o["a"])(e.height,0),f=Object(o["a"])(e.extrudedHeight,d);if(!u){const e=Math.max(d,f);f=Math.min(d,f),d=e}this._ellipsoid=z.clone(n),this._granularity=c,this._height=d,this._extrudedHeight=f,this._arcType=h,this._polygonHierarchy=t,this._perPositionHeight=l,this._perPositionHeightExtrude=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=jb.computeHierarchyPackedLength(t,g)+z.packedLength+8}WI.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),n=jb.packPolygonHierarchy(e._polygonHierarchy,t,n,g),z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=Object(o["a"])(e._offsetAttribute,-1),t[n]=e.packedLength,t};const YI=z.clone(z.UNIT_SPHERE),XI={polygonHierarchy:{}};WI.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=jb.unpackPolygonHierarchy(e,t,g);t=a.startingIndex,delete a.startingIndex;const s=z.unpack(e,t,YI);t+=z.packedLength;const c=e[t++],l=e[t++],u=e[t++],h=1===e[t++],d=1===e[t++],f=e[t++],p=e[t++],m=e[t];return Object(r["a"])(n)||(n=new WI(XI)),n._polygonHierarchy=a,n._ellipsoid=z.clone(s,n._ellipsoid),n._height=c,n._extrudedHeight=l,n._granularity=u,n._perPositionHeight=d,n._perPositionHeightExtrude=h,n._arcType=f,n._offsetAttribute=-1===p?void 0:p,n.packedLength=m,n},WI.fromPositions=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.positions",e.positions);const t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new WI(t)},WI.createGeometry=function(e){const t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,a=e._arcType,c=jb.polygonOutlinesFromHierarchy(i,!o,t);if(0===c.length)return;let l;const u=[],h=s["a"].chordLength(n,t.maximumRadius),d=e._height,f=e._extrudedHeight,p=e._perPositionHeightExtrude||!s["a"].equalsEpsilon(d,f,0,s["a"].EPSILON2);let m,_;if(p)for(_=0;_<c.length;_++){if(l=qI(t,c[_],h,o,a),l.geometry=jb.scaleToGeodeticHeightExtruded(l.geometry,d,f,t,o),Object(r["a"])(e._offsetAttribute)){const t=l.geometry.attributes.position.values.length/3;let n=new Uint8Array(t);e._offsetAttribute===qh.TOP?n=Ah(n,1,0,t/2):(m=e._offsetAttribute===qh.NONE?0:1,n=Ah(n,m)),l.geometry.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}u.push(l)}else for(_=0;_<c.length;_++){if(l=GI(t,c[_],h,o,a),l.geometry.attributes.position.values=ab.scaleToGeodeticHeight(l.geometry.attributes.position.values,d,t,!o),Object(r["a"])(e._offsetAttribute)){const t=l.geometry.attributes.position.values.length,n=new Uint8Array(t/3);m=e._offsetAttribute===qh.NONE?0:1,Ah(n,m),l.geometry.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}u.push(l)}const g=_m.combineInstances(u)[0],b=Tt.fromVertices(g.attributes.position.values);return new kh({attributes:g.attributes,indices:g.indices,primitiveType:g.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};var KI=WI;const JI=[];function ZI(e,t,n,i,o){const r=JI;let a;r.length=o;const s=n.red,c=n.green,l=n.blue,u=n.alpha,h=i.red,d=i.green,f=i.blue,p=i.alpha;if(j_.equals(n,i)){for(a=0;a<o;a++)r[a]=j_.clone(n);return r}const m=(h-s)/o,_=(d-c)/o,g=(f-l)/o,b=(p-u)/o;for(a=0;a<o;a++)r[a]=new j_(s+a*m,c+a*_,l+a*g,u+a*b);return r}function $I(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.colors,i=Object(o["a"])(e.width,1),c=Object(o["a"])(e.colorsPerVertex,!1);if(!Object(r["a"])(t)||t.length<2)throw new a["a"]("At least two positions are required.");if("number"!==typeof i)throw new a["a"]("width must be a number");if(Object(r["a"])(n)&&(c&&n.length<t.length||!c&&n.length<t.length-1))throw new a["a"]("colors has an invalid length.");this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=c,this._vertexFormat=Yh.clone(Object(o["a"])(e.vertexFormat,Yh.DEFAULT)),this._arcType=Object(o["a"])(e.arcType,hh.GEODESIC),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._workerName="createPolylineGeometry";let l=1+t.length*g.packedLength;l+=Object(r["a"])(n)?1+n.length*j_.packedLength:1,this.packedLength=l+z.packedLength+Yh.packedLength+4}$I.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._colors;for(c=Object(r["a"])(l)?l.length:0,t[n++]=c,i=0;i<c;++i,n+=j_.packedLength)j_.pack(l[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};const QI=z.clone(z.UNIT_SPHERE),eD=new Yh,tD={positions:void 0,colors:void 0,ellipsoid:QI,vertexFormat:eD,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};$I.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);s=e[t++];const l=s>0?new Array(s):void 0;for(i=0;i<s;++i,t+=j_.packedLength)l[i]=j_.unpack(e,t);const u=z.unpack(e,t,QI);t+=z.packedLength;const h=Yh.unpack(e,t,eD);t+=Yh.packedLength;const d=e[t++],f=1===e[t++],p=e[t++],m=e[t];return Object(r["a"])(n)?(n._positions=c,n._colors=l,n._ellipsoid=z.clone(u,n._ellipsoid),n._vertexFormat=Yh.clone(h,n._vertexFormat),n._width=d,n._colorsPerVertex=f,n._arcType=p,n._granularity=m,n):(tD.positions=c,tD.colors=l,tD.width=d,tD.colorsPerVertex=f,tD.arcType=p,tD.granularity=m,new $I(tD))};const nD=new g,iD=new g,oD=new g,rD=new g;$I.createGeometry=function(e){const t=e._width,n=e._vertexFormat;let i=e._colors;const o=e._colorsPerVertex,a=e._arcType,c=e._granularity,l=e._ellipsoid;let u,h,d;const f=[];let p=z_(e._positions,g.equalsEpsilon,!1,f);if(Object(r["a"])(i)&&f.length>0){let e=0,t=f[0];i=i.filter((function(n,i){let r=!1;return r=o?i===t||0===i&&1===t:i+1===t,!r||(e++,t=f[e],!1)}))}let m=p.length;if(m<2||t<=0)return;if(a===hh.GEODESIC||a===hh.RHUMB){let e,t;a===hh.GEODESIC?(e=s["a"].chordLength(c,l.maximumRadius),t=Ly.numberOfPoints):(e=c,t=Ly.numberOfPointsRhumbLine);const n=Ly.extractHeights(p,l);if(Object(r["a"])(i)){let n=1;for(u=0;u<m-1;++u)n+=t(p[u],p[u+1],e);const r=new Array(n);let a=0;for(u=0;u<m-1;++u){const s=p[u],c=p[u+1],l=i[u],d=t(s,c,e);if(o&&u<n){const e=i[u+1],t=ZI(s,c,l,e,d),n=t.length;for(h=0;h<n;++h)r[a++]=t[h]}else for(h=0;h<d;++h)r[a++]=j_.clone(l)}r[a]=j_.clone(i[i.length-1]),i=r,JI.length=0}p=a===hh.GEODESIC?Ly.generateCartesianArc({positions:p,minDistance:e,ellipsoid:l,height:n}):Ly.generateCartesianRhumbArc({positions:p,granularity:e,ellipsoid:l,height:n})}m=p.length;const _=4*m-4,b=new Float64Array(3*_),y=new Float64Array(3*_),v=new Float64Array(3*_),O=new Float32Array(2*_),w=n.st?new Float32Array(2*_):void 0,A=Object(r["a"])(i)?new Uint8Array(4*_):void 0;let T,C=0,E=0,x=0,S=0;for(h=0;h<m;++h){let e,a;0===h?(T=nD,g.subtract(p[0],p[1],T),g.add(p[0],T,T)):T=p[h-1],g.clone(T,oD),g.clone(p[h],iD),h===m-1?(T=nD,g.subtract(p[m-1],p[m-2],T),g.add(p[m-1],T,T)):T=p[h+1],g.clone(T,rD),Object(r["a"])(A)&&(e=0===h||o?i[h]:i[h-1],h!==m-1&&(a=i[h]));const s=0===h?2:0,c=h===m-1?2:4;for(d=s;d<c;++d){g.pack(iD,b,C),g.pack(oD,y,C),g.pack(rD,v,C),C+=3;const i=d-2<0?-1:1;if(O[E++]=d%2*2-1,O[E++]=i*t,n.st&&(w[x++]=h/(m-1),w[x++]=Math.max(O[E-2],0)),Object(r["a"])(A)){const t=d<2?e:a;A[S++]=j_.floatToByte(t.red),A[S++]=j_.floatToByte(t.green),A[S++]=j_.floatToByte(t.blue),A[S++]=j_.floatToByte(t.alpha)}}}const I=new Hh;I.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:b}),I.prevPosition=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:y}),I.nextPosition=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:v}),I.expandAndWidth=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:O}),n.st&&(I.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:w})),Object(r["a"])(A)&&(I.color=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:4,values:A,normalize:!0}));const D=uu.createTypedArray(_,6*m-6);let j=0,P=0;const R=m-1;for(h=0;h<R;++h)D[P++]=j,D[P++]=j+2,D[P++]=j+1,D[P++]=j+1,D[P++]=j+2,D[P++]=j+3,j+=4;return new kh({attributes:I,indices:D,primitiveType:xh.TRIANGLES,boundingSphere:Tt.fromPoints(p),geometryType:Ch.POLYLINES})};var aD=$I;function sD(e,t,n,i){const o=new Hh;i.position&&(o.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:e}));const r=t.length,a=e.length/3,s=(a-2*r)/(2*r),c=ab.triangulate(t),l=(s-1)*r*6+2*c.length,u=uu.createTypedArray(a,l);let h,d,f,p,m,_;const g=2*r;let b=0;for(h=0;h<s-1;h++){for(d=0;d<r-1;d++)f=2*d+h*r*2,_=f+g,p=f+1,m=p+g,u[b++]=p,u[b++]=f,u[b++]=m,u[b++]=m,u[b++]=f,u[b++]=_;f=2*r-2+h*r*2,p=f+1,m=p+g,_=f+g,u[b++]=p,u[b++]=f,u[b++]=m,u[b++]=m,u[b++]=f,u[b++]=_}if(i.st||i.tangent||i.bitangent){const e=new Float32Array(2*a),i=1/(s-1),c=1/n.height,l=n.height/2;let u,f,p=0;for(h=0;h<s;h++){for(u=h*i,f=c*(t[0].y+l),e[p++]=u,e[p++]=f,d=1;d<r;d++)f=c*(t[d].y+l),e[p++]=u,e[p++]=f,e[p++]=u,e[p++]=f;f=c*(t[0].y+l),e[p++]=u,e[p++]=f}for(d=0;d<r;d++)u=0,f=c*(t[d].y+l),e[p++]=u,e[p++]=f;for(d=0;d<r;d++)u=(s-1)*i,f=c*(t[d].y+l),e[p++]=u,e[p++]=f;o.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:new Float32Array(e)})}const y=a-2*r;for(h=0;h<c.length;h+=3){const e=c[h]+y,t=c[h+1]+y,n=c[h+2]+y;u[b++]=e,u[b++]=t,u[b++]=n,u[b++]=n+r,u[b++]=t+r,u[b++]=e+r}let v=new kh({attributes:o,indices:u,boundingSphere:Tt.fromVertices(e),primitiveType:xh.TRIANGLES});if(i.normal&&(v=_m.computeNormal(v)),i.tangent||i.bitangent){try{v=_m.computeTangentAndBitangent(v)}catch(O){ky("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(v.attributes.tangent=void 0),i.bitangent||(v.attributes.bitangent=void 0),i.st||(v.attributes.st=void 0)}return v}function cD(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.polylinePositions,n=e.shapePositions;if(!Object(r["a"])(t))throw new a["a"]("options.polylinePositions is required.");if(!Object(r["a"])(n))throw new a["a"]("options.shapePositions is required.");this._positions=t,this._shape=n,this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._cornerType=Object(o["a"])(e.cornerType,iy.ROUNDED),this._vertexFormat=Yh.clone(Object(o["a"])(e.vertexFormat,Yh.DEFAULT)),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*g.packedLength;i+=1+n.length*Ht.packedLength,this.packedLength=i+z.packedLength+Yh.packedLength+2}cD.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._shape;for(c=l.length,t[n++]=c,i=0;i<c;++i,n+=Ht.packedLength)Ht.pack(l[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};const lD=z.clone(z.UNIT_SPHERE),uD=new Yh,hD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:lD,vertexFormat:uD,cornerType:void 0,granularity:void 0};cD.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);s=e[t++];const l=new Array(s);for(i=0;i<s;++i,t+=Ht.packedLength)l[i]=Ht.unpack(e,t);const u=z.unpack(e,t,lD);t+=z.packedLength;const h=Yh.unpack(e,t,uD);t+=Yh.packedLength;const d=e[t++],f=e[t];return Object(r["a"])(n)?(n._positions=c,n._shape=l,n._ellipsoid=z.clone(u,n._ellipsoid),n._vertexFormat=Yh.clone(h,n._vertexFormat),n._cornerType=d,n._granularity=f,n):(hD.polylinePositions=c,hD.shapePositions=l,hD.cornerType=d,hD.granularity=f,new cD(hD))};const dD=new Oh;cD.createGeometry=function(e){const t=e._positions,n=z_(t,g.equalsEpsilon);let i=e._shape;if(i=Tv.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ab.computeWindingOrder2D(i)===Ug.CLOCKWISE&&i.reverse();const o=Oh.fromPoints(i,dD),r=Tv.computePositions(n,i,o,e,!0);return sD(r,i,o,e._vertexFormat)};var fD=cD;function pD(e,t){const n=new Hh;n.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:e});const i=t.length,o=n.position.values.length/3,r=e.length/3,a=r/i,s=uu.createTypedArray(o,2*i*(a+1));let c,l,u=0;c=0;let h=c*i;for(l=0;l<i-1;l++)s[u++]=l+h,s[u++]=l+h+1;for(s[u++]=i-1+h,s[u++]=h,c=a-1,h=c*i,l=0;l<i-1;l++)s[u++]=l+h,s[u++]=l+h+1;for(s[u++]=i-1+h,s[u++]=h,c=0;c<a-1;c++){const e=i*c,t=e+i;for(l=0;l<i;l++)s[u++]=l+e,s[u++]=l+t}const d=new kh({attributes:n,indices:uu.createTypedArray(o,s),boundingSphere:Tt.fromVertices(e),primitiveType:xh.LINES});return d}function mD(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.polylinePositions,n=e.shapePositions;if(!Object(r["a"])(t))throw new a["a"]("options.polylinePositions is required.");if(!Object(r["a"])(n))throw new a["a"]("options.shapePositions is required.");this._positions=t,this._shape=n,this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._cornerType=Object(o["a"])(e.cornerType,iy.ROUNDED),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*g.packedLength;i+=1+n.length*Ht.packedLength,this.packedLength=i+z.packedLength+2}mD.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._shape;for(c=l.length,t[n++]=c,i=0;i<c;++i,n+=Ht.packedLength)Ht.pack(l[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};const _D=z.clone(z.UNIT_SPHERE),gD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:_D,height:void 0,cornerType:void 0,granularity:void 0};mD.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);s=e[t++];const l=new Array(s);for(i=0;i<s;++i,t+=Ht.packedLength)l[i]=Ht.unpack(e,t);const u=z.unpack(e,t,_D);t+=z.packedLength;const h=e[t++],d=e[t];return Object(r["a"])(n)?(n._positions=c,n._shape=l,n._ellipsoid=z.clone(u,n._ellipsoid),n._cornerType=h,n._granularity=d,n):(gD.polylinePositions=c,gD.shapePositions=l,gD.cornerType=h,gD.granularity=d,new mD(gD))};const bD=new Oh;mD.createGeometry=function(e){const t=e._positions,n=z_(t,g.equalsEpsilon);let i=e._shape;if(i=Tv.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ab.computeWindingOrder2D(i)===Ug.CLOCKWISE&&i.reverse();const o=Oh.fromPoints(i,bD),r=Tv.computePositions(n,i,o,e,!1);return pD(r,i)};var yD=mD;function vD(){a["a"].throwInstantiationError()}vD.prototype.getURL=a["a"].throwInstantiationError;var OD=vD;function wD(e){const t=e.points,n=e.times;return function(i,o){Object(r["a"])(o)||(o=new $a);const a=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[a])/(n[a+1]-n[a]),c=t[a],l=t[a+1];return $a.fastSlerp(c,l,s,o)}}function AD(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.points,n=e.times;if(!Object(r["a"])(t)||!Object(r["a"])(n))throw new a["a"]("points and times are required.");if(t.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(n.length!==t.length)throw new a["a"]("times.length must be equal to points.length.");this._times=n,this._points=t,this._evaluateFunction=wD(this),this._lastTimeIndex=0}Object.defineProperties(AD.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}}),AD.prototype.findTimeInterval=hd.prototype.findTimeInterval,AD.prototype.wrapTime=hd.prototype.wrapTime,AD.prototype.clampTime=hd.prototype.clampTime,AD.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var TD=AD;function CD(e,t,n,i,o){ED(e,t,n||0,i||e.length-1,o||SD)}function ED(e,t,n,i,o){while(i>n){if(i-n>600){var r=i-n+1,a=t-n+1,s=Math.log(r),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(r-c)/r)*(a-r/2<0?-1:1),u=Math.max(n,Math.floor(t-a*c/r+l)),h=Math.min(i,Math.floor(t+(r-a)*c/r+l));ED(e,t,u,h,o)}var d=e[t],f=n,p=i;xD(e,n,t),o(e[i],d)>0&&xD(e,n,i);while(f<p){xD(e,f,p),f++,p--;while(o(e[f],d)<0)f++;while(o(e[p],d)>0)p--}0===o(e[n],d)?xD(e,n,p):(p++,xD(e,p,i)),p<=t&&(n=p+1),t<=p&&(i=p-1)}}function xD(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function SD(e,t){return e<t?-1:e>t?1:0}class ID{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const n=[];if(!UD(e,t))return n;const i=this.toBBox,o=[];while(t){for(let r=0;r<t.children.length;r++){const a=t.children[r],s=t.leaf?i(a):a;UD(e,s)&&(t.leaf?n.push(a):zD(e,s)?this._all(a,n):o.push(a))}t=o.pop()}return n}collides(e){let t=this.data;if(!UD(e,t))return!1;const n=[];while(t){for(let i=0;i<t.children.length;i++){const o=t.children[i],r=t.leaf?this.toBBox(o):o;if(UD(e,r)){if(t.leaf||zD(e,r))return!0;n.push(o)}}t=n.pop()}return!1}load(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(let t=0;t<e.length;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const e=this.data;this.data=t,t=e}this._insert(t,this.data.height-t.height-1,!0)}else this.data=t;return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=VD([]),this}remove(e,t){if(!e)return this;let n=this.data;const i=this.toBBox(e),o=[],r=[];let a,s,c;while(n||o.length){if(n||(n=o.pop(),s=o[o.length-1],a=r.pop(),c=!0),n.leaf){const i=DD(e,n.children,t);if(-1!==i)return n.children.splice(i,1),o.push(n),this._condense(o),this}c||n.leaf||!zD(n,i)?s?(a++,n=s.children[a],c=!1):n=null:(o.push(n),r.push(a),a=0,s=n,n=n.children[0])}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const n=[];while(e)e.leaf?t.push(...e.children):n.push(...e.children),e=n.pop();return t}_build(e,t,n,i){const o=n-t+1;let r,a=this._maxEntries;if(o<=a)return r=VD(e.slice(t,n+1)),jD(r,this.toBBox),r;i||(i=Math.ceil(Math.log(o)/Math.log(a)),a=Math.ceil(o/Math.pow(a,i-1))),r=VD([]),r.leaf=!1,r.height=i;const s=Math.ceil(o/a),c=s*Math.ceil(Math.sqrt(a));HD(e,t,n,c,this.compareMinX);for(let l=t;l<=n;l+=c){const t=Math.min(l+c-1,n);HD(e,l,t,s,this.compareMinY);for(let n=l;n<=t;n+=s){const o=Math.min(n+s-1,t);r.children.push(this._build(e,n,o,i-1))}}return jD(r,this.toBBox),r}_chooseSubtree(e,t,n,i){while(1){if(i.push(t),t.leaf||i.length-1===n)break;let o,r=1/0,a=1/0;for(let n=0;n<t.children.length;n++){const i=t.children[n],s=LD(i),c=FD(e,i)-s;c<a?(a=c,r=s<r?s:r,o=i):c===a&&s<r&&(r=s,o=i)}t=o||t.children[0]}return t}_insert(e,t,n){const i=n?e:this.toBBox(e),o=[],r=this._chooseSubtree(i,this.data,t,o);r.children.push(e),RD(r,i);while(t>=0){if(!(o[t].children.length>this._maxEntries))break;this._split(o,t),t--}this._adjustParentBBoxes(i,o,t)}_split(e,t){const n=e[t],i=n.children.length,o=this._minEntries;this._chooseSplitAxis(n,o,i);const r=this._chooseSplitIndex(n,o,i),a=VD(n.children.splice(r,n.children.length-r));a.height=n.height,a.leaf=n.leaf,jD(n,this.toBBox),jD(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this.data=VD([e,t]),this.data.height=e.height+1,this.data.leaf=!1,jD(this.data,this.toBBox)}_chooseSplitIndex(e,t,n){let i,o=1/0,r=1/0;for(let a=t;a<=n-t;a++){const t=PD(e,0,a,this.toBBox),s=PD(e,a,n,this.toBBox),c=kD(t,s),l=LD(t)+LD(s);c<o?(o=c,i=a,r=l<r?l:r):c===o&&l<r&&(r=l,i=a)}return i||n-t}_chooseSplitAxis(e,t,n){const i=e.leaf?this.compareMinX:MD,o=e.leaf?this.compareMinY:ND,r=this._allDistMargin(e,t,n,i),a=this._allDistMargin(e,t,n,o);r<a&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const o=this.toBBox,r=PD(e,0,t,o),a=PD(e,n-t,n,o);let s=BD(r)+BD(a);for(let c=t;c<n-t;c++){const t=e.children[c];RD(r,e.leaf?o(t):t),s+=BD(r)}for(let c=n-t-1;c>=t;c--){const t=e.children[c];RD(a,e.leaf?o(t):t),s+=BD(a)}return s}_adjustParentBBoxes(e,t,n){for(let i=n;i>=0;i--)RD(t[i],e)}_condense(e){for(let t,n=e.length-1;n>=0;n--)0===e[n].children.length?n>0?(t=e[n-1].children,t.splice(t.indexOf(e[n]),1)):this.clear():jD(e[n],this.toBBox)}}function DD(e,t,n){if(!n)return t.indexOf(e);for(let i=0;i<t.length;i++)if(n(e,t[i]))return i;return-1}function jD(e,t){PD(e,0,e.children.length,t,e)}function PD(e,t,n,i,o){o||(o=VD(null)),o.minX=1/0,o.minY=1/0,o.maxX=-1/0,o.maxY=-1/0;for(let r=t;r<n;r++){const t=e.children[r];RD(o,e.leaf?i(t):t)}return o}function RD(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function MD(e,t){return e.minX-t.minX}function ND(e,t){return e.minY-t.minY}function LD(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function BD(e){return e.maxX-e.minX+(e.maxY-e.minY)}function FD(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function kD(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),o=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,o-n)*Math.max(0,r-i)}function zD(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function UD(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function VD(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function HD(e,t,n,i,o){const r=[t,n];while(r.length){if(n=r.pop(),t=r.pop(),n-t<=i)continue;const a=t+Math.ceil((n-t)/i/2)*i;CD(e,a,t,n,o),r.push(t,a,a,n)}}function GD(){this._tree=new ID}function qD(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}function WD(e,t){return e.id===t.id}qD.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n},GD.prototype.insert=function(e,t){i["a"].typeOf.string("id",e),i["a"].typeOf.object("rectangle",t);const n=qD.fromRectangleAndId(e,t,new qD);this._tree.insert(n)};const YD=new qD;GD.prototype.remove=function(e,t){i["a"].typeOf.string("id",e),i["a"].typeOf.object("rectangle",t);const n=qD.fromRectangleAndId(e,t,YD);this._tree.remove(n,WD)};const XD=new qD;GD.prototype.collides=function(e){i["a"].typeOf.object("rectangle",e);const t=qD.fromRectangleAndId("",e,XD);return this._tree.collides(t)};var KD=GD;const JD=Math.cos,ZD=Math.sin,$D=Math.sqrt,QD={computePosition:function(e,t,n,i,o,a,s){const c=t.radiiSquared,l=e.nwCorner,u=e.boundingRectangle;let h=l.latitude-e.granYCos*i+o*e.granXSin;const d=JD(h),f=ZD(h),p=c.z*f;let m=l.longitude+i*e.granYSin+o*e.granXCos;const _=d*JD(m),g=d*ZD(m),b=c.x*_,y=c.y*g,v=$D(b*_+y*g+p*f);if(a.x=b/v,a.y=y/v,a.z=p/v,n){const t=e.stNwCorner;Object(r["a"])(t)?(h=t.latitude-e.stGranYCos*i+o*e.stGranXSin,m=t.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(h-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(h-u.south)*e.latScalar)}}},ej=new al;let tj=new g;const nj=new I;let ij=new g;const oj=new V;function rj(e,t,n,i,o,r,a){const s=Math.cos(t),c=i*s,l=n*s,u=Math.sin(t),h=i*u,d=n*u;tj=oj.project(e,tj),tj=g.subtract(tj,ij,tj);const f=al.fromRotation(t,ej);tj=al.multiplyByVector(f,tj,tj),tj=g.add(tj,ij,tj),e=oj.unproject(tj,e),r-=1,a-=1;const p=e.latitude,m=p+r*d,_=p-c*a,b=p-c*a+r*d,y=Math.max(p,m,_,b),v=Math.min(p,m,_,b),O=e.longitude,w=O+r*l,A=O+a*h,T=O+a*h+r*l,C=Math.max(O,w,A,T),E=Math.min(O,w,A,T);return{north:y,south:v,east:C,west:E,granYCos:c,granYSin:h,granXCos:l,granXSin:d,nwCorner:e}}QD.computeOptions=function(e,t,n,i,o,r,c){let l,u=e.east,h=e.west,d=e.north,f=e.south,p=!1,m=!1;d===s["a"].PI_OVER_TWO&&(p=!0),f===-s["a"].PI_OVER_TWO&&(m=!0);const _=d-f;l=h>u?s["a"].TWO_PI-h+u:u-h;const g=Math.ceil(l/t)+1,b=Math.ceil(_/t)+1,y=l/(g-1),v=_/(b-1),O=Fe.northwest(e,r),w=Fe.center(e,nj);0===n&&0===i||(w.longitude<O.longitude&&(w.longitude+=s["a"].TWO_PI),ij=oj.project(w,ij));const A=v,T=y,C=0,E=0,x=Fe.clone(e,o),S={granYCos:A,granYSin:C,granXCos:T,granXSin:E,nwCorner:O,boundingRectangle:x,width:g,height:b,northCap:p,southCap:m};if(0!==n){const e=rj(O,n,y,v,w,g,b);if(d=e.north,f=e.south,u=e.east,h=e.west,d<-s["a"].PI_OVER_TWO||d>s["a"].PI_OVER_TWO||f<-s["a"].PI_OVER_TWO||f>s["a"].PI_OVER_TWO)throw new a["a"]("Rotated rectangle is invalid. It crosses over either the north or south pole.");S.granYCos=e.granYCos,S.granYSin=e.granYSin,S.granXCos=e.granXCos,S.granXSin=e.granXSin,x.north=d,x.south=f,x.east=u,x.west=h}if(0!==i){n-=i;const e=Fe.northwest(x,c),t=rj(e,n,y,v,w,g,b);S.stGranYCos=t.granYCos,S.stGranXCos=t.granXCos,S.stGranYSin=t.granYSin,S.stGranXSin=t.granXSin,S.stNwCorner=e,S.stWest=t.west,S.stSouth=t.south}return S};var aj=QD;const sj=new g,cj=new g,lj=new g,uj=new g,hj=new Fe,dj=new Ht,fj=new Tt,pj=new Tt;function mj(e,t){const n=new kh({attributes:new Hh,primitiveType:xh.TRIANGLES});return n.attributes.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function _j(e,t,n,i){const o=e.length,r=t.normal?new Float32Array(o):void 0,a=t.tangent?new Float32Array(o):void 0,s=t.bitangent?new Float32Array(o):void 0;let c=0;const l=uj,u=lj;let h=cj;if(t.normal||t.tangent||t.bitangent)for(let d=0;d<o;d+=3){const o=g.fromArray(e,d,sj),f=c+1,p=c+2;h=n.geodeticSurfaceNormal(o,h),(t.tangent||t.bitangent)&&(g.cross(g.UNIT_Z,h,u),ce.multiplyByVector(i,u,u),g.normalize(u,u),t.bitangent&&g.normalize(g.cross(h,u,l),l)),t.normal&&(r[c]=h.x,r[f]=h.y,r[p]=h.z),t.tangent&&(a[c]=u.x,a[f]=u.y,a[p]=u.z),t.bitangent&&(s[c]=l.x,s[f]=l.y,s[p]=l.z),c+=3}return mj(t,{positions:e,normals:r,tangents:a,bitangents:s})}const gj=new g,bj=new g;function yj(e,t,n){const i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,a=t.bitangent?new Float32Array(i):void 0;let c=0,l=0,u=0,h=!0,d=uj,f=lj,p=cj;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){const _=g.fromArray(e,m,sj),b=g.fromArray(e,(m+6)%i,gj);if(h){const t=g.fromArray(e,(m+3)%i,bj);g.subtract(b,_,b),g.subtract(t,_,t),p=g.normalize(g.cross(t,b,p),p),h=!1}g.equalsEpsilon(b,_,s["a"].EPSILON10)&&(h=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(_,d),t.tangent&&(f=g.normalize(g.cross(d,p,f),f))),t.normal&&(o[c++]=p.x,o[c++]=p.y,o[c++]=p.z,o[c++]=p.x,o[c++]=p.y,o[c++]=p.z),t.tangent&&(r[l++]=f.x,r[l++]=f.y,r[l++]=f.z,r[l++]=f.x,r[l++]=f.y,r[l++]=f.z),t.bitangent&&(a[u++]=d.x,a[u++]=d.y,a[u++]=d.z,a[u++]=d.x,a[u++]=d.y,a[u++]=d.z)}return mj(t,{positions:e,normals:o,tangents:r,bitangents:a})}function vj(e,t){const n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,a=t.northCap,s=t.southCap;let c=0,l=o,u=o,h=0;a&&(c=1,u-=1,h+=1),s&&(l-=1,u-=1,h+=1),h+=r*u;const d=n.position?new Float64Array(3*h):void 0,f=n.st?new Float32Array(2*h):void 0;let p=0,m=0;const _=sj,g=dj;let b=Number.MAX_VALUE,y=Number.MAX_VALUE,v=-Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let S=c;S<l;++S)for(let e=0;e<r;++e)aj.computePosition(t,i,n.st,S,e,_,g),d[p++]=_.x,d[p++]=_.y,d[p++]=_.z,n.st&&(f[m++]=g.x,f[m++]=g.y,b=Math.min(b,g.x),y=Math.min(y,g.y),v=Math.max(v,g.x),O=Math.max(O,g.y));if(a&&(aj.computePosition(t,i,n.st,0,0,_,g),d[p++]=_.x,d[p++]=_.y,d[p++]=_.z,n.st&&(f[m++]=g.x,f[m++]=g.y,b=g.x,y=g.y,v=g.x,O=g.y)),s&&(aj.computePosition(t,i,n.st,o-1,0,_,g),d[p++]=_.x,d[p++]=_.y,d[p]=_.z,n.st&&(f[m++]=g.x,f[m]=g.y,b=Math.min(b,g.x),y=Math.min(y,g.y),v=Math.max(v,g.x),O=Math.max(O,g.y))),n.st&&(b<0||y<0||v>1||O>1))for(let S=0;S<f.length;S+=2)f[S]=(f[S]-b)/(v-b),f[S+1]=(f[S+1]-y)/(O-y);const w=_j(d,n,i,t.tangentRotationMatrix);let A=6*(r-1)*(u-1);a&&(A+=3*(r-1)),s&&(A+=3*(r-1));const T=uu.createTypedArray(h,A);let C,E=0,x=0;for(C=0;C<u-1;++C){for(let e=0;e<r-1;++e){const e=E,t=e+r,n=t+1,i=e+1;T[x++]=e,T[x++]=t,T[x++]=i,T[x++]=i,T[x++]=t,T[x++]=n,++E}++E}if(a||s){let e=h-1;const t=h-1;let n,i;if(a&&s&&(e=h-2),E=0,a)for(C=0;C<r-1;C++)n=E,i=n+1,T[x++]=e,T[x++]=n,T[x++]=i,++E;if(s)for(E=(u-1)*r,C=0;C<r-1;C++)n=E,i=n+1,T[x++]=n,T[x++]=t,T[x++]=i,++E}return w.indices=T,n.st&&(w.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:f})),w}function Oj(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function wj(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}const Aj=new Yh;function Tj(e,t){const n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,a=e._extrudedHeight,c=e._surfaceHeight,l=e._ellipsoid,u=t.height,h=t.width;let d;if(n){const t=Yh.clone(o,Aj);t.normal=!0,e._vertexFormat=t}const f=vj(e,t);n&&(e._vertexFormat=o);let p=ab.scaleToGeodeticHeight(f.attributes.position.values,c,l,!1);p=new Float64Array(p);let m=p.length;const _=2*m,b=new Float64Array(_);b.set(p);const y=ab.scaleToGeodeticHeight(f.attributes.position.values,a,l);b.set(y,m),f.attributes.position.values=b;const v=o.normal?new Float32Array(_):void 0,O=o.tangent?new Float32Array(_):void 0,w=o.bitangent?new Float32Array(_):void 0,A=o.st?new Float32Array(_/3*2):void 0;let T,C,E;if(o.normal){for(C=f.attributes.normal.values,v.set(C),d=0;d<m;d++)C[d]=-C[d];v.set(C,m),f.attributes.normal.values=v}if(n){C=f.attributes.normal.values,o.normal||(f.attributes.normal=void 0);const e=new Float32Array(_);for(d=0;d<m;d++)C[d]=-C[d];e.set(C,m),f.attributes.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:e})}const x=Object(r["a"])(i);if(x){const e=m/3*2;let t=new Uint8Array(e);i===qh.TOP?t=Ah(t,1,0,e/2):(E=i===qh.NONE?0:1,t=Ah(t,E)),f.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})}if(o.tangent){const e=f.attributes.tangent.values;for(O.set(e),d=0;d<m;d++)e[d]=-e[d];O.set(e,m),f.attributes.tangent.values=O}if(o.bitangent){const e=f.attributes.bitangent.values;w.set(e),w.set(e,m),f.attributes.bitangent.values=w}o.st&&(T=f.attributes.st.values,A.set(T),A.set(T,m/3*2),f.attributes.st.values=A);const S=f.indices,I=S.length,D=m/3,j=uu.createTypedArray(_/3,2*I);for(j.set(S),d=0;d<I;d+=3)j[d+I]=S[d+2]+D,j[d+1+I]=S[d+1]+D,j[d+2+I]=S[d]+D;f.indices=j;const P=t.northCap,R=t.southCap;let M=u,N=2,L=0,B=4,F=4;P&&(N-=1,M-=1,L+=1,B-=2,F-=1),R&&(N-=1,M-=1,L+=1,B-=2,F-=1),L+=N*h+2*M-B;const k=2*(L+F);let z=new Float64Array(3*k);const U=n?new Float32Array(3*k):void 0;let V=x?new Uint8Array(k):void 0,H=o.st?new Float32Array(2*k):void 0;const G=i===qh.TOP;x&&!G&&(E=i===qh.ALL?1:0,V=Ah(V,E));let q=0,W=0,Y=0,X=0;const K=h*M;let J;for(d=0;d<K;d+=h)J=3*d,z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*d,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1);if(R){const e=P?K+1:K;for(J=3*e,d=0;d<2;d++)z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*e,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1)}else for(d=K-h;d<K;d++)J=3*d,z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*d,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1);for(d=K-1;d>0;d-=h)J=3*d,z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*d,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1);if(P){const e=K;for(J=3*e,d=0;d<2;d++)z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*e,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1)}else for(d=h-1;d>=0;d--)J=3*d,z=Oj(z,q,J,p,y),q+=6,o.st&&(H=wj(H,W,2*d,T),W+=4),n&&(Y+=3,U[Y++]=C[J],U[Y++]=C[J+1],U[Y++]=C[J+2]),G&&(V[X++]=1,X+=1);let Z=yj(z,o,l);o.st&&(Z.attributes.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:H})),n&&(Z.attributes.extrudeDirection=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:U})),x&&(Z.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:V}));const $=uu.createTypedArray(k,6*L);let Q,ee,te,ne;m=z.length/3;let ie=0;for(d=0;d<m-1;d+=2){Q=d,ne=(Q+2)%m;const e=g.fromArray(z,3*Q,gj),t=g.fromArray(z,3*ne,bj);g.equalsEpsilon(e,t,s["a"].EPSILON10)||(ee=(Q+1)%m,te=(ee+2)%m,$[ie++]=Q,$[ie++]=ee,$[ie++]=ne,$[ie++]=ne,$[ie++]=ee,$[ie++]=te)}return Z.indices=$,Z=_m.combineInstances([new Df({geometry:f}),new Df({geometry:Z})]),Z[0]}const Cj=[new g,new g,new g,new g],Ej=new I,xj=new I;function Sj(e,t,n,i,o){if(0===n)return Fe.clone(e,o);const r=aj.computeOptions(e,t,n,0,hj,Ej),a=r.height,s=r.width,c=Cj;return aj.computePosition(r,i,!1,0,0,c[0]),aj.computePosition(r,i,!1,0,s-1,c[1]),aj.computePosition(r,i,!1,a-1,0,c[2]),aj.computePosition(r,i,!1,a-1,s-1,c[3]),Fe.fromCartesianArray(c,i,o)}function Ij(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.rectangle;if(i["a"].typeOf.object("rectangle",t),Fe.validate(t),t.north<t.south)throw new a["a"]("options.rectangle.north must be greater than or equal to options.rectangle.south");const n=Object(o["a"])(e.height,0),r=Object(o["a"])(e.extrudedHeight,n);this._rectangle=Fe.clone(t),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._ellipsoid=z.clone(Object(o["a"])(e.ellipsoid,z.WGS84)),this._surfaceHeight=Math.max(n,r),this._rotation=Object(o["a"])(e.rotation,0),this._stRotation=Object(o["a"])(e.stRotation,0),this._vertexFormat=Yh.clone(Object(o["a"])(e.vertexFormat,Yh.DEFAULT)),this._extrudedHeight=Math.min(n,r),this._shadowVolume=Object(o["a"])(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}Ij.packedLength=Fe.packedLength+z.packedLength+Yh.packedLength+7,Ij.pack=function(e,t,n){return i["a"].typeOf.object("value",e),i["a"].defined("array",t),n=Object(o["a"])(n,0),Fe.pack(e._rectangle,t,n),n+=Fe.packedLength,z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const Dj=new Fe,jj=z.clone(z.UNIT_SPHERE),Pj={rectangle:Dj,ellipsoid:jj,vertexFormat:Aj,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Ij.unpack=function(e,t,n){i["a"].defined("array",e),t=Object(o["a"])(t,0);const a=Fe.unpack(e,t,Dj);t+=Fe.packedLength;const s=z.unpack(e,t,jj);t+=z.packedLength;const c=Yh.unpack(e,t,Aj);t+=Yh.packedLength;const l=e[t++],u=e[t++],h=e[t++],d=e[t++],f=e[t++],p=1===e[t++],m=e[t];return Object(r["a"])(n)?(n._rectangle=Fe.clone(a,n._rectangle),n._ellipsoid=z.clone(s,n._ellipsoid),n._vertexFormat=Yh.clone(c,n._vertexFormat),n._granularity=l,n._surfaceHeight=u,n._rotation=h,n._stRotation=d,n._extrudedHeight=f,n._shadowVolume=p,n._offsetAttribute=-1===m?void 0:m,n):(Pj.granularity=l,Pj.height=u,Pj.rotation=h,Pj.stRotation=d,Pj.extrudedHeight=f,Pj.shadowVolume=p,Pj.offsetAttribute=-1===m?void 0:m,new Ij(Pj))},Ij.computeRectangle=function(e,t){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const n=e.rectangle;if(i["a"].typeOf.object("rectangle",n),Fe.validate(n),n.north<n.south)throw new a["a"]("options.rectangle.north must be greater than or equal to options.rectangle.south");const r=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),c=Object(o["a"])(e.ellipsoid,z.WGS84),l=Object(o["a"])(e.rotation,0);return Sj(n,r,l,c,t)};const Rj=new ce,Mj=new $a,Nj=new I;Ij.createGeometry=function(e){if(s["a"].equalsEpsilon(e._rectangle.north,e._rectangle.south,s["a"].EPSILON10)||s["a"].equalsEpsilon(e._rectangle.east,e._rectangle.west,s["a"].EPSILON10))return;let t=e._rectangle;const n=e._ellipsoid,i=e._rotation,o=e._stRotation,a=e._vertexFormat,c=aj.computeOptions(t,e._granularity,i,o,hj,Ej,xj),l=Rj;if(0!==o||0!==i){const e=Fe.center(t,Nj),i=n.geodeticSurfaceNormalCartographic(e,gj);$a.fromAxisAngle(i,-o,Mj),ce.fromQuaternion(Mj,l)}else ce.clone(ce.IDENTITY,l);const u=e._surfaceHeight,h=e._extrudedHeight,d=!s["a"].equalsEpsilon(u,h,0,s["a"].EPSILON2);let f,p;if(c.lonScalar=1/e._rectangle.width,c.latScalar=1/e._rectangle.height,c.tangentRotationMatrix=l,t=e._rectangle,d){f=Tj(e,c);const i=Tt.fromRectangle3D(t,n,u,pj),o=Tt.fromRectangle3D(t,n,h,fj);p=Tt.union(i,o)}else{if(f=vj(e,c),f.attributes.position.values=ab.scaleToGeodeticHeight(f.attributes.position.values,u,n,!1),Object(r["a"])(e._offsetAttribute)){const t=f.attributes.position.values.length,n=new Uint8Array(t/3),i=e._offsetAttribute===qh.NONE?0:1;Ah(n,i),f.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}p=Tt.fromRectangle3D(t,n,u)}return a.position||delete f.attributes.position,new kh({attributes:f.attributes,indices:f.indices,primitiveType:f.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})},Ij.createShadowVolume=function(e,t,n){const i=e._granularity,o=e._ellipsoid,r=t(i,o),a=n(i,o);return new Ij({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:a,height:r,vertexFormat:Yh.POSITION_ONLY,shadowVolume:!0})};const Lj=new Fe,Bj=[new Ht,new Ht,new Ht],Fj=new al,kj=new I;function zj(e){if(0===e._stRotation)return[0,0,0,1,1,0];const t=Fe.clone(e._rectangle,Lj),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=Sj(t,n,o,i,Lj),a=Bj;a[0].x=r.west,a[0].y=r.south,a[1].x=r.west,a[1].y=r.north,a[2].x=r.east,a[2].y=r.south;const s=e.rectangle,c=al.fromRotation(e._stRotation,Fj),l=Fe.center(s,kj);for(let p=0;p<3;++p){const e=a[p];e.x-=l.longitude,e.y-=l.latitude,al.multiplyByVector(c,e,e),e.x+=l.longitude,e.y+=l.latitude,e.x=(e.x-s.west)/s.width,e.y=(e.y-s.south)/s.height}const u=a[0],h=a[1],d=a[2],f=new Array(6);return Ht.pack(u,f),Ht.pack(h,f,2),Ht.pack(d,f,4),f}Object.defineProperties(Ij.prototype,{rectangle:{get:function(){return Object(r["a"])(this._rotatedRectangle)||(this._rotatedRectangle=Sj(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return Object(r["a"])(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=zj(this)),this._textureCoordinateRotationPoints}}});var Uj=Ij;const Vj=new Tt,Hj=new Tt,Gj=new g,qj=new Fe;function Wj(e,t){const n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,a=t.southCap;let s=i,c=2,l=0,u=4;r&&(c-=1,s-=1,l+=1,u-=2),a&&(c-=1,s-=1,l+=1,u-=2),l+=c*o+2*s-u;const h=new Float64Array(3*l);let d,f=0,p=0;const m=Gj;if(r)aj.computePosition(t,n,!1,p,0,m),h[f++]=m.x,h[f++]=m.y,h[f++]=m.z;else for(d=0;d<o;d++)aj.computePosition(t,n,!1,p,d,m),h[f++]=m.x,h[f++]=m.y,h[f++]=m.z;for(d=o-1,p=1;p<i;p++)aj.computePosition(t,n,!1,p,d,m),h[f++]=m.x,h[f++]=m.y,h[f++]=m.z;if(p=i-1,!a)for(d=o-2;d>=0;d--)aj.computePosition(t,n,!1,p,d,m),h[f++]=m.x,h[f++]=m.y,h[f++]=m.z;for(d=0,p=i-2;p>0;p--)aj.computePosition(t,n,!1,p,d,m),h[f++]=m.x,h[f++]=m.y,h[f++]=m.z;const _=h.length/3*2,g=uu.createTypedArray(h.length/3,_);let b=0;for(let v=0;v<h.length/3-1;v++)g[b++]=v,g[b++]=v+1;g[b++]=h.length/3-1,g[b++]=0;const y=new kh({attributes:new Hh,primitiveType:xh.LINES});return y.attributes.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:h}),y.indices=g,y}function Yj(e,t){const n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=i,a=n,s=Wj(e,t),c=t.height,l=t.width,u=ab.scaleToGeodeticHeight(s.attributes.position.values,a,o,!1);let h=u.length;const d=new Float64Array(2*h);d.set(u);const f=ab.scaleToGeodeticHeight(s.attributes.position.values,r,o);d.set(f,h),s.attributes.position.values=d;const p=t.northCap,m=t.southCap;let _=4;p&&(_-=1),m&&(_-=1);const g=2*(d.length/3+_),b=uu.createTypedArray(d.length/3,g);h=d.length/6;let y,v=0;for(let O=0;O<h-1;O++)b[v++]=O,b[v++]=O+1,b[v++]=O+h,b[v++]=O+h+1;if(b[v++]=h-1,b[v++]=0,b[v++]=h+h-1,b[v++]=h,b[v++]=0,b[v++]=h,p)y=c-1;else{const e=l-1;b[v++]=e,b[v++]=e+h,y=l+c-2}if(b[v++]=y,b[v++]=y+h,!m){const e=l+y-1;b[v++]=e,b[v]=e+h}return s.indices=b,s}function Xj(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.rectangle,n=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),i=Object(o["a"])(e.ellipsoid,z.WGS84),c=Object(o["a"])(e.rotation,0);if(!Object(r["a"])(t))throw new a["a"]("rectangle is required.");if(Fe.validate(t),t.north<t.south)throw new a["a"]("options.rectangle.north must be greater than options.rectangle.south");const l=Object(o["a"])(e.height,0),u=Object(o["a"])(e.extrudedHeight,l);this._rectangle=Fe.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(l,u),this._rotation=c,this._extrudedHeight=Math.min(l,u),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}Xj.packedLength=Fe.packedLength+z.packedLength+5,Xj.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),Fe.pack(e._rectangle,t,n),n+=Fe.packedLength,z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=Object(o["a"])(e._offsetAttribute,-1),t};const Kj=new Fe,Jj=z.clone(z.UNIT_SPHERE),Zj={rectangle:Kj,ellipsoid:Jj,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};Xj.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");t=Object(o["a"])(t,0);const i=Fe.unpack(e,t,Kj);t+=Fe.packedLength;const s=z.unpack(e,t,Jj);t+=z.packedLength;const c=e[t++],l=e[t++],u=e[t++],h=e[t++],d=e[t];return Object(r["a"])(n)?(n._rectangle=Fe.clone(i,n._rectangle),n._ellipsoid=z.clone(s,n._ellipsoid),n._surfaceHeight=l,n._rotation=u,n._extrudedHeight=h,n._offsetAttribute=-1===d?void 0:d,n):(Zj.granularity=c,Zj.height=l,Zj.rotation=u,Zj.extrudedHeight=h,Zj.offsetAttribute=-1===d?void 0:d,new Xj(Zj))};const $j=new I;Xj.createGeometry=function(e){const t=e._rectangle,n=e._ellipsoid,i=aj.computeOptions(t,e._granularity,e._rotation,0,qj,$j);let o,a;if(s["a"].equalsEpsilon(t.north,t.south,s["a"].EPSILON10)||s["a"].equalsEpsilon(t.east,t.west,s["a"].EPSILON10))return;const c=e._surfaceHeight,l=e._extrudedHeight,u=!s["a"].equalsEpsilon(c,l,0,s["a"].EPSILON2);let h;if(u){if(o=Yj(e,i),Object(r["a"])(e._offsetAttribute)){const t=o.attributes.position.values.length/3;let n=new Uint8Array(t);e._offsetAttribute===qh.TOP?n=Ah(n,1,0,t/2):(h=e._offsetAttribute===qh.NONE?0:1,n=Ah(n,h)),o.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}const s=Tt.fromRectangle3D(t,n,c,Hj),u=Tt.fromRectangle3D(t,n,l,Vj);a=Tt.union(s,u)}else{if(o=Wj(e,i),o.attributes.position.values=ab.scaleToGeodeticHeight(o.attributes.position.values,c,n,!1),Object(r["a"])(e._offsetAttribute)){const t=o.attributes.position.values.length,n=new Uint8Array(t/3);h=e._offsetAttribute===qh.NONE?0:1,Ah(n,h),o.attributes.applyOffset=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}a=Tt.fromRectangle3D(t,n,c)}return new kh({attributes:o.attributes,indices:o.indices,primitiveType:xh.LINES,boundingSphere:a,offsetAttribute:e._offsetAttribute})};var Qj=Xj;const eP={FIXED:0,INERTIAL:1};var tP=Object.freeze(eP),nP=n("4ca2"),iP=n("75b2");const oP=30,rP=1<<oP,aP=1<<oP+1>>>0,sP=2*oP+1,cP=4,lP=[],uP=[],hP=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],dP=1,fP=2,pP=[dP,0,0,dP|fP];function mP(e){if(!Ta.supportsBigInt())throw new ye["a"]("S2 required BigInt support");if(!Object(r["a"])(e))throw new a["a"]("cell ID is required.");if(!mP.isValidId(e))throw new a["a"]("cell ID is invalid.");this._cellId=e,this._level=mP.getLevel(e)}function _P(e,t){const n=bP(e,t);return vP(n[0],n[1],n[2])}function gP(e,t,n){const i=yP(e,t),o=TP([i[1],i[2]],t),r=n>>1&1;return OP(i[0],o[0][r^1&n],o[1][r])}function bP(e,t){const n=yP(e),i=n[0],o=n[1],r=n[2],a=30===t,s=!a&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=a?1:s?2:0,l=(o<<1)+c,u=(r<<1)+c;return[i,l,u]}function yP(e){0===lP.length&&SP();const t=Number(e>>BigInt(sP));let n=t&dP;const i=(1<<cP)-1;let o=0,r=0;for(let a=7;a>=0;a--){const t=7===a?oP-7*cP:cP,s=(1<<2*t)-1;n+=Number(e>>BigInt(2*a*cP+1)&BigInt(s))<<2,n=uP[n];const c=a*cP;o+=n>>cP+2<<c,r+=(n>>2&i)<<c,n&=dP|fP}return[t,o,r]}function vP(e,t,n){const i=AP(t),o=AP(n),r=wP(i),a=wP(o);return OP(e,r,a)}function OP(e,t,n){switch(e){case 0:return new g(1,t,n);case 1:return new g(-t,1,n);case 2:return new g(-t,-n,1);case 3:return new g(-1,-n,-t);case 4:return new g(n,-1,-t);default:return new g(n,t,-1)}}function wP(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function AP(e){return 1/aP*e}function TP(e,t){const n=[[],[]],i=CP(t);for(let o=0;o<2;++o){const t=e[o]&-i,r=t+i;n[o][0]=wP(EP(t)),n[o][1]=wP(EP(r))}return n}function CP(e){return 1<<oP-e>>>0}function EP(e){return 1/rP*e}function xP(e,t,n,i,o,r){if(e===cP){const e=(t<<cP)+n;lP[(e<<2)+i]=(o<<2)+r,uP[(o<<2)+i]=(e<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;const a=hP[r];xP(e,t+(a[0]>>1),n+(1&a[0]),i,o,r^pP[0]),xP(e,t+(a[1]>>1),n+(1&a[1]),i,o+1,r^pP[1]),xP(e,t+(a[2]>>1),n+(1&a[2]),i,o+2,r^pP[2]),xP(e,t+(a[3]>>1),n+(1&a[3]),i,o+3,r^pP[3])}}function SP(){xP(0,0,0,0,0,0),xP(0,0,0,dP,0,dP),xP(0,0,0,fP,0,fP),xP(0,0,0,dP|fP,0,dP|fP)}function IP(e){return e&~e+BigInt(1)}function DP(e){return BigInt(1)<<BigInt(2*(oP-e))}mP.fromToken=function(e){if(i["a"].typeOf.string("token",e),!mP.isValidToken(e))throw new a["a"]("token is invalid.");return new mP(mP.getIdFromToken(e))},mP.isValidId=function(e){if(i["a"].typeOf.bigint("cellId",e),e<=0)return!1;if(e>>BigInt(sP)>5)return!1;const t=e&~e+BigInt(1);return!!(t&BigInt("0x1555555555555555"))},mP.isValidToken=function(e){return i["a"].typeOf.string("token",e),!!/^[0-9a-fA-F]{1,16}$/.test(e)&&mP.isValidId(mP.getIdFromToken(e))},mP.getIdFromToken=function(e){return i["a"].typeOf.string("token",e),BigInt("0x"+e+"0".repeat(16-e.length))},mP.getTokenFromId=function(e){i["a"].typeOf.bigint("cellId",e);const t=Math.floor(PP(e)/4),n=e.toString(16).replace(/0*$/,""),o=Array(17-t-n.length).join("0");return o+n},mP.getLevel=function(e){if(i["a"].typeOf.bigint("cellId",e),!mP.isValidId(e))throw new a["a"];let t=0;while(e!==BigInt(0)){if(e&BigInt(1))break;t++,e>>=BigInt(1)}return oP-(t>>1)},mP.prototype.getChild=function(e){if(i["a"].typeOf.number("index",e),e<0||e>3)throw new a["a"]("child index must be in the range [0-3].");if(30===this._level)throw new a["a"]("cannot get child of leaf cell.");const t=IP(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new mP(n)},mP.prototype.getParent=function(){if(0===this._level)throw new a["a"]("cannot get parent of root cell.");const e=IP(this._cellId)<<BigInt(2);return new mP(this._cellId&~e+BigInt(1)|e)},mP.prototype.getParentAtLevel=function(e){if(0===this._level||e<0||this._level<e)throw new a["a"]("cannot get parent at invalid level.");const t=DP(e);return new mP(this._cellId&-t|t)},mP.prototype.getCenter=function(e){e=Object(o["a"])(e,z.WGS84);let t=_P(this._cellId,this._level);t=g.normalize(t,t);const n=new I.fromCartesian(t,z.UNIT_SPHERE);return I.toCartesian(n,e,new g)},mP.prototype.getVertex=function(e,t){if(i["a"].typeOf.number("index",e),e<0||e>3)throw new a["a"]("vertex index must be in the range [0-3].");t=Object(o["a"])(t,z.WGS84);let n=gP(this._cellId,this._level,e);n=g.normalize(n,n);const r=new I.fromCartesian(n,z.UNIT_SPHERE);return I.toCartesian(r,t,new g)},mP.fromFacePositionLevel=function(e,t,n){if(i["a"].typeOf.bigint("position",t),e<0||e>5)throw new a["a"]("Invalid S2 Face (must be within 0-5)");if(n<0||n>oP)throw new a["a"]("Invalid level (must be within 0-30)");if(t<0||t>=Math.pow(4,n))throw new a["a"]("Invalid Hilbert position for level");const o=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),r=t.toString(2),s=Array(2*n-r.length+1).join("0"),c=Array(sP-2*n).join("0"),l=BigInt(`0b${o}${s}${r}1${c}`);return new mP(l)};const jP=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function PP(e){return jP[(-e&e)%BigInt(67)]}var RP=mP;const MP={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19};var NP=Object.freeze(MP);function LP(e,t,n){const i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;const o=i.getBoundingClientRect();return n.x=t.clientX-o.left,n.y=t.clientY-o.top,n}function BP(e,t){let n=e;return Object(r["a"])(t)&&(n+="+"+t),n}function FP(e){return e.shiftKey?Gx.SHIFT:e.ctrlKey?Gx.CTRL:e.altKey?Gx.ALT:void 0}const kP={LEFT:0,MIDDLE:1,RIGHT:2};function zP(e,t,n,i){function o(t){i(e,t)}Ta.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push((function(){n.removeEventListener(t,o,!1)}))}function UP(e){const t=e._element,n=Object(r["a"])(t.disableRootEvents)?t:document;let i;Ta.supportsPointerEvents()?(zP(e,"pointerdown",t,mR),zP(e,"pointerup",t,_R),zP(e,"pointermove",t,gR),zP(e,"pointercancel",t,_R)):(zP(e,"mousedown",t,YP),zP(e,"mouseup",n,ZP),zP(e,"mousemove",n,QP),zP(e,"touchstart",t,iR),zP(e,"touchend",n,oR),zP(e,"touchmove",n,hR),zP(e,"touchcancel",n,oR)),zP(e,"dblclick",t,tR),i="onwheel"in t?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",zP(e,i,t,nR)}function VP(e){const t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}const HP={position:new Ht};function GP(e){e._lastSeenTouchEvent=y_()}function qP(e){return y_()-e._lastSeenTouchEvent>bR.mouseEmulationIgnoreMilliseconds}function WP(e,t,n){const i=e.x-t.x,o=e.y-t.y,r=Math.sqrt(i*i+o*o);return r<n}function YP(e,t){if(!qP(e))return;const n=t.button;let i;if(e._buttonDown[n]=!0,n===kP.LEFT)i=NP.LEFT_DOWN;else if(n===kP.MIDDLE)i=NP.MIDDLE_DOWN;else{if(n!==kP.RIGHT)return;i=NP.RIGHT_DOWN}const o=LP(e,t,e._primaryPosition);Ht.clone(o,e._primaryStartPosition),Ht.clone(o,e._primaryPreviousPosition);const a=FP(t),s=e.getInputAction(i,a);Object(r["a"])(s)&&(Ht.clone(o,HP.position),s(HP),t.preventDefault())}const XP={position:new Ht},KP={position:new Ht};function JP(e,t,n,i){const o=FP(i),a=e.getInputAction(t,o),s=e.getInputAction(n,o);if(Object(r["a"])(a)||Object(r["a"])(s)){const t=LP(e,i,e._primaryPosition);if(Object(r["a"])(a)&&(Ht.clone(t,XP.position),a(XP)),Object(r["a"])(s)){const n=e._primaryStartPosition;WP(n,t,e._clickPixelTolerance)&&(Ht.clone(t,KP.position),s(KP))}}}function ZP(e,t){if(!qP(e))return;const n=t.button;n!==kP.LEFT&&n!==kP.MIDDLE&&n!==kP.RIGHT||(e._buttonDown[kP.LEFT]&&(JP(e,NP.LEFT_UP,NP.LEFT_CLICK,t),e._buttonDown[kP.LEFT]=!1),e._buttonDown[kP.MIDDLE]&&(JP(e,NP.MIDDLE_UP,NP.MIDDLE_CLICK,t),e._buttonDown[kP.MIDDLE]=!1),e._buttonDown[kP.RIGHT]&&(JP(e,NP.RIGHT_UP,NP.RIGHT_CLICK,t),e._buttonDown[kP.RIGHT]=!1))}const $P={startPosition:new Ht,endPosition:new Ht};function QP(e,t){if(!qP(e))return;const n=FP(t),i=LP(e,t,e._primaryPosition),o=e._primaryPreviousPosition,a=e.getInputAction(NP.MOUSE_MOVE,n);Object(r["a"])(a)&&(Ht.clone(o,$P.startPosition),Ht.clone(i,$P.endPosition),a($P)),Ht.clone(i,o),(e._buttonDown[kP.LEFT]||e._buttonDown[kP.MIDDLE]||e._buttonDown[kP.RIGHT])&&t.preventDefault()}const eR={position:new Ht};function tR(e,t){const n=t.button;let i;if(n!==kP.LEFT)return;i=NP.LEFT_DOUBLE_CLICK;const o=FP(t),a=e.getInputAction(i,o);Object(r["a"])(a)&&(LP(e,t,eR.position),a(eR))}function nR(e,t){let n;if(Object(r["a"])(t.deltaY)){const e=t.deltaMode;n=e===t.DOM_DELTA_PIXEL?-t.deltaY:e===t.DOM_DELTA_LINE?40*-t.deltaY:120*-t.deltaY}else n=t.detail>0?-120*t.detail:t.wheelDelta;if(!Object(r["a"])(n))return;const i=FP(t),o=e.getInputAction(NP.WHEEL,i);Object(r["a"])(o)&&(o(n),t.preventDefault())}function iR(e,t){GP(e);const n=t.changedTouches;let i;const o=n.length;let r,a;const s=e._positions;for(i=0;i<o;++i)r=n[i],a=r.identifier,s.set(a,LP(e,r,new Ht));uR(e,t);const c=e._previousPositions;for(i=0;i<o;++i)r=n[i],a=r.identifier,c.set(a,Ht.clone(s.get(a)))}function oR(e,t){GP(e);const n=t.changedTouches;let i;const o=n.length;let r,a;const s=e._positions;for(i=0;i<o;++i)r=n[i],a=r.identifier,s.remove(a);uR(e,t);const c=e._previousPositions;for(i=0;i<o;++i)r=n[i],a=r.identifier,c.remove(a)}const rR={position:new Ht},aR={position1:new Ht,position2:new Ht},sR={position:new Ht},cR={position:new Ht},lR={position:new Ht};function uR(e,t){const n=FP(t),i=e._positions,o=i.length;let a,s;const c=e._isPinching;if(1!==o&&e._buttonDown[kP.LEFT]){if(e._buttonDown[kP.LEFT]=!1,Object(r["a"])(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),a=e.getInputAction(NP.LEFT_UP,n),Object(r["a"])(a)&&(Ht.clone(e._primaryPosition,sR.position),a(sR)),0===o&&!e._isTouchHolding&&(s=e.getInputAction(NP.LEFT_CLICK,n),Object(r["a"])(s))){const t=e._primaryStartPosition,n=e._previousPositions.values[0];WP(t,n,e._clickPixelTolerance)&&(Ht.clone(e._primaryPosition,cR.position),s(cR))}e._isTouchHolding=!1}if(0===o&&c&&(e._isPinching=!1,a=e.getInputAction(NP.PINCH_END,n),Object(r["a"])(a)&&a()),1===o&&!c){const o=i.values[0];Ht.clone(o,e._primaryPosition),Ht.clone(o,e._primaryStartPosition),Ht.clone(o,e._primaryPreviousPosition),e._buttonDown[kP.LEFT]=!0,a=e.getInputAction(NP.LEFT_DOWN,n),Object(r["a"])(a)&&(Ht.clone(o,rR.position),a(rR)),e._touchHoldTimer=setTimeout((function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(NP.RIGHT_CLICK,n),Object(r["a"])(s))){const t=e._primaryStartPosition,n=e._previousPositions.values[0];WP(t,n,e._holdPixelTolerance)&&(Ht.clone(e._primaryPosition,lR.position),s(lR))}}),bR.touchHoldDelayMilliseconds),t.preventDefault()}2!==o||c||(e._isPinching=!0,a=e.getInputAction(NP.PINCH_START,n),Object(r["a"])(a)&&(Ht.clone(i.values[0],aR.position1),Ht.clone(i.values[1],aR.position2),a(aR),t.preventDefault()))}function hR(e,t){GP(e);const n=t.changedTouches;let i;const o=n.length;let a,s;const c=e._positions;for(i=0;i<o;++i){a=n[i],s=a.identifier;const t=c.get(s);Object(r["a"])(t)&&LP(e,a,t)}pR(e,t);const l=e._previousPositions;for(i=0;i<o;++i)a=n[i],s=a.identifier,Ht.clone(c.get(s),l.get(s))}const dR={startPosition:new Ht,endPosition:new Ht},fR={distance:{startPosition:new Ht,endPosition:new Ht},angleAndHeight:{startPosition:new Ht,endPosition:new Ht}};function pR(e,t){const n=FP(t),i=e._positions,o=e._previousPositions,a=i.length;let s;if(1===a&&e._buttonDown[kP.LEFT]){const o=i.values[0];Ht.clone(o,e._primaryPosition);const a=e._primaryPreviousPosition;s=e.getInputAction(NP.MOUSE_MOVE,n),Object(r["a"])(s)&&(Ht.clone(a,dR.startPosition),Ht.clone(o,dR.endPosition),s(dR)),Ht.clone(o,a),t.preventDefault()}else if(2===a&&e._isPinching&&(s=e.getInputAction(NP.PINCH_MOVE,n),Object(r["a"])(s))){const e=i.values[0],t=i.values[1],n=o.values[0],r=o.values[1],a=t.x-e.x,c=t.y-e.y,l=.25*Math.sqrt(a*a+c*c),u=r.x-n.x,h=r.y-n.y,d=.25*Math.sqrt(u*u+h*h),f=.125*(t.y+e.y),p=.125*(r.y+n.y),m=Math.atan2(c,a),_=Math.atan2(h,u);Ht.fromElements(0,d,fR.distance.startPosition),Ht.fromElements(0,l,fR.distance.endPosition),Ht.fromElements(_,p,fR.angleAndHeight.startPosition),Ht.fromElements(m,f,fR.angleAndHeight.endPosition),s(fR)}}function mR(e,t){if(t.target.setPointerCapture(t.pointerId),"touch"===t.pointerType){const n=e._positions,i=t.pointerId;n.set(i,LP(e,t,new Ht)),uR(e,t);const o=e._previousPositions;o.set(i,Ht.clone(n.get(i)))}else YP(e,t)}function _R(e,t){if("touch"===t.pointerType){const n=e._positions,i=t.pointerId;n.remove(i),uR(e,t);const o=e._previousPositions;o.remove(i)}else ZP(e,t)}function gR(e,t){if("touch"===t.pointerType){const n=e._positions,i=t.pointerId,o=n.get(i);if(!Object(r["a"])(o))return;LP(e,t,o),pR(e,t);const a=e._previousPositions;Ht.clone(n.get(i),a.get(i))}else QP(e,t)}function bR(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-bR.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new Ht,this._primaryPosition=new Ht,this._primaryPreviousPosition=new Ht,this._positions=new fh,this._previousPositions=new fh,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=Object(o["a"])(e,document),UP(this)}bR.prototype.setInputAction=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("action is required.");if(!Object(r["a"])(t))throw new a["a"]("type is required.");const i=BP(t,n);this._inputEvents[i]=e},bR.prototype.getInputAction=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=BP(e,t);return this._inputEvents[n]},bR.prototype.removeInputAction=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=BP(e,t);delete this._inputEvents[n]},bR.prototype.isDestroyed=function(){return!1},bR.prototype.destroy=function(){return VP(this),Wl(this)},bR.mouseEmulationIgnoreMilliseconds=800,bR.touchHoldDelayMilliseconds=1500;var yR=bR;function vR(e){e=Object(o["a"])(e,!0),this.value=vR.toValue(e)}Object.defineProperties(vR.prototype,{componentDatatype:{get:function(){return $c.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}}),vR.toValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("show is required.");return Object(r["a"])(t)?(t[0]=e,t):new Uint8Array([e])};var OR=vR;const wR={};function AR(e){const t=6.239996+.0172019696544*e;return.001657*Math.sin(t+.01671*Math.sin(t))}const TR=32.184,CR=2451545;function ER(e,t){t=gr.addSeconds(e,TR,t);const n=gr.totalDays(t)-CR;return t=gr.addSeconds(t,AR(n),t),t}const xR=new gr(2451545,0,Ko.TAI),SR=1e3,IR=s["a"].RADIANS_PER_DEGREE,DR=s["a"].RADIANS_PER_ARCSECOND,jR=14959787e4,PR=new ce;function RR(e,t,n,i,o,c,l){if(n<0&&(n=-n,o+=s["a"].PI),n<0||n>s["a"].PI)throw new a["a"]("The inclination is out of range. Inclination must be greater than or equal to zero and less than or equal to Pi radians.");const u=e*(1-t),h=i-o,d=o,f=NR(c-i,t),p=MR(t,0);if("Hyperbolic"===p&&Math.abs(s["a"].negativePiToPi(f))>=Math.acos(-1/t))throw new a["a"]("The true anomaly of the hyperbolic orbit lies outside of the bounds of the hyperbola.");zR(h,n,d,PR);const m=u*(1+t),_=Math.cos(f),b=Math.sin(f),y=1+t*_;if(y<=s["a"].Epsilon10)throw new a["a"]("elements cannot be converted to cartesian");const v=m/y;return Object(r["a"])(l)?(l.x=v*_,l.y=v*b,l.z=0):l=new g(v*_,v*b,0),ce.multiplyByVector(PR,l,l)}function MR(e,t){if(e<0)throw new a["a"]("eccentricity cannot be negative.");return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function NR(e,t){if(t<0||t>=1)throw new a["a"]("eccentricity out of range.");const n=FR(e,t);return kR(n,t)}const LR=50,BR=s["a"].EPSILON8;function FR(e,t){if(t<0||t>=1)throw new a["a"]("eccentricity out of range.");const n=Math.floor(e/s["a"].TWO_PI);e-=n*s["a"].TWO_PI;let i,o=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),r=Number.MAX_VALUE;for(i=0;i<LR&&Math.abs(r-o)>BR;++i){r=o;const n=r-t*Math.sin(r)-e,i=1-t*Math.cos(r);o=r-n/i}if(i>=LR)throw new a["a"]("Kepler equation did not converge");return r=o+n*s["a"].TWO_PI,r}function kR(e,t){if(t<0||t>=1)throw new a["a"]("eccentricity out of range.");const n=Math.floor(e/s["a"].TWO_PI);e-=n*s["a"].TWO_PI;const i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t);let r=Math.atan2(o,i);return r=s["a"].zeroToTwoPi(r),e<0&&(r-=s["a"].TWO_PI),r+=n*s["a"].TWO_PI,r}function zR(e,t,n,i){if(t<0||t>s["a"].PI)throw new a["a"]("inclination out of range");const o=Math.cos(e),c=Math.sin(e),l=Math.cos(t),u=Math.sin(t),h=Math.cos(n),d=Math.sin(n);return Object(r["a"])(i)?(i[0]=h*o-d*c*l,i[1]=d*o+h*c*l,i[2]=c*u,i[3]=-h*c-d*o*l,i[4]=-d*c+h*o*l,i[5]=o*u,i[6]=d*u,i[7]=-h*u,i[8]=l):i=new ce(h*o-d*c*l,-h*c-d*o*l,d*u,d*o+h*c*l,-d*c+h*o*l,-h*u,c*u,o*u,l),i}const UR=1.0000010178*jR,VR=100.46645683*IR,HR=1295977422.83429*DR,GR=16002,qR=21863,WR=32004,YR=10931,XR=14529,KR=16368,JR=15318,ZR=32794,$R=64*1e-7*jR,QR=1e-7*-152*jR,eM=62*1e-7*jR,tM=-8e-7*jR,nM=32*1e-7*jR,iM=1e-7*-41*jR,oM=19*1e-7*jR,rM=1e-7*-11*jR,aM=1e-7*-150*jR,sM=1e-7*-46*jR,cM=68*1e-7*jR,lM=54*1e-7*jR,uM=14*1e-7*jR,hM=24*1e-7*jR,dM=1e-7*-28*jR,fM=22*1e-7*jR,pM=10,mM=16002,_M=21863,gM=10931,bM=1473,yM=32004,vM=4387,OM=73,wM=1e-7*-325,AM=1e-7*-322,TM=1e-7*-79,CM=232*1e-7,EM=1e-7*-52,xM=97*1e-7,SM=55*1e-7,IM=1e-7*-41,DM=1e-7*-105,jM=1e-7*-137,PM=258*1e-7,RM=35*1e-7,MM=1e-7*-116,NM=1e-7*-88,LM=1e-7*-112,BM=1e-7*-80,FM=new gr(0,0,Ko.TAI);function kM(e,t){ER(e,FM);const n=FM.dayNumber-xR.dayNumber+(FM.secondsOfDay-xR.secondsOfDay)/Yo.SECONDS_PER_DAY,i=n/(10*Yo.DAYS_PER_JULIAN_CENTURY),o=.3595362*i,r=UR+$R*Math.cos(GR*o)+aM*Math.sin(GR*o)+QR*Math.cos(qR*o)+sM*Math.sin(qR*o)+eM*Math.cos(WR*o)+cM*Math.sin(WR*o)+tM*Math.cos(YR*o)+lM*Math.sin(YR*o)+nM*Math.cos(XR*o)+uM*Math.sin(XR*o)+iM*Math.cos(KR*o)+hM*Math.sin(KR*o)+oM*Math.cos(JR*o)+dM*Math.sin(JR*o)+rM*Math.cos(ZR*o)+fM*Math.sin(ZR*o),a=VR+HR*i+wM*Math.cos(pM*o)+DM*Math.sin(pM*o)+AM*Math.cos(mM*o)+jM*Math.sin(mM*o)+TM*Math.cos(_M*o)+PM*Math.sin(_M*o)+CM*Math.cos(gM*o)+RM*Math.sin(gM*o)+EM*Math.cos(bM*o)+MM*Math.sin(bM*o)+xM*Math.cos(yM*o)+NM*Math.sin(yM*o)+SM*Math.cos(vM*o)+LM*Math.sin(vM*o)+IM*Math.cos(OM*o)+BM*Math.sin(OM*o),s=.0167086342-.0004203654*i,c=102.93734808*IR+11612.3529*DR*i,l=469.97289*DR*i,u=174.87317577*IR-8679.27034*DR*i;return RR(r,s,l,c,u,a,t)}function zM(e,t){ER(e,FM);const n=FM.dayNumber-xR.dayNumber+(FM.secondsOfDay-xR.secondsOfDay)/Yo.SECONDS_PER_DAY,i=n/Yo.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,a=r*i;let s=383397.7725+.004*i,c=.055545526-16e-9*i;const l=5.15668983*IR;let u=-8e-5*i+.02966*o-42e-6*r-13e-8*a;const h=83.35324312*IR;let d=14643420.2669*i-38.2702*o-.045047*r+21301e-8*a;const f=125.04455501*IR;let p=-6967919.3631*i+6.3602*o+.007625*r-3586e-8*a;const m=218.31664563*IR;let _=1732559343.4847*i-6.391*o+.006588*r-3169e-8*a;const g=297.85019547*IR+DR*(1602961601.209*i-6.3706*o+.006593*r-3169e-8*a),b=93.27209062*IR+DR*(1739527262.8478*i-12.7512*o-.001037*r+417e-8*a),y=134.96340251*IR+DR*(1717915923.2178*i+31.8792*o+.051635*r-2447e-7*a),v=357.52910918*IR+DR*(129596581.0481*i-.5532*o+136e-6*r-1149e-8*a),O=310.17137918*IR-DR*(6967051.436*i+6.2068*o+.007618*r-3219e-8*a),w=2*g,A=4*g,T=6*g,C=2*y,E=3*y,x=4*y,S=2*b;s+=3400.4*Math.cos(w)-635.6*Math.cos(w-y)-235.6*Math.cos(y)+218.1*Math.cos(w-v)+181*Math.cos(w+y),c+=.014216*Math.cos(w-y)+.008551*Math.cos(w-C)-.001383*Math.cos(y)+.001356*Math.cos(w+y)-.001147*Math.cos(A-E)-914e-6*Math.cos(A-C)+869e-6*Math.cos(w-v-y)-627e-6*Math.cos(w)-394e-6*Math.cos(A-x)+282e-6*Math.cos(w-v-C)-279e-6*Math.cos(g-y)-236e-6*Math.cos(C)+231e-6*Math.cos(A)+229e-6*Math.cos(T-x)-201e-6*Math.cos(C-S),u+=486.26*Math.cos(w-S)-40.13*Math.cos(w)+37.51*Math.cos(S)+25.73*Math.cos(C-S)+19.97*Math.cos(w-v-S),d+=-55609*Math.sin(w-y)-34711*Math.sin(w-C)-9792*Math.sin(y)+9385*Math.sin(A-E)+7505*Math.sin(A-C)+5318*Math.sin(w+y)+3484*Math.sin(A-x)-3417*Math.sin(w-v-y)-2530*Math.sin(T-x)-2376*Math.sin(w)-2075*Math.sin(w-E)-1883*Math.sin(C)-1736*Math.sin(T-5*y)+1626*Math.sin(v)-1370*Math.sin(T-E),p+=-5392*Math.sin(w-S)-540*Math.sin(v)-441*Math.sin(w)+423*Math.sin(S)-288*Math.sin(C-S),_+=-3332.9*Math.sin(w)+1197.4*Math.sin(w-y)-662.5*Math.sin(v)+396.3*Math.sin(y)-218*Math.sin(w-v);const I=2*O,D=3*O;u+=46.997*Math.cos(O)*i-.614*Math.cos(w-S+O)*i+.614*Math.cos(w-S-O)*i-.0297*Math.cos(I)*o-.0335*Math.cos(O)*o+.0012*Math.cos(w-S+I)*o-16e-5*Math.cos(O)*r+4e-5*Math.cos(D)*r+4e-5*Math.cos(I)*r;const j=2.116*Math.sin(O)*i-.111*Math.sin(w-S-O)*i-.0015*Math.sin(O)*o;d+=j,_+=j,p+=-520.77*Math.sin(O)*i+13.66*Math.sin(w-S+O)*i+1.12*Math.sin(w-O)*i-1.06*Math.sin(S-O)*i+.66*Math.sin(I)*o+.371*Math.sin(O)*o-.035*Math.sin(w-S+I)*o-.015*Math.sin(w-S+O)*o+.0014*Math.sin(O)*r-.0011*Math.sin(D)*r-9e-4*Math.sin(I)*r,s*=SR;const P=l+u*DR,R=h+d*DR,M=m+_*DR,N=f+p*DR;return RR(s,c,P,R,N,M,t)}const UM=.012300034,VM=UM/(UM+1)*-1;function HM(e,t){return t=zM(e,t),g.multiplyByScalar(t,VM,t)}const GM=new ce(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819);let qM=new g;wR.computeSunPositionInEarthInertialFrame=function(e,t){return Object(r["a"])(e)||(e=gr.now()),Object(r["a"])(t)||(t=new g),qM=kM(e,qM),t=g.negate(qM,t),HM(e,qM),g.subtract(t,qM,t),ce.multiplyByVector(GM,t,t),t},wR.computeMoonPositionInEarthInertialFrame=function(e,t){return Object(r["a"])(e)||(e=gr.now()),t=zM(e,t),ce.multiplyByVector(GM,t,t),t};var WM=wR;function YM(e,t,n,i,o,r,a){const s=Ly.numberOfPoints(e,t,o);let c;const l=n.red,u=n.green,h=n.blue,d=n.alpha,f=i.red,p=i.green,m=i.blue,_=i.alpha;if(j_.equals(n,i)){for(c=0;c<s;c++)r[a++]=j_.floatToByte(l),r[a++]=j_.floatToByte(u),r[a++]=j_.floatToByte(h),r[a++]=j_.floatToByte(d);return a}const g=(f-l)/s,b=(p-u)/s,y=(m-h)/s,v=(_-d)/s;let O=a;for(c=0;c<s;c++)r[O++]=j_.floatToByte(l+c*g),r[O++]=j_.floatToByte(u+c*b),r[O++]=j_.floatToByte(h+c*y),r[O++]=j_.floatToByte(d+c*v);return O}function XM(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.colors,i=Object(o["a"])(e.colorsPerVertex,!1);if(!Object(r["a"])(t)||t.length<2)throw new a["a"]("At least two positions are required.");if(Object(r["a"])(n)&&(i&&n.length<t.length||!i&&n.length<t.length-1))throw new a["a"]("colors has an invalid length.");this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=Object(o["a"])(e.arcType,hh.GEODESIC),this._granularity=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._workerName="createSimplePolylineGeometry";let c=1+t.length*g.packedLength;c+=Object(r["a"])(n)?1+n.length*j_.packedLength:1,this.packedLength=c+z.packedLength+3}XM.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._colors;for(c=Object(r["a"])(l)?l.length:0,t[n++]=c,i=0;i<c;++i,n+=j_.packedLength)j_.pack(l[i],t,n);return z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t},XM.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);s=e[t++];const l=s>0?new Array(s):void 0;for(i=0;i<s;++i,t+=j_.packedLength)l[i]=j_.unpack(e,t);const u=z.unpack(e,t);t+=z.packedLength;const h=1===e[t++],d=e[t++],f=e[t];return Object(r["a"])(n)?(n._positions=c,n._colors=l,n._ellipsoid=u,n._colorsPerVertex=h,n._arcType=d,n._granularity=f,n):new XM({positions:c,colors:l,ellipsoid:u,colorsPerVertex:h,arcType:d,granularity:f})};const KM=new Array(2),JM=new Array(2),ZM={positions:KM,height:JM,ellipsoid:void 0,minDistance:void 0,granularity:void 0};XM.createGeometry=function(e){const t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,a=e._granularity,c=e._ellipsoid,l=s["a"].chordLength(a,c.maximumRadius),u=Object(r["a"])(n)&&!i;let h;const d=t.length;let f,p,m,_,b=0;if(o===hh.GEODESIC||o===hh.RHUMB){let e,i,p;o===hh.GEODESIC?(e=s["a"].chordLength(a,c.maximumRadius),i=Ly.numberOfPoints,p=Ly.generateArc):(e=a,i=Ly.numberOfPointsRhumbLine,p=Ly.generateRhumbArc);const g=Ly.extractHeights(t,c),y=ZM;if(o===hh.GEODESIC?y.minDistance=l:y.granularity=a,y.ellipsoid=c,u){let o=0;for(h=0;h<d-1;h++)o+=i(t[h],t[h+1],e)+1;f=new Float64Array(3*o),m=new Uint8Array(4*o),y.positions=KM,y.height=JM;let a=0;for(h=0;h<d-1;++h){KM[0]=t[h],KM[1]=t[h+1],JM[0]=g[h],JM[1]=g[h+1];const e=p(y);if(Object(r["a"])(n)){const t=e.length/3;_=n[h];for(let e=0;e<t;++e)m[a++]=j_.floatToByte(_.red),m[a++]=j_.floatToByte(_.green),m[a++]=j_.floatToByte(_.blue),m[a++]=j_.floatToByte(_.alpha)}f.set(e,b),b+=e.length}}else if(y.positions=t,y.height=g,f=new Float64Array(p(y)),Object(r["a"])(n)){for(m=new Uint8Array(f.length/3*4),h=0;h<d-1;++h){const e=t[h],i=t[h+1],o=n[h],r=n[h+1];b=YM(e,i,o,r,l,m,b)}const e=n[d-1];m[b++]=j_.floatToByte(e.red),m[b++]=j_.floatToByte(e.green),m[b++]=j_.floatToByte(e.blue),m[b++]=j_.floatToByte(e.alpha)}}else{p=u?2*d-2:d,f=new Float64Array(3*p),m=Object(r["a"])(n)?new Uint8Array(4*p):void 0;let e=0,i=0;for(h=0;h<d;++h){const o=t[h];if(u&&h>0&&(g.pack(o,f,e),e+=3,_=n[h-1],m[i++]=j_.floatToByte(_.red),m[i++]=j_.floatToByte(_.green),m[i++]=j_.floatToByte(_.blue),m[i++]=j_.floatToByte(_.alpha)),u&&h===d-1)break;g.pack(o,f,e),e+=3,Object(r["a"])(n)&&(_=n[h],m[i++]=j_.floatToByte(_.red),m[i++]=j_.floatToByte(_.green),m[i++]=j_.floatToByte(_.blue),m[i++]=j_.floatToByte(_.alpha))}}const y=new Hh;y.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:f}),Object(r["a"])(n)&&(y.color=new Uh({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:4,values:m,normalize:!0})),p=f.length/3;const v=2*(p-1),O=uu.createTypedArray(p,v);let w=0;for(h=0;h<p-1;++h)O[w++]=h,O[w++]=h+1;return new kh({attributes:y,indices:O,primitiveType:xh.LINES,boundingSphere:Tt.fromPoints(t)})};var $M=XM;function QM(e){const t=Object(o["a"])(e.radius,1),n=new g(t,t,t),i={radii:n,stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new Fw(i),this._workerName="createSphereGeometry"}QM.packedLength=Fw.packedLength,QM.pack=function(e,t,n){return i["a"].typeOf.object("value",e),Fw.pack(e._ellipsoidGeometry,t,n)};const eN=new Fw,tN={radius:void 0,radii:new g,vertexFormat:new Yh,stackPartitions:void 0,slicePartitions:void 0};QM.unpack=function(e,t,n){const i=Fw.unpack(e,t,eN);return tN.vertexFormat=Yh.clone(i._vertexFormat,tN.vertexFormat),tN.stackPartitions=i._stackPartitions,tN.slicePartitions=i._slicePartitions,Object(r["a"])(n)?(g.clone(i._radii,tN.radii),n._ellipsoidGeometry=new Fw(tN),n):(tN.radius=i._radii.x,new QM(tN))},QM.createGeometry=function(e){return Fw.createGeometry(e._ellipsoidGeometry)};var nN=QM;function iN(e){const t=Object(o["a"])(e.radius,1),n=new g(t,t,t),i={radii:n,stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new Ww(i),this._workerName="createSphereOutlineGeometry"}iN.packedLength=Ww.packedLength,iN.pack=function(e,t,n){return i["a"].typeOf.object("value",e),Ww.pack(e._ellipsoidGeometry,t,n)};const oN=new Ww,rN={radius:void 0,radii:new g,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};iN.unpack=function(e,t,n){const i=Ww.unpack(e,t,oN);return rN.stackPartitions=i._stackPartitions,rN.slicePartitions=i._slicePartitions,rN.subdivisions=i._subdivisions,Object(r["a"])(n)?(g.clone(i._radii,rN.radii),n._ellipsoidGeometry=new Ww(rN),n):(rN.radius=i._radii.x,new iN(rN))},iN.createGeometry=function(e){return Ww.createGeometry(e._ellipsoidGeometry)};var aN=iN;function sN(e,t,n){this.clock=Object(o["a"])(e,0),this.cone=Object(o["a"])(t,0),this.magnitude=Object(o["a"])(n,1)}sN.fromCartesian3=function(e,t){i["a"].typeOf.object("cartesian3",e);const n=e.x,o=e.y,a=e.z,s=n*n+o*o;return Object(r["a"])(t)||(t=new sN),t.clock=Math.atan2(o,n),t.cone=Math.atan2(Math.sqrt(s),a),t.magnitude=Math.sqrt(s+a*a),t},sN.clone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new sN(e.clock,e.cone,e.magnitude)},sN.normalize=function(e,t){return i["a"].typeOf.object("spherical",e),Object(r["a"])(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new sN(e.clock,e.cone,1)},sN.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude},sN.equalsEpsilon=function(e,t,n){return n=Object(o["a"])(n,0),e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n},sN.prototype.equals=function(e){return sN.equals(this,e)},sN.prototype.clone=function(e){return sN.clone(this,e)},sN.prototype.equalsEpsilon=function(e,t){return sN.equalsEpsilon(this,e,t)},sN.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var cN=sN;function lN(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.points,n=e.times;if(!Object(r["a"])(t)||!Object(r["a"])(n))throw new a["a"]("points and times are required.");if(t.length<2)throw new a["a"]("points.length must be greater than or equal to 2.");if(n.length!==t.length)throw new a["a"]("times.length must be equal to points.length.");this._times=n,this._points=t,this._pointType=hd.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(lN.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}}),lN.prototype.findTimeInterval=hd.prototype.findTimeInterval,lN.prototype.wrapTime=hd.prototype.wrapTime,lN.prototype.clampTime=hd.prototype.clampTime,lN.prototype.evaluate=function(e,t){const n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);const i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(Object(r["a"])(t)||(t=new o),o.clone(n[i],t))};var uN=lN;const hN={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7};var dN=hN;function fN(e){throw new a["a"]("This type should not be instantiated directly. Instead, use WebMercatorTilingScheme or GeographicTilingScheme.")}Object.defineProperties(fN.prototype,{ellipsoid:{get:a["a"].throwInstantiationError},rectangle:{get:a["a"].throwInstantiationError},projection:{get:a["a"].throwInstantiationError}}),fN.prototype.getNumberOfXTilesAtLevel=a["a"].throwInstantiationError,fN.prototype.getNumberOfYTilesAtLevel=a["a"].throwInstantiationError,fN.prototype.rectangleToNativeRectangle=a["a"].throwInstantiationError,fN.prototype.tileXYToNativeRectangle=a["a"].throwInstantiationError,fN.prototype.tileXYToRectangle=a["a"].throwInstantiationError,fN.prototype.positionToTileXY=a["a"].throwInstantiationError;var pN=fN;function mN(e,t){return gr.compare(e.start,t.start)}function _N(e){if(this._intervals=[],this._changedEvent=new pi["a"],Object(r["a"])(e)){const t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(_N.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){const e=this._intervals;return 0===e.length?void 0:e[0].start}},isStartIncluded:{get:function(){const e=this._intervals;return 0!==e.length&&e[0].isStartIncluded}},stop:{get:function(){const e=this._intervals,t=e.length;return 0===t?void 0:e[t-1].stop}},isStopIncluded:{get:function(){const e=this._intervals,t=e.length;return 0!==t&&e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return 0===this._intervals.length}}}),_N.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof _N))return!1;const n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!Mx.equals(n[r],i[r],t))return!1;return!0},_N.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._intervals[e]},_N.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))},_N.prototype.findIntervalContainingDate=function(e){const t=this.indexOf(e);return t>=0?this._intervals[t]:void 0},_N.prototype.findDataForIntervalContainingDate=function(e){const t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0},_N.prototype.contains=function(e){return this.indexOf(e)>=0};const gN=new Mx;_N.prototype.indexOf=function(e){if(!Object(r["a"])(e))throw new a["a"]("date is required");const t=this._intervals;gN.start=e,gN.stop=e;let n=Bo(t,gN,mN);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&Mx.contains(t[n-1],e)?n-1:~n)},_N.prototype.findInterval=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.start,n=e.stop,i=e.isStartIncluded,a=e.isStopIncluded,s=this._intervals;for(let o=0,c=s.length;o<c;o++){const e=s[o];if((!Object(r["a"])(t)||e.start.equals(t))&&(!Object(r["a"])(n)||e.stop.equals(n))&&(!Object(r["a"])(i)||e.isStartIncluded===i)&&(!Object(r["a"])(a)||e.isStopIncluded===a))return s[o]}},_N.prototype.addInterval=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("interval is required");if(e.isEmpty)return;const n=this._intervals;if(0===n.length||gr.greaterThan(e.start,n[n.length-1].stop))return n.push(e),void this._changedEvent.raiseEvent(this);let i,o=Bo(n,e,mN);o<0?o=~o:o>0&&e.isStartIncluded&&n[o-1].isStartIncluded&&n[o-1].start.equals(e.start)?--o:o<n.length&&!e.isStartIncluded&&n[o].isStartIncluded&&n[o].start.equals(e.start)&&++o,o>0&&(i=gr.compare(n[o-1].stop,e.start),(i>0||0===i&&(n[o-1].isStopIncluded||e.isStartIncluded))&&((Object(r["a"])(t)?t(n[o-1].data,e.data):n[o-1].data===e.data)?(e=gr.greaterThan(e.stop,n[o-1].stop)?new Mx({start:n[o-1].start,stop:e.stop,isStartIncluded:n[o-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):new Mx({start:n[o-1].start,stop:n[o-1].stop,isStartIncluded:n[o-1].isStartIncluded,isStopIncluded:n[o-1].isStopIncluded||e.stop.equals(n[o-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(o-1,1),--o):(i=gr.compare(n[o-1].stop,e.stop),(i>0||0===i&&n[o-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(o,0,new Mx({start:e.stop,stop:n[o-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[o-1].isStopIncluded,data:n[o-1].data})),n[o-1]=new Mx({start:n[o-1].start,stop:e.start,isStartIncluded:n[o-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[o-1].data}))));while(o<n.length){if(i=gr.compare(e.stop,n[o].start),!(i>0||0===i&&(e.isStopIncluded||n[o].isStartIncluded)))break;if(Object(r["a"])(t)?t(n[o].data,e.data):n[o].data===e.data)e=new Mx({start:e.start,stop:gr.greaterThan(n[o].stop,e.stop)?n[o].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:gr.greaterThan(n[o].stop,e.stop)?n[o].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(o,1);else{if(n[o]=new Mx({start:e.stop,stop:n[o].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[o].isStopIncluded,data:n[o].data}),!n[o].isEmpty)break;n.splice(o,1)}}n.splice(o,0,e),this._changedEvent.raiseEvent(this)},_N.prototype.removeInterval=function(e){if(!Object(r["a"])(e))throw new a["a"]("interval is required");if(e.isEmpty)return!1;const t=this._intervals;let n=Bo(t,e,mN);n<0&&(n=~n);let i=!1;n>0&&(gr.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(gr.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new Mx({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new Mx({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new Mx({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);while(n<t.length&&gr.greaterThan(e.stop,t[n].stop))i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new Mx({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new Mx({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(gr.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new Mx({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i},_N.prototype.intersect=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("other is required.");const i=new _N;let o=0,s=0;const c=this._intervals,l=e._intervals;while(o<c.length&&s<l.length){const e=c[o],a=l[s];if(gr.lessThan(e.stop,a.start))++o;else if(gr.lessThan(a.stop,e.start))++s;else{if(Object(r["a"])(n)||Object(r["a"])(t)&&t(e.data,a.data)||!Object(r["a"])(t)&&a.data===e.data){const o=Mx.intersect(e,a,new Mx,n);o.isEmpty||i.addInterval(o,t)}gr.lessThan(e.stop,a.stop)||e.stop.equals(a.stop)&&!e.isStopIncluded&&a.isStopIncluded?++o:++s}}return i},_N.fromJulianDateArray=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.julianDates))throw new a["a"]("options.iso8601Array is required.");Object(r["a"])(t)||(t=new _N);const n=e.julianDates,i=n.length,s=e.dataCallback,c=Object(o["a"])(e.isStartIncluded,!0),l=Object(o["a"])(e.isStopIncluded,!0),u=Object(o["a"])(e.leadingInterval,!1),h=Object(o["a"])(e.trailingInterval,!1);let d,f=0;u&&(++f,d=new Mx({start:kx.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!c}),d.data=Object(r["a"])(s)?s(d,t.length):t.length,t.addInterval(d));for(let o=0;o<i-1;++o){let e=n[o];const a=n[o+1];d=new Mx({start:e,stop:a,isStartIncluded:t.length!==f||c,isStopIncluded:o===i-2&&l}),d.data=Object(r["a"])(s)?s(d,t.length):t.length,t.addInterval(d),e=a}return h&&(d=new Mx({start:n[i-1],stop:kx.MAXIMUM_VALUE,isStartIncluded:!l,isStopIncluded:!0}),d.data=Object(r["a"])(s)?s(d,t.length):t.length,t.addInterval(d)),t};const bN=new Uo,yN=[0,31,28,31,30,31,30,31,31,30,31,30,31];function vN(e,t,n){Object(r["a"])(n)||(n=new gr),gr.toGregorianDate(e,bN);let i=bN.millisecond+t.millisecond,o=bN.second+t.second,a=bN.minute+t.minute,s=bN.hour+t.hour,c=bN.day+t.day,l=bN.month+t.month,u=bN.year+t.year;i>=1e3&&(o+=Math.floor(i/1e3),i%=1e3),o>=60&&(a+=Math.floor(o/60),o%=60),a>=60&&(s+=Math.floor(a/60),a%=60),s>=24&&(c+=Math.floor(s/24),s%=24),yN[2]=Ho(u)?29:28;while(c>yN[l]||l>=13)c>yN[l]&&(c-=yN[l],++l),l>=13&&(--l,u+=Math.floor(l/12),l%=12,++l),yN[2]=Ho(u)?29:28;return bN.millisecond=i,bN.second=o,bN.minute=a,bN.hour=s,bN.day=c,bN.month=l,bN.year=u,gr.fromGregorianDate(bN,n)}const ON=new gr,wN=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function AN(e,t){if(!Object(r["a"])(e)||0===e.length)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,"P"===e[0]){const n=e.match(wN);if(!Object(r["a"])(n))return!1;if(Object(r["a"])(n[1])&&(t.year=Number(n[1].replace(",","."))),Object(r["a"])(n[2])&&(t.month=Number(n[2].replace(",","."))),Object(r["a"])(n[3])&&(t.day=7*Number(n[3].replace(",","."))),Object(r["a"])(n[4])&&(t.day+=Number(n[4].replace(",","."))),Object(r["a"])(n[5])&&(t.hour=Number(n[5].replace(",","."))),Object(r["a"])(n[6])&&(t.minute=Number(n[6].replace(",","."))),Object(r["a"])(n[7])){const e=Number(n[7].replace(",","."));t.second=Math.floor(e),t.millisecond=e%1*1e3}}else"Z"!==e[e.length-1]&&(e+="Z"),gr.toGregorianDate(gr.fromIso8601(e,ON),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}const TN=new Uo;_N.fromIso8601=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.iso8601))throw new a["a"]("options.iso8601 is required.");const n=e.iso8601.split("/"),i=gr.fromIso8601(n[0]),o=gr.fromIso8601(n[1]),s=[];if(AN(n[2],TN)){let e=gr.clone(i);s.push(e);while(gr.compare(e,o)<0){e=vN(e,TN);const t=gr.compare(o,e)<=0;t&&gr.clone(o,e),s.push(e)}}else s.push(i,o);return _N.fromJulianDateArray({julianDates:s,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)},_N.fromIso8601DateArray=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.iso8601Dates))throw new a["a"]("options.iso8601Dates is required.");return _N.fromJulianDateArray({julianDates:e.iso8601Dates.map((function(e){return gr.fromIso8601(e)})),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)},_N.fromIso8601DurationArray=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.epoch))throw new a["a"]("options.epoch is required.");if(!Object(r["a"])(e.iso8601Durations))throw new a["a"]("options.iso8601Durations is required.");const n=e.epoch,i=e.iso8601Durations,s=Object(o["a"])(e.relativeToPrevious,!1),c=[];let l,u;const h=i.length;for(let o=0;o<h;++o)(AN(i[o],TN)||0===o)&&(l=s&&Object(r["a"])(u)?vN(u,TN):vN(n,TN),c.push(l),u=l);return _N.fromJulianDateArray({julianDates:c,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var CN=_N;const EN=new g(1,1,1),xN=g.ZERO,SN=$a.IDENTITY;function IN(e,t,n){this.translation=g.clone(Object(o["a"])(e,xN)),this.rotation=$a.clone(Object(o["a"])(t,SN)),this.scale=g.clone(Object(o["a"])(n,EN))}IN.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&g.equals(this.translation,e.translation)&&$a.equals(this.rotation,e.rotation)&&g.equals(this.scale,e.scale)};var DN=IN,jN=n("3e44"),PN=n("2720");function RN(e,t){this.rectangle=e,this.maxLevel=t}function MN(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");const t=Et["a"].createIfNeeded(e.url);this._resource=t,this._errorEvent=new pi["a"],this._ready=!1,this._readyPromise=Object(xr["a"])(),this._terrainDataStructure={heightScale:.001,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:16777215};let n=e.credit;"string"===typeof n&&(n=new fi(n)),this._credit=n,this._tilingScheme=void 0,this._rectangles=[];const i=this;let c;const l=Object(o["a"])(e.ellipsoid,z.WGS84);function u(e){const t=e.getElementsByTagName("SRS")[0].textContent;if("EPSG:4326"!==t)return void h(`SRS ${t} is not supported.`);i._tilingScheme=new qt({ellipsoid:l});const n=e.getElementsByTagName("TileFormat")[0];i._heightmapWidth=parseInt(n.getAttribute("width"),10),i._heightmapHeight=parseInt(n.getAttribute("height"),10),i._levelZeroMaximumGeometricError=bu.getEstimatedLevelZeroGeometricErrorForAHeightmap(l,Math.min(i._heightmapWidth,i._heightmapHeight),i._tilingScheme.getNumberOfXTilesAtLevel(0));const o=e.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){const e=o[r],t=s["a"].toRadians(parseFloat(e.getAttribute("minx"))),n=s["a"].toRadians(parseFloat(e.getAttribute("miny"))),a=s["a"].toRadians(parseFloat(e.getAttribute("maxx"))),c=s["a"].toRadians(parseFloat(e.getAttribute("maxy"))),l=parseInt(e.getAttribute("maxlevel"),10);i._rectangles.push(new RN(new Fe(t,n,a,c),l))}i._ready=!0,i._readyPromise.resolve(!0)}function h(e){const t=Object(o["a"])(e,`An error occurred while accessing ${i._resource.url}.`);c=eh.handleError(c,i,i._errorEvent,t,void 0,void 0,void 0,d)}function d(){i._resource.fetchXML().then(u).catch(h)}d()}Object.defineProperties(MN.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){if(!this.ready)throw new a["a"]("requestTileGeometry must not be called before ready returns true.");return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}}),MN.prototype.requestTileGeometry=function(e,t,n,i){if(!this.ready)throw new a["a"]("requestTileGeometry must not be called before ready returns true.");const o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}),c=s.fetchImage({preferImageBitmap:!0});if(!Object(r["a"])(c))return;const l=this;return Promise.resolve(c).then((function(i){return new Su({buffer:Object(PN["a"])(i),width:l._heightmapWidth,height:l._heightmapHeight,childTileMask:LN(l,e,t,n),structure:l._terrainDataStructure})}))},MN.prototype.getLevelMaximumGeometricError=function(e){if(!this.ready)throw new a["a"]("requestTileGeometry must not be called before ready returns true.");return this._levelZeroMaximumGeometricError/(1<<e)};const NN=new Fe;function LN(e,t,n,i){const o=e._tilingScheme,a=e._rectangles,s=o.tileXYToRectangle(t,n,i);let c=0;for(let l=0;l<a.length&&15!==c;++l){const e=a[l];if(e.maxLevel<=i)continue;const u=e.rectangle,h=Fe.intersection(u,s,NN);Object(r["a"])(h)&&(BN(o,u,2*t,2*n,i+1)&&(c|=4),BN(o,u,2*t+1,2*n,i+1)&&(c|=8),BN(o,u,2*t,2*n+1,i+1)&&(c|=1),BN(o,u,2*t+1,2*n+1,i+1)&&(c|=2))}return c}function BN(e,t,n,i,o){const a=e.tileXYToRectangle(n,i,o);return Object(r["a"])(Fe.intersection(a,t,NN))}MN.prototype.getTileDataAvailable=function(e,t,n){},MN.prototype.loadTileDataAvailability=function(e,t,n){};var FN=MN;function kN(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=Object(o["a"])(e.epoch,kx.MINIMUM_VALUE),this.tolerance=Object(o["a"])(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}function zN(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}Object.defineProperties(kN.prototype,{clock:{get:function(){return this._clock},set:function(e){const t=this._clock;t!==e&&(Object(r["a"])(t)&&(this._clockSubscription(),this._clockSubscription=void 0),Object(r["a"])(e)&&(this._clockSubscription=e.onTick.addEventListener(kN.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){const t=this._element;t!==e&&(Object(r["a"])(t)&&t.removeEventListener("seeked",this._seekFunction,!1),Object(r["a"])(e)&&(this._seeking=!1,this._seekFunction=zN(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}}),kN.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,Wl(this)},kN.prototype.isDestroyed=function(){return!1},kN.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;const t=this._element;try{t.playbackRate=e.multiplier}catch(n){t.playbackRate=0}this._lastPlaybackRate=e.multiplier},kN.prototype._onTick=function(e){const t=this._element;if(!Object(r["a"])(t)||t.readyState<2)return;const n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek)return void(this._firstTickAfterSeek=!1);this._trySetPlaybackRate(e);const a=e.currentTime,s=Object(o["a"])(this.epoch,kx.MINIMUM_VALUE);let c=gr.secondsDifference(a,s);const l=t.duration;let u;const h=t.currentTime;t.loop?(c%=l,c<0&&(c=l-c),u=c):u=c>l?l:c<0?0:c;const d=i?Object(o["a"])(this.tolerance,1):.001;Math.abs(u-h)>d&&(this._seeking=!0,t.currentTime=u)};var UN=kN;const VN={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033};var HN=Object.freeze(VN);const GN={};function qN(e,t){return s["a"].equalsEpsilon(e.latitude,t.latitude,s["a"].EPSILON10)&&s["a"].equalsEpsilon(e.longitude,t.longitude,s["a"].EPSILON10)}const WN=new I,YN=new I;function XN(e,t,n,i){t=z_(t,g.equalsEpsilon);const o=t.length;if(o<2)return;const a=Object(r["a"])(i),s=Object(r["a"])(n),c=new Array(o),l=new Array(o),u=new Array(o),h=t[0];c[0]=h;const d=e.cartesianToCartographic(h,WN);s&&(d.height=n[0]),l[0]=d.height,u[0]=a?i[0]:0;const f=l[0],p=u[0];let m=f===p,_=1;for(let r=1;r<o;++r){const o=t[r],h=e.cartesianToCartographic(o,YN);s&&(h.height=n[r]),m=m&&0===h.height,qN(d,h)?d.height<h.height&&(l[_-1]=h.height):(c[_]=o,l[_]=h.height,u[_]=a?i[r]:0,m=m&&l[_]===u[_],I.clone(h,d),++_)}return m||_<2?void 0:(c.length=_,l.length=_,u.length=_,{positions:c,topHeights:l,bottomHeights:u})}const KN=new Array(2),JN=new Array(2),ZN={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};GN.computePositions=function(e,t,n,i,o,a){const c=XN(e,t,n,i);if(!Object(r["a"])(c))return;t=c.positions,n=c.topHeights,i=c.bottomHeights;const l=t.length,u=l-2;let h,d;const f=s["a"].chordLength(o,e.maximumRadius),p=ZN;if(p.minDistance=f,p.ellipsoid=e,a){let e,o=0;for(e=0;e<l-1;e++)o+=Ly.numberOfPoints(t[e],t[e+1],f)+1;h=new Float64Array(3*o),d=new Float64Array(3*o);const r=KN,a=JN;p.positions=r,p.height=a;let s=0;for(e=0;e<l-1;e++){r[0]=t[e],r[1]=t[e+1],a[0]=n[e],a[1]=n[e+1];const o=Ly.generateArc(p);h.set(o,s),a[0]=i[e],a[1]=i[e+1],d.set(Ly.generateArc(p),s),s+=o.length}}else p.positions=t,p.height=n,h=new Float64Array(Ly.generateArc(p)),p.height=i,d=new Float64Array(Ly.generateArc(p));return{bottomPositions:d,topPositions:h,numCorners:u}};var $N=GN;const QN=new g,eL=new g,tL=new g,nL=new g,iL=new g,oL=new g,rL=new g;function aL(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.maximumHeights,i=e.minimumHeights;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");if(Object(r["a"])(n)&&n.length!==t.length)throw new a["a"]("options.positions and options.maximumHeights must have the same length.");if(Object(r["a"])(i)&&i.length!==t.length)throw new a["a"]("options.positions and options.minimumHeights must have the same length.");const c=Object(o["a"])(e.vertexFormat,Yh.DEFAULT),l=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),u=Object(o["a"])(e.ellipsoid,z.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Yh.clone(c),this._granularity=l,this._ellipsoid=z.clone(u),this._workerName="createWallGeometry";let h=1+t.length*g.packedLength+2;Object(r["a"])(i)&&(h+=i.length),Object(r["a"])(n)&&(h+=n.length),this.packedLength=h+z.packedLength+Yh.packedLength+1}aL.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._minimumHeights;if(c=Object(r["a"])(l)?l.length:0,t[n++]=c,Object(r["a"])(l))for(i=0;i<c;++i)t[n++]=l[i];const u=e._maximumHeights;if(c=Object(r["a"])(u)?u.length:0,t[n++]=c,Object(r["a"])(u))for(i=0;i<c;++i)t[n++]=u[i];return z.pack(e._ellipsoid,t,n),n+=z.packedLength,Yh.pack(e._vertexFormat,t,n),n+=Yh.packedLength,t[n]=e._granularity,t};const sL=z.clone(z.UNIT_SPHERE),cL=new Yh,lL={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:sL,vertexFormat:cL,granularity:void 0};aL.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);let l,u;if(s=e[t++],s>0)for(l=new Array(s),i=0;i<s;++i)l[i]=e[t++];if(s=e[t++],s>0)for(u=new Array(s),i=0;i<s;++i)u[i]=e[t++];const h=z.unpack(e,t,sL);t+=z.packedLength;const d=Yh.unpack(e,t,cL);t+=Yh.packedLength;const f=e[t];return Object(r["a"])(n)?(n._positions=c,n._minimumHeights=l,n._maximumHeights=u,n._ellipsoid=z.clone(h,n._ellipsoid),n._vertexFormat=Yh.clone(d,n._vertexFormat),n._granularity=f,n):(lL.positions=c,lL.minimumHeights=l,lL.maximumHeights=u,lL.granularity=f,new aL(lL))},aL.fromConstantHeights=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");let n,i;const s=e.minimumHeight,c=e.maximumHeight,l=Object(r["a"])(s),u=Object(r["a"])(c);if(l||u){const e=t.length;n=l?new Array(e):void 0,i=u?new Array(e):void 0;for(let t=0;t<e;++t)l&&(n[t]=s),u&&(i[t]=c)}const h={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new aL(h)},aL.createGeometry=function(e){const t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,a=e._granularity,c=e._ellipsoid,l=$N.computePositions(c,t,i,n,a,!0);if(!Object(r["a"])(l))return;const u=l.bottomPositions,h=l.topPositions,d=l.numCorners;let f=h.length,p=2*f;const m=o.position?new Float64Array(p):void 0,_=o.normal?new Float32Array(p):void 0,b=o.tangent?new Float32Array(p):void 0,y=o.bitangent?new Float32Array(p):void 0,v=o.st?new Float32Array(p/3*2):void 0;let O,w=0,A=0,T=0,C=0,E=0,x=rL,S=oL,I=iL,D=!0;f/=3;let j=0;const P=1/(f-d-1);for(O=0;O<f;++O){const e=3*O,t=g.fromArray(h,e,QN),n=g.fromArray(u,e,eL);if(o.position&&(m[w++]=n.x,m[w++]=n.y,m[w++]=n.z,m[w++]=t.x,m[w++]=t.y,m[w++]=t.z),o.st&&(v[E++]=j,v[E++]=0,v[E++]=j,v[E++]=1),o.normal||o.tangent||o.bitangent){let n=g.clone(g.ZERO,nL);const i=g.subtract(t,c.geodeticSurfaceNormal(t,eL),eL);if(O+1<f&&(n=g.fromArray(h,e+3,nL)),D){const e=g.subtract(n,t,tL),o=g.subtract(i,t,QN);x=g.normalize(g.cross(o,e,x),x),D=!1}g.equalsEpsilon(t,n,s["a"].EPSILON10)?D=!0:(j+=P,o.tangent&&(S=g.normalize(g.subtract(n,t,S),S)),o.bitangent&&(I=g.normalize(g.cross(x,S,I),I))),o.normal&&(_[A++]=x.x,_[A++]=x.y,_[A++]=x.z,_[A++]=x.x,_[A++]=x.y,_[A++]=x.z),o.tangent&&(b[C++]=S.x,b[C++]=S.y,b[C++]=S.z,b[C++]=S.x,b[C++]=S.y,b[C++]=S.z),o.bitangent&&(y[T++]=I.x,y[T++]=I.y,y[T++]=I.z,y[T++]=I.x,y[T++]=I.y,y[T++]=I.z)}}const R=new Hh;o.position&&(R.position=new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:m})),o.normal&&(R.normal=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:_})),o.tangent&&(R.tangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:b})),o.bitangent&&(R.bitangent=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:y})),o.st&&(R.st=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:v}));const M=p/3;p-=6*(d+1);const N=uu.createTypedArray(M,p);let L=0;for(O=0;O<M-2;O+=2){const e=O,t=O+2,n=g.fromArray(m,3*e,QN),i=g.fromArray(m,3*t,eL);if(g.equalsEpsilon(n,i,s["a"].EPSILON10))continue;const o=O+1,r=O+3;N[L++]=o,N[L++]=e,N[L++]=r,N[L++]=r,N[L++]=e,N[L++]=t}return new kh({attributes:R,indices:N,primitiveType:xh.TRIANGLES,boundingSphere:new Tt.fromVertices(m)})};var uL=aL;const hL=new g,dL=new g;function fL(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions,n=e.maximumHeights,i=e.minimumHeights;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");if(Object(r["a"])(n)&&n.length!==t.length)throw new a["a"]("options.positions and options.maximumHeights must have the same length.");if(Object(r["a"])(i)&&i.length!==t.length)throw new a["a"]("options.positions and options.minimumHeights must have the same length.");const c=Object(o["a"])(e.granularity,s["a"].RADIANS_PER_DEGREE),l=Object(o["a"])(e.ellipsoid,z.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=c,this._ellipsoid=z.clone(l),this._workerName="createWallOutlineGeometry";let u=1+t.length*g.packedLength+2;Object(r["a"])(i)&&(u+=i.length),Object(r["a"])(n)&&(u+=n.length),this.packedLength=u+z.packedLength+1}fL.pack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");let i;n=Object(o["a"])(n,0);const s=e._positions;let c=s.length;for(t[n++]=c,i=0;i<c;++i,n+=g.packedLength)g.pack(s[i],t,n);const l=e._minimumHeights;if(c=Object(r["a"])(l)?l.length:0,t[n++]=c,Object(r["a"])(l))for(i=0;i<c;++i)t[n++]=l[i];const u=e._maximumHeights;if(c=Object(r["a"])(u)?u.length:0,t[n++]=c,Object(r["a"])(u))for(i=0;i<c;++i)t[n++]=u[i];return z.pack(e._ellipsoid,t,n),n+=z.packedLength,t[n]=e._granularity,t};const pL=z.clone(z.UNIT_SPHERE),mL={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:pL,granularity:void 0};fL.unpack=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");let i;t=Object(o["a"])(t,0);let s=e[t++];const c=new Array(s);for(i=0;i<s;++i,t+=g.packedLength)c[i]=g.unpack(e,t);let l,u;if(s=e[t++],s>0)for(l=new Array(s),i=0;i<s;++i)l[i]=e[t++];if(s=e[t++],s>0)for(u=new Array(s),i=0;i<s;++i)u[i]=e[t++];const h=z.unpack(e,t,pL);t+=z.packedLength;const d=e[t];return Object(r["a"])(n)?(n._positions=c,n._minimumHeights=l,n._maximumHeights=u,n._ellipsoid=z.clone(h,n._ellipsoid),n._granularity=d,n):(mL.positions=c,mL.minimumHeights=l,mL.maximumHeights=u,mL.granularity=d,new fL(mL))},fL.fromConstantHeights=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.positions;if(!Object(r["a"])(t))throw new a["a"]("options.positions is required.");let n,i;const s=e.minimumHeight,c=e.maximumHeight,l=Object(r["a"])(s),u=Object(r["a"])(c);if(l||u){const e=t.length;n=l?new Array(e):void 0,i=u?new Array(e):void 0;for(let t=0;t<e;++t)l&&(n[t]=s),u&&(i[t]=c)}const h={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new fL(h)},fL.createGeometry=function(e){const t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,a=e._ellipsoid,c=$N.computePositions(a,t,i,n,o,!1);if(!Object(r["a"])(c))return;const l=c.bottomPositions,u=c.topPositions;let h=u.length,d=2*h;const f=new Float64Array(d);let p,m=0;for(h/=3,p=0;p<h;++p){const e=3*p,t=g.fromArray(u,e,hL),n=g.fromArray(l,e,dL);f[m++]=n.x,f[m++]=n.y,f[m++]=n.z,f[m++]=t.x,f[m++]=t.y,f[m++]=t.z}const _=new Hh({position:new Uh({componentDatatype:$c.DOUBLE,componentsPerAttribute:3,values:f})}),b=d/3;d=2*b-4+b;const y=uu.createTypedArray(b,d);let v=0;for(p=0;p<b-2;p+=2){const e=p,t=p+2,n=g.fromArray(f,3*e,hL),i=g.fromArray(f,3*t,dL);if(g.equalsEpsilon(n,i,s["a"].EPSILON10))continue;const o=p+1,r=p+3;y[v++]=o,y[v++]=e,y[v++]=o,y[v++]=r,y[v++]=e,y[v++]=t}return y[v++]=b-2,y[v++]=b-1,new kh({attributes:_,indices:y,primitiveType:xh.LINES,boundingSphere:new Tt.fromVertices(f)})};var _L=fL;const gL={};function bL(e){const t=uu.createTypedArray(e,2*e),n=e;let i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function yL(e,t){const n=t.length,i=uu.createTypedArray(e,2*n);let o=0;for(let r=0;r<n;r+=3){const e=t[r],n=t[r+1],a=t[r+2];i[o++]=e,i[o++]=n,i[o++]=n,i[o++]=a,i[o++]=a,i[o++]=e}return i}function vL(e){const t=e-2,n=2+4*t,i=uu.createTypedArray(e,n);let o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function OL(e,t){const n=t.length,i=n-2,o=2+4*i,r=uu.createTypedArray(e,o);let a=0;r[a++]=t[0],r[a++]=t[1];for(let s=0;s<i;s++){const e=t[s],n=t[s+1],i=t[s+2];r[a++]=n,r[a++]=i,r[a++]=i,r[a++]=e}return r}function wL(e){const t=e-2,n=2+4*t,i=uu.createTypedArray(e,n);let o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function AL(e,t){const n=t.length,i=n-2,o=2+4*i,r=uu.createTypedArray(e,o);let a=0;const s=t[0];r[a++]=s,r[a++]=t[1];for(let c=0;c<i;c++){const e=t[c+1],n=t[c+2];r[a++]=e,r[a++]=n,r[a++]=n,r[a++]=s}return r}gL.createWireframeIndices=function(e,t,n){const i=Object(r["a"])(n);return e===xh.TRIANGLES?i?yL(t,n):bL(t):e===xh.TRIANGLE_STRIP?i?OL(t,n):vL(t):e===xh.TRIANGLE_FAN?i?AL(t,n):wL(t):void 0},gL.getWireframeIndicesCount=function(e,t){if(e===xh.TRIANGLES)return 2*t;if(e===xh.TRIANGLE_STRIP||e===xh.TRIANGLE_FAN){const e=t-2;return 2+4*e}return t};var TL=gL,CL=n("de5b");function EL(e,t,n){if(i["a"].defined("array",e),Object(r["a"])(t)&&i["a"].typeOf.number("begin",t),Object(r["a"])(n)&&i["a"].typeOf.number("end",n),"function"===typeof e.slice)return e.slice(t,n);let o=Array.prototype.slice.call(e,t,n);const a=Ta.typedArrayTypes,s=a.length;for(let i=0;i<s;++i)if(e instanceof a[i]){o=new a[i](o);break}return o}var xL=EL;let SL;function IL(e){SL(e)}"undefined"!==typeof cancelAnimationFrame&&(SL=cancelAnimationFrame),function(){if(!Object(r["a"])(SL)&&"undefined"!==typeof window){const e=["webkit","moz","ms","o"];let t=0;const n=e.length;while(t<n&&!Object(r["a"])(SL))SL=window[e[t]+"CancelAnimationFrame"],Object(r["a"])(SL)||(SL=window[e[t]+"CancelRequestAnimationFrame"]),++t}Object(r["a"])(SL)||(SL=clearTimeout)}();var DL=IL,jL=n("dc1c");function PL(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0,n="x"===e?t:3&t|8;return n.toString(16)}))}var RL=PL;function ML(e){return e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),new pf({url:jx.fromAssetId(1),requestVertexNormals:Object(o["a"])(e.requestVertexNormals,!1),requestWaterMask:Object(o["a"])(e.requestWaterMask,!1)})}var NL=ML;const LL=1953029805,BL=2917034100;function FL(e,t){if(FL.passThroughDataForTesting)return t;i["a"].typeOf.object("key",e),i["a"].typeOf.object("data",t);const n=e.byteLength;if(0===n||n%4!==0)throw new ye["a"]("The length of key must be greater than 0 and a multiple of 4.");const o=new DataView(t),r=o.getUint32(0,!0);if(r===LL||r===BL)return t;const a=new DataView(e);let s=0;const c=t.byteLength,l=c-c%8,u=n;let h,d=8;while(s<l){d=(d+8)%24,h=d;while(s<l&&h<u)o.setUint32(s,o.getUint32(s,!0)^a.getUint32(h,!0),!0),o.setUint32(s+4,o.getUint32(s+4,!0)^a.getUint32(h+4,!0),!0),s+=8,h+=24}if(s<c){h>=u&&(d=(d+8)%24,h=d);while(s<c)o.setUint8(s,o.getUint8(s)^a.getUint8(h)),s++,h++}}FL.passThroughDataForTesting=!1;var kL=FL;const zL=32767,UL=new I,VL=new g;function HL(e,t,n,i,o){const r=e.length/3,a=e.subarray(0,r),c=e.subarray(r,2*r),l=e.subarray(2*r,3*r);gl.zigZagDeltaDecode(a,c,l);const u=new Float64Array(e.length);for(let h=0;h<r;++h){const e=a[h],r=c[h],d=l[h],f=s["a"].lerp(t.west,t.east,e/zL),p=s["a"].lerp(t.south,t.north,r/zL),m=s["a"].lerp(n,i,d/zL),_=I.fromRadians(f,p,m,UL),b=o.cartographicToCartesian(_,VL);g.pack(b,u,3*h)}return u}var GL=HL;function qL(e,t){if(!Object(r["a"])(e)||!Object(r["a"])(t))throw new a["a"]("identifier and message are required.");ky(e,t)}var WL=qL,YL=n("1a99"),XL=n("1f30");function KL(e){if(!Object(r["a"])(e))throw new a["a"]("uri is required.");const t=new Hl["a"](e);t.normalize();let n=t.path();const i=n.lastIndexOf("/");return-1!==i&&(n=n.substr(i+1)),n}var JL=KL;function ZL(e,t){return t=Object(o["a"])(t,0),Bd(e,t,Math.min(4,e.length))}var $L=ZL,QL=n("96e8"),eB=n("166e");function tB(e){const t=e.uint8Array,n=e.format,a=e.request,s=Object(o["a"])(e.flipY,!1),c=Object(o["a"])(e.skipColorSpaceConversion,!1);i["a"].typeOf.object("uint8Array",t),i["a"].typeOf.string("format",n);const l=new Blob([t],{type:n});let u;return Et["a"].supportsImageBitmapOptions().then((function(e){if(e)return Promise.resolve(Et["a"].createImageBitmapFromBlob(l,{flipY:s,premultiplyAlpha:!1,skipColorSpaceConversion:c}));u=window.URL.createObjectURL(l);const t=new Et["a"]({url:u,request:a});return t.fetchImage({flipY:s,skipColorSpaceConversion:c})})).then((function(e){return Object(r["a"])(u)&&window.URL.revokeObjectURL(u),e})).catch((function(e){return Object(r["a"])(u)&&window.URL.revokeObjectURL(u),Promise.reject(e)}))}var nB=tB;let iB;function oB(e){let t;if(i["a"].defined("resourceOrUrlOrBuffer",e),e instanceof ArrayBuffer||ArrayBuffer.isView(e))t=Promise.resolve(e);else{const n=Et["a"].createIfNeeded(e);t=n.fetchArrayBuffer()}return t.then((function(e){return Vx.transcode(e,iB)}))}oB.setKTX2SupportedFormats=function(e,t,n,i,o,r){iB={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};var rB=oB;const aB=[],sB=[];function cB(e,t,n,i,o,r){const a=o-i+1,s=r-o,c=aB,l=sB;let u,h;for(u=0;u<a;++u)c[u]=e[i+u];for(h=0;h<s;++h)l[h]=e[o+h+1];u=0,h=0;for(let d=i;d<=r;++d){const i=c[u],o=l[h];u<a&&(h>=s||t(i,o,n)<=0)?(e[d]=i,++u):h<s&&(e[d]=o,++h)}}function lB(e,t,n,i,o){if(i>=o)return;const r=Math.floor(.5*(i+o));lB(e,t,n,i,r),lB(e,t,n,r+1,o),cB(e,t,n,i,r,o)}function uB(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required.");if(!Object(r["a"])(t))throw new a["a"]("comparator is required.");const i=e.length,o=Math.ceil(.5*i);aB.length=o,sB.length=o,lB(e,t,n,0,i-1),aB.length=0,sB.length=0}var hB=uB,dB=n("0569"),fB=n("fa2f");const pB=new g;function mB(e,t,n,i){const o=Nf(e,t,n,i,pB);return!!Object(r["a"])(o)&&(o.x>0&&o.y>0&&o.z>0)}var _B=mB,gB=n("c0fd");let bB;function yB(e){return bB(e)}"undefined"!==typeof requestAnimationFrame&&(bB=requestAnimationFrame),function(){if(!Object(r["a"])(bB)&&"undefined"!==typeof window){const e=["webkit","moz","ms","o"];let t=0;const n=e.length;while(t<n&&!Object(r["a"])(bB))bB=window[e[t]+"RequestAnimationFrame"],++t}if(!Object(r["a"])(bB)){const e=1e3/60;let t=0;bB=function(n){const i=y_(),o=Math.max(e-(i-t),0);return t=i+o,setTimeout((function(){n(t)}),o)}}}();var vB=yB;function OB(e,t,n){return i["a"].typeOf.object("terrainProvider",e),i["a"].typeOf.number("level",t),i["a"].defined("positions",n),e.readyPromise.then((function(){return wB(e,t,n)}))}function wB(e,t,n){const i=e.tilingScheme;let o;const r=[],a={};for(o=0;o<n.length;++o){const s=i.positionToTileXY(n[o],t),c=s.toString();if(!a.hasOwnProperty(c)){const n={x:s.x,y:s.y,level:t,tilingScheme:i,terrainProvider:e,positions:[]};a[c]=n,r.push(n)}a[c].positions.push(n[o])}const s=[];for(o=0;o<r.length;++o){const e=r[o],t=e.terrainProvider.requestTileGeometry(e.x,e.y,e.level),n=t.then(TB(e)).catch(CB(e));s.push(n)}return Promise.all(s).then((function(){return n}))}function AB(e,t,n){const i=t.interpolateHeight(n,e.longitude,e.latitude);return void 0!==i&&(e.height=i,!0)}function TB(e){const t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let e=0;e<t.length;++e){const r=t[e],a=AB(r,i,n);if(!a){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then((function(){for(let e=0;e<t.length;++e){const o=t[e];AB(o,i,n)}})):Promise.resolve()}}function CB(e){const t=e.positions;return function(){for(let e=0;e<t.length;++e){const n=t[e];n.height=void 0}}}var EB=OB;const xB=new Ht;function SB(e,t){if(!Object(r["a"])(e))throw new a["a"]("terrainProvider is required.");if(!Object(r["a"])(t))throw new a["a"]("positions is required.");return e.readyPromise.then((function(){const n=[],i=[],o=e.availability;if(!Object(r["a"])(o))throw new a["a"]("sampleTerrainMostDetailed requires a terrain provider that has tile availability.");const s=[];for(let a=0;a<t.length;++a){const c=t[a],l=o.computeMaximumLevelAtPosition(c);if(i[a]=l,0===l){e.tilingScheme.positionToTileXY(c,1,xB);const t=e.loadTileDataAvailability(xB.x,xB.y,1);Object(r["a"])(t)&&s.push(t)}let u=n[l];Object(r["a"])(u)||(n[l]=u=[]),u.push(c)}return Promise.all(s).then((function(){return Promise.all(n.map((function(t,n){if(Object(r["a"])(t))return EB(e,n,t)})))})).then((function(){const n=[];for(let e=0;e<t.length;++e){const r=t[e],a=o.computeMaximumLevelAtPosition(r);a!==i[e]&&n.push(r)}if(n.length>0)return SB(e,n)})).then((function(){return t}))}))}var IB=SB;function DB(e,t){if(!Object(r["a"])(e))throw new a["a"]("array is required.");if(!Object(r["a"])(t)||t<1)throw new a["a"]("numberOfArrays must be greater than 0.");const n=[],i=e.length;let o=0;while(o<i){const r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var jB=DB;function PB(e){switch(e){case Jc.FLOAT:return"float";case Jc.FLOAT_VEC2:return"vec2";case Jc.FLOAT_VEC3:return"vec3";case Jc.FLOAT_VEC4:return"vec4";case Jc.FLOAT_MAT2:return"mat2";case Jc.FLOAT_MAT3:return"mat3";case Jc.FLOAT_MAT4:return"mat4";case Jc.SAMPLER_2D:return"sampler2D";case Jc.BOOL:return"bool"}}var RB=PB;function MB(e,t,n){if("function"!==typeof t)throw new a["a"]("oldFunction is required to be a function.");if("function"!==typeof n)throw new a["a"]("oldFunction is required to be a function.");return function(){n.apply(e,arguments),t.apply(e,arguments)}}var NB=MB;function LB(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new pi["a"],this.setValue(e)}Object.defineProperties(LB.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}}),LB.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value},LB.prototype.setValue=function(e){const t=this._value;if(t!==e){const n=Object(r["a"])(e),i=n&&"function"===typeof e.clone,o=n&&"function"===typeof e.equals,a=!o||!e.equals(t);a&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}},LB.prototype.equals=function(e){return this===e||e instanceof LB&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))},LB.prototype.valueOf=function(){return this._value},LB.prototype.toString=function(){return String(this._value)};var BB=LB;function FB(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(i){const a=this[t],s=this[n];Object(r["a"])(s)&&(s(),this[n]=void 0);const c=void 0!==i;!c||Object(r["a"])(i)&&Object(r["a"])(i.getValue)||!Object(r["a"])(o)||(i=o(i)),a!==i&&(this[t]=i,this._definitionChanged.raiseEvent(this,e,i,a)),Object(r["a"])(i)&&Object(r["a"])(i.definitionChanged)&&(this[n]=i.definitionChanged.addEventListener((function(){this._definitionChanged.raiseEvent(this,e,i,i)}),this))}}}function kB(e){return new BB(e)}function zB(e,t,n){return FB(e,"_"+e.toString(),`_${e.toString()}Subscription`,Object(o["a"])(t,!1),Object(o["a"])(n,kB))}var UB=zB;function VB(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(VB.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),image:UB("image"),scale:UB("scale"),pixelOffset:UB("pixelOffset"),eyeOffset:UB("eyeOffset"),horizontalOrigin:UB("horizontalOrigin"),verticalOrigin:UB("verticalOrigin"),heightReference:UB("heightReference"),color:UB("color"),rotation:UB("rotation"),alignedAxis:UB("alignedAxis"),sizeInMeters:UB("sizeInMeters"),width:UB("width"),height:UB("height"),scaleByDistance:UB("scaleByDistance"),translucencyByDistance:UB("translucencyByDistance"),pixelOffsetScaleByDistance:UB("pixelOffsetScaleByDistance"),imageSubRegion:UB("imageSubRegion"),distanceDisplayCondition:UB("distanceDisplayCondition"),disableDepthTestDistance:UB("disableDepthTestDistance")}),VB.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e):new VB(this)},VB.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this._show,e.show),this.image=Object(o["a"])(this._image,e.image),this.scale=Object(o["a"])(this._scale,e.scale),this.pixelOffset=Object(o["a"])(this._pixelOffset,e.pixelOffset),this.eyeOffset=Object(o["a"])(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=Object(o["a"])(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=Object(o["a"])(this._verticalOrigin,e.verticalOrigin),this.heightReference=Object(o["a"])(this._heightReference,e.heightReference),this.color=Object(o["a"])(this._color,e.color),this.rotation=Object(o["a"])(this._rotation,e.rotation),this.alignedAxis=Object(o["a"])(this._alignedAxis,e.alignedAxis),this.sizeInMeters=Object(o["a"])(this._sizeInMeters,e.sizeInMeters),this.width=Object(o["a"])(this._width,e.width),this.height=Object(o["a"])(this._height,e.height),this.scaleByDistance=Object(o["a"])(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=Object(o["a"])(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=Object(o["a"])(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=Object(o["a"])(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=Object(o["a"])(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=Object(o["a"])(this._disableDepthTestDistance,e.disableDepthTestDistance)};var HB=VB;const GB={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2};var qB=Object.freeze(GB);const WB={CENTER:0,LEFT:1,RIGHT:-1};var YB=Object.freeze(WB);const XB={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1};var KB=Object.freeze(XB);const JB={DONE:0,PENDING:1,FAILED:2};var ZB=Object.freeze(JB);function $B(){a["a"].throwInstantiationError()}Object.defineProperties($B.prototype,{isConstant:{get:a["a"].throwInstantiationError},definitionChanged:{get:a["a"].throwInstantiationError}}),$B.prototype.getValue=a["a"].throwInstantiationError,$B.prototype.equals=a["a"].throwInstantiationError,$B.equals=function(e,t){return e===t||Object(r["a"])(e)&&e.equals(t)},$B.arrayEquals=function(e,t){if(e===t)return!0;if(!Object(r["a"])(e)||!Object(r["a"])(t)||e.length!==t.length)return!1;const n=e.length;for(let i=0;i<n;i++)if(!$B.equals(e[i],t[i]))return!1;return!0},$B.isConstant=function(e){return!Object(r["a"])(e)||e.isConstant},$B.getValueOrUndefined=function(e,t,n){return Object(r["a"])(e)?e.getValue(t,n):void 0},$B.getValueOrDefault=function(e,t,n,i){return Object(r["a"])(e)?Object(o["a"])(e.getValue(t,i),n):n},$B.getValueOrClonedDefault=function(e,t,n,i){let o;return Object(r["a"])(e)&&(o=e.getValue(t,i)),Object(r["a"])(o)||(o=n.clone(o)),o};var QB=$B;const eF=j_.WHITE,tF=g.ZERO,nF=qB.NONE,iF=Ht.ZERO,oF=1,rF=0,aF=g.ZERO,sF=YB.CENTER,cF=KB.CENTER,lF=!1,uF=new g,hF=new j_,dF=new g,fF=new Ht,pF=new cS,mF=new cS,_F=new cS,gF=new Oh,bF=new sw;function yF(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function vF(e,t){if(!Object(r["a"])(e))throw new a["a"]("entityCluster is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(vF.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new fh,this._onCollectionChanged(t,t.values,[],[])}function OF(e,t,n){Object(r["a"])(e)&&(e.billboard=void 0,n.removeBillboard(t))}vF.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){const o=t[i],a=o.entity,s=a._billboard;let c,l,u=o.billboard,h=a.isShowing&&a.isAvailable(e)&&QB.getValueOrDefault(s._show,e,!0);if(h&&(l=QB.getValueOrUndefined(a._position,e,uF),c=QB.getValueOrUndefined(s._image,e),h=Object(r["a"])(l)&&Object(r["a"])(c)),!h){OF(o,a,n);continue}QB.isConstant(a._position)||(n._clusterDirty=!0),Object(r["a"])(u)||(u=n.getBillboard(a),u.id=a,u.image=void 0,o.billboard=u),u.show=h,Object(r["a"])(u.image)&&o.textureValue===c||(u.image=c,o.textureValue=c),u.position=l,u.color=QB.getValueOrDefault(s._color,e,eF,hF),u.eyeOffset=QB.getValueOrDefault(s._eyeOffset,e,tF,dF),u.heightReference=QB.getValueOrDefault(s._heightReference,e,nF),u.pixelOffset=QB.getValueOrDefault(s._pixelOffset,e,iF,fF),u.scale=QB.getValueOrDefault(s._scale,e,oF),u.rotation=QB.getValueOrDefault(s._rotation,e,rF),u.alignedAxis=QB.getValueOrDefault(s._alignedAxis,e,aF),u.horizontalOrigin=QB.getValueOrDefault(s._horizontalOrigin,e,sF),u.verticalOrigin=QB.getValueOrDefault(s._verticalOrigin,e,cF),u.width=QB.getValueOrUndefined(s._width,e),u.height=QB.getValueOrUndefined(s._height,e),u.scaleByDistance=QB.getValueOrUndefined(s._scaleByDistance,e,pF),u.translucencyByDistance=QB.getValueOrUndefined(s._translucencyByDistance,e,mF),u.pixelOffsetScaleByDistance=QB.getValueOrUndefined(s._pixelOffsetScaleByDistance,e,_F),u.sizeInMeters=QB.getValueOrDefault(s._sizeInMeters,e,lF),u.distanceDisplayCondition=QB.getValueOrUndefined(s._distanceDisplayCondition,e,bF),u.disableDepthTestDistance=QB.getValueOrUndefined(s._disableDepthTestDistance,e);const d=QB.getValueOrUndefined(s._imageSubRegion,e,gF);Object(r["a"])(d)&&u.setImageSubRegion(u._imageId,d)}return!0},vF.prototype.getBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");if(!Object(r["a"])(t))throw new a["a"]("result is required.");const n=this._items.get(e.id);if(!Object(r["a"])(n)||!Object(r["a"])(n.billboard))return ZB.FAILED;const i=n.billboard;if(i.heightReference===qB.NONE)t.center=g.clone(i.position,t.center);else{if(!Object(r["a"])(i._clampedPosition))return ZB.PENDING;t.center=g.clone(i._clampedPosition,t.center)}return t.radius=0,ZB.DONE},vF.prototype.isDestroyed=function(){return!1},vF.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(vF.prototype._onCollectionChanged,this);const e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return Wl(this)},vF.prototype._onCollectionChanged=function(e,t,n,i){let o,a;const s=this._items,c=this._cluster;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._billboard)&&Object(r["a"])(a._position)&&s.set(a.id,new yF(a));for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._billboard)&&Object(r["a"])(a._position)?s.contains(a.id)||s.set(a.id,new yF(a)):(OF(s.get(a.id),a,c),s.remove(a.id));for(o=n.length-1;o>-1;o--)a=n[o],OF(s.get(a.id),a,c),s.remove(a.id)};var wF=vF,AF="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_bitangentEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n vec3 positionToEyeEC = -v_positionEC;\n mat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC);\n\n vec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\n\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.tangentToEyeMatrix = tangentToEyeMatrix;\n materialInput.positionToEyeEC = positionToEyeEC;\n materialInput.st = v_st;\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef FLAT\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\n gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",TF="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec3 tangent;\nattribute vec3 bitangent;\nattribute vec2 st;\nattribute float batchId;\n\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_bitangentEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_normalEC = czm_normal * normal; // normal in eye coordinates\n v_tangentEC = czm_normal * tangent; // tangent in eye coordinates\n v_bitangentEC = czm_normal * bitangent; // bitangent in eye coordinates\n v_st = st;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",CF="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\n\nvoid main()\n{\n vec3 positionToEyeEC = -v_positionEC;\n\n vec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\n\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.positionToEyeEC = positionToEyeEC;\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef FLAT\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\n gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",EF="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute float batchId;\n\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_normalEC = czm_normal * normal; // normal in eye coordinates\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",xF="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n vec3 positionToEyeEC = -v_positionEC;\n\n vec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\n\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.positionToEyeEC = positionToEyeEC;\n materialInput.st = v_st;\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef FLAT\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\n gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",SF="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec2 st;\nattribute float batchId;\n\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_normalEC = czm_normal * normal; // normal in eye coordinates\n v_st = st;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n";const IF={ADD:Jc.FUNC_ADD,SUBTRACT:Jc.FUNC_SUBTRACT,REVERSE_SUBTRACT:Jc.FUNC_REVERSE_SUBTRACT,MIN:Jc.MIN,MAX:Jc.MAX};var DF=Object.freeze(IF);const jF={ZERO:Jc.ZERO,ONE:Jc.ONE,SOURCE_COLOR:Jc.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:Jc.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:Jc.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:Jc.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:Jc.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:Jc.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:Jc.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:Jc.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:Jc.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:Jc.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:Jc.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:Jc.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:Jc.SRC_ALPHA_SATURATE};var PF=Object.freeze(jF);const RF={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.SOURCE_ALPHA,functionSourceAlpha:PF.ONE,functionDestinationRgb:PF.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:PF.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.ONE,functionSourceAlpha:PF.ONE,functionDestinationRgb:PF.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:PF.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.SOURCE_ALPHA,functionSourceAlpha:PF.ONE,functionDestinationRgb:PF.ONE,functionDestinationAlpha:PF.ONE})};var MF=Object.freeze(RF);const NF={FRONT:Jc.FRONT,BACK:Jc.BACK,FRONT_AND_BACK:Jc.FRONT_AND_BACK};var LF=Object.freeze(NF);function BF(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.material=e.material,this.translucent=Object(o["a"])(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=Object(o["a"])(e.closed,!1)}Object.defineProperties(BF.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}}),BF.prototype.getFragmentShaderSource=function(){const e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),Object(r["a"])(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join("\n")},BF.prototype.isTranslucent=function(){return Object(r["a"])(this.material)&&this.material.isTranslucent()||!Object(r["a"])(this.material)&&this.translucent},BF.prototype.getRenderState=function(){const e=this.isTranslucent(),t=Object(jL["a"])(this.renderState,!1);return e?(t.depthMask=!1,t.blending=MF.ALPHA_BLEND):t.depthMask=!0,t},BF.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=MF.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:LF.BACK}),Object(r["a"])(n)&&(i=Object(xS["a"])(n,i,!0)),i};var FF=BF;const kF={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(kF,{maximumCombinedTextureImageUnits:{get:function(){return kF._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return kF._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return kF._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return kF._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return kF._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return kF._maximumTextureSize}},maximumVaryingVectors:{get:function(){return kF._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return kF._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return kF._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return kF._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return kF._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return kF._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return kF._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return kF._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return kF._maximumViewportWidth}},maximumViewportHeight:{get:function(){return kF._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return kF._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return kF._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return kF._maximumColorAttachments}},maximumSamples:{get:function(){return kF._maximumSamples}},highpFloatSupported:{get:function(){return kF._highpFloatSupported}},highpIntSupported:{get:function(){return kF._highpIntSupported}}});var zF=kF;function UF(e,t,n,i,o,r,a,s,c,l,u){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=a,this._internalFormat=o,this._pixelFormat=r,this._size=s,this._preMultiplyAlpha=c,this._flipY=l,this._initialized=u}Object.defineProperties(UF.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}}),UF.prototype.copyFrom=function(e){i["a"].defined("options",e);const t=Object(o["a"])(e.xOffset,0),n=Object(o["a"])(e.yOffset,0);if(i["a"].defined("options.source",e.source),i["a"].typeOf.number.greaterThanOrEquals("xOffset",t,0),i["a"].typeOf.number.greaterThanOrEquals("yOffset",n,0),t+e.source.width>this._size)throw new a["a"]("xOffset + options.source.width must be less than or equal to width.");if(n+e.source.height>this._size)throw new a["a"]("yOffset + options.source.height must be less than or equal to height.");const s=e.source,c=this._context._gl,l=this._textureTarget,u=this._targetFace;c.activeTexture(c.TEXTURE0),c.bindTexture(l,this._texture);const h=s.width,d=s.height;let f=s.arrayBufferView;const p=this._size,m=this._pixelFormat,_=this._internalFormat,g=this._pixelDatatype,b=this._preMultiplyAlpha,y=this._flipY,v=Object(o["a"])(e.skipColorSpaceConversion,!1);let O=4;Object(r["a"])(f)&&(O=XS.alignmentInBytes(m,g,h)),c.pixelStorei(c.UNPACK_ALIGNMENT,O),v?c.pixelStorei(c.UNPACK_COLORSPACE_CONVERSION_WEBGL,c.NONE):c.pixelStorei(c.UNPACK_COLORSPACE_CONVERSION_WEBGL,c.BROWSER_DEFAULT_WEBGL);let w=!1;if(!this._initialized){if(0===t&&0===n&&h===p&&d===p)Object(r["a"])(f)?(c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,!1),y&&(f=XS.flipY(f,m,g,p,p)),c.texImage2D(u,0,_,p,p,0,m,WS.toWebGLConstant(g,this._context),f)):(c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,y),c.texImage2D(u,0,_,m,WS.toWebGLConstant(g,this._context),s)),w=!0;else{c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,!1);const e=XS.createTypedArray(m,g,p,p);c.texImage2D(u,0,_,p,p,0,m,WS.toWebGLConstant(g,this._context),e)}this._initialized=!0}w||(Object(r["a"])(f)?(c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,!1),y&&(f=XS.flipY(f,m,g,h,d)),c.texSubImage2D(u,0,t,n,h,d,m,WS.toWebGLConstant(g,this._context),f)):(c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,y),c.texSubImage2D(u,0,t,n,m,WS.toWebGLConstant(g,this._context),s))),c.bindTexture(l,null)},UF.prototype.copyFromFramebuffer=function(e,t,n,r,s,c){if(e=Object(o["a"])(e,0),t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),r=Object(o["a"])(r,0),s=Object(o["a"])(s,this._size),c=Object(o["a"])(c,this._size),i["a"].typeOf.number.greaterThanOrEquals("xOffset",e,0),i["a"].typeOf.number.greaterThanOrEquals("yOffset",t,0),i["a"].typeOf.number.greaterThanOrEquals("framebufferXOffset",n,0),i["a"].typeOf.number.greaterThanOrEquals("framebufferYOffset",r,0),e+s>this._size)throw new a["a"]("xOffset + source.width must be less than or equal to width.");if(t+c>this._size)throw new a["a"]("yOffset + source.height must be less than or equal to height.");if(this._pixelDatatype===WS.FLOAT)throw new a["a"]("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===WS.HALF_FLOAT)throw new a["a"]("Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT.");const l=this._context._gl,u=this._textureTarget;l.activeTexture(l.TEXTURE0),l.bindTexture(u,this._texture),l.copyTexSubImage2D(this._targetFace,0,e,t,n,r,s,c),l.bindTexture(u,null),this._initialized=!0};var VF=UF;const HF={DONT_CARE:Jc.DONT_CARE,FASTEST:Jc.FASTEST,NICEST:Jc.NICEST,validate:function(e){return e===HF.DONT_CARE||e===HF.FASTEST||e===HF.NICEST}};var GF=Object.freeze(HF);const qF={NEAREST:Jc.NEAREST,LINEAR:Jc.LINEAR,validate:function(e){return e===qF.NEAREST||e===qF.LINEAR}};var WF=Object.freeze(qF);const YF={NEAREST:Jc.NEAREST,LINEAR:Jc.LINEAR,NEAREST_MIPMAP_NEAREST:Jc.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:Jc.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:Jc.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:Jc.LINEAR_MIPMAP_LINEAR,validate:function(e){return e===YF.NEAREST||e===YF.LINEAR||e===YF.NEAREST_MIPMAP_NEAREST||e===YF.LINEAR_MIPMAP_NEAREST||e===YF.NEAREST_MIPMAP_LINEAR||e===YF.LINEAR_MIPMAP_LINEAR}};var XF=Object.freeze(YF);const KF={CLAMP_TO_EDGE:Jc.CLAMP_TO_EDGE,REPEAT:Jc.REPEAT,MIRRORED_REPEAT:Jc.MIRRORED_REPEAT,validate:function(e){return e===KF.CLAMP_TO_EDGE||e===KF.REPEAT||e===KF.MIRRORED_REPEAT}};var JF=Object.freeze(KF);function ZF(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.wrapS,JF.CLAMP_TO_EDGE),n=Object(o["a"])(e.wrapT,JF.CLAMP_TO_EDGE),s=Object(o["a"])(e.minificationFilter,XF.LINEAR),c=Object(o["a"])(e.magnificationFilter,WF.LINEAR),l=Object(r["a"])(e.maximumAnisotropy)?e.maximumAnisotropy:1;if(!JF.validate(t))throw new a["a"]("Invalid sampler.wrapS.");if(!JF.validate(n))throw new a["a"]("Invalid sampler.wrapT.");if(!XF.validate(s))throw new a["a"]("Invalid sampler.minificationFilter.");if(!WF.validate(c))throw new a["a"]("Invalid sampler.magnificationFilter.");i["a"].typeOf.number.greaterThanOrEquals("maximumAnisotropy",l,1),this._wrapS=t,this._wrapT=n,this._minificationFilter=s,this._magnificationFilter=c,this._maximumAnisotropy=l}Object.defineProperties(ZF.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}}),ZF.equals=function(e,t){return e===t||Object(r["a"])(e)&&Object(r["a"])(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy},ZF.NEAREST=Object.freeze(new ZF({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.NEAREST,magnificationFilter:WF.NEAREST}));var $F=ZF;function QF(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context);const t=e.context,n=e.source;let s,c;if(Object(r["a"])(n)){const e=[n.positiveX,n.negativeX,n.positiveY,n.negativeY,n.positiveZ,n.negativeZ];if(!e[0]||!e[1]||!e[2]||!e[3]||!e[4]||!e[5])throw new a["a"]("options.source requires positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ faces.");s=e[0].width,c=e[0].height;for(let t=1;t<6;++t)if(Number(e[t].width)!==s||Number(e[t].height)!==c)throw new a["a"]("Each face in options.source must have the same width and height.")}else s=e.width,c=e.height;const l=s,u=Object(o["a"])(e.pixelDatatype,WS.UNSIGNED_BYTE),h=Object(o["a"])(e.pixelFormat,XS.RGBA),d=XS.toInternalFormat(h,u,t);if(!Object(r["a"])(s)||!Object(r["a"])(c))throw new a["a"]("options requires a source field to create an initialized cube map or width and height fields to create a blank cube map.");if(s!==c)throw new a["a"]("Width must equal height.");if(l<=0)throw new a["a"]("Width and height must be greater than zero.");if(l>zF.maximumCubeMapSize)throw new a["a"](`Width and height must be less than or equal to the maximum cube map size (${zF.maximumCubeMapSize}). Check maximumCubeMapSize.`);if(!XS.validate(h))throw new a["a"]("Invalid options.pixelFormat.");if(XS.isDepthFormat(h))throw new a["a"]("options.pixelFormat cannot be DEPTH_COMPONENT or DEPTH_STENCIL.");if(!WS.validate(u))throw new a["a"]("Invalid options.pixelDatatype.");if(u===WS.FLOAT&&!t.floatingPointTexture)throw new a["a"]("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(u===WS.HALF_FLOAT&&!t.halfFloatingPointTexture)throw new a["a"]("When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension.");const f=6*XS.textureSizeInBytes(h,u,l,l),p=e.preMultiplyAlpha||h===XS.RGB||h===XS.LUMINANCE,m=Object(o["a"])(e.flipY,!0),_=Object(o["a"])(e.skipColorSpaceConversion,!1),g=t._gl,b=g.TEXTURE_CUBE_MAP,y=g.createTexture();function v(e,n,i,o,a){let c=n.arrayBufferView;Object(r["a"])(c)||(c=n.bufferView);let f=4;Object(r["a"])(c)&&(f=XS.alignmentInBytes(h,u,s)),g.pixelStorei(g.UNPACK_ALIGNMENT,f),a?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),Object(r["a"])(c)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),o&&(c=XS.flipY(c,h,u,l,l)),g.texImage2D(e,0,d,l,l,0,h,WS.toWebGLConstant(u,t),c)):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,o),g.texImage2D(e,0,d,h,WS.toWebGLConstant(u,t),n))}g.activeTexture(g.TEXTURE0),g.bindTexture(b,y),Object(r["a"])(n)?(v(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,p,m,_),v(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,p,m,_),v(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,p,m,_),v(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,p,m,_),v(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,p,m,_),v(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,p,m,_)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,d,l,l,0,h,WS.toWebGLConstant(u,t),null)),g.bindTexture(b,null),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=b,this._texture=y,this._pixelFormat=h,this._pixelDatatype=u,this._size=l,this._hasMipmap=!1,this._sizeInBytes=f,this._preMultiplyAlpha=p,this._flipY=m,this._sampler=void 0;const O=Object(r["a"])(n);this._positiveX=new VF(t,y,b,g.TEXTURE_CUBE_MAP_POSITIVE_X,d,h,u,l,p,m,O),this._negativeX=new VF(t,y,b,g.TEXTURE_CUBE_MAP_NEGATIVE_X,d,h,u,l,p,m,O),this._positiveY=new VF(t,y,b,g.TEXTURE_CUBE_MAP_POSITIVE_Y,d,h,u,l,p,m,O),this._negativeY=new VF(t,y,b,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,d,h,u,l,p,m,O),this._positiveZ=new VF(t,y,b,g.TEXTURE_CUBE_MAP_POSITIVE_Z,d,h,u,l,p,m,O),this._negativeZ=new VF(t,y,b,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,d,h,u,l,p,m,O),this.sampler=Object(r["a"])(e.sampler)?e.sampler:new $F}Object.defineProperties(QF.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter;const i=t===XF.NEAREST_MIPMAP_NEAREST||t===XF.NEAREST_MIPMAP_LINEAR||t===XF.LINEAR_MIPMAP_NEAREST||t===XF.LINEAR_MIPMAP_LINEAR,o=this._context,a=this._pixelDatatype;(a===WS.FLOAT&&!o.textureFloatLinear||a===WS.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?XF.NEAREST_MIPMAP_NEAREST:XF.NEAREST,n=WF.NEAREST);const s=o._gl,c=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(c,this._texture),s.texParameteri(c,s.TEXTURE_MIN_FILTER,t),s.texParameteri(c,s.TEXTURE_MAG_FILTER,n),s.texParameteri(c,s.TEXTURE_WRAP_S,e.wrapS),s.texParameteri(c,s.TEXTURE_WRAP_T,e.wrapT),Object(r["a"])(this._textureFilterAnisotropic)&&s.texParameteri(c,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),s.bindTexture(c,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(4*this._sizeInBytes/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}}),QF.prototype.generateMipmap=function(e){if(e=Object(o["a"])(e,GF.DONT_CARE),this._size>1&&!s["a"].isPowerOfTwo(this._size))throw new a["a"]("width and height must be a power of two to call generateMipmap().");if(!GF.validate(e))throw new a["a"]("hint is invalid.");this._hasMipmap=!0;const t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)},QF.prototype.isDestroyed=function(){return!1},QF.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=Wl(this._positiveX),this._negativeX=Wl(this._negativeX),this._positiveY=Wl(this._positiveY),this._negativeY=Wl(this._negativeY),this._positiveZ=Wl(this._positiveZ),this._negativeZ=Wl(this._negativeZ),Wl(this)};var ek=QF;function tk(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context);const t=e.context;let n=e.width,s=e.height;const c=e.source;Object(r["a"])(c)&&(Object(r["a"])(n)||(n=Object(o["a"])(c.videoWidth,c.width)),Object(r["a"])(s)||(s=Object(o["a"])(c.videoHeight,c.height)));const l=Object(o["a"])(e.pixelFormat,XS.RGBA),u=Object(o["a"])(e.pixelDatatype,WS.UNSIGNED_BYTE),h=XS.toInternalFormat(l,u,t),d=XS.isCompressedFormat(h);if(!Object(r["a"])(n)||!Object(r["a"])(s))throw new a["a"]("options requires a source field to create an initialized texture or width and height fields to create a blank texture.");if(i["a"].typeOf.number.greaterThan("width",n,0),n>zF.maximumTextureSize)throw new a["a"](`Width must be less than or equal to the maximum texture size (${zF.maximumTextureSize}). Check maximumTextureSize.`);if(i["a"].typeOf.number.greaterThan("height",s,0),s>zF.maximumTextureSize)throw new a["a"](`Height must be less than or equal to the maximum texture size (${zF.maximumTextureSize}). Check maximumTextureSize.`);if(!XS.validate(l))throw new a["a"]("Invalid options.pixelFormat.");if(!d&&!WS.validate(u))throw new a["a"]("Invalid options.pixelDatatype.");if(l===XS.DEPTH_COMPONENT&&u!==WS.UNSIGNED_SHORT&&u!==WS.UNSIGNED_INT)throw new a["a"]("When options.pixelFormat is DEPTH_COMPONENT, options.pixelDatatype must be UNSIGNED_SHORT or UNSIGNED_INT.");if(l===XS.DEPTH_STENCIL&&u!==WS.UNSIGNED_INT_24_8)throw new a["a"]("When options.pixelFormat is DEPTH_STENCIL, options.pixelDatatype must be UNSIGNED_INT_24_8.");if(u===WS.FLOAT&&!t.floatingPointTexture)throw new a["a"]("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension. Check context.floatingPointTexture.");if(u===WS.HALF_FLOAT&&!t.halfFloatingPointTexture)throw new a["a"]("When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension. Check context.halfFloatingPointTexture.");if(XS.isDepthFormat(l)){if(Object(r["a"])(c))throw new a["a"]("When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, source cannot be provided.");if(!t.depthTexture)throw new a["a"]("When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, this WebGL implementation must support WEBGL_depth_texture. Check context.depthTexture.")}if(d){if(!Object(r["a"])(c)||!Object(r["a"])(c.arrayBufferView))throw new a["a"]("When options.pixelFormat is compressed, options.source.arrayBufferView must be defined.");if(XS.isDXTFormat(h)&&!t.s3tc)throw new a["a"]("When options.pixelFormat is S3TC compressed, this WebGL implementation must support the WEBGL_compressed_texture_s3tc extension. Check context.s3tc.");if(XS.isPVRTCFormat(h)&&!t.pvrtc)throw new a["a"]("When options.pixelFormat is PVRTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_pvrtc extension. Check context.pvrtc.");if(XS.isASTCFormat(h)&&!t.astc)throw new a["a"]("When options.pixelFormat is ASTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_astc extension. Check context.astc.");if(XS.isETC2Format(h)&&!t.etc)throw new a["a"]("When options.pixelFormat is ETC2 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc extension. Check context.etc.");if(XS.isETC1Format(h)&&!t.etc1)throw new a["a"]("When options.pixelFormat is ETC1 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc1 extension. Check context.etc1.");if(XS.isBC7Format(h)&&!t.bc7)throw new a["a"]("When options.pixelFormat is BC7 compressed, this WebGL implementation must support the EXT_texture_compression_bptc extension. Check context.bc7.");if(XS.compressedTextureSizeInBytes(h,n,s)!==c.arrayBufferView.byteLength)throw new a["a"]("The byte length of the array buffer is invalid for the compressed texture with the given width and height.")}const f=e.preMultiplyAlpha||l===XS.RGB||l===XS.LUMINANCE,p=Object(o["a"])(e.flipY,!0),m=Object(o["a"])(e.skipColorSpaceConversion,!1);let _=!0;const g=t._gl,b=g.TEXTURE_2D,y=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(b,y);let v,O=4;if(Object(r["a"])(c)&&Object(r["a"])(c.arrayBufferView)&&!d&&(O=XS.alignmentInBytes(l,u,n)),g.pixelStorei(g.UNPACK_ALIGNMENT,O),m?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),Object(r["a"])(c))if(Object(r["a"])(c.arrayBufferView)){g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1);let e,i,o,a=c.arrayBufferView;if(d){if(g.compressedTexImage2D(b,0,h,n,s,0,a),Object(r["a"])(c.mipLevels))for(i=n,o=s,e=0;e<c.mipLevels.length;++e)i=0|Math.floor(i/2),i<1&&(i=1),o=0|Math.floor(o/2),o<1&&(o=1),g.compressedTexImage2D(b,e+1,h,i,o,0,c.mipLevels[e])}else if(p&&(a=XS.flipY(a,l,u,n,s)),g.texImage2D(b,0,h,n,s,0,l,WS.toWebGLConstant(u,t),a),Object(r["a"])(c.mipLevels))for(i=n,o=s,e=0;e<c.mipLevels.length;++e)i=0|Math.floor(i/2),i<1&&(i=1),o=0|Math.floor(o/2),o<1&&(o=1),g.texImage2D(b,e+1,h,i,o,0,l,WS.toWebGLConstant(u,t),c.mipLevels[e])}else Object(r["a"])(c.framebuffer)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),c.framebuffer!==t.defaultFramebuffer&&c.framebuffer._bind(),g.copyTexImage2D(b,0,h,c.xOffset,c.yOffset,n,s,0),c.framebuffer!==t.defaultFramebuffer&&c.framebuffer._unBind()):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,f),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,p),g.texImage2D(b,0,h,l,WS.toWebGLConstant(u,t),c));else g.texImage2D(b,0,h,n,s,0,l,WS.toWebGLConstant(u,t),null),_=!1;g.bindTexture(b,null),v=d?XS.compressedTextureSizeInBytes(l,n,s):XS.textureSizeInBytes(l,u,n,s),this._id=RL(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=b,this._texture=y,this._internalFormat=h,this._pixelFormat=l,this._pixelDatatype=u,this._width=n,this._height=s,this._dimensions=new Ht(n,s),this._hasMipmap=!1,this._sizeInBytes=v,this._preMultiplyAlpha=f,this._flipY=p,this._initialized=_,this._sampler=void 0,this.sampler=Object(r["a"])(e.sampler)?e.sampler:new $F}tk.create=function(e){return new tk(e)},tk.fromFramebuffer=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context);const t=e.context,n=t._gl,s=Object(o["a"])(e.pixelFormat,XS.RGB),c=Object(o["a"])(e.framebufferXOffset,0),l=Object(o["a"])(e.framebufferYOffset,0),u=Object(o["a"])(e.width,n.drawingBufferWidth),h=Object(o["a"])(e.height,n.drawingBufferHeight),d=e.framebuffer;if(!XS.validate(s))throw new a["a"]("Invalid pixelFormat.");if(XS.isDepthFormat(s)||XS.isCompressedFormat(s))throw new a["a"]("pixelFormat cannot be DEPTH_COMPONENT, DEPTH_STENCIL or a compressed format.");if(i["a"].defined("options.context",e.context),i["a"].typeOf.number.greaterThanOrEquals("framebufferXOffset",c,0),i["a"].typeOf.number.greaterThanOrEquals("framebufferYOffset",l,0),c+u>n.drawingBufferWidth)throw new a["a"]("framebufferXOffset + width must be less than or equal to drawingBufferWidth");if(l+h>n.drawingBufferHeight)throw new a["a"]("framebufferYOffset + height must be less than or equal to drawingBufferHeight.");const f=new tk({context:t,width:u,height:h,pixelFormat:s,source:{framebuffer:Object(r["a"])(d)?d:t.defaultFramebuffer,xOffset:c,yOffset:l,width:u,height:h}});return f},Object.defineProperties(tk.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter;const i=this._context,o=this._pixelFormat,a=this._pixelDatatype,s=t===XF.NEAREST_MIPMAP_NEAREST||t===XF.NEAREST_MIPMAP_LINEAR||t===XF.LINEAR_MIPMAP_NEAREST||t===XF.LINEAR_MIPMAP_LINEAR;(a===WS.FLOAT&&!i.textureFloatLinear||a===WS.HALF_FLOAT&&!i.textureHalfFloatLinear)&&(t=s?XF.NEAREST_MIPMAP_NEAREST:XF.NEAREST,n=WF.NEAREST),i.webgl2&&XS.isDepthFormat(o)&&(t=XF.NEAREST,n=WF.NEAREST);const c=i._gl,l=this._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(l,this._texture),c.texParameteri(l,c.TEXTURE_MIN_FILTER,t),c.texParameteri(l,c.TEXTURE_MAG_FILTER,n),c.texParameteri(l,c.TEXTURE_WRAP_S,e.wrapS),c.texParameteri(l,c.TEXTURE_WRAP_T,e.wrapT),Object(r["a"])(this._textureFilterAnisotropic)&&c.texParameteri(l,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),c.bindTexture(l,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(4*this._sizeInBytes/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}}),tk.prototype.copyFrom=function(e){i["a"].defined("options",e);const t=Object(o["a"])(e.xOffset,0),n=Object(o["a"])(e.yOffset,0);if(i["a"].defined("options.source",e.source),XS.isDepthFormat(this._pixelFormat))throw new a["a"]("Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(XS.isCompressedFormat(this._pixelFormat))throw new a["a"]("Cannot call copyFrom with a compressed texture pixel format.");i["a"].typeOf.number.greaterThanOrEquals("xOffset",t,0),i["a"].typeOf.number.greaterThanOrEquals("yOffset",n,0),i["a"].typeOf.number.lessThanOrEquals("xOffset + options.source.width",t+e.source.width,this._width),i["a"].typeOf.number.lessThanOrEquals("yOffset + options.source.height",n+e.source.height,this._height);const s=e.source,c=this._context,l=c._gl,u=this._textureTarget;l.activeTexture(l.TEXTURE0),l.bindTexture(u,this._texture);const h=s.width,d=s.height;let f=s.arrayBufferView;const p=this._width,m=this._height,_=this._internalFormat,g=this._pixelFormat,b=this._pixelDatatype,y=this._preMultiplyAlpha,v=this._flipY,O=Object(o["a"])(e.skipColorSpaceConversion,!1);let w=4;Object(r["a"])(f)&&(w=XS.alignmentInBytes(g,b,h)),l.pixelStorei(l.UNPACK_ALIGNMENT,w),O?l.pixelStorei(l.UNPACK_COLORSPACE_CONVERSION_WEBGL,l.NONE):l.pixelStorei(l.UNPACK_COLORSPACE_CONVERSION_WEBGL,l.BROWSER_DEFAULT_WEBGL);let A=!1;if(!this._initialized){if(0===t&&0===n&&h===p&&d===m)Object(r["a"])(f)?(l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,!1),v&&(f=XS.flipY(f,g,b,p,m)),l.texImage2D(u,0,_,p,m,0,g,WS.toWebGLConstant(b,c),f)):(l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,y),l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,v),l.texImage2D(u,0,_,g,WS.toWebGLConstant(b,c),s)),A=!0;else{l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,!1);const e=XS.createTypedArray(g,b,p,m);l.texImage2D(u,0,_,p,m,0,g,WS.toWebGLConstant(b,c),e)}this._initialized=!0}A||(Object(r["a"])(f)?(l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,!1),v&&(f=XS.flipY(f,g,b,h,d)),l.texSubImage2D(u,0,t,n,h,d,g,WS.toWebGLConstant(b,c),f)):(l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,y),l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,v),l.texSubImage2D(u,0,t,n,g,WS.toWebGLConstant(b,c),s))),l.bindTexture(u,null)},tk.prototype.copyFromFramebuffer=function(e,t,n,r,s,c){if(e=Object(o["a"])(e,0),t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),r=Object(o["a"])(r,0),s=Object(o["a"])(s,this._width),c=Object(o["a"])(c,this._height),XS.isDepthFormat(this._pixelFormat))throw new a["a"]("Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(this._pixelDatatype===WS.FLOAT)throw new a["a"]("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(this._pixelDatatype===WS.HALF_FLOAT)throw new a["a"]("Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT.");if(XS.isCompressedFormat(this._pixelFormat))throw new a["a"]("Cannot call copyFrom with a compressed texture pixel format.");i["a"].typeOf.number.greaterThanOrEquals("xOffset",e,0),i["a"].typeOf.number.greaterThanOrEquals("yOffset",t,0),i["a"].typeOf.number.greaterThanOrEquals("framebufferXOffset",n,0),i["a"].typeOf.number.greaterThanOrEquals("framebufferYOffset",r,0),i["a"].typeOf.number.lessThanOrEquals("xOffset + width",e+s,this._width),i["a"].typeOf.number.lessThanOrEquals("yOffset + height",t+c,this._height);const l=this._context._gl,u=this._textureTarget;l.activeTexture(l.TEXTURE0),l.bindTexture(u,this._texture),l.copyTexSubImage2D(u,0,e,t,n,r,s,c),l.bindTexture(u,null),this._initialized=!0},tk.prototype.generateMipmap=function(e){if(e=Object(o["a"])(e,GF.DONT_CARE),XS.isDepthFormat(this._pixelFormat))throw new a["a"]("Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(XS.isCompressedFormat(this._pixelFormat))throw new a["a"]("Cannot call generateMipmap with a compressed pixel format.");if(this._width>1&&!s["a"].isPowerOfTwo(this._width))throw new a["a"]("width must be a power of two to call generateMipmap().");if(this._height>1&&!s["a"].isPowerOfTwo(this._height))throw new a["a"]("height must be a power of two to call generateMipmap().");if(!GF.validate(e))throw new a["a"]("hint is invalid.");this._hasMipmap=!0;const t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)},tk.prototype.isDestroyed=function(){return!1},tk.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),Wl(this)};var nk=tk,ik="uniform sampler2D image;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec4 rampColor = texture2D(image, vec2(materialInput.aspect / (2.0 * czm_pi), 0.5));\n rampColor = czm_gammaCorrect(rampColor);\n material.diffuse = rampColor.rgb;\n material.alpha = rampColor.a;\n return material;\n}\n",ok="uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n\n vec2 centerPixel = fract(repeat * st);\n float centerBump = texture2D(image, centerPixel).channel;\n\n float imageWidth = float(imageDimensions.x);\n vec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0)));\n float rightBump = texture2D(image, rightPixel).channel;\n\n float imageHeight = float(imageDimensions.y);\n vec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight)));\n float topBump = texture2D(image, leftPixel).channel;\n\n vec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0)));\n vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\n\n material.normal = normalEC;\n material.diffuse = vec3(0.01);\n\n return material;\n}\n",rk="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n\n // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights\n float b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0); // 0.0 or 1.0\n\n // Find the distance from the closest separator (region between two colors)\n float scaledWidth = fract(repeat.s * st.s);\n scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\n float scaledHeight = fract(repeat.t * st.t);\n scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\n float value = min(scaledWidth, scaledHeight);\n\n vec4 currentColor = mix(lightColor, darkColor, b);\n vec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03);\n\n color = czm_gammaCorrect(color);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n",ak="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights\n float b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5)); // 0.0 or 1.0\n\n vec4 color = mix(lightColor, darkColor, b);\n color = czm_gammaCorrect(color);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n",sk="uniform sampler2D heights;\nuniform sampler2D colors;\n\n// This material expects heights to be sorted from lowest to highest.\n\nfloat getHeight(int idx, float invTexSize)\n{\n vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5);\n#ifdef OES_texture_float\n return texture2D(heights, uv).x;\n#else\n return czm_unpackFloat(texture2D(heights, uv));\n#endif\n}\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n float height = materialInput.height;\n float invTexSize = 1.0 / float(heightsDimensions.x);\n\n float minHeight = getHeight(0, invTexSize);\n float maxHeight = getHeight(heightsDimensions.x - 1, invTexSize);\n\n // early-out when outside the height range\n if (height < minHeight || height > maxHeight) {\n material.diffuse = vec3(0.0);\n material.alpha = 0.0;\n return material;\n }\n\n // Binary search to find heights above and below.\n int idxBelow = 0;\n int idxAbove = heightsDimensions.x;\n float heightBelow = minHeight;\n float heightAbove = maxHeight;\n\n // while loop not allowed, so use for loop with max iterations.\n // maxIterations of 16 supports a texture size up to 65536 (2^16).\n const int maxIterations = 16;\n for (int i = 0; i < maxIterations; i++) {\n if (idxBelow >= idxAbove - 1) {\n break;\n }\n\n int idxMid = (idxBelow + idxAbove) / 2;\n float heightTex = getHeight(idxMid, invTexSize);\n\n if (height > heightTex) {\n idxBelow = idxMid;\n heightBelow = heightTex;\n } else {\n idxAbove = idxMid;\n heightAbove = heightTex;\n }\n }\n\n float lerper = heightBelow == heightAbove ? 1.0 : (height - heightBelow) / (heightAbove - heightBelow);\n vec2 colorUv = vec2(invTexSize * (float(idxBelow) + 0.5 + lerper), 0.5);\n vec4 color = texture2D(colors, colorUv);\n\n // undo preumultiplied alpha\n if (color.a > 0.0) \n {\n color.rgb /= color.a;\n }\n \n color.rgb = czm_gammaCorrect(color.rgb);\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n return material;\n}\n",ck="#ifdef GL_OES_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\n\nuniform vec4 color;\nuniform float spacing;\nuniform float width;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n float distanceToContour = mod(materialInput.height, spacing);\n\n#ifdef GL_OES_standard_derivatives\n float dxc = abs(dFdx(materialInput.height));\n float dyc = abs(dFdy(materialInput.height));\n float dF = max(dxc, dyc) * czm_pixelRatio * width;\n float alpha = (distanceToContour < dF) ? 1.0 : 0.0;\n#else\n float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0;\n#endif\n\n vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a));\n material.diffuse = outColor.rgb;\n material.alpha = outColor.a;\n\n return material;\n}\n",lk="uniform sampler2D image;\nuniform float minimumHeight;\nuniform float maximumHeight;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0);\n vec4 rampColor = texture2D(image, vec2(scaledHeight, 0.5));\n rampColor = czm_gammaCorrect(rampColor);\n material.diffuse = rampColor.rgb;\n material.alpha = rampColor.a;\n return material;\n}\n",uk="uniform vec4 fadeInColor;\nuniform vec4 fadeOutColor;\nuniform float maximumDistance;\nuniform bool repeat;\nuniform vec2 fadeDirection;\nuniform vec2 time;\n\nfloat getTime(float t, float coord)\n{\n float scalar = 1.0 / maximumDistance;\n float q = distance(t, coord) * scalar;\n if (repeat)\n {\n float r = distance(t, coord + 1.0) * scalar;\n float s = distance(t, coord - 1.0) * scalar;\n q = min(min(r, s), q);\n }\n return clamp(q, 0.0, 1.0);\n}\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n float s = getTime(time.x, st.s) * fadeDirection.s;\n float t = getTime(time.y, st.t) * fadeDirection.t;\n\n float u = length(vec2(s, t));\n vec4 color = mix(fadeInColor, fadeOutColor, u);\n\n color = czm_gammaCorrect(color);\n material.emission = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n",hk='#ifdef GL_OES_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\n\nuniform vec4 color;\nuniform float cellAlpha;\nuniform vec2 lineCount;\nuniform vec2 lineThickness;\nuniform vec2 lineOffset;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n\n float scaledWidth = fract(lineCount.s * st.s - lineOffset.s);\n scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\n float scaledHeight = fract(lineCount.t * st.t - lineOffset.t);\n scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\n\n float value;\n#ifdef GL_OES_standard_derivatives\n // Fuzz Factor - Controls blurriness of lines\n const float fuzz = 1.2;\n vec2 thickness = (lineThickness * czm_pixelRatio) - 1.0;\n\n // From "3D Engine Design for Virtual Globes" by Cozzi and Ring, Listing 4.13.\n vec2 dx = abs(dFdx(st));\n vec2 dy = abs(dFdy(st));\n vec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount;\n value = min(\n smoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth),\n smoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight));\n#else\n // Fuzz Factor - Controls blurriness of lines\n const float fuzz = 0.05;\n\n vec2 range = 0.5 - (lineThickness * 0.05);\n value = min(\n 1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth),\n 1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight));\n#endif\n\n // Edges taken from RimLightingMaterial.glsl\n // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html\n float dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)));\n float sRim = smoothstep(0.8, 1.0, dRim);\n value *= (1.0 - sRim);\n\n vec4 halfColor;\n halfColor.rgb = color.rgb * 0.5;\n halfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value));\n halfColor = czm_gammaCorrect(halfColor);\n material.diffuse = halfColor.rgb;\n material.emission = halfColor.rgb;\n material.alpha = halfColor.a;\n\n return material;\n}\n',dk="uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n \n vec4 textureValue = texture2D(image, fract(repeat * materialInput.st));\n vec3 normalTangentSpace = textureValue.channels;\n normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;\n normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);\n normalTangentSpace = normalize(normalTangentSpace);\n vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\n \n material.normal = normalEC;\n \n return material;\n}\n",fk="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n\nuniform vec4 color;\n\nfloat getPointOnLine(vec2 p0, vec2 p1, float x)\n{\n float slope = (p0.y - p1.y) / (p0.x - p1.x);\n return slope * (x - p0.x) + p0.y;\n}\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n\n#ifdef GL_OES_standard_derivatives\n float base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio;\n#else\n float base = 0.975; // 2.5% of the line will be the arrow head\n#endif\n\n vec2 center = vec2(1.0, 0.5);\n float ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s);\n float ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s);\n\n float halfWidth = 0.15;\n float s = step(0.5 - halfWidth, st.t);\n s *= 1.0 - step(0.5 + halfWidth, st.t);\n s *= 1.0 - step(base, st.s);\n\n float t = step(base, materialInput.st.s);\n t *= 1.0 - step(ptOnUpperLine, st.t);\n t *= step(ptOnLowerLine, st.t);\n\n // Find the distance from the closest separator (region between two colors)\n float dist;\n if (st.s < base)\n {\n float d1 = abs(st.t - (0.5 - halfWidth));\n float d2 = abs(st.t - (0.5 + halfWidth));\n dist = min(d1, d2);\n }\n else\n {\n float d1 = czm_infinity;\n if (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth)\n {\n d1 = abs(st.s - base);\n }\n float d2 = abs(st.t - ptOnUpperLine);\n float d3 = abs(st.t - ptOnLowerLine);\n dist = min(min(d1, d2), d3);\n }\n\n vec4 outsideColor = vec4(0.0);\n vec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0));\n vec4 outColor = czm_antialias(outsideColor, color, currentColor, dist);\n\n outColor = czm_gammaCorrect(outColor);\n material.diffuse = outColor.rgb;\n material.alpha = outColor.a;\n return material;\n}\n",pk="uniform vec4 color;\nuniform vec4 gapColor;\nuniform float dashLength;\nuniform float dashPattern;\nvarying float v_polylineAngle;\n\nconst float maskLength = 16.0;\n\nmat2 rotate(float rad) {\n float c = cos(rad);\n float s = sin(rad);\n return mat2(\n c, s,\n -s, c\n );\n}\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy;\n\n // Get the relative position within the dash from 0 to 1\n float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio));\n // Figure out the mask index.\n float maskIndex = floor(dashPosition * maskLength);\n // Test the bit mask.\n float maskTest = floor(dashPattern / pow(2.0, maskIndex));\n vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color;\n if (fragColor.a < 0.005) { // matches 0/255 and 1/255\n discard;\n }\n\n fragColor = czm_gammaCorrect(fragColor);\n material.emission = fragColor.rgb;\n material.alpha = fragColor.a;\n return material;\n}\n",mk="uniform vec4 color;\nuniform float glowPower;\nuniform float taperPower;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5);\n\n if (taperPower <= 0.99999) {\n glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5));\n }\n\n vec4 fragColor;\n fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);\n fragColor.a = clamp(0.0, 1.0, glow) * color.a;\n fragColor = czm_gammaCorrect(fragColor);\n\n material.emission = fragColor.rgb;\n material.alpha = fragColor.a;\n\n return material;\n}\n",_k="uniform vec4 color;\nuniform vec4 outlineColor;\nuniform float outlineWidth;\n\nvarying float v_width;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n float halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width;\n float b = step(0.5 - halfInteriorWidth, st.t);\n b *= 1.0 - step(0.5 + halfInteriorWidth, st.t);\n\n // Find the distance from the closest separator (region between two colors)\n float d1 = abs(st.t - (0.5 - halfInteriorWidth));\n float d2 = abs(st.t - (0.5 + halfInteriorWidth));\n float dist = min(d1, d2);\n\n vec4 currentColor = mix(outlineColor, color, b);\n vec4 outColor = czm_antialias(outlineColor, color, currentColor, dist);\n outColor = czm_gammaCorrect(outColor);\n\n material.diffuse = outColor.rgb;\n material.alpha = outColor.a;\n\n return material;\n}\n",gk="uniform vec4 color;\nuniform vec4 rimColor;\nuniform float width;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html\n float d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));\n float s = smoothstep(1.0 - width, 1.0, d);\n\n vec4 outColor = czm_gammaCorrect(color);\n vec4 outRimColor = czm_gammaCorrect(rimColor);\n\n material.diffuse = outColor.rgb;\n material.emission = outRimColor.rgb * s;\n material.alpha = mix(outColor.a, outRimColor.a, s);\n\n return material;\n}\n",bk="uniform sampler2D image;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec4 rampColor = texture2D(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5));\n rampColor = czm_gammaCorrect(rampColor);\n material.diffuse = rampColor.rgb;\n material.alpha = rampColor.a;\n return material;\n}\n",yk="uniform vec4 evenColor;\nuniform vec4 oddColor;\nuniform float offset;\nuniform float repeat;\nuniform bool horizontal;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // Based on the Stripes Fragment Shader in the Orange Book (11.1.2)\n float coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal));\n float value = fract((coord - offset) * (repeat * 0.5));\n float dist = min(value, min(abs(value - 0.5), 1.0 - value));\n\n vec4 currentColor = mix(evenColor, oddColor, step(0.5, value));\n vec4 color = czm_antialias(evenColor, oddColor, currentColor, dist);\n color = czm_gammaCorrect(color);\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n",vk="// Thanks for the contribution Jonas\n// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog\n\nuniform sampler2D specularMap;\nuniform sampler2D normalMap;\nuniform vec4 baseWaterColor;\nuniform vec4 blendColor;\nuniform float frequency;\nuniform float animationSpeed;\nuniform float amplitude;\nuniform float specularIntensity;\nuniform float fadeFactor;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n float time = czm_frameNumber * animationSpeed;\n\n // fade is a function of the distance from the fragment and the frequency of the waves\n float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor);\n\n float specularMapValue = texture2D(specularMap, materialInput.st).r;\n\n // note: not using directional motion at this time, just set the angle to 0.0;\n vec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0);\n vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude));\n\n // fade out the normal perturbation as we move further from the water surface\n normalTangentSpace.xy /= fade;\n\n // attempt to fade out the normal perturbation as we approach non water areas (low specular map value)\n normalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue);\n\n normalTangentSpace = normalize(normalTangentSpace);\n\n // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane\n float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0);\n\n // fade out water effect as specular map value decreases\n material.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue;\n\n // base color is a blend of the water and non-water color based on the value from the specular map\n // may need a uniform blend factor to better control this\n material.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue);\n\n // diffuse highlights are based on how perturbed the normal is\n material.diffuse += (0.1 * tsPerturbationRatio);\n\n material.diffuse = material.diffuse;\n\n material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace);\n\n material.specular = specularIntensity;\n material.shininess = 10.0;\n\n return material;\n}\n";function Ok(e){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=Object(o["a"])(e.minificationFilter,XF.LINEAR),this._magnificationFilter=Object(o["a"])(e.magnificationFilter,WF.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,wk(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),Object(r["a"])(Ok._uniformList[this.type])||(Ok._uniformList[this.type]=Object.keys(this._uniforms))}function wk(e,t){let n;e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),t._strict=Object(o["a"])(e.strict,!1),t._count=Object(o["a"])(e.count,0),t._template=Object(jL["a"])(Object(o["a"])(e.fabric,o["a"].EMPTY_OBJECT)),t._template.uniforms=Object(jL["a"])(Object(o["a"])(t._template.uniforms,o["a"].EMPTY_OBJECT)),t._template.materials=Object(jL["a"])(Object(o["a"])(t._template.materials,o["a"].EMPTY_OBJECT)),t.type=Object(r["a"])(t._template.type)?t._template.type:RL(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];const i=Ok._materialCache.getMaterial(t.type);if(Object(r["a"])(i)){const e=Object(jL["a"])(i.fabric,!0);t._template=Object(xS["a"])(t._template,e,!0),n=i.translucent}Sk(t),Object(r["a"])(i)||Ok._materialCache.addMaterial(t.type,t),Dk(t),Nk(t),Fk(t);const a=0===t._translucentFunctions.length||void 0;if(n=Object(o["a"])(n,a),n=Object(o["a"])(e.translucent,n),Object(r["a"])(n))if("function"===typeof n){const e=function(){return n(t)};t._translucentFunctions.push(e)}else t._translucentFunctions.push(n)}function Ak(e,t,n,i){if(Object(r["a"])(e))for(const o in e)if(e.hasOwnProperty(o)){const e=-1!==t.indexOf(o);(i&&!e||!i&&e)&&n(o,t)}}function Tk(e,t){let n=`fabric: property name '${e}' is not valid. It should be `;for(let i=0;i<t.length;i++){const e=`'${t[i]}'`;n+=i===t.length-1?`or ${e}.`:e+", "}throw new a["a"](n)}function Ck(e,t){const n=`fabric: uniforms and materials cannot share the same property '${e}'`;throw new a["a"](n)}Ok._uniformList={},Ok.fromType=function(e,t){if(!Object(r["a"])(Ok._materialCache.getMaterial(e)))throw new a["a"](`material with type '${e}' does not exist.`);const n=new Ok({fabric:{type:e}});if(Object(r["a"])(t))for(const i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n},Ok.prototype.isTranslucent=function(){if(Object(r["a"])(this.translucent))return"function"===typeof this.translucent?this.translucent():this.translucent;let e=!0;const t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){const n=t[i];if(e="function"===typeof n?e&&n():e&&n,!e)break}return e},Ok.prototype.update=function(e){let t,n;this._defaultTexture=e.defaultTexture;const i=this._loadedImages;let o=i.length;for(t=0;t<o;++t){const o=i[t];n=o.id;let a,s=o.image;Array.isArray(s)&&(a=s.slice(1,s.length).map((function(e){return e.bufferView})),s=s[0]);const c=new $F({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter});let l;l=Object(r["a"])(s.internalFormat)?new nk({context:e,pixelFormat:s.internalFormat,width:s.width,height:s.height,source:{arrayBufferView:s.bufferView,mipLevels:a},sampler:c}):new nk({context:e,source:s,sampler:c});const u=this._textures[n];Object(r["a"])(u)&&u!==this._defaultTexture&&u.destroy(),this._textures[n]=l;const h=n+"Dimensions";if(this.uniforms.hasOwnProperty(h)){const e=this.uniforms[h];e.x=l._width,e.y=l._height}}i.length=0;const a=this._loadedCubeMaps;for(o=a.length,t=0;t<o;++t){const i=a[t];n=i.id;const o=i.images,r=new ek({context:e,source:{positiveX:o[0],negativeX:o[1],positiveY:o[2],negativeY:o[3],positiveZ:o[4],negativeZ:o[5]},sampler:new $F({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=r}a.length=0;const s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);const c=this.materials;for(const r in c)c.hasOwnProperty(r)&&c[r].update(e)},Ok.prototype.isDestroyed=function(){return!1},Ok.prototype.destroy=function(){const e=this._textures;for(const n in e)if(e.hasOwnProperty(n)){const t=e[n];t!==this._defaultTexture&&t.destroy()}const t=this.materials;for(const n in t)t.hasOwnProperty(n)&&t[n].destroy();return Wl(this)};const Ek=["type","materials","uniforms","components","source"],xk=["diffuse","specular","shininess","normal","emission","alpha"];function Sk(e){const t=e._template,n=t.uniforms,i=t.materials,o=t.components;if(Object(r["a"])(o)&&Object(r["a"])(t.source))throw new a["a"]("fabric: cannot have source and components in the same template.");Ak(t,Ek,Tk,!0),Ak(o,xk,Tk,!0);const s=[];for(const r in i)i.hasOwnProperty(r)&&s.push(r);Ak(n,s,Ck,!1)}function Ik(e,t){const n=t._template.materials;for(const i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function Dk(e){const t=e._template.components,n=e._template.source;if(Object(r["a"])(n))e.shaderSource+=n+"\n";else{if(e.shaderSource+="czm_material czm_getMaterial(czm_materialInput materialInput)\n{\n",e.shaderSource+="czm_material material = czm_getDefaultMaterial(materialInput);\n",Object(r["a"])(t)){const n=Object.keys(e._template.materials).length>0;for(const i in t)if(t.hasOwnProperty(i))if("diffuse"===i||"emission"===i){const o=n&&Ik(t[i],e),r=o?t[i]:`czm_gammaCorrect(${t[i]})`;e.shaderSource+=`material.${i} = ${r}; \n`}else e.shaderSource+="alpha"===i?`material.alpha = ${t.alpha}; \n`:`material.${i} = ${t[i]};\n`}e.shaderSource+="return material;\n}\n"}}const jk={mat2:al,mat3:ce,mat4:Ne},Pk=/\.ktx2$/i;function Rk(e){let t;return function(n,i){const o=n.uniforms,a=o[e],s=t!==a,c=!Object(r["a"])(a)||a===Ok.DefaultImageId;t=a;let l,u,h=n._textures[e];if(a instanceof HTMLVideoElement){if(a.readyState>=2){if(s&&Object(r["a"])(h)&&(h!==i.defaultTexture&&h.destroy(),h=void 0),!Object(r["a"])(h)||h===i.defaultTexture){const t=new $F({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});return h=new nk({context:i,source:a,sampler:t}),void(n._textures[e]=h)}h.copyFrom({source:a})}else Object(r["a"])(h)||(n._textures[e]=i.defaultTexture);return}if(a instanceof nk&&a!==h){n._texturePaths[e]=void 0;const t=n._textures[e];return Object(r["a"])(t)&&t!==n._defaultTexture&&t.destroy(),n._textures[e]=a,l=e+"Dimensions",void(o.hasOwnProperty(l)&&(u=o[l],u.x=a._width,u.y=a._height))}if(s&&Object(r["a"])(h)&&c&&(h!==n._defaultTexture&&h.destroy(),h=void 0),Object(r["a"])(h)||(n._texturePaths[e]=void 0,h=n._textures[e]=n._defaultTexture,l=e+"Dimensions",o.hasOwnProperty(l)&&(u=o[l],u.x=h._width,u.y=h._height)),c)return;const d=a instanceof Et["a"];if(!Object(r["a"])(n._texturePaths[e])||d&&a.url!==n._texturePaths[e].url||!d&&a!==n._texturePaths[e]){if("string"===typeof a||d){const t=d?a:Et["a"].createIfNeeded(a);let i;i=Pk.test(t.url)?rB(t.url):t.fetchImage(),Promise.resolve(i).then((function(t){n._loadedImages.push({id:e,image:t})})).catch((function(){Object(r["a"])(h)&&h!==n._defaultTexture&&h.destroy(),n._textures[e]=n._defaultTexture}))}else(a instanceof HTMLCanvasElement||a instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:a});n._texturePaths[e]=a}}}function Mk(e){return function(t,n){const i=t.uniforms[e];if(i instanceof ek){const n=t._textures[e];return n!==t._defaultTexture&&n.destroy(),t._texturePaths[e]=void 0,void(t._textures[e]=i)}if(Object(r["a"])(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===Ok.DefaultCubeMapId)return;const o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){const n=[Et["a"].createIfNeeded(i.positiveX).fetchImage(),Et["a"].createIfNeeded(i.negativeX).fetchImage(),Et["a"].createIfNeeded(i.positiveY).fetchImage(),Et["a"].createIfNeeded(i.negativeY).fetchImage(),Et["a"].createIfNeeded(i.positiveZ).fetchImage(),Et["a"].createIfNeeded(i.negativeZ).fetchImage()];Promise.all(n).then((function(n){t._loadedCubeMaps.push({id:e,images:n})})),t._texturePaths[e]=o}}}function Nk(e){const t=e._template.uniforms;for(const n in t)t.hasOwnProperty(n)&&Lk(e,n)}function Lk(e,t){const n=e._strict,i=e._template.uniforms,o=i[t],s=Bk(o);if(!Object(r["a"])(s))throw new a["a"](`fabric: uniform '${t}' has invalid type.`);let c;if("channels"===s){if(c=kk(e,t,o,!1),0===c&&n)throw new a["a"](`strict: shader source does not use channels '${t}'.`)}else{if("sampler2D"===s){const n=t+"Dimensions";zk(e,n)>0&&(i[n]={type:"ivec3",x:1,y:1},Lk(e,n))}const r=new RegExp(`uniform\\s+${s}\\s+${t}\\s*;`);if(!r.test(e.shaderSource)){const n=`uniform ${s} ${t};`;e.shaderSource=n+e.shaderSource}const l=`${t}_${e._count++}`;if(c=kk(e,t,l),1===c&&n)throw new a["a"](`strict: shader source does not use uniform '${t}'.`);if(e.uniforms[t]=o,"sampler2D"===s)e._uniforms[l]=function(){return e._textures[t]},e._updateFunctions.push(Rk(t));else if("samplerCube"===s)e._uniforms[l]=function(){return e._textures[t]},e._updateFunctions.push(Mk(t));else if(-1!==s.indexOf("mat")){const n=new jk[s];e._uniforms[l]=function(){return jk[s].fromColumnMajorArray(e.uniforms[t],n)}}else e._uniforms[l]=function(){return e.uniforms[t]}}}function Bk(e){let t=e.type;if(!Object(r["a"])(t)){const n=typeof e;if("number"===n)t="float";else if("boolean"===n)t="bool";else if("string"===n||e instanceof Et["a"]||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement)t=/^([rgba]){1,4}$/i.test(e)?"channels":e===Ok.DefaultCubeMapId?"samplerCube":"sampler2D";else if("object"===n)if(Array.isArray(e))4!==e.length&&9!==e.length&&16!==e.length||(t="mat"+Math.sqrt(e.length));else{let n=0;for(const t in e)e.hasOwnProperty(t)&&(n+=1);n>=2&&n<=4?t="vec"+n:6===n&&(t="samplerCube")}}return t}function Fk(e){const t=e._strict,n=e._template.materials;for(const i in n)if(n.hasOwnProperty(i)){const o=new Ok({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=Object(xS["a"])(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);const r="czm_getMaterial",s=`${r}_${e._count++}`;kk(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;const c=s+"(materialInput)",l=kk(e,i,c);if(0===l&&t)throw new a["a"](`strict: shader source does not use material '${i}'.`)}}function kk(e,t,n,i){i=Object(o["a"])(i,!0);let r=0;const a="([\\w])?",s=`([\\w${i?".":""}])?`,c=new RegExp(s+t+a,"g");return e.shaderSource=e.shaderSource.replace(c,(function(e,t,i){return t||i?e:(r+=1,n)})),r}function zk(e,t,n){return kk(e,t,t,n)}Ok._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}},Ok.DefaultImageId="czm_defaultImage",Ok.DefaultCubeMapId="czm_defaultCubeMap",Ok.ColorType="Color",Ok._materialCache.addMaterial(Ok.ColorType,{fabric:{type:Ok.ColorType,uniforms:{color:new j_(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),Ok.ImageType="Image",Ok._materialCache.addMaterial(Ok.ImageType,{fabric:{type:Ok.ImageType,uniforms:{image:Ok.DefaultImageId,repeat:new Ht(1,1),color:new j_(1,1,1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture2D(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),Ok.DiffuseMapType="DiffuseMap",Ok._materialCache.addMaterial(Ok.DiffuseMapType,{fabric:{type:Ok.DiffuseMapType,uniforms:{image:Ok.DefaultImageId,channels:"rgb",repeat:new Ht(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Ok.AlphaMapType="AlphaMap",Ok._materialCache.addMaterial(Ok.AlphaMapType,{fabric:{type:Ok.AlphaMapType,uniforms:{image:Ok.DefaultImageId,channel:"a",repeat:new Ht(1,1)},components:{alpha:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!0}),Ok.SpecularMapType="SpecularMap",Ok._materialCache.addMaterial(Ok.SpecularMapType,{fabric:{type:Ok.SpecularMapType,uniforms:{image:Ok.DefaultImageId,channel:"r",repeat:new Ht(1,1)},components:{specular:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!1}),Ok.EmissionMapType="EmissionMap",Ok._materialCache.addMaterial(Ok.EmissionMapType,{fabric:{type:Ok.EmissionMapType,uniforms:{image:Ok.DefaultImageId,channels:"rgb",repeat:new Ht(1,1)},components:{emission:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Ok.BumpMapType="BumpMap",Ok._materialCache.addMaterial(Ok.BumpMapType,{fabric:{type:Ok.BumpMapType,uniforms:{image:Ok.DefaultImageId,channel:"r",strength:.8,repeat:new Ht(1,1)},source:ok},translucent:!1}),Ok.NormalMapType="NormalMap",Ok._materialCache.addMaterial(Ok.NormalMapType,{fabric:{type:Ok.NormalMapType,uniforms:{image:Ok.DefaultImageId,channels:"rgb",strength:.8,repeat:new Ht(1,1)},source:dk},translucent:!1}),Ok.GridType="Grid",Ok._materialCache.addMaterial(Ok.GridType,{fabric:{type:Ok.GridType,uniforms:{color:new j_(0,1,0,1),cellAlpha:.1,lineCount:new Ht(8,8),lineThickness:new Ht(1,1),lineOffset:new Ht(0,0)},source:hk},translucent:function(e){const t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}}),Ok.StripeType="Stripe",Ok._materialCache.addMaterial(Ok.StripeType,{fabric:{type:Ok.StripeType,uniforms:{horizontal:!0,evenColor:new j_(1,1,1,.5),oddColor:new j_(0,0,1,.5),offset:0,repeat:5},source:yk},translucent:function(e){const t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}}),Ok.CheckerboardType="Checkerboard",Ok._materialCache.addMaterial(Ok.CheckerboardType,{fabric:{type:Ok.CheckerboardType,uniforms:{lightColor:new j_(1,1,1,.5),darkColor:new j_(0,0,0,.5),repeat:new Ht(5,5)},source:rk},translucent:function(e){const t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}}),Ok.DotType="Dot",Ok._materialCache.addMaterial(Ok.DotType,{fabric:{type:Ok.DotType,uniforms:{lightColor:new j_(1,1,0,.75),darkColor:new j_(0,1,1,.75),repeat:new Ht(5,5)},source:ak},translucent:function(e){const t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}}),Ok.WaterType="Water",Ok._materialCache.addMaterial(Ok.WaterType,{fabric:{type:Ok.WaterType,uniforms:{baseWaterColor:new j_(.2,.3,.6,1),blendColor:new j_(0,1,.699,1),specularMap:Ok.DefaultImageId,normalMap:Ok.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:vk},translucent:function(e){const t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}}),Ok.RimLightingType="RimLighting",Ok._materialCache.addMaterial(Ok.RimLightingType,{fabric:{type:Ok.RimLightingType,uniforms:{color:new j_(1,0,0,.7),rimColor:new j_(1,1,1,.4),width:.3},source:gk},translucent:function(e){const t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}}),Ok.FadeType="Fade",Ok._materialCache.addMaterial(Ok.FadeType,{fabric:{type:Ok.FadeType,uniforms:{fadeInColor:new j_(1,0,0,1),fadeOutColor:new j_(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new Ht(.5,.5)},source:uk},translucent:function(e){const t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}}),Ok.PolylineArrowType="PolylineArrow",Ok._materialCache.addMaterial(Ok.PolylineArrowType,{fabric:{type:Ok.PolylineArrowType,uniforms:{color:new j_(1,1,1,1)},source:fk},translucent:!0}),Ok.PolylineDashType="PolylineDash",Ok._materialCache.addMaterial(Ok.PolylineDashType,{fabric:{type:Ok.PolylineDashType,uniforms:{color:new j_(1,0,1,1),gapColor:new j_(0,0,0,0),dashLength:16,dashPattern:255},source:pk},translucent:!0}),Ok.PolylineGlowType="PolylineGlow",Ok._materialCache.addMaterial(Ok.PolylineGlowType,{fabric:{type:Ok.PolylineGlowType,uniforms:{color:new j_(0,.5,1,1),glowPower:.25,taperPower:1},source:mk},translucent:!0}),Ok.PolylineOutlineType="PolylineOutline",Ok._materialCache.addMaterial(Ok.PolylineOutlineType,{fabric:{type:Ok.PolylineOutlineType,uniforms:{color:new j_(1,1,1,1),outlineColor:new j_(1,0,0,1),outlineWidth:1},source:_k},translucent:function(e){const t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}}),Ok.ElevationContourType="ElevationContour",Ok._materialCache.addMaterial(Ok.ElevationContourType,{fabric:{type:Ok.ElevationContourType,uniforms:{spacing:100,color:new j_(1,0,0,1),width:1},source:ck},translucent:!1}),Ok.ElevationRampType="ElevationRamp",Ok._materialCache.addMaterial(Ok.ElevationRampType,{fabric:{type:Ok.ElevationRampType,uniforms:{image:Ok.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:lk},translucent:!1}),Ok.SlopeRampMaterialType="SlopeRamp",Ok._materialCache.addMaterial(Ok.SlopeRampMaterialType,{fabric:{type:Ok.SlopeRampMaterialType,uniforms:{image:Ok.DefaultImageId},source:bk},translucent:!1}),Ok.AspectRampMaterialType="AspectRamp",Ok._materialCache.addMaterial(Ok.AspectRampMaterialType,{fabric:{type:Ok.AspectRampMaterialType,uniforms:{image:Ok.DefaultImageId},source:ik},translucent:!1}),Ok.ElevationBandType="ElevationBand",Ok._materialCache.addMaterial(Ok.ElevationBandType,{fabric:{type:Ok.ElevationBandType,uniforms:{heights:Ok.DefaultImageId,colors:Ok.DefaultImageId},source:sk},translucent:!0});var Uk=Ok;function Vk(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.translucent,!0),n=Object(o["a"])(e.closed,!1),i=Object(o["a"])(e.materialSupport,Vk.MaterialSupport.TEXTURED);this.material=Object(r["a"])(e.material)?e.material:Uk.fromType(Uk.ColorType),this.translucent=t,this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=FF.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=Object(o["a"])(e.flat,!1),this._faceForward=Object(o["a"])(e.faceForward,!n)}Object.defineProperties(Vk.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}}),Vk.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,Vk.prototype.isTranslucent=FF.prototype.isTranslucent,Vk.prototype.getRenderState=FF.prototype.getRenderState,Vk.MaterialSupport={BASIC:Object.freeze({vertexFormat:Yh.POSITION_AND_NORMAL,vertexShaderSource:EF,fragmentShaderSource:CF}),TEXTURED:Object.freeze({vertexFormat:Yh.POSITION_NORMAL_AND_ST,vertexShaderSource:SF,fragmentShaderSource:xF}),ALL:Object.freeze({vertexFormat:Yh.ALL,vertexShaderSource:TF,fragmentShaderSource:AF})};var Hk=Vk,Gk="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec3 positionToEyeEC = -v_positionEC;\n\n vec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\n\n vec4 color = czm_gammaCorrect(v_color);\n\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.positionToEyeEC = positionToEyeEC;\n czm_material material = czm_getDefaultMaterial(materialInput);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n}\n",qk="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec4 color;\nattribute float batchId;\n\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_normalEC = czm_normal * normal; // normal in eye coordinates\n v_color = color;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",Wk="varying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = czm_gammaCorrect(v_color);\n}\n",Yk="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 color;\nattribute float batchId;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_color = color;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n";function Xk(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.translucent,!0),n=Object(o["a"])(e.closed,!1),i=Object(o["a"])(e.flat,!1),r=i?Yk:qk,a=i?Wk:Gk,s=i?Xk.FLAT_VERTEX_FORMAT:Xk.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,r),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,a),this._renderState=FF.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=Object(o["a"])(e.faceForward,!n)}Object.defineProperties(Xk.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}}),Xk.VERTEX_FORMAT=Yh.POSITION_AND_NORMAL,Xk.FLAT_VERTEX_FORMAT=Yh.POSITION_ONLY,Xk.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,Xk.prototype.isTranslucent=FF.prototype.isTranslucent,Xk.prototype.getRenderState=FF.prototype.getRenderState;var Kk=Xk;function Jk(e){this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(Jk.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color")}),Jk.prototype.getType=function(e){return"Color"},Jk.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,j_.WHITE,t.color),t},Jk.prototype.equals=function(e){return this===e||e instanceof Jk&&QB.equals(this._color,e._color)};var Zk=Jk;const $k={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function Qk(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=Object(o["a"])(e.primitiveType,xh.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=Object(o["a"])(e.offset,0),this._instanceCount=Object(o["a"])(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._flags=0,this.cull=Object(o["a"])(e.cull,!0),this.occlude=Object(o["a"])(e.occlude,!0),this.executeInClosestFrustum=Object(o["a"])(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.castShadows=Object(o["a"])(e.castShadows,!1),this.receiveShadows=Object(o["a"])(e.receiveShadows,!1),this.pickOnly=Object(o["a"])(e.pickOnly,!1),this.depthForTranslucentClassification=Object(o["a"])(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function ez(e,t){return(e._flags&t)===t}function tz(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(Qk.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return ez(this,$k.CULL)},set:function(e){ez(this,$k.CULL)!==e&&(tz(this,$k.CULL,e),this.dirty=!0)}},occlude:{get:function(){return ez(this,$k.OCCLUDE)},set:function(e){ez(this,$k.OCCLUDE)!==e&&(tz(this,$k.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return ez(this,$k.CAST_SHADOWS)},set:function(e){ez(this,$k.CAST_SHADOWS)!==e&&(tz(this,$k.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return ez(this,$k.RECEIVE_SHADOWS)},set:function(e){ez(this,$k.RECEIVE_SHADOWS)!==e&&(tz(this,$k.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return ez(this,$k.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){ez(this,$k.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(tz(this,$k.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return ez(this,$k.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){ez(this,$k.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(tz(this,$k.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickOnly:{get:function(){return ez(this,$k.PICK_ONLY)},set:function(e){ez(this,$k.PICK_ONLY)!==e&&(tz(this,$k.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return ez(this,$k.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){ez(this,$k.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(tz(this,$k.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}}),Qk.shallowClone=function(e,t){if(Object(r["a"])(e))return Object(r["a"])(t)||(t=new Qk),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t},Qk.prototype.execute=function(e,t){e.draw(this,t)};var nz=Qk;const iz={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,OVERLAY:9,NUMBER_OF_PASSES:10};var oz=Object.freeze(iz);function rz(e){if("object"!==typeof e||null===e)return e;let t;const n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&"_applyFunctions"!==t&&(e[t]=rz(e[t]));return Object.freeze(e)}var az=rz;function sz(e){return e===Jc.FUNC_ADD||e===Jc.FUNC_SUBTRACT||e===Jc.FUNC_REVERSE_SUBTRACT||e===Jc.MIN||e===Jc.MAX}function cz(e){return e===Jc.ZERO||e===Jc.ONE||e===Jc.SRC_COLOR||e===Jc.ONE_MINUS_SRC_COLOR||e===Jc.DST_COLOR||e===Jc.ONE_MINUS_DST_COLOR||e===Jc.SRC_ALPHA||e===Jc.ONE_MINUS_SRC_ALPHA||e===Jc.DST_ALPHA||e===Jc.ONE_MINUS_DST_ALPHA||e===Jc.CONSTANT_COLOR||e===Jc.ONE_MINUS_CONSTANT_COLOR||e===Jc.CONSTANT_ALPHA||e===Jc.ONE_MINUS_CONSTANT_ALPHA||e===Jc.SRC_ALPHA_SATURATE}function lz(e){return e===Jc.FRONT||e===Jc.BACK||e===Jc.FRONT_AND_BACK}function uz(e){return e===Jc.NEVER||e===Jc.LESS||e===Jc.EQUAL||e===Jc.LEQUAL||e===Jc.GREATER||e===Jc.NOTEQUAL||e===Jc.GEQUAL||e===Jc.ALWAYS}function hz(e){return e===Jc.NEVER||e===Jc.LESS||e===Jc.EQUAL||e===Jc.LEQUAL||e===Jc.GREATER||e===Jc.NOTEQUAL||e===Jc.GEQUAL||e===Jc.ALWAYS}function dz(e){return e===Jc.ZERO||e===Jc.KEEP||e===Jc.REPLACE||e===Jc.INCR||e===Jc.DECR||e===Jc.INVERT||e===Jc.INCR_WRAP||e===Jc.DECR_WRAP}function fz(e){const t=Object(o["a"])(e,o["a"].EMPTY_OBJECT),n=Object(o["a"])(t.cull,o["a"].EMPTY_OBJECT),i=Object(o["a"])(t.polygonOffset,o["a"].EMPTY_OBJECT),s=Object(o["a"])(t.scissorTest,o["a"].EMPTY_OBJECT),c=Object(o["a"])(s.rectangle,o["a"].EMPTY_OBJECT),l=Object(o["a"])(t.depthRange,o["a"].EMPTY_OBJECT),u=Object(o["a"])(t.depthTest,o["a"].EMPTY_OBJECT),h=Object(o["a"])(t.colorMask,o["a"].EMPTY_OBJECT),d=Object(o["a"])(t.blending,o["a"].EMPTY_OBJECT),f=Object(o["a"])(d.color,o["a"].EMPTY_OBJECT),p=Object(o["a"])(t.stencilTest,o["a"].EMPTY_OBJECT),m=Object(o["a"])(p.frontOperation,o["a"].EMPTY_OBJECT),_=Object(o["a"])(p.backOperation,o["a"].EMPTY_OBJECT),g=Object(o["a"])(t.sampleCoverage,o["a"].EMPTY_OBJECT),b=t.viewport;if(this.frontFace=Object(o["a"])(t.frontFace,Ug.COUNTER_CLOCKWISE),this.cull={enabled:Object(o["a"])(n.enabled,!1),face:Object(o["a"])(n.face,Jc.BACK)},this.lineWidth=Object(o["a"])(t.lineWidth,1),this.polygonOffset={enabled:Object(o["a"])(i.enabled,!1),factor:Object(o["a"])(i.factor,0),units:Object(o["a"])(i.units,0)},this.scissorTest={enabled:Object(o["a"])(s.enabled,!1),rectangle:Oh.clone(c)},this.depthRange={near:Object(o["a"])(l.near,0),far:Object(o["a"])(l.far,1)},this.depthTest={enabled:Object(o["a"])(u.enabled,!1),func:Object(o["a"])(u.func,Jc.LESS)},this.colorMask={red:Object(o["a"])(h.red,!0),green:Object(o["a"])(h.green,!0),blue:Object(o["a"])(h.blue,!0),alpha:Object(o["a"])(h.alpha,!0)},this.depthMask=Object(o["a"])(t.depthMask,!0),this.stencilMask=Object(o["a"])(t.stencilMask,-1),this.blending={enabled:Object(o["a"])(d.enabled,!1),color:new j_(Object(o["a"])(f.red,0),Object(o["a"])(f.green,0),Object(o["a"])(f.blue,0),Object(o["a"])(f.alpha,0)),equationRgb:Object(o["a"])(d.equationRgb,Jc.FUNC_ADD),equationAlpha:Object(o["a"])(d.equationAlpha,Jc.FUNC_ADD),functionSourceRgb:Object(o["a"])(d.functionSourceRgb,Jc.ONE),functionSourceAlpha:Object(o["a"])(d.functionSourceAlpha,Jc.ONE),functionDestinationRgb:Object(o["a"])(d.functionDestinationRgb,Jc.ZERO),functionDestinationAlpha:Object(o["a"])(d.functionDestinationAlpha,Jc.ZERO)},this.stencilTest={enabled:Object(o["a"])(p.enabled,!1),frontFunction:Object(o["a"])(p.frontFunction,Jc.ALWAYS),backFunction:Object(o["a"])(p.backFunction,Jc.ALWAYS),reference:Object(o["a"])(p.reference,0),mask:Object(o["a"])(p.mask,-1),frontOperation:{fail:Object(o["a"])(m.fail,Jc.KEEP),zFail:Object(o["a"])(m.zFail,Jc.KEEP),zPass:Object(o["a"])(m.zPass,Jc.KEEP)},backOperation:{fail:Object(o["a"])(_.fail,Jc.KEEP),zFail:Object(o["a"])(_.zFail,Jc.KEEP),zPass:Object(o["a"])(_.zPass,Jc.KEEP)}},this.sampleCoverage={enabled:Object(o["a"])(g.enabled,!1),value:Object(o["a"])(g.value,1),invert:Object(o["a"])(g.invert,!1)},this.viewport=Object(r["a"])(b)?new Oh(b.x,b.y,b.width,b.height):void 0,this.lineWidth<zF.minimumAliasedLineWidth||this.lineWidth>zF.maximumAliasedLineWidth)throw new a["a"]("renderState.lineWidth is out of range. Check minimumAliasedLineWidth and maximumAliasedLineWidth.");if(!Ug.validate(this.frontFace))throw new a["a"]("Invalid renderState.frontFace.");if(!lz(this.cull.face))throw new a["a"]("Invalid renderState.cull.face.");if(this.scissorTest.rectangle.width<0||this.scissorTest.rectangle.height<0)throw new a["a"]("renderState.scissorTest.rectangle.width and renderState.scissorTest.rectangle.height must be greater than or equal to zero.");if(this.depthRange.near>this.depthRange.far)throw new a["a"]("renderState.depthRange.near can not be greater than renderState.depthRange.far.");if(this.depthRange.near<0)throw new a["a"]("renderState.depthRange.near must be greater than or equal to zero.");if(this.depthRange.far>1)throw new a["a"]("renderState.depthRange.far must be less than or equal to one.");if(!uz(this.depthTest.func))throw new a["a"]("Invalid renderState.depthTest.func.");if(this.blending.color.red<0||this.blending.color.red>1||this.blending.color.green<0||this.blending.color.green>1||this.blending.color.blue<0||this.blending.color.blue>1||this.blending.color.alpha<0||this.blending.color.alpha>1)throw new a["a"]("renderState.blending.color components must be greater than or equal to zero and less than or equal to one.");if(!sz(this.blending.equationRgb))throw new a["a"]("Invalid renderState.blending.equationRgb.");if(!sz(this.blending.equationAlpha))throw new a["a"]("Invalid renderState.blending.equationAlpha.");if(!cz(this.blending.functionSourceRgb))throw new a["a"]("Invalid renderState.blending.functionSourceRgb.");if(!cz(this.blending.functionSourceAlpha))throw new a["a"]("Invalid renderState.blending.functionSourceAlpha.");if(!cz(this.blending.functionDestinationRgb))throw new a["a"]("Invalid renderState.blending.functionDestinationRgb.");if(!cz(this.blending.functionDestinationAlpha))throw new a["a"]("Invalid renderState.blending.functionDestinationAlpha.");if(!hz(this.stencilTest.frontFunction))throw new a["a"]("Invalid renderState.stencilTest.frontFunction.");if(!hz(this.stencilTest.backFunction))throw new a["a"]("Invalid renderState.stencilTest.backFunction.");if(!dz(this.stencilTest.frontOperation.fail))throw new a["a"]("Invalid renderState.stencilTest.frontOperation.fail.");if(!dz(this.stencilTest.frontOperation.zFail))throw new a["a"]("Invalid renderState.stencilTest.frontOperation.zFail.");if(!dz(this.stencilTest.frontOperation.zPass))throw new a["a"]("Invalid renderState.stencilTest.frontOperation.zPass.");if(!dz(this.stencilTest.backOperation.fail))throw new a["a"]("Invalid renderState.stencilTest.backOperation.fail.");if(!dz(this.stencilTest.backOperation.zFail))throw new a["a"]("Invalid renderState.stencilTest.backOperation.zFail.");if(!dz(this.stencilTest.backOperation.zPass))throw new a["a"]("Invalid renderState.stencilTest.backOperation.zPass.");if(Object(r["a"])(this.viewport)){if(this.viewport.width<0)throw new a["a"]("renderState.viewport.width must be greater than or equal to zero.");if(this.viewport.height<0)throw new a["a"]("renderState.viewport.height must be greater than or equal to zero.");if(this.viewport.width>zF.maximumViewportWidth)throw new a["a"](`renderState.viewport.width must be less than or equal to the maximum viewport width (${zF.maximumViewportWidth.toString()}). Check maximumViewportWidth.`);if(this.viewport.height>zF.maximumViewportHeight)throw new a["a"](`renderState.viewport.height must be less than or equal to the maximum viewport height (${zF.maximumViewportHeight.toString()}). Check maximumViewportHeight.`)}this.id=0,this._applyFunctions=[]}let pz=0,mz={};function _z(e,t,n){n?e.enable(t):e.disable(t)}function gz(e,t){e.frontFace(t.frontFace)}function bz(e,t){const n=t.cull,i=n.enabled;_z(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function yz(e,t){e.lineWidth(t.lineWidth)}function vz(e,t){const n=t.polygonOffset,i=n.enabled;_z(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function Oz(e,t,n){const i=t.scissorTest,o=Object(r["a"])(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(_z(e,e.SCISSOR_TEST,o),o){const t=Object(r["a"])(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(t.x,t.y,t.width,t.height)}}function wz(e,t){const n=t.depthRange;e.depthRange(n.near,n.far)}function Az(e,t){const n=t.depthTest,i=n.enabled;_z(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function Tz(e,t){const n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function Cz(e,t){e.depthMask(t.depthMask)}function Ez(e,t){e.stencilMask(t.stencilMask)}function xz(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function Sz(e,t,n){const i=t.blending,o=Object(r["a"])(n.blendingEnabled)?n.blendingEnabled:i.enabled;_z(e,e.BLEND,o),o&&(xz(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function Iz(e,t){const n=t.stencilTest,i=n.enabled;if(_z(e,e.STENCIL_TEST,i),i){const t=n.frontFunction,i=n.backFunction,o=n.reference,r=n.mask;e.stencilFunc(t,o,r),e.stencilFuncSeparate(e.BACK,i,o,r),e.stencilFuncSeparate(e.FRONT,t,o,r);const a=n.frontOperation,s=a.fail,c=a.zFail,l=a.zPass;e.stencilOpSeparate(e.FRONT,s,c,l);const u=n.backOperation,h=u.fail,d=u.zFail,f=u.zPass;e.stencilOpSeparate(e.BACK,h,d,f)}}function Dz(e,t){const n=t.sampleCoverage,i=n.enabled;_z(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}fz.fromCache=function(e){const t=JSON.stringify(e);let n=mz[t];if(Object(r["a"])(n))return++n.referenceCount,n.state;let i=new fz(e);const o=JSON.stringify(i);return n=mz[o],Object(r["a"])(n)||(i.id=pz++,i=az(i),n={referenceCount:0,state:i},mz[o]=n),++n.referenceCount,mz[t]={referenceCount:1,state:n.state},n.state},fz.removeFromCache=function(e){const t=new fz(e),n=JSON.stringify(t),i=mz[n],o=JSON.stringify(e),a=mz[o];Object(r["a"])(a)&&(--a.referenceCount,0===a.referenceCount&&(delete mz[o],Object(r["a"])(i)&&--i.referenceCount)),Object(r["a"])(i)&&0===i.referenceCount&&delete mz[n]},fz.getCache=function(){return mz},fz.clearCache=function(){mz={}};const jz=new Oh;function Pz(e,t,n){let i=Object(o["a"])(t.viewport,n.viewport);Object(r["a"])(i)||(i=jz,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}function Rz(e,t){const n=[];return e.frontFace!==t.frontFace&&n.push(gz),e.cull.enabled===t.cull.enabled&&e.cull.face===t.cull.face||n.push(bz),e.lineWidth!==t.lineWidth&&n.push(yz),e.polygonOffset.enabled===t.polygonOffset.enabled&&e.polygonOffset.factor===t.polygonOffset.factor&&e.polygonOffset.units===t.polygonOffset.units||n.push(vz),e.depthRange.near===t.depthRange.near&&e.depthRange.far===t.depthRange.far||n.push(wz),e.depthTest.enabled===t.depthTest.enabled&&e.depthTest.func===t.depthTest.func||n.push(Az),e.colorMask.red===t.colorMask.red&&e.colorMask.green===t.colorMask.green&&e.colorMask.blue===t.colorMask.blue&&e.colorMask.alpha===t.colorMask.alpha||n.push(Tz),e.depthMask!==t.depthMask&&n.push(Cz),e.stencilMask!==t.stencilMask&&n.push(Ez),e.stencilTest.enabled===t.stencilTest.enabled&&e.stencilTest.frontFunction===t.stencilTest.frontFunction&&e.stencilTest.backFunction===t.stencilTest.backFunction&&e.stencilTest.reference===t.stencilTest.reference&&e.stencilTest.mask===t.stencilTest.mask&&e.stencilTest.frontOperation.fail===t.stencilTest.frontOperation.fail&&e.stencilTest.frontOperation.zFail===t.stencilTest.frontOperation.zFail&&e.stencilTest.backOperation.fail===t.stencilTest.backOperation.fail&&e.stencilTest.backOperation.zFail===t.stencilTest.backOperation.zFail&&e.stencilTest.backOperation.zPass===t.stencilTest.backOperation.zPass||n.push(Iz),e.sampleCoverage.enabled===t.sampleCoverage.enabled&&e.sampleCoverage.value===t.sampleCoverage.value&&e.sampleCoverage.invert===t.sampleCoverage.invert||n.push(Dz),n}fz.apply=function(e,t,n){gz(e,t),bz(e,t),yz(e,t),vz(e,t),wz(e,t),Az(e,t),Tz(e,t),Cz(e,t),Ez(e,t),Iz(e,t),Dz(e,t),Oz(e,t,n),Sz(e,t,n),Pz(e,t,n)},fz.partialApply=function(e,t,n,i,o,a){if(t!==n){let i=n._applyFunctions[t.id];Object(r["a"])(i)||(i=Rz(t,n),n._applyFunctions[t.id]=i);const o=i.length;for(let t=0;t<o;++t)i[t](e,n)}const s=Object(r["a"])(i.scissorTest)?i.scissorTest:t.scissorTest,c=Object(r["a"])(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==c||a)&&Oz(e,n,o);const l=Object(r["a"])(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=Object(r["a"])(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(l!==u||u&&t.blending!==n.blending)&&Sz(e,n,o),t===n&&i===o&&i.context===o.context||Pz(e,n,o)},fz.getState=function(e){if(!Object(r["a"])(e))throw new a["a"]("renderState is required.");return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:Oh.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:j_.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:Object(r["a"])(e.viewport)?Oh.clone(e.viewport):void 0}};var Mz=fz;const Nz=new g;function Lz(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}const Bz={};Bz[Jc.FLOAT]="float",Bz[Jc.FLOAT_VEC2]="vec2",Bz[Jc.FLOAT_VEC3]="vec3",Bz[Jc.FLOAT_VEC4]="vec4",Bz[Jc.INT]="int",Bz[Jc.INT_VEC2]="ivec2",Bz[Jc.INT_VEC3]="ivec3",Bz[Jc.INT_VEC4]="ivec4",Bz[Jc.BOOL]="bool",Bz[Jc.BOOL_VEC2]="bvec2",Bz[Jc.BOOL_VEC3]="bvec3",Bz[Jc.BOOL_VEC4]="bvec4",Bz[Jc.FLOAT_MAT2]="mat2",Bz[Jc.FLOAT_MAT3]="mat3",Bz[Jc.FLOAT_MAT4]="mat4",Bz[Jc.SAMPLER_2D]="sampler2D",Bz[Jc.SAMPLER_CUBE]="samplerCube",Lz.prototype.getDeclaration=function(e){let t=`uniform ${Bz[this._datatype]} ${e}`;const n=this._size;return t+=1===n?";":`[${n.toString()}];`,t};const Fz={czm_viewport:new Lz({size:1,datatype:Jc.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Lz({size:1,datatype:Jc.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Lz({size:1,datatype:Jc.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Lz({size:1,datatype:Jc.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_entireFrustum:new Lz({size:1,datatype:Jc.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Lz({size:1,datatype:Jc.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Lz({size:1,datatype:Jc.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return Ne.getTranslation(e.inverseView,Nz)}}),czm_frameNumber:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Lz({size:1,datatype:Jc.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Lz({size:1,datatype:Jc.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Lz({size:1,datatype:Jc.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Lz({size:1,datatype:Jc.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapSize:new Lz({size:1,datatype:Jc.FLOAT_VEC2,getValue:function(e){return e.specularEnvironmentMapsDimensions}}),czm_specularEnvironmentMapsMaximumLOD:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Lz({size:9,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Lz({size:1,datatype:Jc.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.fogDensity}}),czm_splitPosition:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Lz({size:1,datatype:Jc.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Lz({size:1,datatype:Jc.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Lz({size:1,datatype:Jc.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})};var kz=Fz;function zz(e,t,n,i){switch(t.type){case e.FLOAT:return new Uz(e,t,n,i);case e.FLOAT_VEC2:return new Vz(e,t,n,i);case e.FLOAT_VEC3:return new Hz(e,t,n,i);case e.FLOAT_VEC4:return new Gz(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new qz(e,t,n,i);case e.INT:case e.BOOL:return new Wz(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new Yz(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new Xz(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Kz(e,t,n,i);case e.FLOAT_MAT2:return new Zz(e,t,n,i);case e.FLOAT_MAT3:return new Qz(e,t,n,i);case e.FLOAT_MAT4:return new tU(e,t,n,i);default:throw new ye["a"](`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function Uz(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}function Vz(e,t,n,i){this.name=n,this.value=void 0,this._value=new Ht,this._gl=e,this._location=i}function Hz(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}function Gz(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}function qz(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}function Wz(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}function Yz(e,t,n,i){this.name=n,this.value=void 0,this._value=new Ht,this._gl=e,this._location=i}function Xz(e,t,n,i){this.name=n,this.value=void 0,this._value=new g,this._gl=e,this._location=i}function Kz(e,t,n,i){this.name=n,this.value=void 0,this._value=new be,this._gl=e,this._location=i}Uz.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))},Vz.prototype.set=function(){const e=this.value;Ht.equals(e,this._value)||(Ht.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))},Hz.prototype.set=function(){const e=this.value;if(Object(r["a"])(e.red))j_.equals(e,this._value)||(this._value=j_.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue));else{if(!Object(r["a"])(e.x))throw new a["a"](`Invalid vec3 value for uniform "${this.name}".`);g.equals(e,this._value)||(this._value=g.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z))}},Gz.prototype.set=function(){const e=this.value;if(Object(r["a"])(e.red))j_.equals(e,this._value)||(this._value=j_.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha));else{if(!Object(r["a"])(e.x))throw new a["a"](`Invalid vec4 value for uniform "${this.name}".`);be.equals(e,this._value)||(this._value=be.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w))}},qz.prototype.set=function(){const e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);const t=this.value;e.bindTexture(t._target,t._texture)},qz.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1},Wz.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))},Yz.prototype.set=function(){const e=this.value;Ht.equals(e,this._value)||(Ht.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))},Xz.prototype.set=function(){const e=this.value;g.equals(e,this._value)||(g.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))},Kz.prototype.set=function(){const e=this.value;be.equals(e,this._value)||(be.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};const Jz=new Float32Array(4);function Zz(e,t,n,i){this.name=n,this.value=void 0,this._value=new al,this._gl=e,this._location=i}Zz.prototype.set=function(){if(!al.equalsArray(this.value,this._value,0)){al.clone(this.value,this._value);const e=al.toArray(this.value,Jz);this._gl.uniformMatrix2fv(this._location,!1,e)}};const $z=new Float32Array(9);function Qz(e,t,n,i){this.name=n,this.value=void 0,this._value=new ce,this._gl=e,this._location=i}Qz.prototype.set=function(){if(!ce.equalsArray(this.value,this._value,0)){ce.clone(this.value,this._value);const e=ce.toArray(this.value,$z);this._gl.uniformMatrix3fv(this._location,!1,e)}};const eU=new Float32Array(16);function tU(e,t,n,i){this.name=n,this.value=void 0,this._value=new Ne,this._gl=e,this._location=i}tU.prototype.set=function(){if(!Ne.equalsArray(this.value,this._value,0)){Ne.clone(this.value,this._value);const e=Ne.toArray(this.value,eU);this._gl.uniformMatrix4fv(this._location,!1,e)}};var nU=zz;function iU(e,t,n,i){switch(t.type){case e.FLOAT:return new oU(e,t,n,i);case e.FLOAT_VEC2:return new rU(e,t,n,i);case e.FLOAT_VEC3:return new aU(e,t,n,i);case e.FLOAT_VEC4:return new sU(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new cU(e,t,n,i);case e.INT:case e.BOOL:return new lU(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new uU(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new hU(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new dU(e,t,n,i);case e.FLOAT_MAT2:return new fU(e,t,n,i);case e.FLOAT_MAT3:return new pU(e,t,n,i);case e.FLOAT_MAT4:return new mU(e,t,n,i);default:throw new ye["a"](`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function oU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}function rU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(2*o),this._gl=e,this._location=i[0]}function aU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(3*o),this._gl=e,this._location=i[0]}function sU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(4*o),this._gl=e,this._location=i[0]}function cU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}function lU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}function uU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(2*o),this._gl=e,this._location=i[0]}function hU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(3*o),this._gl=e,this._location=i[0]}function dU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(4*o),this._gl=e,this._location=i[0]}function fU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(4*o),this._gl=e,this._location=i[0]}function pU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(9*o),this._gl=e,this._location=i[0]}function mU(e,t,n,i){const o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(16*o),this._gl=e,this._location=i[0]}oU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1;for(let o=0;o<t;++o){const t=e[o];t!==n[o]&&(n[o]=t,i=!0)}i&&this._gl.uniform1fv(this._location,n)},rU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];Ht.equalsArray(t,n,o)||(Ht.pack(t,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)},aU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let s=0;s<t;++s){const t=e[s];if(Object(r["a"])(t.red))t.red===n[o]&&t.green===n[o+1]&&t.blue===n[o+2]||(n[o]=t.red,n[o+1]=t.green,n[o+2]=t.blue,i=!0);else{if(!Object(r["a"])(t.x))throw new a["a"]("Invalid vec3 value.");g.equalsArray(t,n,o)||(g.pack(t,n,o),i=!0)}o+=3}i&&this._gl.uniform3fv(this._location,n)},sU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let s=0;s<t;++s){const t=e[s];if(Object(r["a"])(t.red))j_.equalsArray(t,n,o)||(j_.pack(t,n,o),i=!0);else{if(!Object(r["a"])(t.x))throw new a["a"]("Invalid vec4 value.");be.equalsArray(t,n,o)||(be.pack(t,n,o),i=!0)}o+=4}i&&this._gl.uniform4fv(this._location,n)},cU.prototype.set=function(){const e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){const i=n[o];e.activeTexture(t+o),e.bindTexture(i._target,i._texture)}},cU.prototype._setSampler=function(e){this.textureUnitIndex=e;const t=this._locations,n=t.length;for(let i=0;i<n;++i){const n=e+i;this._gl.uniform1i(t[i],n)}return e+n},lU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1;for(let o=0;o<t;++o){const t=e[o];t!==n[o]&&(n[o]=t,i=!0)}i&&this._gl.uniform1iv(this._location,n)},uU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];Ht.equalsArray(t,n,o)||(Ht.pack(t,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)},hU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];g.equalsArray(t,n,o)||(g.pack(t,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)},dU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];be.equalsArray(t,n,o)||(be.pack(t,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)},fU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];al.equalsArray(t,n,o)||(al.pack(t,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)},pU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];ce.equalsArray(t,n,o)||(ce.pack(t,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)},mU.prototype.set=function(){const e=this.value,t=e.length,n=this._value;let i=!1,o=0;for(let r=0;r<t;++r){const t=e[r];Ne.equalsArray(t,n,o)||(Ne.pack(t,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var _U=iU;let gU=0;function bU(e){let t=e.vertexShaderText,n=e.fragmentShaderText;"undefined"!==typeof spector&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));const i=vU(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=gU++}function yU(e){const t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(Object(r["a"])(n)){const e=n.length;for(let i=0;i<e;i++){const e=n[i].trim(),o=e.slice(e.lastIndexOf(" ")+1);t.push(o)}}return t}function vU(e,t){const n={};if(!zF.highpFloatSupported||!zF.highpIntSupported){let i,o,r,a;const s=yU(e),c=yU(t),l=s.length,u=c.length;for(i=0;i<l;i++)for(o=0;o<u;o++)if(s[i]===c[o]){r=s[i],a="czm_mediump_"+r;const e=new RegExp(r+"\\b","g");t=t.replace(e,a),n[a]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}bU.fromCache=function(e){return e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context),e.context.shaderCache.getShaderProgram(e)},bU.replaceCache=function(e){return e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context),e.context.shaderCache.replaceShaderProgram(e)},Object.defineProperties(bU.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return xU(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return xU(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return xU(this),this._uniformsByName}}});const OU="[Cesium WebGL] ";function wU(e,t){const n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);const a=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(a,i),e.compileShader(a);const s=e.createProgram();e.attachShader(s,o),e.attachShader(s,a),e.deleteShader(o),e.deleteShader(a);const c=t._attributeLocations;if(Object(r["a"])(c))for(const r in c)c.hasOwnProperty(r)&&e.bindAttribLocation(s,c[r],r);let l;if(e.linkProgram(s),!e.getProgramParameter(s,e.LINK_STATUS)){const n=t._debugShaders;if(!e.getShaderParameter(a,e.COMPILE_STATUS)){if(l=e.getShaderInfoLog(a),console.error(`${OU}Fragment shader compile log: ${l}`),Object(r["a"])(n)){const e=n.getTranslatedShaderSource(a);""!==e?console.error(`${OU}Translated fragment shader source:\n${e}`):console.error(OU+"Fragment shader translation failed.")}throw e.deleteProgram(s),new ye["a"]("Fragment shader failed to compile. Compile log: "+l)}if(!e.getShaderParameter(o,e.COMPILE_STATUS)){if(l=e.getShaderInfoLog(o),console.error(`${OU}Vertex shader compile log: ${l}`),Object(r["a"])(n)){const e=n.getTranslatedShaderSource(o);""!==e?console.error(`${OU}Translated vertex shader source:\n${e}`):console.error(OU+"Vertex shader translation failed.")}throw e.deleteProgram(s),new ye["a"]("Vertex shader failed to compile. Compile log: "+l)}throw l=e.getProgramInfoLog(s),console.error(`${OU}Shader program link log: ${l}`),Object(r["a"])(n)&&(console.error(`${OU}Translated vertex shader source:\n${n.getTranslatedShaderSource(o)}`),console.error(`${OU}Translated fragment shader source:\n${n.getTranslatedShaderSource(a)}`)),e.deleteProgram(s),new ye["a"]("Program failed to link. Link log: "+l)}const u=t._logShaderCompilation;return u&&(l=e.getShaderInfoLog(o),Object(r["a"])(l)&&l.length>0&&console.log(`${OU}Vertex shader compile log: ${l}`)),u&&(l=e.getShaderInfoLog(a),Object(r["a"])(l)&&l.length>0&&console.log(`${OU}Fragment shader compile log: ${l}`)),u&&(l=e.getProgramInfoLog(s),Object(r["a"])(l)&&l.length>0&&console.log(`${OU}Shader program link log: ${l}`)),s}function AU(e,t,n){const i={};for(let o=0;o<n;++o){const n=e.getActiveAttrib(t,o),r=e.getAttribLocation(t,n.name);i[n.name]={name:n.name,type:n.type,index:r}}return i}function TU(e,t){const n={},i=[],o=[],a=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<a;++s){const a=e.getActiveUniform(t,s),c="[0]",l=-1!==a.name.indexOf(c,a.name.length-c.length)?a.name.slice(0,a.name.length-3):a.name;if(0!==l.indexOf("gl_"))if(a.name.indexOf("[")<0){const r=e.getUniformLocation(t,l);if(null!==r){const t=nU(e,a,l,r);n[l]=t,i.push(t),t._setSampler&&o.push(t)}}else{let s,c,u,h;const d=l.indexOf("[");if(d>=0){if(s=n[l.slice(0,d)],!Object(r["a"])(s))continue;c=s._locations,c.length<=1&&(u=s.value,h=e.getUniformLocation(t,l),null!==h&&(c.push(h),u.push(e.getUniform(t,h))))}else{c=[];for(let n=0;n<a.size;++n)h=e.getUniformLocation(t,`${l}[${n}]`),null!==h&&c.push(h);s=_U(e,a,l,c),n[l]=s,i.push(s),s._setSampler&&o.push(s)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function CU(e,t){const n=[],i=[];for(const o in t)if(t.hasOwnProperty(o)){const a=t[o];let s=o;const c=e._duplicateUniformNames[s];Object(r["a"])(c)&&(a.name=c,s=c);const l=kz[s];Object(r["a"])(l)?n.push({uniform:a,automaticUniform:l}):i.push(a)}return{automaticUniforms:n,manualUniforms:i}}function EU(e,t,n){e.useProgram(t);let i=0;const o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function xU(e){Object(r["a"])(e._program)||SU(e)}function SU(e){const t=e._program,n=e._gl,i=wU(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=TU(n,i),a=CU(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=AU(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=a.automaticUniforms,e._manualUniforms=a.manualUniforms,e.maximumTextureUnitIndex=EU(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),"undefined"!==typeof spector&&(e._program.__SPECTOR_rebuildProgram=function(t,n,i,o){const r=e._vertexShaderText,a=e._fragmentShaderText,s=/ ! = /g;e._vertexShaderText=t.replace(s," != "),e._fragmentShaderText=n.replace(s," != ");try{SU(e),i(e._program)}catch(c){e._vertexShaderText=r,e._fragmentShaderText=a;const t=/(?:Compile|Link) error: ([^]*)/,n=t.exec(c.message);o(n?n[1]:c.message)}})}bU.prototype._bind=function(){xU(this),this._gl.useProgram(this._program)},bU.prototype._setUniforms=function(e,t,n){let i,o;if(Object(r["a"])(e)){const t=this._manualUniforms;for(i=t.length,o=0;o<i;++o){const n=t[o];n.value=e[n.name]()}}const s=this._automaticUniforms;for(i=s.length,o=0;o<i;++o){const e=s[o];e.uniform.value=e.automaticUniform.getValue(t)}const c=this._uniforms;for(i=c.length,o=0;o<i;++o)c[o].set();if(n){const e=this._gl,t=this._program;if(e.validateProgram(t),!e.getProgramParameter(t,e.VALIDATE_STATUS))throw new a["a"]("Program validation failed. Program info log: "+e.getProgramInfoLog(t))}},bU.prototype.isDestroyed=function(){return!1},bU.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)},bU.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),Wl(this)};var IU=bU;function DU(e,t){const n=/#define OUTPUT_DECLARATION/,i=e.split("\n");if(/#version 300 es/g.test(e))return e;let o,r,s=-1;for(o=0;o<i.length;++o)if(r=i[o],n.test(r)){s=o;break}if(-1===s)throw new a["a"]("Could not find a #define OUTPUT_DECLARATION!");const c=[];for(o=0;o<10;o++){const t=`gl_FragData\\[${o}\\]`,n="czm_out"+o,r=new RegExp(t,"g");r.test(e)&&(NU(n,c),jU(t,n,i),i.splice(s,0,`layout(location = ${o}) out vec4 ${n};`),s+=1)}const l="czm_fragColor";RU("gl_FragColor",i)&&(NU(l,c),jU("gl_FragColor",l,i),i.splice(s,0,"layout(location = 0) out vec4 czm_fragColor;"),s+=1);const u=LU(c,i),h={};for(o=0;o<i.length;o++){r=i[o];for(const e in u)if(u.hasOwnProperty(e)){const t=new RegExp(`(layout)[^]+(out)[^]+(${e})[^]+`,"g");t.test(r)&&(h[r]=e)}}for(const a in h)if(h.hasOwnProperty(a)){const e=h[a];let t=i.indexOf(a);const n=u[e],o=n.length;for(let r=0;r<o;r++)i.splice(t,0,n[r]);t+=o+1;for(let r=o-1;r>=0;r--)i.splice(t,0,"#endif //"+n[r])}const d="WEBGL_2",f="#define "+d,p="#version 300 es";let m=!1;for(o=0;o<i.length;o++)if(/#version/.test(i[o])){i[o]=p,m=!0;break}return m||i.splice(0,0,p),i.splice(1,0,f),BU("EXT_draw_buffers",d,i),BU("EXT_frag_depth",d,i),BU("OES_standard_derivatives",d,i),jU("texture2D","texture",i),jU("texture3D","texture",i),jU("textureCube","texture",i),jU("gl_FragDepthEXT","gl_FragDepth",i),t?jU("varying","in",i):(jU("attribute","in",i),jU("varying","out",i)),MU(i)}function jU(e,t,n){const i=`(^|[^\\w])(${e})($|[^\\w])`,o=new RegExp(i,"g"),r=n.length;for(let a=0;a<r;++a){const e=n[a];n[a]=e.replace(o,`$1${t}$3`)}}function PU(e,t,n){const i=n.length;for(let o=0;o<i;++o){const i=n[o];n[o]=i.replace(e,t)}}function RU(e,t){const n=`(^|[^\\w])(${e})($|[^\\w])`,i=new RegExp(n,"g"),o=t.length;for(let r=0;r<o;++r){const e=t[r];if(i.test(e))return!0}return!1}function MU(e){let t="";const n=e.length;for(let i=0;i<n;++i)t+=e[i]+"\n";return t}function NU(e,t){-1===t.indexOf(e)&&t.push(e)}function LU(e,t){const n={},i=e.length,o=[];for(let a=0;a<t.length;++a){const s=t[a],c=/(#ifdef|#if)/g.test(s),l=/#else/g.test(s),u=/#endif/g.test(s);if(c)o.push(s);else if(l){const e=o[o.length-1];let t=e.replace("ifdef","ifndef");/if/g.test(t)&&(t=t.replace(/(#if\s+)(\S*)([^]*)/,"$1!($2)$3")),o.pop(),o.push(t)}else if(u)o.pop();else if(!/layout/g.test(s))for(let t=0;t<i;++t){const i=e[t];-1!==s.indexOf(i)&&(Object(r["a"])(n[i])?n[i]=n[i].filter((function(e){return o.indexOf(e)>=0})):n[i]=o.slice())}}return n}function BU(e,t,n){const i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;PU(new RegExp(i,"g"),"",n),jU("GL_"+e,t,n)}var FU=DU,kU="/**\n * A built-in GLSL floating-point constant for converting radians to degrees.\n *\n * @alias czm_degreesPerRadian\n * @glslConstant\n *\n * @see CesiumMath.DEGREES_PER_RADIAN\n *\n * @example\n * // GLSL declaration\n * const float czm_degreesPerRadian = ...;\n *\n * // Example\n * float deg = czm_degreesPerRadian * rad;\n */\nconst float czm_degreesPerRadian = 57.29577951308232;\n",zU="/**\n * A built-in GLSL vec2 constant for defining the depth range.\n * This is a workaround to a bug where IE11 does not implement gl_DepthRange.\n *\n * @alias czm_depthRange\n * @glslConstant\n *\n * @example\n * // GLSL declaration\n * float depthRangeNear = czm_depthRange.near;\n * float depthRangeFar = czm_depthRange.far;\n *\n */\nconst czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0);\n",UU="/**\n * 0.1\n *\n * @name czm_epsilon1\n * @glslConstant\n */\nconst float czm_epsilon1 = 0.1;\n",VU="/**\n * 0.01\n *\n * @name czm_epsilon2\n * @glslConstant\n */\nconst float czm_epsilon2 = 0.01;\n",HU="/**\n * 0.001\n *\n * @name czm_epsilon3\n * @glslConstant\n */\nconst float czm_epsilon3 = 0.001;\n",GU="/**\n * 0.0001\n *\n * @name czm_epsilon4\n * @glslConstant\n */\nconst float czm_epsilon4 = 0.0001;\n",qU="/**\n * 0.00001\n *\n * @name czm_epsilon5\n * @glslConstant\n */\nconst float czm_epsilon5 = 0.00001;\n",WU="/**\n * 0.000001\n *\n * @name czm_epsilon6\n * @glslConstant\n */\nconst float czm_epsilon6 = 0.000001;\n",YU="/**\n * 0.0000001\n *\n * @name czm_epsilon7\n * @glslConstant\n */\nconst float czm_epsilon7 = 0.0000001;\n",XU="/**\n * DOC_TBA\n *\n * @name czm_infinity\n * @glslConstant\n */\nconst float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto in meters. TODO: What is best given lowp, mediump, and highp?\n",KU="/**\n * A built-in GLSL floating-point constant for <code>1/pi</code>.\n *\n * @alias czm_oneOverPi\n * @glslConstant\n *\n * @see CesiumMath.ONE_OVER_PI\n *\n * @example\n * // GLSL declaration\n * const float czm_oneOverPi = ...;\n *\n * // Example\n * float pi = 1.0 / czm_oneOverPi;\n */\nconst float czm_oneOverPi = 0.3183098861837907;\n",JU="/**\n * A built-in GLSL floating-point constant for <code>1/2pi</code>.\n *\n * @alias czm_oneOverTwoPi\n * @glslConstant\n *\n * @see CesiumMath.ONE_OVER_TWO_PI\n *\n * @example\n * // GLSL declaration\n * const float czm_oneOverTwoPi = ...;\n *\n * // Example\n * float pi = 2.0 * czm_oneOverTwoPi;\n */\nconst float czm_oneOverTwoPi = 0.15915494309189535;\n",ZU="/**\n * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE}\n *\n * @name czm_passCesium3DTile\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passCesium3DTile = 4.0;\n",$U="/**\n * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION}\n *\n * @name czm_passCesium3DTileClassification\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passCesium3DTileClassification = 5.0;\n",QU="/**\n * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW}\n *\n * @name czm_passCesium3DTileClassificationIgnoreShow\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passCesium3DTileClassificationIgnoreShow = 6.0;\n",eV="/**\n * The automatic GLSL constant for {@link Pass#CLASSIFICATION}\n *\n * @name czm_passClassification\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passClassification = 7.0;\n",tV="/**\n * The automatic GLSL constant for {@link Pass#COMPUTE}\n *\n * @name czm_passCompute\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passCompute = 1.0;\n",nV="/**\n * The automatic GLSL constant for {@link Pass#ENVIRONMENT}\n *\n * @name czm_passEnvironment\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passEnvironment = 0.0;\n",iV="/**\n * The automatic GLSL constant for {@link Pass#GLOBE}\n *\n * @name czm_passGlobe\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passGlobe = 2.0;\n",oV="/**\n * The automatic GLSL constant for {@link Pass#OPAQUE}\n *\n * @name czm_passOpaque\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passOpaque = 7.0;\n",rV="/**\n * The automatic GLSL constant for {@link Pass#OVERLAY}\n *\n * @name czm_passOverlay\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passOverlay = 9.0;\n",aV="/**\n * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION}\n *\n * @name czm_passTerrainClassification\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passTerrainClassification = 3.0;\n",sV="/**\n * The automatic GLSL constant for {@link Pass#TRANSLUCENT}\n *\n * @name czm_passTranslucent\n * @glslConstant\n *\n * @see czm_pass\n */\nconst float czm_passTranslucent = 8.0;\n",cV="/**\n * A built-in GLSL floating-point constant for <code>Math.PI</code>.\n *\n * @alias czm_pi\n * @glslConstant\n *\n * @see CesiumMath.PI\n *\n * @example\n * // GLSL declaration\n * const float czm_pi = ...;\n *\n * // Example\n * float twoPi = 2.0 * czm_pi;\n */\nconst float czm_pi = 3.141592653589793;\n",lV="/**\n * A built-in GLSL floating-point constant for <code>pi/4</code>.\n *\n * @alias czm_piOverFour\n * @glslConstant\n *\n * @see CesiumMath.PI_OVER_FOUR\n *\n * @example\n * // GLSL declaration\n * const float czm_piOverFour = ...;\n *\n * // Example\n * float pi = 4.0 * czm_piOverFour;\n */\nconst float czm_piOverFour = 0.7853981633974483;\n",uV="/**\n * A built-in GLSL floating-point constant for <code>pi/6</code>.\n *\n * @alias czm_piOverSix\n * @glslConstant\n *\n * @see CesiumMath.PI_OVER_SIX\n *\n * @example\n * // GLSL declaration\n * const float czm_piOverSix = ...;\n *\n * // Example\n * float pi = 6.0 * czm_piOverSix;\n */\nconst float czm_piOverSix = 0.5235987755982988;\n",hV="/**\n * A built-in GLSL floating-point constant for <code>pi/3</code>.\n *\n * @alias czm_piOverThree\n * @glslConstant\n *\n * @see CesiumMath.PI_OVER_THREE\n *\n * @example\n * // GLSL declaration\n * const float czm_piOverThree = ...;\n *\n * // Example\n * float pi = 3.0 * czm_piOverThree;\n */\nconst float czm_piOverThree = 1.0471975511965976;\n",dV="/**\n * A built-in GLSL floating-point constant for <code>pi/2</code>.\n *\n * @alias czm_piOverTwo\n * @glslConstant\n *\n * @see CesiumMath.PI_OVER_TWO\n *\n * @example\n * // GLSL declaration\n * const float czm_piOverTwo = ...;\n *\n * // Example\n * float pi = 2.0 * czm_piOverTwo;\n */\nconst float czm_piOverTwo = 1.5707963267948966;\n",fV="/**\n * A built-in GLSL floating-point constant for converting degrees to radians.\n *\n * @alias czm_radiansPerDegree\n * @glslConstant\n *\n * @see CesiumMath.RADIANS_PER_DEGREE\n *\n * @example\n * // GLSL declaration\n * const float czm_radiansPerDegree = ...;\n *\n * // Example\n * float rad = czm_radiansPerDegree * deg;\n */\nconst float czm_radiansPerDegree = 0.017453292519943295;\n",pV="/**\n * The constant identifier for the 2D {@link SceneMode}\n *\n * @name czm_sceneMode2D\n * @glslConstant\n * @see czm_sceneMode\n * @see czm_sceneModeColumbusView\n * @see czm_sceneMode3D\n * @see czm_sceneModeMorphing\n */\nconst float czm_sceneMode2D = 2.0;\n",mV="/**\n * The constant identifier for the 3D {@link SceneMode}\n *\n * @name czm_sceneMode3D\n * @glslConstant\n * @see czm_sceneMode\n * @see czm_sceneMode2D\n * @see czm_sceneModeColumbusView\n * @see czm_sceneModeMorphing\n */\nconst float czm_sceneMode3D = 3.0;\n",_V="/**\n * The constant identifier for the Columbus View {@link SceneMode}\n *\n * @name czm_sceneModeColumbusView\n * @glslConstant\n * @see czm_sceneMode\n * @see czm_sceneMode2D\n * @see czm_sceneMode3D\n * @see czm_sceneModeMorphing\n */\nconst float czm_sceneModeColumbusView = 1.0;\n",gV="/**\n * The constant identifier for the Morphing {@link SceneMode}\n *\n * @name czm_sceneModeMorphing\n * @glslConstant\n * @see czm_sceneMode\n * @see czm_sceneMode2D\n * @see czm_sceneModeColumbusView\n * @see czm_sceneMode3D\n */\nconst float czm_sceneModeMorphing = 0.0;\n",bV="/**\n * A built-in GLSL floating-point constant for one solar radius.\n *\n * @alias czm_solarRadius\n * @glslConstant\n *\n * @see CesiumMath.SOLAR_RADIUS\n *\n * @example\n * // GLSL declaration\n * const float czm_solarRadius = ...;\n */\nconst float czm_solarRadius = 695500000.0;\n",yV="/**\n * A built-in GLSL floating-point constant for <code>3pi/2</code>.\n *\n * @alias czm_threePiOver2\n * @glslConstant\n *\n * @see CesiumMath.THREE_PI_OVER_TWO\n *\n * @example\n * // GLSL declaration\n * const float czm_threePiOver2 = ...;\n *\n * // Example\n * float pi = (2.0 / 3.0) * czm_threePiOver2;\n */\nconst float czm_threePiOver2 = 4.71238898038469;\n",vV="/**\n * A built-in GLSL floating-point constant for <code>2pi</code>.\n *\n * @alias czm_twoPi\n * @glslConstant\n *\n * @see CesiumMath.TWO_PI\n *\n * @example\n * // GLSL declaration\n * const float czm_twoPi = ...;\n *\n * // Example\n * float pi = czm_twoPi / 2.0;\n */\nconst float czm_twoPi = 6.283185307179586;\n",OV="/**\n * The maximum latitude, in radians, both North and South, supported by a Web Mercator\n * (EPSG:3857) projection. Technically, the Mercator projection is defined\n * for any latitude up to (but not including) 90 degrees, but it makes sense\n * to cut it off sooner because it grows exponentially with increasing latitude.\n * The logic behind this particular cutoff value, which is the one used by\n * Google Maps, Bing Maps, and Esri, is that it makes the projection\n * square. That is, the rectangle is equal in the X and Y directions.\n *\n * The constant value is computed as follows:\n * czm_pi * 0.5 - (2.0 * atan(exp(-czm_pi)))\n *\n * @name czm_webMercatorMaxLatitude\n * @glslConstant\n */\nconst float czm_webMercatorMaxLatitude = 1.4844222297453324;\n",wV="/**\n * @name czm_depthRangeStruct\n * @glslStruct\n */\nstruct czm_depthRangeStruct\n{\n float near;\n float far;\n};\n",AV="/**\n * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions.\n *\n * @name czm_material\n * @glslStruct\n *\n * @property {vec3} diffuse Incoming light that scatters evenly in all directions.\n * @property {float} specular Intensity of incoming light reflecting in a single direction.\n * @property {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight.\n * @property {vec3} normal Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal.\n * @property {vec3} emission Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light.\n * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque.\n */\nstruct czm_material\n{\n vec3 diffuse;\n float specular;\n float shininess;\n vec3 normal;\n vec3 emission;\n float alpha;\n};\n",TV="/**\n * Used as input to every material's czm_getMaterial function.\n *\n * @name czm_materialInput\n * @glslStruct\n *\n * @property {float} s 1D texture coordinates.\n * @property {vec2} st 2D texture coordinates.\n * @property {vec3} str 3D texture coordinates.\n * @property {vec3} normalEC Unperturbed surface normal in eye coordinates.\n * @property {mat3} tangentToEyeMatrix Matrix for converting a tangent space normal to eye space.\n * @property {vec3} positionToEyeEC Vector from the fragment to the eye in eye coordinates. The magnitude is the distance in meters from the fragment to the eye.\n * @property {float} height The height of the terrain in meters above or below the WGS84 ellipsoid. Only available for globe materials.\n * @property {float} slope The slope of the terrain in radians. 0 is flat; pi/2 is vertical. Only available for globe materials.\n * @property {float} aspect The aspect of the terrain in radians. 0 is East, pi/2 is North, pi is West, 3pi/2 is South. Only available for globe materials.\n */\nstruct czm_materialInput\n{\n float s;\n vec2 st;\n vec3 str;\n vec3 normalEC;\n mat3 tangentToEyeMatrix;\n vec3 positionToEyeEC;\n float height;\n float slope;\n float aspect;\n};\n",CV="/**\n * Struct for representing a material for a {@link ModelExperimental}. The model\n * rendering pipeline will pass this struct between material, custom shaders,\n * and lighting stages. This is not to be confused with {@link czm_material}\n * which is used by the older Fabric materials system, although they are similar\n *\n * @name czm_modelMaterial\n * @glslStruct\n *\n * @property {vec3} diffuse Incoming light that scatters evenly in all directions.\n * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque.\n * @property {vec3} specular Color of reflected light at normal incidence in PBR materials. This is sometimes referred to as f0 in the literature.\n * @property {float} roughness A number from 0.0 to 1.0 representing how rough the surface is. Values near 0.0 produce glossy surfaces, while values near 1.0 produce rough surfaces.\n * @property {vec3} normalEC Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal.\n * @property {float} occlusion Ambient occlusion recieved at this point on the material. 1.0 means fully lit, 0.0 means fully occluded.\n * @property {vec3} emissive Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light.\n */\nstruct czm_modelMaterial {\n vec3 diffuse;\n float alpha;\n vec3 specular;\n float roughness;\n vec3 normalEC;\n float occlusion;\n vec3 emissive;\n};\n",EV="/**\n * Struct for representing the output of a custom vertex shader.\n * \n * @name czm_modelVertexOutput\n * @glslStruct\n *\n * @see {@link CustomShader}\n * @see {@link ModelExperimental}\n *\n * @property {vec3} positionMC The position of the vertex in model coordinates\n * @property {float} pointSize A custom value for gl_PointSize. This is only used for point primitives. \n */\nstruct czm_modelVertexOutput {\n vec3 positionMC;\n float pointSize;\n};\n",xV="/**\n * Parameters for {@link czm_pbrLighting}\n *\n * @name czm_material\n * @glslStruct\n *\n * @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation\n * @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is.\n * @property {vec3} f0 The reflectance of the material at normal incidence\n */\nstruct czm_pbrParameters\n{\n vec3 diffuseColor;\n float roughness;\n vec3 f0;\n};\n",SV="/**\n * DOC_TBA\n *\n * @name czm_ray\n * @glslStruct\n */\nstruct czm_ray\n{\n vec3 origin;\n vec3 direction;\n};\n",IV="/**\n * DOC_TBA\n *\n * @name czm_raySegment\n * @glslStruct\n */\nstruct czm_raySegment\n{\n float start;\n float stop;\n};\n\n/**\n * DOC_TBA\n *\n * @name czm_emptyRaySegment\n * @glslConstant \n */\nconst czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);\n\n/**\n * DOC_TBA\n *\n * @name czm_fullRaySegment\n * @glslConstant \n */\nconst czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);\n",DV="struct czm_shadowParameters\n{\n#ifdef USE_CUBE_MAP_SHADOW\n vec3 texCoords;\n#else\n vec2 texCoords;\n#endif\n\n float depthBias;\n float depth;\n float nDotL;\n vec2 texelStepSize;\n float normalShadingSmooth;\n float darkness;\n};\n",jV="/**\n * Converts an HSB color (hue, saturation, brightness) to RGB\n * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl}\n *\n * @name czm_HSBToRGB\n * @glslFunction\n * \n * @param {vec3} hsb The color in HSB.\n *\n * @returns {vec3} The color in RGB.\n *\n * @example\n * vec3 hsb = czm_RGBToHSB(rgb);\n * hsb.z *= 0.1;\n * rgb = czm_HSBToRGB(hsb);\n */\n\nconst vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n\nvec3 czm_HSBToRGB(vec3 hsb)\n{\n vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www);\n return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y);\n}\n",PV="/**\n * Converts an HSL color (hue, saturation, lightness) to RGB\n * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html}\n *\n * @name czm_HSLToRGB\n * @glslFunction\n * \n * @param {vec3} rgb The color in HSL.\n *\n * @returns {vec3} The color in RGB.\n *\n * @example\n * vec3 hsl = czm_RGBToHSL(rgb);\n * hsl.z *= 0.1;\n * rgb = czm_HSLToRGB(hsl);\n */\n\nvec3 hueToRGB(float hue)\n{\n float r = abs(hue * 6.0 - 3.0) - 1.0;\n float g = 2.0 - abs(hue * 6.0 - 2.0);\n float b = 2.0 - abs(hue * 6.0 - 4.0);\n return clamp(vec3(r, g, b), 0.0, 1.0);\n}\n\nvec3 czm_HSLToRGB(vec3 hsl)\n{\n vec3 rgb = hueToRGB(hsl.x);\n float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y;\n return (rgb - 0.5) * c + hsl.z;\n}\n",RV="/**\n * Converts an RGB color to HSB (hue, saturation, brightness)\n * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl}\n *\n * @name czm_RGBToHSB\n * @glslFunction\n * \n * @param {vec3} rgb The color in RGB.\n *\n * @returns {vec3} The color in HSB.\n *\n * @example\n * vec3 hsb = czm_RGBToHSB(rgb);\n * hsb.z *= 0.1;\n * rgb = czm_HSBToRGB(hsb);\n */\n\nconst vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n\nvec3 czm_RGBToHSB(vec3 rgb)\n{\n vec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g));\n vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r));\n\n float d = q.x - min(q.w, q.y);\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x);\n}\n",MV="/**\n * Converts an RGB color to HSL (hue, saturation, lightness)\n * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html}\n *\n * @name czm_RGBToHSL\n * @glslFunction\n * \n * @param {vec3} rgb The color in RGB.\n *\n * @returns {vec3} The color in HSL.\n *\n * @example\n * vec3 hsl = czm_RGBToHSL(rgb);\n * hsl.z *= 0.1;\n * rgb = czm_HSLToRGB(hsl);\n */\n \nvec3 RGBtoHCV(vec3 rgb)\n{\n // Based on work by Sam Hocevar and Emil Persson\n vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0);\n vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);\n float c = q.x - min(q.w, q.y);\n float h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z);\n return vec3(h, c, q.x);\n}\n\nvec3 czm_RGBToHSL(vec3 rgb)\n{\n vec3 hcv = RGBtoHCV(rgb);\n float l = hcv.z - hcv.y * 0.5;\n float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7);\n return vec3(hcv.x, s, l);\n}\n",NV="/**\n * Converts an RGB color to CIE Yxy.\n * <p>The conversion is described in\n * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform}\n * </p>\n * \n * @name czm_RGBToXYZ\n * @glslFunction\n * \n * @param {vec3} rgb The color in RGB.\n *\n * @returns {vec3} The color in CIE Yxy.\n *\n * @example\n * vec3 xyz = czm_RGBToXYZ(rgb);\n * xyz.x = max(xyz.x - luminanceThreshold, 0.0);\n * rgb = czm_XYZToRGB(xyz);\n */\nvec3 czm_RGBToXYZ(vec3 rgb)\n{\n const mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,\n 0.3576, 0.7152, 0.1192,\n 0.1805, 0.0722, 0.9505);\n vec3 xyz = RGB2XYZ * rgb;\n vec3 Yxy;\n Yxy.r = xyz.g;\n float temp = dot(vec3(1.0), xyz);\n Yxy.gb = xyz.rg / temp;\n return Yxy;\n}\n",LV="/**\n * Converts a CIE Yxy color to RGB.\n * <p>The conversion is described in\n * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform}\n * </p>\n * \n * @name czm_XYZToRGB\n * @glslFunction\n * \n * @param {vec3} Yxy The color in CIE Yxy.\n *\n * @returns {vec3} The color in RGB.\n *\n * @example\n * vec3 xyz = czm_RGBToXYZ(rgb);\n * xyz.x = max(xyz.x - luminanceThreshold, 0.0);\n * rgb = czm_XYZToRGB(xyz);\n */\nvec3 czm_XYZToRGB(vec3 Yxy)\n{\n const mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556,\n -1.5371, 1.8760, -0.2040,\n -0.4985, 0.0416, 1.0572);\n vec3 xyz;\n xyz.r = Yxy.r * Yxy.g / Yxy.b;\n xyz.g = Yxy.r;\n xyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b;\n \n return XYZ2RGB * xyz;\n}\n",BV="// See:\n// https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/\n\nvec3 czm_acesTonemapping(vec3 color) {\n float g = 0.985;\n float a = 0.065;\n float b = 0.0001;\n float c = 0.433;\n float d = 0.238;\n\n color = (color * (color + a) - b) / (color * (g * color + c) + d);\n\n color = clamp(color, 0.0, 1.0);\n\n return color;\n}\n",FV="/**\n * @private\n */\nfloat czm_alphaWeight(float a)\n{\n float z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n\n // See Weighted Blended Order-Independent Transparency for examples of different weighting functions:\n // http://jcgt.org/published/0002/02/09/\n return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0))));\n}\n",kV="/**\n * Procedural anti-aliasing by blurring two colors that meet at a sharp edge.\n *\n * @name czm_antialias\n * @glslFunction\n *\n * @param {vec4} color1 The color on one side of the edge.\n * @param {vec4} color2 The color on the other side of the edge.\n * @param {vec4} currentcolor The current color, either <code>color1</code> or <code>color2</code>.\n * @param {float} dist The distance to the edge in texture coordinates.\n * @param {float} [fuzzFactor=0.1] Controls the blurriness between the two colors.\n * @returns {vec4} The anti-aliased color.\n *\n * @example\n * // GLSL declarations\n * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor);\n * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist);\n *\n * // get the color for a material that has a sharp edge at the line y = 0.5 in texture space\n * float dist = abs(textureCoordinates.t - 0.5);\n * vec4 currentColor = mix(bottomColor, topColor, step(0.5, textureCoordinates.t));\n * vec4 color = czm_antialias(bottomColor, topColor, currentColor, dist, 0.1);\n */\nvec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)\n{\n float val1 = clamp(dist / fuzzFactor, 0.0, 1.0);\n float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);\n val1 = val1 * (1.0 - val2);\n val1 = val1 * val1 * (3.0 - (2.0 * val1));\n val1 = pow(val1, 0.5); //makes the transition nicer\n \n vec4 midColor = (color1 + color2) * 0.5;\n return mix(midColor, currentColor, val1);\n}\n\nvec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)\n{\n return czm_antialias(color1, color2, currentColor, dist, 0.1);\n}\n",zV="/**\n * Approximately computes spherical coordinates given a normal.\n * Uses approximate inverse trigonometry for speed and consistency,\n * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU.\n *\n * @name czm_approximateSphericalCoordinates\n * @glslFunction\n *\n * @param {vec3} normal arbitrary-length normal.\n *\n * @returns {vec2} Approximate latitude and longitude spherical coordinates.\n */\nvec2 czm_approximateSphericalCoordinates(vec3 normal) {\n // Project into plane with vertical for latitude\n float latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z);\n float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y);\n return vec2(latitudeApproximation, longitudeApproximation);\n}\n",UV="/**\n * Determines if the fragment is back facing\n *\n * @name czm_backFacing\n * @glslFunction \n * \n * @returns {bool} <code>true</code> if the fragment is back facing; otherwise, <code>false</code>.\n */\nbool czm_backFacing()\n{\n // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494.\n return gl_FrontFacing == false;\n}\n",VV="/**\n * Branchless ternary operator to be used when it's inexpensive to explicitly\n * evaluate both possibilities for a float expression.\n *\n * @name czm_branchFreeTernary\n * @glslFunction\n *\n * @param {bool} comparison A comparison statement\n * @param {float} a Value to return if the comparison is true.\n * @param {float} b Value to return if the comparison is false.\n *\n * @returns {float} equivalent of comparison ? a : b\n */\nfloat czm_branchFreeTernary(bool comparison, float a, float b) {\n float useA = float(comparison);\n return a * useA + b * (1.0 - useA);\n}\n\n/**\n * Branchless ternary operator to be used when it's inexpensive to explicitly\n * evaluate both possibilities for a vec2 expression.\n *\n * @name czm_branchFreeTernary\n * @glslFunction\n *\n * @param {bool} comparison A comparison statement\n * @param {vec2} a Value to return if the comparison is true.\n * @param {vec2} b Value to return if the comparison is false.\n *\n * @returns {vec2} equivalent of comparison ? a : b\n */\nvec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) {\n float useA = float(comparison);\n return a * useA + b * (1.0 - useA);\n}\n\n/**\n * Branchless ternary operator to be used when it's inexpensive to explicitly\n * evaluate both possibilities for a vec3 expression.\n *\n * @name czm_branchFreeTernary\n * @glslFunction\n *\n * @param {bool} comparison A comparison statement\n * @param {vec3} a Value to return if the comparison is true.\n * @param {vec3} b Value to return if the comparison is false.\n *\n * @returns {vec3} equivalent of comparison ? a : b\n */\nvec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) {\n float useA = float(comparison);\n return a * useA + b * (1.0 - useA);\n}\n\n/**\n * Branchless ternary operator to be used when it's inexpensive to explicitly\n * evaluate both possibilities for a vec4 expression.\n *\n * @name czm_branchFreeTernary\n * @glslFunction\n *\n * @param {bool} comparison A comparison statement\n * @param {vec3} a Value to return if the comparison is true.\n * @param {vec3} b Value to return if the comparison is false.\n *\n * @returns {vec3} equivalent of comparison ? a : b\n */\nvec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) {\n float useA = float(comparison);\n return a * useA + b * (1.0 - useA);\n}\n",HV="\nvec4 czm_cascadeColor(vec4 weights)\n{\n return vec4(1.0, 0.0, 0.0, 1.0) * weights.x +\n vec4(0.0, 1.0, 0.0, 1.0) * weights.y +\n vec4(0.0, 0.0, 1.0, 1.0) * weights.z +\n vec4(1.0, 0.0, 1.0, 1.0) * weights.w;\n}\n",GV="\nuniform vec4 shadowMap_cascadeDistances;\n\nfloat czm_cascadeDistance(vec4 weights)\n{\n return dot(shadowMap_cascadeDistances, weights);\n}\n",qV="\nuniform mat4 shadowMap_cascadeMatrices[4];\n\nmat4 czm_cascadeMatrix(vec4 weights)\n{\n return shadowMap_cascadeMatrices[0] * weights.x +\n shadowMap_cascadeMatrices[1] * weights.y +\n shadowMap_cascadeMatrices[2] * weights.z +\n shadowMap_cascadeMatrices[3] * weights.w;\n}\n",WV="\nuniform vec4 shadowMap_cascadeSplits[2];\n\nvec4 czm_cascadeWeights(float depthEye)\n{\n // One component is set to 1.0 and all others set to 0.0.\n vec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye));\n vec4 far = step(depthEye, shadowMap_cascadeSplits[1]);\n return near * far;\n}\n",YV="/**\n * DOC_TBA\n *\n * @name czm_columbusViewMorph\n * @glslFunction\n */\nvec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time)\n{\n // Just linear for now.\n vec3 p = mix(position2D.xyz, position3D.xyz, time);\n return vec4(p, 1.0);\n}\n",XV="/**\n * Returns a position in model coordinates relative to eye taking into\n * account the current scene mode: 3D, 2D, or Columbus view.\n * <p>\n * This uses standard position attributes, <code>position3DHigh</code>, \n * <code>position3DLow</code>, <code>position2DHigh</code>, and <code>position2DLow</code>, \n * and should be used when writing a vertex shader for an {@link Appearance}.\n * </p>\n *\n * @name czm_computePosition\n * @glslFunction\n *\n * @returns {vec4} The position relative to eye.\n *\n * @example\n * vec4 p = czm_computePosition();\n * v_positionEC = (czm_modelViewRelativeToEye * p).xyz;\n * gl_Position = czm_modelViewProjectionRelativeToEye * p;\n *\n * @see czm_translateRelativeToEye\n */\nvec4 czm_computePosition();\n",KV="/**\n * @private\n */\nvec2 cordic(float angle)\n{\n// Scale the vector by the appropriate factor for the 24 iterations to follow.\n vec2 vector = vec2(6.0725293500888267e-1, 0.0);\n// Iteration 1\n float sense = (angle < 0.0) ? -1.0 : 1.0;\n // float factor = sense * 1.0; // 2^-0\n mat2 rotation = mat2(1.0, sense, -sense, 1.0);\n vector = rotation * vector;\n angle -= sense * 7.8539816339744828e-1; // atan(2^-0)\n// Iteration 2\n sense = (angle < 0.0) ? -1.0 : 1.0;\n float factor = sense * 5.0e-1; // 2^-1\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 4.6364760900080609e-1; // atan(2^-1)\n// Iteration 3\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 2.5e-1; // 2^-2\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 2.4497866312686414e-1; // atan(2^-2)\n// Iteration 4\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.25e-1; // 2^-3\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.2435499454676144e-1; // atan(2^-3)\n// Iteration 5\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 6.25e-2; // 2^-4\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 6.2418809995957350e-2; // atan(2^-4)\n// Iteration 6\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 3.125e-2; // 2^-5\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 3.1239833430268277e-2; // atan(2^-5)\n// Iteration 7\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.5625e-2; // 2^-6\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.5623728620476831e-2; // atan(2^-6)\n// Iteration 8\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 7.8125e-3; // 2^-7\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 7.8123410601011111e-3; // atan(2^-7)\n// Iteration 9\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 3.90625e-3; // 2^-8\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 3.9062301319669718e-3; // atan(2^-8)\n// Iteration 10\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.953125e-3; // 2^-9\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.9531225164788188e-3; // atan(2^-9)\n// Iteration 11\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 9.765625e-4; // 2^-10\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 9.7656218955931946e-4; // atan(2^-10)\n// Iteration 12\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 4.8828125e-4; // 2^-11\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 4.8828121119489829e-4; // atan(2^-11)\n// Iteration 13\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 2.44140625e-4; // 2^-12\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 2.4414062014936177e-4; // atan(2^-12)\n// Iteration 14\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.220703125e-4; // 2^-13\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.2207031189367021e-4; // atan(2^-13)\n// Iteration 15\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 6.103515625e-5; // 2^-14\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 6.1035156174208773e-5; // atan(2^-14)\n// Iteration 16\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 3.0517578125e-5; // 2^-15\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 3.0517578115526096e-5; // atan(2^-15)\n// Iteration 17\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.52587890625e-5; // 2^-16\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.5258789061315762e-5; // atan(2^-16)\n// Iteration 18\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 7.62939453125e-6; // 2^-17\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 7.6293945311019700e-6; // atan(2^-17)\n// Iteration 19\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 3.814697265625e-6; // 2^-18\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 3.8146972656064961e-6; // atan(2^-18)\n// Iteration 20\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.9073486328125e-6; // 2^-19\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 1.9073486328101870e-6; // atan(2^-19)\n// Iteration 21\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 9.5367431640625e-7; // 2^-20\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 9.5367431640596084e-7; // atan(2^-20)\n// Iteration 22\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 4.76837158203125e-7; // 2^-21\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 4.7683715820308884e-7; // atan(2^-21)\n// Iteration 23\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 2.384185791015625e-7; // 2^-22\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n angle -= sense * 2.3841857910155797e-7; // atan(2^-22)\n// Iteration 24\n sense = (angle < 0.0) ? -1.0 : 1.0;\n factor = sense * 1.1920928955078125e-7; // 2^-23\n rotation[0][1] = factor;\n rotation[1][0] = -factor;\n vector = rotation * vector;\n// angle -= sense * 1.1920928955078068e-7; // atan(2^-23)\n\n return vector;\n}\n\n/**\n * Computes the cosine and sine of the provided angle using the CORDIC algorithm.\n *\n * @name czm_cosineAndSine\n * @glslFunction\n *\n * @param {float} angle The angle in radians.\n *\n * @returns {vec2} The resulting cosine of the angle (as the x coordinate) and sine of the angle (as the y coordinate).\n *\n * @example\n * vec2 v = czm_cosineAndSine(czm_piOverSix);\n * float cosine = v.x;\n * float sine = v.y;\n */\nvec2 czm_cosineAndSine(float angle)\n{\n if (angle < -czm_piOverTwo || angle > czm_piOverTwo)\n {\n if (angle < 0.0)\n {\n return -cordic(angle + czm_pi);\n }\n else\n {\n return -cordic(angle - czm_pi);\n }\n }\n else\n {\n return cordic(angle);\n }\n}\n",JV="/**\n * Decompresses texture coordinates that were packed into a single float.\n *\n * @name czm_decompressTextureCoordinates\n * @glslFunction\n *\n * @param {float} encoded The compressed texture coordinates.\n * @returns {vec2} The decompressed texture coordinates.\n */\n vec2 czm_decompressTextureCoordinates(float encoded)\n {\n float temp = encoded / 4096.0;\n float xZeroTo4095 = floor(temp);\n float stx = xZeroTo4095 / 4095.0;\n float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0;\n return vec2(stx, sty);\n }\n",ZV="/**\n * Get default parameters for physically based rendering. These defaults\n * describe a rough dielectric (non-metal) surface (e.g. rough plastic).\n *\n * @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting}\n */\nczm_pbrParameters czm_defaultPbrMaterial()\n{\n czm_pbrParameters results;\n results.diffuseColor = vec3(1.0);\n results.roughness = 1.0;\n\n const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);\n results.f0 = REFLECTANCE_DIELECTRIC;\n return results;\n}\n",$V="// emulated noperspective\n#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\nvarying float v_WindowZ;\n#endif\n\n/**\n * Emulates GL_DEPTH_CLAMP, which is not available in WebGL 1 or 2.\n * GL_DEPTH_CLAMP clamps geometry that is outside the near and far planes, \n * capping the shadow volume. More information here: \n * https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_depth_clamp.txt.\n *\n * When GL_EXT_frag_depth is available we emulate GL_DEPTH_CLAMP by ensuring \n * no geometry gets clipped by setting the clip space z value to 0.0 and then\n * sending the unaltered screen space z value (using emulated noperspective\n * interpolation) to the frag shader where it is clamped to [0,1] and then\n * written with gl_FragDepth (see czm_writeDepthClamp). This technique is based on:\n * https://stackoverflow.com/questions/5960757/how-to-emulate-gl-depth-clamp-nv.\n *\n * When GL_EXT_frag_depth is not available, which is the case on some mobile \n * devices, we must attempt to fix this only in the vertex shader. \n * The approach is to clamp the z value to the far plane, which closes the \n * shadow volume but also distorts the geometry, so there can still be artifacts\n * on frustum seams.\n *\n * @name czm_depthClamp\n * @glslFunction\n *\n * @param {vec4} coords The vertex in clip coordinates.\n * @returns {vec4} The modified vertex.\n *\n * @example\n * gl_Position = czm_depthClamp(czm_modelViewProjection * vec4(position, 1.0));\n *\n * @see czm_writeDepthClamp\n */\nvec4 czm_depthClamp(vec4 coords)\n{\n#ifndef LOG_DEPTH\n#ifdef GL_EXT_frag_depth\n v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w;\n coords.z = 0.0;\n#else\n coords.z = min(coords.z, coords.w);\n#endif\n#endif\n return coords;\n}\n",QV="/**\n * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system \n * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the \n * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping.\n * <br /><br />\n * The ellipsoid is assumed to be centered at the model coordinate's origin.\n *\n * @name czm_eastNorthUpToEyeCoordinates\n * @glslFunction\n *\n * @param {vec3} positionMC The position on the ellipsoid in model coordinates.\n * @param {vec3} normalEC The normalized ellipsoid surface normal, at <code>positionMC</code>, in eye coordinates.\n *\n * @returns {mat3} A 3x3 rotation matrix that transforms vectors from the east-north-up coordinate system to eye coordinates.\n *\n * @example\n * // Transform a vector defined in the east-north-up coordinate \n * // system, (0, 0, 1) which is the surface normal, to eye \n * // coordinates.\n * mat3 m = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC);\n * vec3 normalEC = m * vec3(0.0, 0.0, 1.0);\n */\nmat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)\n{\n vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0)); // normalized surface tangent in model coordinates\n vec3 tangentEC = normalize(czm_normal3D * tangentMC); // normalized surface tangent in eye coordiantes\n vec3 bitangentEC = normalize(cross(normalEC, tangentEC)); // normalized surface bitangent in eye coordinates\n\n return mat3(\n tangentEC.x, tangentEC.y, tangentEC.z,\n bitangentEC.x, bitangentEC.y, bitangentEC.z,\n normalEC.x, normalEC.y, normalEC.z);\n}\n",eH="/**\n * DOC_TBA\n *\n * @name czm_ellipsoidContainsPoint\n * @glslFunction\n *\n */\nbool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point)\n{\n vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;\n return (dot(scaled, scaled) <= 1.0);\n}\n",tH="/**\n * DOC_TBA\n *\n * @name czm_ellipsoidWgs84TextureCoordinates\n * @glslFunction\n */\nvec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)\n{\n return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);\n}\n",nH="/**\n * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code>\n * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs\n * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s,\n * <code>vec3</code>s, or <code>vec4</code>s.\n *\n * @name czm_equalsEpsilon\n * @glslFunction\n *\n * @param {} left The first vector.\n * @param {} right The second vector.\n * @param {float} epsilon The epsilon to use for equality testing.\n * @returns {bool} <code>true</code> if the components are within <code>epsilon</code> and <code>false</code> otherwise.\n *\n * @example\n * // GLSL declarations\n * bool czm_equalsEpsilon(float left, float right, float epsilon);\n * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon);\n * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon);\n * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon);\n */\nbool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {\n return all(lessThanEqual(abs(left - right), vec4(epsilon)));\n}\n\nbool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {\n return all(lessThanEqual(abs(left - right), vec3(epsilon)));\n}\n\nbool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {\n return all(lessThanEqual(abs(left - right), vec2(epsilon)));\n}\n\nbool czm_equalsEpsilon(float left, float right, float epsilon) {\n return (abs(left - right) <= epsilon);\n}\n",iH="/**\n * DOC_TBA\n *\n * @name czm_eyeOffset\n * @glslFunction\n *\n * @param {vec4} positionEC DOC_TBA.\n * @param {vec3} eyeOffset DOC_TBA.\n *\n * @returns {vec4} DOC_TBA.\n */\nvec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)\n{\n // This equation is approximate in x and y.\n vec4 p = positionEC;\n vec4 zEyeOffset = normalize(p) * eyeOffset.z;\n p.xy += eyeOffset.xy + zEyeOffset.xy;\n p.z += zEyeOffset.z;\n return p;\n}\n",oH="/**\n * Transforms a position from eye to window coordinates. The transformation\n * from eye to clip coordinates is done using {@link czm_projection}.\n * The transform from normalized device coordinates to window coordinates is\n * done using {@link czm_viewportTransformation}, which assumes a depth range\n * of <code>near = 0</code> and <code>far = 1</code>.\n * <br /><br />\n * This transform is useful when there is a need to manipulate window coordinates\n * in a vertex shader as done by {@link BillboardCollection}.\n *\n * @name czm_eyeToWindowCoordinates\n * @glslFunction\n *\n * @param {vec4} position The position in eye coordinates to transform.\n *\n * @returns {vec4} The transformed position in window coordinates.\n *\n * @see czm_modelToWindowCoordinates\n * @see czm_projection\n * @see czm_viewportTransformation\n * @see BillboardCollection\n *\n * @example\n * vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\n */\nvec4 czm_eyeToWindowCoordinates(vec4 positionEC)\n{\n vec4 q = czm_projection * positionEC; // clip coordinates\n q.xyz /= q.w; // normalized device coordinates\n q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates\n return q;\n}\n",rH="/**\n * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input.\n *\n * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on\n * \"Efficient approximations for the arctangent function,\" Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006.\n * Adapted from ShaderFastLibs under MIT License.\n *\n * Chosen for the following characteristics over range [0, 1]:\n * - basically no error at 0 and 1, important for getting around range limit (naive atan2 via atan requires infinite range atan)\n * - no visible artifacts from first-derivative discontinuities, unlike latitude via range-reduced sqrt asin approximations (at equator)\n *\n * The original code is x * (-0.1784 * abs(x) - 0.0663 * x * x + 1.0301);\n * Removed the abs() in here because it isn't needed, the input range is guaranteed as [0, 1] by how we're approximating atan2.\n *\n * @name czm_fastApproximateAtan\n * @glslFunction\n *\n * @param {float} x Value between 0 and 1 inclusive.\n *\n * @returns {float} Approximation of atan(x)\n */\nfloat czm_fastApproximateAtan(float x) {\n return x * (-0.1784 * x - 0.0663 * x * x + 1.0301);\n}\n\n/**\n * Approximation of atan2.\n *\n * Range reduction math based on nvidia's cg reference implementation for atan2: http://developer.download.nvidia.com/cg/atan2.html\n * However, we replaced their atan curve with Michael Drobot's (see above).\n *\n * @name czm_fastApproximateAtan\n * @glslFunction\n *\n * @param {float} x Value between -1 and 1 inclusive.\n * @param {float} y Value between -1 and 1 inclusive.\n *\n * @returns {float} Approximation of atan2(x, y)\n */\nfloat czm_fastApproximateAtan(float x, float y) {\n // atan approximations are usually only reliable over [-1, 1], or, in our case, [0, 1] due to modifications.\n // So range-reduce using abs and by flipping whether x or y is on top.\n float t = abs(x); // t used as swap and atan result.\n float opposite = abs(y);\n float adjacent = max(t, opposite);\n opposite = min(t, opposite);\n\n t = czm_fastApproximateAtan(opposite / adjacent);\n\n // Undo range reduction\n t = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t);\n t = czm_branchFreeTernary(x < 0.0, czm_pi - t, t);\n t = czm_branchFreeTernary(y < 0.0, -t, t);\n return t;\n}\n",aH="/**\n * Gets the color with fog at a distance from the camera.\n *\n * @name czm_fog\n * @glslFunction\n *\n * @param {float} distanceToCamera The distance to the camera in meters.\n * @param {vec3} color The original color.\n * @param {vec3} fogColor The color of the fog.\n *\n * @returns {vec3} The color adjusted for fog at the distance from the camera.\n */\nvec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor)\n{\n float scalar = distanceToCamera * czm_fogDensity;\n float fog = 1.0 - exp(-(scalar * scalar));\n return mix(color, fogColor, fog);\n}\n\n/**\n * Gets the color with fog at a distance from the camera.\n *\n * @name czm_fog\n * @glslFunction\n *\n * @param {float} distanceToCamera The distance to the camera in meters.\n * @param {vec3} color The original color.\n * @param {vec3} fogColor The color of the fog.\n * @param {float} fogModifierConstant A constant to modify the appearance of fog.\n *\n * @returns {vec3} The color adjusted for fog at the distance from the camera.\n */\nvec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant)\n{\n float scalar = distanceToCamera * czm_fogDensity;\n float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant))));\n return mix(color, fogColor, fog);\n}\n",sH="/**\n * Converts a color from RGB space to linear space.\n *\n * @name czm_gammaCorrect\n * @glslFunction\n *\n * @param {vec3} color The color in RGB space.\n * @returns {vec3} The color in linear space.\n */\nvec3 czm_gammaCorrect(vec3 color) {\n#ifdef HDR\n color = pow(color, vec3(czm_gamma));\n#endif\n return color;\n}\n\nvec4 czm_gammaCorrect(vec4 color) {\n#ifdef HDR\n color.rgb = pow(color.rgb, vec3(czm_gamma));\n#endif\n return color;\n}\n",cH="/**\n * DOC_TBA\n *\n * @name czm_geodeticSurfaceNormal\n * @glslFunction\n *\n * @param {vec3} positionOnEllipsoid DOC_TBA\n * @param {vec3} ellipsoidCenter DOC_TBA\n * @param {vec3} oneOverEllipsoidRadiiSquared DOC_TBA\n * \n * @returns {vec3} DOC_TBA.\n */\nvec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)\n{\n return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);\n}\n",lH="/**\n * An czm_material with default values. Every material's czm_getMaterial\n * should use this default material as a base for the material it returns.\n * The default normal value is given by materialInput.normalEC.\n *\n * @name czm_getDefaultMaterial\n * @glslFunction\n *\n * @param {czm_materialInput} input The input used to construct the default material.\n *\n * @returns {czm_material} The default material.\n *\n * @see czm_materialInput\n * @see czm_material\n * @see czm_getMaterial\n */\nczm_material czm_getDefaultMaterial(czm_materialInput materialInput)\n{\n czm_material material;\n material.diffuse = vec3(0.0);\n material.specular = 0.0;\n material.shininess = 1.0;\n material.normal = materialInput.normalEC;\n material.emission = vec3(0.0);\n material.alpha = 1.0;\n return material;\n}\n",uH="/**\n * Calculates the intensity of diffusely reflected light.\n *\n * @name czm_getLambertDiffuse\n * @glslFunction\n *\n * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n * @param {vec3} normalEC The surface normal in eye coordinates.\n *\n * @returns {float} The intensity of the diffuse reflection.\n *\n * @see czm_phong\n *\n * @example\n * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC);\n * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200);\n * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity);\n */\nfloat czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC)\n{\n return max(dot(lightDirectionEC, normalEC), 0.0);\n}\n",hH="/**\n * Calculates the specular intensity of reflected light.\n *\n * @name czm_getSpecular\n * @glslFunction\n *\n * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n * @param {vec3} toEyeEC Unit vector pointing to the eye position in eye coordinates.\n * @param {vec3} normalEC The surface normal in eye coordinates.\n * @param {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight.\n *\n * @returns {float} The intensity of the specular highlight.\n *\n * @see czm_phong\n *\n * @example\n * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC);\n * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200);\n * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity);\n */\nfloat czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess)\n{\n vec3 toReflectedLight = reflect(-lightDirectionEC, normalEC);\n float specular = max(dot(toReflectedLight, toEyeEC), 0.0);\n\n // pow has undefined behavior if both parameters <= 0.\n // Prevent this by making sure shininess is at least czm_epsilon2.\n return pow(specular, max(shininess, czm_epsilon2));\n}\n",dH="/**\n * @private\n */\nvec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians)\n{\n float cosAngle = cos(angleInRadians);\n float sinAngle = sin(angleInRadians);\n\n // time dependent sampling directions\n vec2 s0 = vec2(1.0/17.0, 0.0);\n vec2 s1 = vec2(-1.0/29.0, 0.0);\n vec2 s2 = vec2(1.0/101.0, 1.0/59.0);\n vec2 s3 = vec2(-1.0/109.0, -1.0/57.0);\n\n // rotate sampling direction by specified angle\n s0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y));\n s1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y));\n s2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y));\n s3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y));\n\n vec2 uv0 = (uv/103.0) + (time * s0);\n vec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23);\n vec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51);\n vec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71);\n\n uv0 = fract(uv0);\n uv1 = fract(uv1);\n uv2 = fract(uv2);\n uv3 = fract(uv3);\n vec4 noise = (texture2D(normalMap, uv0)) +\n (texture2D(normalMap, uv1)) +\n (texture2D(normalMap, uv2)) +\n (texture2D(normalMap, uv3));\n\n // average and scale to between -1 and 1\n return ((noise / 4.0) - 0.5) * 2.0;\n}\n",fH="/**\n * Adjusts the hue of a color.\n * \n * @name czm_hue\n * @glslFunction\n * \n * @param {vec3} rgb The color.\n * @param {float} adjustment The amount to adjust the hue of the color in radians.\n *\n * @returns {float} The color with the hue adjusted.\n *\n * @example\n * vec3 adjustHue = czm_hue(color, czm_pi); // The same as czm_hue(color, -czm_pi)\n */\nvec3 czm_hue(vec3 rgb, float adjustment)\n{\n const mat3 toYIQ = mat3(0.299, 0.587, 0.114,\n 0.595716, -0.274453, -0.321263,\n 0.211456, -0.522591, 0.311135);\n const mat3 toRGB = mat3(1.0, 0.9563, 0.6210,\n 1.0, -0.2721, -0.6474,\n 1.0, -1.107, 1.7046);\n \n vec3 yiq = toYIQ * rgb;\n float hue = atan(yiq.z, yiq.y) + adjustment;\n float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\n \n vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\n return toRGB * color;\n}\n",pH="/**\n * Converts a color in linear space to RGB space.\n *\n * @name czm_inverseGamma\n * @glslFunction\n *\n * @param {vec3} color The color in linear space.\n * @returns {vec3} The color in RGB space.\n */\nvec3 czm_inverseGamma(vec3 color) {\n return pow(color, vec3(1.0 / czm_gamma));\n}\n",mH="/**\n * Determines if a time interval is empty.\n *\n * @name czm_isEmpty\n * @glslFunction \n * \n * @param {czm_raySegment} interval The interval to test.\n * \n * @returns {bool} <code>true</code> if the time interval is empty; otherwise, <code>false</code>.\n *\n * @example\n * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true\n * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false\n * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0.\n */\nbool czm_isEmpty(czm_raySegment interval)\n{\n return (interval.stop < 0.0);\n}\n",_H="/**\n * Determines if a time interval is empty.\n *\n * @name czm_isFull\n * @glslFunction \n * \n * @param {czm_raySegment} interval The interval to test.\n * \n * @returns {bool} <code>true</code> if the time interval is empty; otherwise, <code>false</code>.\n *\n * @example\n * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true\n * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false\n * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0.\n */\nbool czm_isFull(czm_raySegment interval)\n{\n return (interval.start == 0.0 && interval.stop == czm_infinity);\n}\n",gH="/**\n * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located.\n *\n * @name czm_latitudeToWebMercatorFraction\n * @glslFunction\n *\n * @param {float} latitude The geodetic latitude, in radians.\n * @param {float} southMercatorY The Web Mercator coordinate of the southern boundary of the rectangle.\n * @param {float} oneOverMercatorHeight The total height of the rectangle in Web Mercator coordinates.\n *\n * @returns {float} The fraction of the rectangle at which the latitude occurs. If the latitude is the southern\n * boundary of the rectangle, the return value will be zero. If it is the northern boundary, the return\n * value will be 1.0. Latitudes in between are mapped according to the Web Mercator projection.\n */ \nfloat czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight)\n{\n float sinLatitude = sin(latitude);\n float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));\n \n return (mercatorY - southMercatorY) * oneOverMercatorHeight;\n}\n",bH="/**\n * Computes distance from an point in 2D to a line in 2D.\n *\n * @name czm_lineDistance\n * @glslFunction\n *\n * param {vec2} point1 A point along the line.\n * param {vec2} point2 A point along the line.\n * param {vec2} point A point that may or may not be on the line.\n * returns {float} The distance from the point to the line.\n */\nfloat czm_lineDistance(vec2 point1, vec2 point2, vec2 point) {\n return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1);\n}\n",yH="/**\n * Converts a linear RGB color to an sRGB color.\n *\n * @param {vec3|vec4} linearIn The color in linear color space.\n * @returns {vec3|vec4} The color in sRGB color space. The vector type matches the input.\n */\nvec3 czm_linearToSrgb(vec3 linearIn) \n{\n return pow(linearIn, vec3(1.0/2.2));\n}\n\nvec4 czm_linearToSrgb(vec4 linearIn) \n{\n vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2));\n return vec4(srgbOut, linearIn.a);\n}\n",vH="/**\n * Computes the luminance of a color. \n *\n * @name czm_luminance\n * @glslFunction\n *\n * @param {vec3} rgb The color.\n * \n * @returns {float} The luminance.\n *\n * @example\n * float light = czm_luminance(vec3(0.0)); // 0.0\n * float dark = czm_luminance(vec3(1.0)); // ~1.0 \n */\nfloat czm_luminance(vec3 rgb)\n{\n // Algorithm from Chapter 10 of Graphics Shaders.\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n return dot(rgb, W);\n}\n",OH="/**\n * Computes the size of a pixel in meters at a distance from the eye.\n * <p>\n * Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel.\n * </p>\n * @name czm_metersPerPixel\n * @glslFunction\n *\n * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates.\n * @param {float} pixelRatio The scaling factor from pixel space to coordinate space\n *\n * @returns {float} The meters per pixel at positionEC.\n */\nfloat czm_metersPerPixel(vec4 positionEC, float pixelRatio)\n{\n float width = czm_viewport.z;\n float height = czm_viewport.w;\n float pixelWidth;\n float pixelHeight;\n\n float top = czm_frustumPlanes.x;\n float bottom = czm_frustumPlanes.y;\n float left = czm_frustumPlanes.z;\n float right = czm_frustumPlanes.w;\n\n if (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0)\n {\n float frustumWidth = right - left;\n float frustumHeight = top - bottom;\n pixelWidth = frustumWidth / width;\n pixelHeight = frustumHeight / height;\n }\n else\n {\n float distanceToPixel = -positionEC.z;\n float inverseNear = 1.0 / czm_currentFrustum.x;\n float tanTheta = top * inverseNear;\n pixelHeight = 2.0 * distanceToPixel * tanTheta / height;\n tanTheta = right * inverseNear;\n pixelWidth = 2.0 * distanceToPixel * tanTheta / width;\n }\n\n return max(pixelWidth, pixelHeight) * pixelRatio;\n}\n\n/**\n * Computes the size of a pixel in meters at a distance from the eye.\n * <p>\n * Use this version when scaling by pixel ratio.\n * </p>\n * @name czm_metersPerPixel\n * @glslFunction\n *\n * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates.\n *\n * @returns {float} The meters per pixel at positionEC.\n */\nfloat czm_metersPerPixel(vec4 positionEC)\n{\n return czm_metersPerPixel(positionEC, czm_pixelRatio);\n}\n",wH="/**\n * Transforms a position from model to window coordinates. The transformation\n * from model to clip coordinates is done using {@link czm_modelViewProjection}.\n * The transform from normalized device coordinates to window coordinates is\n * done using {@link czm_viewportTransformation}, which assumes a depth range\n * of <code>near = 0</code> and <code>far = 1</code>.\n * <br /><br />\n * This transform is useful when there is a need to manipulate window coordinates\n * in a vertex shader as done by {@link BillboardCollection}.\n * <br /><br />\n * This function should not be confused with {@link czm_viewportOrthographic},\n * which is an orthographic projection matrix that transforms from window \n * coordinates to clip coordinates.\n *\n * @name czm_modelToWindowCoordinates\n * @glslFunction\n *\n * @param {vec4} position The position in model coordinates to transform.\n *\n * @returns {vec4} The transformed position in window coordinates.\n *\n * @see czm_eyeToWindowCoordinates\n * @see czm_modelViewProjection\n * @see czm_viewportTransformation\n * @see czm_viewportOrthographic\n * @see BillboardCollection\n *\n * @example\n * vec4 positionWC = czm_modelToWindowCoordinates(positionMC);\n */\nvec4 czm_modelToWindowCoordinates(vec4 position)\n{\n vec4 q = czm_modelViewProjection * position; // clip coordinates\n q.xyz /= q.w; // normalized device coordinates\n q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates\n return q;\n}\n",AH="/**\n * DOC_TBA\n *\n * @name czm_multiplyWithColorBalance\n * @glslFunction\n */\nvec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)\n{\n // Algorithm from Chapter 10 of Graphics Shaders.\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n \n vec3 target = left * right;\n float leftLuminance = dot(left, W);\n float rightLuminance = dot(right, W);\n float targetLuminance = dot(target, W);\n \n return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;\n}\n",TH="/**\n * Computes a value that scales with distance. The scaling is clamped at the near and\n * far distances, and does not extrapolate. This function works with the\n * {@link NearFarScalar} JavaScript class.\n *\n * @name czm_nearFarScalar\n * @glslFunction\n *\n * @param {vec4} nearFarScalar A vector with 4 components: Near distance (x), Near value (y), Far distance (z), Far value (w).\n * @param {float} cameraDistSq The square of the current distance from the camera.\n *\n * @returns {float} The value at this distance.\n */\nfloat czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq)\n{\n float valueAtMin = nearFarScalar.y;\n float valueAtMax = nearFarScalar.w;\n float nearDistanceSq = nearFarScalar.x * nearFarScalar.x;\n float farDistanceSq = nearFarScalar.z * nearFarScalar.z;\n\n float t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq);\n\n t = pow(clamp(t, 0.0, 1.0), 0.2);\n\n return mix(valueAtMin, valueAtMax, t);\n}\n",CH=" /**\n * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector.\n * The 'oct' encoding is described in \"A Survey of Efficient Representations of Independent Unit Vectors\",\n * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/\n *\n * @name czm_octDecode\n * @param {vec2} encoded The oct-encoded, unit-length vector\n * @param {float} range The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.\n * @returns {vec3} The decoded and normalized vector\n */\n vec3 czm_octDecode(vec2 encoded, float range)\n {\n if (encoded.x == 0.0 && encoded.y == 0.0) {\n return vec3(0.0, 0.0, 0.0);\n }\n\n encoded = encoded / range * 2.0 - 1.0;\n vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y));\n if (v.z < 0.0)\n {\n v.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy);\n }\n\n return normalize(v);\n }\n\n/**\n * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector.\n * The 'oct' encoding is described in \"A Survey of Efficient Representations of Independent Unit Vectors\",\n * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/\n *\n * @name czm_octDecode\n * @param {vec2} encoded The oct-encoded, unit-length vector\n * @returns {vec3} The decoded and normalized vector\n */\n vec3 czm_octDecode(vec2 encoded)\n {\n return czm_octDecode(encoded, 255.0);\n }\n\n /**\n * Decodes a unit-length vector in 'oct' encoding packed into a floating-point number to a normalized 3-component Cartesian vector.\n * The 'oct' encoding is described in \"A Survey of Efficient Representations of Independent Unit Vectors\",\n * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/\n *\n * @name czm_octDecode\n * @param {float} encoded The oct-encoded, unit-length vector\n * @returns {vec3} The decoded and normalized vector\n */\n vec3 czm_octDecode(float encoded)\n {\n float temp = encoded / 256.0;\n float x = floor(temp);\n float y = (temp - x) * 256.0;\n return czm_octDecode(vec2(x, y));\n }\n\n/**\n * Decodes three unit-length vectors in 'oct' encoding packed into two floating-point numbers to normalized 3-component Cartesian vectors.\n * The 'oct' encoding is described in \"A Survey of Efficient Representations of Independent Unit Vectors\",\n * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/\n *\n * @name czm_octDecode\n * @param {vec2} encoded The packed oct-encoded, unit-length vectors.\n * @param {vec3} vector1 One decoded and normalized vector.\n * @param {vec3} vector2 One decoded and normalized vector.\n * @param {vec3} vector3 One decoded and normalized vector.\n */\n void czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3)\n {\n float temp = encoded.x / 65536.0;\n float x = floor(temp);\n float encodedFloat1 = (temp - x) * 65536.0;\n\n temp = encoded.y / 65536.0;\n float y = floor(temp);\n float encodedFloat2 = (temp - y) * 65536.0;\n\n vector1 = czm_octDecode(encodedFloat1);\n vector2 = czm_octDecode(encodedFloat2);\n vector3 = czm_octDecode(vec2(x, y));\n }\n\n",EH="/**\n * Packs a depth value into a vec3 that can be represented by unsigned bytes.\n *\n * @name czm_packDepth\n * @glslFunction\n *\n * @param {float} depth The floating-point depth.\n * @returns {vec3} The packed depth.\n */\nvec4 czm_packDepth(float depth)\n{\n // See Aras Pranckevičius' post Encoding Floats to RGBA\n // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n return enc;\n}\n",xH="vec3 lambertianDiffuse(vec3 diffuseColor)\n{\n return diffuseColor / czm_pi;\n}\n\nvec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH)\n{\n return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n}\n\nfloat smithVisibilityG1(float NdotV, float roughness)\n{\n // this is the k value for direct lighting.\n // for image based lighting it will be roughness^2 / 2\n float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n return NdotV / (NdotV * (1.0 - k) + k);\n}\n\nfloat smithVisibilityGGX(float roughness, float NdotL, float NdotV)\n{\n return (\n smithVisibilityG1(NdotL, roughness) *\n smithVisibilityG1(NdotV, roughness)\n );\n}\n\nfloat GGX(float roughness, float NdotH)\n{\n float roughnessSquared = roughness * roughness;\n float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n return roughnessSquared / (czm_pi * f * f);\n}\n\n/**\n * Compute the diffuse and specular contributions using physically based\n * rendering. This function only handles direct lighting.\n * <p>\n * This function only handles the lighting calculations. Metallic/roughness\n * and specular/glossy must be handled separately. See {@czm_pbrMetallicRoughnessMaterial}, {@czm_pbrSpecularGlossinessMaterial} and {@czm_defaultPbrMaterial}\n * </p>\n *\n * @name czm_pbrlighting\n * @glslFunction\n *\n * @param {vec3} positionEC The position of the fragment in eye coordinates\n * @param {vec3} normalEC The surface normal in eye coordinates\n * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n * @param {vec3} lightColorHdr radiance of the light source. This is a HDR value.\n * @param {czm_pbrParameters} The computed PBR parameters.\n * @return {vec3} The computed HDR color\n *\n * @example\n * czm_pbrParameters pbrParameters = czm_pbrMetallicRoughnessMaterial(\n * baseColor,\n * metallic,\n * roughness\n * );\n * vec3 color = czm_pbrlighting(\n * positionEC,\n * normalEC,\n * lightDirectionEC,\n * lightColorHdr,\n * pbrParameters);\n */\nvec3 czm_pbrLighting(\n vec3 positionEC,\n vec3 normalEC,\n vec3 lightDirectionEC,\n vec3 lightColorHdr,\n czm_pbrParameters pbrParameters\n)\n{\n vec3 v = -normalize(positionEC);\n vec3 l = normalize(lightDirectionEC);\n vec3 h = normalize(v + l);\n vec3 n = normalEC;\n float NdotL = clamp(dot(n, l), 0.001, 1.0);\n float NdotV = abs(dot(n, v)) + 0.001;\n float NdotH = clamp(dot(n, h), 0.0, 1.0);\n float LdotH = clamp(dot(l, h), 0.0, 1.0);\n float VdotH = clamp(dot(v, h), 0.0, 1.0);\n\n vec3 f0 = pbrParameters.f0;\n float reflectance = max(max(f0.r, f0.g), f0.b);\n vec3 f90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n vec3 F = fresnelSchlick2(f0, f90, VdotH);\n\n float alpha = pbrParameters.roughness;\n float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n float D = GGX(alpha, NdotH);\n vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n\n vec3 diffuseColor = pbrParameters.diffuseColor;\n // F here represents the specular contribution\n vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n\n // Lo = (diffuse + specular) * Li * NdotL\n return (diffuseContribution + specularContribution) * NdotL * lightColorHdr;\n}\n",SH="/**\n * Compute parameters for physically based rendering using the\n * metallic/roughness workflow. All inputs are linear; sRGB texture values must\n * be decoded beforehand\n *\n * @name czm_pbrMetallicRoughnessMaterial\n * @glslFunction\n *\n * @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence)\n * @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt);\n * @param {float} roughness A value between 0.0 and 1.0\n * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}\n */\nczm_pbrParameters czm_pbrMetallicRoughnessMaterial(\n vec3 baseColor,\n float metallic,\n float roughness\n) \n{\n czm_pbrParameters results;\n\n // roughness is authored as perceptual roughness\n // square it to get material roughness\n roughness = clamp(roughness, 0.0, 1.0);\n results.roughness = roughness * roughness;\n\n // dielectrics us f0 = 0.04, metals use albedo as f0\n metallic = clamp(metallic, 0.0, 1.0);\n const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);\n vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic);\n results.f0 = f0;\n\n // diffuse only applies to dielectrics.\n results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic);\n\n return results;\n}\n",IH="/**\n * Compute parameters for physically based rendering using the\n * specular/glossy workflow. All inputs are linear; sRGB texture values must\n * be decoded beforehand\n *\n * @name czm_pbrSpecularGlossinessMaterial\n * @glslFunction\n *\n * @param {vec3} diffuse The diffuse color for dielectrics (non-metals)\n * @param {vec3} specular The reflectance at normal incidence (f0)\n * @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is.\n * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}\n */\nczm_pbrParameters czm_pbrSpecularGlossinessMaterial(\n vec3 diffuse,\n vec3 specular,\n float glossiness\n) \n{\n czm_pbrParameters results;\n\n // glossiness is the opposite of roughness, but easier for artists to use.\n float roughness = 1.0 - glossiness;\n results.roughness = roughness * roughness;\n\n results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b));\n results.f0 = specular;\n\n return results;\n}\n",DH="float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material)\n{\n return czm_getLambertDiffuse(lightDirectionEC, material.normal);\n}\n\nfloat czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material)\n{\n return czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess);\n}\n\n/**\n * Computes a color using the Phong lighting model.\n *\n * @name czm_phong\n * @glslFunction\n *\n * @param {vec3} toEye A normalized vector from the fragment to the eye in eye coordinates.\n * @param {czm_material} material The fragment's material.\n *\n * @returns {vec4} The computed color.\n *\n * @example\n * vec3 positionToEyeEC = // ...\n * czm_material material = // ...\n * vec3 lightDirectionEC = // ...\n * gl_FragColor = czm_phong(normalize(positionToEyeEC), material, lightDirectionEC);\n *\n * @see czm_getMaterial\n */\nvec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\n // Diffuse from directional light sources at eye (for top-down)\n float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);\n if (czm_sceneMode == czm_sceneMode3D) {\n // (and horizon views in 3D)\n diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\n }\n\n float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);\n\n // Temporary workaround for adding ambient.\n vec3 materialDiffuse = material.diffuse * 0.5;\n\n vec3 ambient = materialDiffuse;\n vec3 color = ambient + material.emission;\n color += materialDiffuse * diffuse * czm_lightColor;\n color += material.specular * specular * czm_lightColor;\n\n return vec4(color, material.alpha);\n}\n\nvec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\n float diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material);\n float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);\n\n vec3 ambient = vec3(0.0);\n vec3 color = ambient + material.emission;\n color += material.diffuse * diffuse * czm_lightColor;\n color += material.specular * specular * czm_lightColor;\n\n return vec4(color, material.alpha);\n}\n",jH="/**\n * Computes distance from a point to a plane.\n *\n * @name czm_planeDistance\n * @glslFunction\n *\n * param {vec4} plane A Plane in Hessian Normal Form. See Plane.js\n * param {vec3} point A point in the same space as the plane.\n * returns {float} The distance from the point to the plane.\n */\nfloat czm_planeDistance(vec4 plane, vec3 point) {\n return (dot(plane.xyz, point) + plane.w);\n}\n\n/**\n * Computes distance from a point to a plane.\n *\n * @name czm_planeDistance\n * @glslFunction\n *\n * param {vec3} planeNormal Normal for a plane in Hessian Normal Form. See Plane.js\n * param {float} planeDistance Distance for a plane in Hessian Normal form. See Plane.js\n * param {vec3} point A point in the same space as the plane.\n * returns {float} The distance from the point to the plane.\n */\nfloat czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) {\n return (dot(planeNormal, point) + planeDistance);\n}\n",PH="/**\n * Computes the point along a ray at the given time. <code>time</code> can be positive, negative, or zero.\n *\n * @name czm_pointAlongRay\n * @glslFunction\n *\n * @param {czm_ray} ray The ray to compute the point along.\n * @param {float} time The time along the ray.\n * \n * @returns {vec3} The point along the ray at the given time.\n * \n * @example\n * czm_ray ray = czm_ray(vec3(0.0), vec3(1.0, 0.0, 0.0)); // origin, direction\n * vec3 v = czm_pointAlongRay(ray, 2.0); // (2.0, 0.0, 0.0)\n */\nvec3 czm_pointAlongRay(czm_ray ray, float time)\n{\n return ray.origin + (time * ray.direction);\n}\n",RH="/**\n * DOC_TBA\n *\n * @name czm_rayEllipsoidIntersectionInterval\n * @glslFunction\n */\nczm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii)\n{\n // ray and ellipsoid center in eye coordinates. radii in model coordinates.\n vec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;\n vec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;\n\n q = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz;\n\n float q2 = dot(q, q);\n float qw = dot(q, w);\n\n if (q2 > 1.0) // Outside ellipsoid.\n {\n if (qw >= 0.0) // Looking outward or tangent (0 intersections).\n {\n return czm_emptyRaySegment;\n }\n else // qw < 0.0.\n {\n float qw2 = qw * qw;\n float difference = q2 - 1.0; // Positively valued.\n float w2 = dot(w, w);\n float product = w2 * difference;\n\n if (qw2 < product) // Imaginary roots (0 intersections).\n {\n return czm_emptyRaySegment;\n }\n else if (qw2 > product) // Distinct roots (2 intersections).\n {\n float discriminant = qw * qw - product;\n float temp = -qw + sqrt(discriminant); // Avoid cancellation.\n float root0 = temp / w2;\n float root1 = difference / temp;\n if (root0 < root1)\n {\n czm_raySegment i = czm_raySegment(root0, root1);\n return i;\n }\n else\n {\n czm_raySegment i = czm_raySegment(root1, root0);\n return i;\n }\n }\n else // qw2 == product. Repeated roots (2 intersections).\n {\n float root = sqrt(difference / w2);\n czm_raySegment i = czm_raySegment(root, root);\n return i;\n }\n }\n }\n else if (q2 < 1.0) // Inside ellipsoid (2 intersections).\n {\n float difference = q2 - 1.0; // Negatively valued.\n float w2 = dot(w, w);\n float product = w2 * difference; // Negatively valued.\n float discriminant = qw * qw - product;\n float temp = -qw + sqrt(discriminant); // Positively valued.\n czm_raySegment i = czm_raySegment(0.0, temp / w2);\n return i;\n }\n else // q2 == 1.0. On ellipsoid.\n {\n if (qw < 0.0) // Looking inward.\n {\n float w2 = dot(w, w);\n czm_raySegment i = czm_raySegment(0.0, -qw / w2);\n return i;\n }\n else // qw >= 0.0. Looking outward or tangent.\n {\n return czm_emptyRaySegment;\n }\n }\n}\n",MH="/**\n * Compute the intersection interval of a ray with a sphere.\n *\n * @name czm_raySphereIntersectionInterval\n * @glslFunction\n *\n * @param {czm_ray} ray The ray.\n * @param {vec3} center The center of the sphere.\n * @param {float} radius The radius of the sphere.\n * @return {czm_raySegment} The intersection interval of the ray with the sphere.\n */\nczm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float radius)\n{\n vec3 o = ray.origin;\n vec3 d = ray.direction;\n\n vec3 oc = o - center;\n\n float a = dot(d, d);\n float b = 2.0 * dot(d, oc);\n float c = dot(oc, oc) - (radius * radius);\n\n float det = (b * b) - (4.0 * a * c);\n\n if (det < 0.0) {\n return czm_emptyRaySegment;\n }\n\n float sqrtDet = sqrt(det);\n\n float t0 = (-b - sqrtDet) / (2.0 * a);\n float t1 = (-b + sqrtDet) / (2.0 * a);\n\n czm_raySegment result = czm_raySegment(t0, t1);\n return result;\n}\n",NH="float czm_readDepth(sampler2D depthTexture, vec2 texCoords)\n{\n return czm_reverseLogDepth(texture2D(depthTexture, texCoords).r);\n}\n",LH="/**\n * Reads a value previously transformed with {@link czm_writeNonPerspective}\n * by dividing it by `w`, the value used in the perspective divide.\n * This function is intended to be called in a fragment shader to access a\n * `varying` that should not be subject to perspective interpolation.\n * For example, screen-space texture coordinates. The value should have been\n * previously written in the vertex shader with a call to\n * {@link czm_writeNonPerspective}.\n *\n * @name czm_readNonPerspective\n * @glslFunction\n *\n * @param {float|vec2|vec3|vec4} value The non-perspective value to be read.\n * @param {float} oneOverW One over the perspective divide value, `w`. Usually this is simply `gl_FragCoord.w`.\n * @returns {float|vec2|vec3|vec4} The usable value.\n */\nfloat czm_readNonPerspective(float value, float oneOverW) {\n return value * oneOverW;\n}\n\nvec2 czm_readNonPerspective(vec2 value, float oneOverW) {\n return value * oneOverW;\n}\n\nvec3 czm_readNonPerspective(vec3 value, float oneOverW) {\n return value * oneOverW;\n}\n\nvec4 czm_readNonPerspective(vec4 value, float oneOverW) {\n return value * oneOverW;\n}\n",BH="float czm_reverseLogDepth(float logZ)\n{\n#ifdef LOG_DEPTH\n float near = czm_currentFrustum.x;\n float far = czm_currentFrustum.y;\n float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne;\n float depthFromNear = pow(2.0, log2Depth) - 1.0;\n return far * (1.0 - near / (depthFromNear + near)) / (far - near);\n#endif\n return logZ;\n}\n",FH="/**\n * Round a floating point value. This function exists because round() doesn't\n * exist in GLSL 1.00. \n *\n * @param {float|vec2|vec3|vec4} value The value to round\n * @param {float|vec2|vec3|vec3} The rounded value. The type matches the input.\n */\nfloat czm_round(float value) {\n return floor(value + 0.5);\n}\n\nvec2 czm_round(vec2 value) {\n return floor(value + 0.5);\n}\n\nvec3 czm_round(vec3 value) {\n return floor(value + 0.5);\n}\n\nvec4 czm_round(vec4 value) {\n return floor(value + 0.5);\n}\n",kH="/**\n * Samples the 4 neighboring pixels and return the weighted average.\n *\n * @private\n */\nvec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod)\n{\n direction /= dot(vec3(1.0), abs(direction));\n vec2 rev = abs(direction.zx) - vec2(1.0);\n vec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x,\n direction.z < 0.0 ? rev.y : -rev.y);\n vec2 uv = direction.y < 0.0 ? neg : direction.xz;\n vec2 coord = 0.5 * uv + vec2(0.5);\n vec2 pixel = 1.0 / textureSize;\n\n if (lod > 0.0)\n {\n // Each subseqeuent mip level is half the size\n float scale = 1.0 / pow(2.0, lod);\n float offset = ((textureSize.y + 1.0) / textureSize.x);\n\n coord.x *= offset;\n coord *= scale;\n\n coord.x += offset + pixel.x;\n coord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0;\n }\n else\n {\n coord.x *= (textureSize.y / textureSize.x);\n }\n\n // Do bilinear filtering\n #ifndef OES_texture_float_linear\n vec3 color1 = texture2D(projectedMap, coord + vec2(0.0, pixel.y)).rgb;\n vec3 color2 = texture2D(projectedMap, coord + vec2(pixel.x, 0.0)).rgb;\n vec3 color3 = texture2D(projectedMap, coord + pixel).rgb;\n vec3 color4 = texture2D(projectedMap, coord).rgb;\n\n vec2 texturePosition = coord * textureSize;\n\n float fu = fract(texturePosition.x);\n float fv = fract(texturePosition.y);\n\n vec3 average1 = mix(color4, color2, fu);\n vec3 average2 = mix(color1, color3, fu);\n\n vec3 color = mix(average1, average2, fv);\n #else\n vec3 color = texture2D(projectedMap, coord).rgb;\n #endif\n\n return color;\n}\n\n\n/**\n * Samples from a cube map that has been projected using an octahedral projection from the given direction.\n *\n * @name czm_sampleOctahedralProjection\n * @glslFunction\n *\n * @param {sampler2D} projectedMap The texture with the octahedral projected cube map.\n * @param {vec2} textureSize The width and height dimensions in pixels of the projected map.\n * @param {vec3} direction The normalized direction used to sample the cube map.\n * @param {float} lod The level of detail to sample.\n * @param {float} maxLod The maximum level of detail.\n * @returns {vec3} The color of the cube map at the direction.\n */\nvec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) {\n float currentLod = floor(lod + 0.5);\n float nextLod = min(currentLod + 1.0, maxLod);\n\n vec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod);\n vec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod);\n\n return mix(colorNextLod, colorCurrentLod, nextLod - lod);\n}\n",zH="/**\n * Adjusts the saturation of a color.\n * \n * @name czm_saturation\n * @glslFunction\n * \n * @param {vec3} rgb The color.\n * @param {float} adjustment The amount to adjust the saturation of the color.\n *\n * @returns {float} The color with the saturation adjusted.\n *\n * @example\n * vec3 greyScale = czm_saturation(color, 0.0);\n * vec3 doubleSaturation = czm_saturation(color, 2.0);\n */\nvec3 czm_saturation(vec3 rgb, float adjustment)\n{\n // Algorithm from Chapter 16 of OpenGL Shading Language\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, W));\n return mix(intensity, rgb, adjustment);\n}\n",UH="\nfloat czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d)\n{\n return czm_unpackDepth(textureCube(shadowMap, d));\n}\n\nfloat czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv)\n{\n#ifdef USE_SHADOW_DEPTH_TEXTURE\n return texture2D(shadowMap, uv).r;\n#else\n return czm_unpackDepth(texture2D(shadowMap, uv));\n#endif\n}\n\nfloat czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth)\n{\n return step(depth, czm_sampleShadowMap(shadowMap, uv));\n}\n\nfloat czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth)\n{\n return step(depth, czm_sampleShadowMap(shadowMap, uv));\n}\n",VH="\nfloat czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness)\n{\n#ifdef USE_NORMAL_SHADING\n#ifdef USE_NORMAL_SHADING_SMOOTH\n float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0);\n#else\n float strength = step(0.0, nDotL);\n#endif\n visibility *= strength;\n#endif\n\n visibility = max(visibility, darkness);\n return visibility;\n}\n\n#ifdef USE_CUBE_MAP_SHADOW\nfloat czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters)\n{\n float depthBias = shadowParameters.depthBias;\n float depth = shadowParameters.depth;\n float nDotL = shadowParameters.nDotL;\n float normalShadingSmooth = shadowParameters.normalShadingSmooth;\n float darkness = shadowParameters.darkness;\n vec3 uvw = shadowParameters.texCoords;\n\n depth -= depthBias;\n float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth);\n return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);\n}\n#else\nfloat czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters)\n{\n float depthBias = shadowParameters.depthBias;\n float depth = shadowParameters.depth;\n float nDotL = shadowParameters.nDotL;\n float normalShadingSmooth = shadowParameters.normalShadingSmooth;\n float darkness = shadowParameters.darkness;\n vec2 uv = shadowParameters.texCoords;\n\n depth -= depthBias;\n#ifdef USE_SOFT_SHADOWS\n vec2 texelStepSize = shadowParameters.texelStepSize;\n float radius = 1.0;\n float dx0 = -texelStepSize.x * radius;\n float dy0 = -texelStepSize.y * radius;\n float dx1 = texelStepSize.x * radius;\n float dy1 = texelStepSize.y * radius;\n float visibility = (\n czm_shadowDepthCompare(shadowMap, uv, depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) +\n czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth)\n ) * (1.0 / 9.0);\n#else\n float visibility = czm_shadowDepthCompare(shadowMap, uv, depth);\n#endif\n\n return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);\n}\n#endif\n",HH="/**\n * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL\n * built-in function <code>sign</code> except that returns 1.0 instead of 0.0 when the input value is 0.0.\n * \n * @name czm_signNotZero\n * @glslFunction\n *\n * @param {} value The value for which to determine the sign.\n * @returns {} 1.0 if the value is positive or zero, -1.0 if the value is negative.\n */\nfloat czm_signNotZero(float value)\n{\n return value >= 0.0 ? 1.0 : -1.0;\n}\n\nvec2 czm_signNotZero(vec2 value)\n{\n return vec2(czm_signNotZero(value.x), czm_signNotZero(value.y));\n}\n\nvec3 czm_signNotZero(vec3 value)\n{\n return vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z));\n}\n\nvec4 czm_signNotZero(vec4 value)\n{\n return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w));\n}\n",GH="/**\n * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector.\n * <p>\n * The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22].\n * </p>\n *\n * @name czm_sphericalHarmonics\n * @glslFunction\n *\n * @param {vec3} normal The normalized direction.\n * @param {vec3[9]} coefficients The third order spherical harmonic coefficients.\n * @returns {vec3} The color at the direction.\n *\n * @see https://graphics.stanford.edu/papers/envmap/envmap.pdf\n */\nvec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9])\n{\n vec3 L00 = coefficients[0];\n vec3 L1_1 = coefficients[1];\n vec3 L10 = coefficients[2];\n vec3 L11 = coefficients[3];\n vec3 L2_2 = coefficients[4];\n vec3 L2_1 = coefficients[5];\n vec3 L20 = coefficients[6];\n vec3 L21 = coefficients[7];\n vec3 L22 = coefficients[8];\n\n float x = normal.x;\n float y = normal.y;\n float z = normal.z;\n\n return\n L00\n + L1_1 * y\n + L10 * z\n + L11 * x\n + L2_2 * (y * x)\n + L2_1 * (y * z)\n + L20 * (3.0 * z * z - 1.0)\n + L21 * (z * x)\n + L22 * (x * x - y * y);\n}\n",qH="/**\n * Converts an sRGB color to a linear RGB color.\n *\n * @param {vec3|vec4} srgbIn The color in sRGB space\n * @returns {vec3|vec4} The color in linear color space. The vector type matches the input.\n */\nvec3 czm_srgbToLinear(vec3 srgbIn)\n{\n return pow(srgbIn, vec3(2.2));\n}\n\nvec4 czm_srgbToLinear(vec4 srgbIn) \n{\n vec3 linearOut = pow(srgbIn.rgb, vec3(2.2));\n return vec4(linearOut, srgbIn.a);\n}\n",WH="/**\n * Creates a matrix that transforms vectors from tangent space to eye space.\n *\n * @name czm_tangentToEyeSpaceMatrix\n * @glslFunction\n *\n * @param {vec3} normalEC The normal vector in eye coordinates.\n * @param {vec3} tangentEC The tangent vector in eye coordinates.\n * @param {vec3} bitangentEC The bitangent vector in eye coordinates.\n *\n * @returns {mat3} The matrix that transforms from tangent space to eye space.\n *\n * @example\n * mat3 tangentToEye = czm_tangentToEyeSpaceMatrix(normalEC, tangentEC, bitangentEC);\n * vec3 normal = tangentToEye * texture2D(normalMap, st).xyz;\n */\nmat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC)\n{\n vec3 normal = normalize(normalEC);\n vec3 tangent = normalize(tangentEC);\n vec3 bitangent = normalize(bitangentEC);\n return mat3(tangent.x , tangent.y , tangent.z,\n bitangent.x, bitangent.y, bitangent.z,\n normal.x , normal.y , normal.z);\n}\n",YH="/**\n * Transforms a plane.\n * \n * @name czm_transformPlane\n * @glslFunction\n *\n * @param {vec4} plane The plane in Hessian Normal Form.\n * @param {mat4} transform The inverse-transpose of a transformation matrix.\n */\nvec4 czm_transformPlane(vec4 plane, mat4 transform) {\n vec4 transformedPlane = transform * plane;\n // Convert the transformed plane to Hessian Normal Form\n float normalMagnitude = length(transformedPlane.xyz);\n return transformedPlane / normalMagnitude;\n}\n",XH="/**\n * Translates a position (or any <code>vec3</code>) that was encoded with {@link EncodedCartesian3},\n * and then provided to the shader as separate <code>high</code> and <code>low</code> bits to\n * be relative to the eye. As shown in the example, the position can then be transformed in eye\n * or clip coordinates using {@link czm_modelViewRelativeToEye} or {@link czm_modelViewProjectionRelativeToEye},\n * respectively.\n * <p>\n * This technique, called GPU RTE, eliminates jittering artifacts when using large coordinates as\n * described in {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}.\n * </p>\n *\n * @name czm_translateRelativeToEye\n * @glslFunction\n *\n * @param {vec3} high The position's high bits.\n * @param {vec3} low The position's low bits.\n * @returns {vec3} The position translated to be relative to the camera's position.\n *\n * @example\n * attribute vec3 positionHigh;\n * attribute vec3 positionLow;\n *\n * void main()\n * {\n * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n * gl_Position = czm_modelViewProjectionRelativeToEye * p;\n * }\n *\n * @see czm_modelViewRelativeToEye\n * @see czm_modelViewProjectionRelativeToEye\n * @see czm_computePosition\n * @see EncodedCartesian3\n */\nvec4 czm_translateRelativeToEye(vec3 high, vec3 low)\n{\n vec3 highDifference = high - czm_encodedCameraPositionMCHigh;\n vec3 lowDifference = low - czm_encodedCameraPositionMCLow;\n\n return vec4(highDifference + lowDifference, 1.0);\n}\n",KH="/**\n * @private\n */\nvec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\n // Diffuse from directional light sources at eye (for top-down and horizon views)\n float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal);\n\n if (czm_sceneMode == czm_sceneMode3D) {\n // (and horizon views in 3D)\n diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal);\n }\n\n diffuse = clamp(diffuse, 0.0, 1.0);\n\n float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess);\n\n // Temporary workaround for adding ambient.\n vec3 materialDiffuse = material.diffuse * 0.5;\n\n vec3 ambient = materialDiffuse;\n vec3 color = ambient + material.emission;\n color += materialDiffuse * diffuse * czm_lightColor;\n color += material.specular * specular * czm_lightColor;\n\n return vec4(color, material.alpha);\n}\n",JH="/**\n * Returns the transpose of the matrix. The input <code>matrix</code> can be\n * a <code>mat2</code>, <code>mat3</code>, or <code>mat4</code>.\n *\n * @name czm_transpose\n * @glslFunction\n *\n * @param {} matrix The matrix to transpose.\n *\n * @returns {} The transposed matrix.\n *\n * @example\n * // GLSL declarations\n * mat2 czm_transpose(mat2 matrix);\n * mat3 czm_transpose(mat3 matrix);\n * mat4 czm_transpose(mat4 matrix);\n *\n * // Transpose a 3x3 rotation matrix to find its inverse.\n * mat3 eastNorthUpToEye = czm_eastNorthUpToEyeCoordinates(\n * positionMC, normalEC);\n * mat3 eyeToEastNorthUp = czm_transpose(eastNorthUpToEye);\n */\nmat2 czm_transpose(mat2 matrix)\n{\n return mat2(\n matrix[0][0], matrix[1][0],\n matrix[0][1], matrix[1][1]);\n}\n\nmat3 czm_transpose(mat3 matrix)\n{\n return mat3(\n matrix[0][0], matrix[1][0], matrix[2][0],\n matrix[0][1], matrix[1][1], matrix[2][1],\n matrix[0][2], matrix[1][2], matrix[2][2]);\n}\n\nmat4 czm_transpose(mat4 matrix)\n{\n return mat4(\n matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\n matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\n matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\n matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n}\n",ZH="/**\n * Unpacks a vec4 depth value to a float in [0, 1) range.\n *\n * @name czm_unpackDepth\n * @glslFunction\n *\n * @param {vec4} packedDepth The packed depth.\n *\n * @returns {float} The floating-point depth in [0, 1) range.\n */\n float czm_unpackDepth(vec4 packedDepth)\n {\n // See Aras Pranckevičius' post Encoding Floats to RGBA\n // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/\n return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n }\n",$H="/**\n * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4.\n *\n * @name czm_unpackFloat\n * @glslFunction\n *\n * @param {vec4} packedFloat The packed float.\n *\n * @returns {float} The floating-point depth in arbitrary range.\n */\nfloat czm_unpackFloat(vec4 packedFloat)\n{\n // Convert to [0.0, 255.0] and round to integer\n packedFloat = floor(packedFloat * 255.0 + 0.5);\n float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0;\n float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0; \n if (exponent == -127.0)\n {\n return 0.0;\n }\n float mantissa = mod(packedFloat[2], 128.0) * 65536.0 + packedFloat[1] * 256.0 + packedFloat[0] + float(0x800000);\n float result = sign * exp2(exponent - 23.0) * mantissa;\n return result;\n}\n",QH="/**\n * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type,\n * so the return value is an int.\n * <p>\n * There are also precision limitations in WebGL 1. highp int is still limited\n * to 24 bits. Above the value of 2^24 = 16777216, precision loss may occur.\n * </p>\n *\n * @param {float|vec2|vec3|vec4} packed The packed value. For vectors, the components are listed in little-endian order.\n *\n * @return {int} The unpacked value.\n */\n int czm_unpackUint(float packedValue) {\n float rounded = czm_round(packedValue * 255.0);\n return int(rounded);\n }\n\n int czm_unpackUint(vec2 packedValue) {\n vec2 rounded = czm_round(packedValue * 255.0);\n return int(dot(rounded, vec2(1.0, 256.0)));\n }\n\n int czm_unpackUint(vec3 packedValue) {\n vec3 rounded = czm_round(packedValue * 255.0);\n return int(dot(rounded, vec3(1.0, 256.0, 65536.0)));\n }\n\n int czm_unpackUint(vec4 packedValue) {\n vec4 rounded = czm_round(packedValue * 255.0);\n return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0)));\n }\n",eG="/**\n * Transform metadata values following the EXT_structural_metadata spec\n * by multiplying by scale and adding the offset. Operations are always\n * performed component-wise, even for matrices.\n * \n * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} offset The offset to add\n * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} scale The scale factor to multiply\n * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} value The original value.\n *\n * @return {float|vec2|vec3|vec4|mat2|mat3|mat4} The transformed value of the same scalar/vector/matrix type as the input.\n */\nfloat czm_valueTransform(float offset, float scale, float value) {\n return scale * value + offset;\n}\n\nvec2 czm_valueTransform(vec2 offset, vec2 scale, vec2 value) {\n return scale * value + offset;\n}\n\nvec3 czm_valueTransform(vec3 offset, vec3 scale, vec3 value) {\n return scale * value + offset;\n}\n\nvec4 czm_valueTransform(vec4 offset, vec4 scale, vec4 value) {\n return scale * value + offset;\n}\n\nmat2 czm_valueTransform(mat2 offset, mat2 scale, mat2 value) {\n return matrixCompMult(scale, value) + offset;\n}\n\nmat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) {\n return matrixCompMult(scale, value) + offset;\n}\n\nmat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) {\n return matrixCompMult(scale, value) + offset;\n}\n",tG="#ifdef LOG_DEPTH\n// 1.0 at the near plane, increasing linearly from there.\nvarying float v_depthFromNearPlusOne;\n#ifdef SHADOW_MAP\nvarying vec3 v_logPositionEC;\n#endif\n#endif\n\nvec4 czm_updatePositionDepth(vec4 coords) {\n#if defined(LOG_DEPTH)\n\n#ifdef SHADOW_MAP\n vec3 logPositionEC = (czm_inverseProjection * coords).xyz;\n v_logPositionEC = logPositionEC;\n#endif\n\n // With the very high far/near ratios used with the logarithmic depth\n // buffer, floating point rounding errors can cause linear depth values\n // to end up on the wrong side of the far plane, even for vertices that\n // are really nowhere near it. Since we always write a correct logarithmic\n // depth value in the fragment shader anyway, we just need to make sure\n // such errors don't cause the primitive to be clipped entirely before\n // we even get to the fragment shader.\n coords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w;\n#endif\n\n return coords;\n}\n\n/**\n * Writes the logarithmic depth to gl_Position using the already computed gl_Position.\n *\n * @name czm_vertexLogDepth\n * @glslFunction\n */\nvoid czm_vertexLogDepth()\n{\n#ifdef LOG_DEPTH\n v_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0;\n gl_Position = czm_updatePositionDepth(gl_Position);\n#endif\n}\n\n/**\n * Writes the logarithmic depth to gl_Position using the provided clip coordinates.\n * <p>\n * An example use case for this function would be moving the vertex in window coordinates\n * before converting back to clip coordinates. Use the original vertex clip coordinates.\n * </p>\n * @name czm_vertexLogDepth\n * @glslFunction\n *\n * @param {vec4} clipCoords The vertex in clip coordinates.\n *\n * @example\n * czm_vertexLogDepth(czm_projection * vec4(positionEyeCoordinates, 1.0));\n */\nvoid czm_vertexLogDepth(vec4 clipCoords)\n{\n#ifdef LOG_DEPTH\n v_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0;\n czm_updatePositionDepth(clipCoords);\n#endif\n}\n",nG="/**\n * Transforms a position from window to eye coordinates.\n * The transform from window to normalized device coordinates is done using components\n * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating\n * the inverse of <code>czm_viewportTransformation</code>. The transformation from\n * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,\n * which is expected to be the scalar used in the perspective divide. The transformation\n * from clip to eye coordinates is done using {@link czm_inverseProjection}.\n *\n * @name czm_windowToEyeCoordinates\n * @glslFunction\n *\n * @param {vec4} fragmentCoordinate The position in window coordinates to transform.\n *\n * @returns {vec4} The transformed position in eye coordinates.\n *\n * @see czm_modelToWindowCoordinates\n * @see czm_eyeToWindowCoordinates\n * @see czm_inverseProjection\n * @see czm_viewport\n * @see czm_viewportTransformation\n *\n * @example\n * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);\n */\nvec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n{\n // Reconstruct NDC coordinates\n float x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\n float y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\n float z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n vec4 q = vec4(x, y, z, 1.0);\n\n // Reverse the perspective division to obtain clip coordinates.\n q /= fragmentCoordinate.w;\n\n // Reverse the projection transformation to obtain eye coordinates.\n if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s\n {\n q = czm_inverseProjection * q;\n }\n else\n {\n float top = czm_frustumPlanes.x;\n float bottom = czm_frustumPlanes.y;\n float left = czm_frustumPlanes.z;\n float right = czm_frustumPlanes.w;\n\n float near = czm_currentFrustum.x;\n float far = czm_currentFrustum.y;\n\n q.x = (q.x * (right - left) + left + right) * 0.5;\n q.y = (q.y * (top - bottom) + bottom + top) * 0.5;\n q.z = (q.z * (near - far) - near - far) * 0.5;\n q.w = 1.0;\n }\n\n return q;\n}\n\n/**\n * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.\n * This function produces more accurate results for window positions with log depth than\n * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version\n * of czm_windowToEyeCoordinates.\n *\n * @name czm_windowToEyeCoordinates\n * @glslFunction\n *\n * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.\n * @param {float} depthOrLogDepth A depth or log depth for the fragment.\n *\n * @see czm_modelToWindowCoordinates\n * @see czm_eyeToWindowCoordinates\n * @see czm_inverseProjection\n * @see czm_viewport\n * @see czm_viewportTransformation\n *\n * @returns {vec4} The transformed position in eye coordinates.\n */\nvec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)\n{\n // See reverseLogDepth.glsl. This is separate to re-use the pow.\n#ifdef LOG_DEPTH\n float near = czm_currentFrustum.x;\n float far = czm_currentFrustum.y;\n float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;\n float depthFromNear = pow(2.0, log2Depth) - 1.0;\n float depthFromCamera = depthFromNear + near;\n vec4 windowCoord = vec4(fragmentCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\n eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision\n return eyeCoordinate;\n#else\n vec4 windowCoord = vec4(fragmentCoordinateXY, depthOrLogDepth, 1.0);\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\n#endif\n return eyeCoordinate;\n}\n",iG="// emulated noperspective\n#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\nvarying float v_WindowZ;\n#endif\n\n/**\n * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane\n * by writing the fragment's depth. See czm_depthClamp for more details.\n * <p>\n * The shader must enable the GL_EXT_frag_depth extension.\n * </p>\n *\n * @name czm_writeDepthClamp\n * @glslFunction\n *\n * @example\n * gl_FragColor = color;\n * czm_writeDepthClamp();\n *\n * @see czm_depthClamp\n */\nvoid czm_writeDepthClamp()\n{\n#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\n gl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);\n#endif\n}\n",oG="#ifdef LOG_DEPTH\nvarying float v_depthFromNearPlusOne;\n\n#ifdef POLYGON_OFFSET\nuniform vec2 u_polygonOffset;\n#endif\n\n#endif\n\n/**\n * Writes the fragment depth to the logarithmic depth buffer.\n * <p>\n * Use this when the vertex shader does not call {@link czm_vertexlogDepth}, for example, when\n * ray-casting geometry using a full screen quad.\n * </p>\n * @name czm_writeLogDepth\n * @glslFunction\n *\n * @param {float} depth The depth coordinate, where 1.0 is on the near plane and\n * depth increases in eye-space units from there\n *\n * @example\n * czm_writeLogDepth((czm_projection * v_positionEyeCoordinates).w + 1.0);\n */\nvoid czm_writeLogDepth(float depth)\n{\n#if defined(GL_EXT_frag_depth) && defined(LOG_DEPTH)\n // Discard the vertex if it's not between the near and far planes.\n // We allow a bit of epsilon on the near plane comparison because a 1.0\n // from the vertex shader (indicating the vertex should be _on_ the near\n // plane) will not necessarily come here as exactly 1.0.\n if (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) {\n discard;\n }\n\n#ifdef POLYGON_OFFSET\n // Polygon offset: m * factor + r * units\n float factor = u_polygonOffset[0];\n float units = u_polygonOffset[1];\n\n // If we can't compute derivatives, just leave out the factor I guess?\n#ifdef GL_OES_standard_derivatives\n // m = sqrt(dZdX^2 + dZdY^2);\n float x = dFdx(depth);\n float y = dFdy(depth);\n float m = sqrt(x * x + y * y);\n\n // Apply the factor before computing the log depth.\n depth += m * factor;\n#endif\n\n#endif\n\n gl_FragDepthEXT = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;\n\n#ifdef POLYGON_OFFSET\n // Apply the units after the log depth.\n gl_FragDepthEXT += czm_epsilon7 * units;\n#endif\n\n#endif\n}\n\n/**\n * Writes the fragment depth to the logarithmic depth buffer.\n * <p>\n * Use this when the vertex shader calls {@link czm_vertexlogDepth}.\n * </p>\n *\n * @name czm_writeLogDepth\n * @glslFunction\n */\nvoid czm_writeLogDepth() {\n#ifdef LOG_DEPTH\n czm_writeLogDepth(v_depthFromNearPlusOne);\n#endif\n}\n",rG="/**\n * Transforms a value for non-perspective interpolation by multiplying\n * it by w, the value used in the perspective divide. This function is\n * intended to be called in a vertex shader to compute the value of a\n * `varying` that should not be subject to perspective interpolation.\n * For example, screen-space texture coordinates. The fragment shader\n * must call {@link czm_readNonPerspective} to retrieve the final\n * non-perspective value.\n *\n * @name czm_writeNonPerspective\n * @glslFunction\n *\n * @param {float|vec2|vec3|vec4} value The value to be interpolated without accounting for perspective.\n * @param {float} w The perspective divide value. Usually this is the computed `gl_Position.w`.\n * @returns {float|vec2|vec3|vec4} The transformed value, intended to be stored in a `varying` and read in the\n * fragment shader with {@link czm_readNonPerspective}.\n */\nfloat czm_writeNonPerspective(float value, float w) {\n return value * w;\n}\n\nvec2 czm_writeNonPerspective(vec2 value, float w) {\n return value * w;\n}\n\nvec3 czm_writeNonPerspective(vec3 value, float w) {\n return value * w;\n}\n\nvec4 czm_writeNonPerspective(vec4 value, float w) {\n return value * w;\n}\n",aG={czm_degreesPerRadian:kU,czm_depthRange:zU,czm_epsilon1:UU,czm_epsilon2:VU,czm_epsilon3:HU,czm_epsilon4:GU,czm_epsilon5:qU,czm_epsilon6:WU,czm_epsilon7:YU,czm_infinity:XU,czm_oneOverPi:KU,czm_oneOverTwoPi:JU,czm_passCesium3DTile:ZU,czm_passCesium3DTileClassification:$U,czm_passCesium3DTileClassificationIgnoreShow:QU,czm_passClassification:eV,czm_passCompute:tV,czm_passEnvironment:nV,czm_passGlobe:iV,czm_passOpaque:oV,czm_passOverlay:rV,czm_passTerrainClassification:aV,czm_passTranslucent:sV,czm_pi:cV,czm_piOverFour:lV,czm_piOverSix:uV,czm_piOverThree:hV,czm_piOverTwo:dV,czm_radiansPerDegree:fV,czm_sceneMode2D:pV,czm_sceneMode3D:mV,czm_sceneModeColumbusView:_V,czm_sceneModeMorphing:gV,czm_solarRadius:bV,czm_threePiOver2:yV,czm_twoPi:vV,czm_webMercatorMaxLatitude:OV,czm_depthRangeStruct:wV,czm_material:AV,czm_materialInput:TV,czm_modelMaterial:CV,czm_modelVertexOutput:EV,czm_pbrParameters:xV,czm_ray:SV,czm_raySegment:IV,czm_shadowParameters:DV,czm_HSBToRGB:jV,czm_HSLToRGB:PV,czm_RGBToHSB:RV,czm_RGBToHSL:MV,czm_RGBToXYZ:NV,czm_XYZToRGB:LV,czm_acesTonemapping:BV,czm_alphaWeight:FV,czm_antialias:kV,czm_approximateSphericalCoordinates:zV,czm_backFacing:UV,czm_branchFreeTernary:VV,czm_cascadeColor:HV,czm_cascadeDistance:GV,czm_cascadeMatrix:qV,czm_cascadeWeights:WV,czm_columbusViewMorph:YV,czm_computePosition:XV,czm_cosineAndSine:KV,czm_decompressTextureCoordinates:JV,czm_defaultPbrMaterial:ZV,czm_depthClamp:$V,czm_eastNorthUpToEyeCoordinates:QV,czm_ellipsoidContainsPoint:eH,czm_ellipsoidWgs84TextureCoordinates:tH,czm_equalsEpsilon:nH,czm_eyeOffset:iH,czm_eyeToWindowCoordinates:oH,czm_fastApproximateAtan:rH,czm_fog:aH,czm_gammaCorrect:sH,czm_geodeticSurfaceNormal:cH,czm_getDefaultMaterial:lH,czm_getLambertDiffuse:uH,czm_getSpecular:hH,czm_getWaterNoise:dH,czm_hue:fH,czm_inverseGamma:pH,czm_isEmpty:mH,czm_isFull:_H,czm_latitudeToWebMercatorFraction:gH,czm_lineDistance:bH,czm_linearToSrgb:yH,czm_luminance:vH,czm_metersPerPixel:OH,czm_modelToWindowCoordinates:wH,czm_multiplyWithColorBalance:AH,czm_nearFarScalar:TH,czm_octDecode:CH,czm_packDepth:EH,czm_pbrLighting:xH,czm_pbrMetallicRoughnessMaterial:SH,czm_pbrSpecularGlossinessMaterial:IH,czm_phong:DH,czm_planeDistance:jH,czm_pointAlongRay:PH,czm_rayEllipsoidIntersectionInterval:RH,czm_raySphereIntersectionInterval:MH,czm_readDepth:NH,czm_readNonPerspective:LH,czm_reverseLogDepth:BH,czm_round:FH,czm_sampleOctahedralProjection:kH,czm_saturation:zH,czm_shadowDepthCompare:UH,czm_shadowVisibility:VH,czm_signNotZero:HH,czm_sphericalHarmonics:GH,czm_srgbToLinear:qH,czm_tangentToEyeSpaceMatrix:WH,czm_transformPlane:YH,czm_translateRelativeToEye:XH,czm_translucentPhong:KH,czm_transpose:JH,czm_unpackDepth:ZH,czm_unpackFloat:$H,czm_unpackUint:QH,czm_valueTransform:eG,czm_vertexLogDepth:tG,czm_windowToEyeCoordinates:nG,czm_writeDepthClamp:iG,czm_writeLogDepth:oG,czm_writeNonPerspective:rG};function sG(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,(function(e){const t=e.match(/\n/gm).length;let n="";for(let i=0;i<t;++i)n+="\n";return n}))}function cG(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return Object(r["a"])(i)||(t=sG(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function lG(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);Object(r["a"])(n)&&null!==n&&(n=n.filter((function(e,t){return n.indexOf(e)===t})),n.forEach((function(n){if(n!==e.name&&fG._czmBuiltinsAndUniforms.hasOwnProperty(n)){const i=cG(n,fG._czmBuiltinsAndUniforms[n],t);e.dependsOn.push(i),i.requiredBy.push(e),lG(i,t)}})))}function uG(e){const t=[],n=[];while(e.length>0){const i=e.pop();n.push(i),0===i.requiredBy.length&&t.push(i)}while(t.length>0){const n=t.shift();e.push(n);for(let e=0;e<n.dependsOn.length;++e){const i=n.dependsOn[e],o=i.requiredBy.indexOf(n);i.requiredBy.splice(o,1),0===i.requiredBy.length&&t.push(i)}}const i=[];for(let o=0;o<n.length;++o)0!==n[o].requiredBy.length&&i.push(n[o]);if(0!==i.length){let e="A circular dependency was found in the following built-in functions/structs/constants: \n";for(let t=0;t<i.length;++t)e=e+i[t].name+"\n";throw new a["a"](e)}}function hG(e){const t=[],n=cG("main",e,t);lG(n,t),uG(t);let i="";for(let o=t.length-1;o>=0;--o)i=i+t[o].glslSource+"\n";return i.replace(n.glslSource,"")}function dG(e,t,n){let i,o,s="";const c=e.sources;if(Object(r["a"])(c))for(i=0,o=c.length;i<o;++i)s+="\n#line 0\n"+c[i];let l;s=sG(s),s=s.replace(/#version\s+(.*?)\n/gm,(function(e,t){if(Object(r["a"])(l)&&l!==t)throw new a["a"](`inconsistent versions found: ${l} and ${t}`);return l=t,"\n"}));const u=[];s=s.replace(/#extension.*\n/gm,(function(e){return u.push(e),"\n"})),s=s.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");const h=e.pickColorQualifier;Object(r["a"])(h)&&(s=fG.createPickFragmentShaderSource(s,h));let d="";Object(r["a"])(l)&&(d=`#version ${l}\n`);const f=u.length;for(i=0;i<f;i++)d+=u[i];t&&(d+="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n#else\n precision mediump float;\n precision mediump int;\n #define highp mediump\n#endif\n\n");const p=e.defines;if(Object(r["a"])(p))for(i=0,o=p.length;i<o;++i){const e=p[i];0!==e.length&&(d+=`#define ${e}\n`)}return n.webgl2&&(d+="#define OUTPUT_DECLARATION\n\n"),n.textureFloatLinear&&(d+="#define OES_texture_float_linear\n\n"),n.floatingPointTexture&&(d+="#define OES_texture_float\n\n"),e.includeBuiltIns&&(d+=hG(s)),d+="\n#line 0\n",d+=s,n.webgl2&&(d=FU(d,t,!0)),d}function fG(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.pickColorQualifier;if(Object(r["a"])(t)&&"uniform"!==t&&"varying"!==t)throw new a["a"]("options.pickColorQualifier must be 'uniform' or 'varying'.");this.defines=Object(r["a"])(e.defines)?e.defines.slice(0):[],this.sources=Object(r["a"])(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=Object(o["a"])(e.includeBuiltIns,!0)}fG.prototype.clone=function(){return new fG({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})},fG.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)},fG.prototype.createCombinedVertexShader=function(e){return dG(this,!1,e)},fG.prototype.createCombinedFragmentShader=function(e){return dG(this,!0,e)},fG._czmBuiltinsAndUniforms={};for(const opt in aG)aG.hasOwnProperty(opt)&&(fG._czmBuiltinsAndUniforms[opt]=aG[opt]);for(const opt in kz)if(kz.hasOwnProperty(opt)){const e=kz[opt];"function"===typeof e.getDeclaration&&(fG._czmBuiltinsAndUniforms[opt]=e.getDeclaration(opt))}function pG(e,t){const n=e.sources,i=n.length;for(let o=0;o<i;++o)if(-1!==n[o].indexOf(t))return!0;return!1}function mG(e,t){const n=t.length;for(let i=0;i<n;++i){const n=t[i];if(pG(e,n))return n}}fG.createPickVertexShaderSource=function(e){const t=fG.replaceMain(e,"czm_old_main"),n="attribute vec4 pickColor; \nvarying vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n czm_pickColor = pickColor; \n}";return`${t}\n${n}`},fG.createPickFragmentShaderSource=function(e,t){const n=fG.replaceMain(e,"czm_old_main"),i=t+" vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n if (gl_FragColor.a == 0.0) { \n discard; \n } \n gl_FragColor = czm_pickColor; \n}";return`${n}\n${i}`};const _G=["v_normalEC","v_normal"];fG.findNormalVarying=function(e){return pG(e,"#ifdef HAS_NORMALS")?pG(e,"#define HAS_NORMALS")?"v_normalEC":void 0:mG(e,_G)};const gG=["v_positionEC"];fG.findPositionVarying=function(e){return mG(e,gG)};var bG=fG,yG='attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute float batchId;\n\n#ifdef EXTRUDED_GEOMETRY\nattribute vec3 extrudeDirection;\n\nuniform float u_globeMinimumAltitude;\n#endif // EXTRUDED_GEOMETRY\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif // PER_INSTANCE_COLOR\n\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\nvarying vec4 v_sphericalExtents;\n#else // SPHERICAL\nvarying vec2 v_inversePlaneExtents;\nvarying vec4 v_westPlane;\nvarying vec4 v_southPlane;\n#endif // SPHERICAL\nvarying vec3 v_uvMinAndSphericalLongitudeRotation;\nvarying vec3 v_uMaxAndInverseDistance;\nvarying vec3 v_vMaxAndInverseDistance;\n#endif // TEXTURE_COORDINATES\n\nvoid main()\n{\n vec4 position = czm_computePosition();\n\n#ifdef EXTRUDED_GEOMETRY\n float delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz));\n delta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0;\n\n //extrudeDirection is zero for the top layer\n position = position + vec4(extrudeDirection * delta, 0.0);\n#endif\n\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\n v_sphericalExtents = czm_batchTable_sphericalExtents(batchId);\n v_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId);\n#else // SPHERICAL\n#ifdef COLUMBUS_VIEW_2D\n vec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId);\n vec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId);\n\n // If the primitive is split across the IDL (planes2D_high.x > planes2D_high.w):\n // - If this vertex is on the east side of the IDL (position3DLow.y > 0.0, comparison with position3DHigh may produce artifacts)\n // - existing "east" is on the wrong side of the world, far away (planes2D_high/low.w)\n // - so set "east" as beyond the eastmost extent of the projection (idlSplitNewPlaneHiLow)\n vec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w));\n bool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0;\n planes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w);\n planes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w);\n\n // - else, if this vertex is on the west side of the IDL (position3DLow.y < 0.0)\n // - existing "west" is on the wrong side of the world, far away (planes2D_high/low.x)\n // - so set "west" as beyond the westmost extent of the projection (idlSplitNewPlaneHiLow)\n idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0;\n idlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x));\n planes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x);\n planes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x);\n\n vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz;\n vec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz;\n vec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz;\n#else // COLUMBUS_VIEW_2D\n // 3D case has smaller "plane extents," so planes encoded as a 64 bit position and 2 vec3s for distances/direction\n vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz;\n vec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner;\n vec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner;\n#endif // COLUMBUS_VIEW_2D\n\n vec3 eastWard = southEastCorner - southWestCorner;\n float eastExtent = length(eastWard);\n eastWard /= eastExtent;\n\n vec3 northWard = northWestCorner - southWestCorner;\n float northExtent = length(northWard);\n northWard /= northExtent;\n\n v_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner));\n v_southPlane = vec4(northWard, -dot(northWard, southWestCorner));\n v_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent);\n#endif // SPHERICAL\n vec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId);\n vec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId);\n\n v_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z);\n v_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w);\n v_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy;\n#endif // TEXTURE_COORDINATES\n\n#ifdef PER_INSTANCE_COLOR\n v_color = czm_batchTable_color(batchId);\n#endif\n\n gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position);\n}\n',vG="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n\n#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\n\nvoid main(void)\n{\n#ifdef VECTOR_TILE\n gl_FragColor = czm_gammaCorrect(u_highlightColor);\n#else\n gl_FragColor = vec4(1.0);\n#endif\n czm_writeDepthClamp();\n}\n";const OG={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2,NUMBER_OF_CLASSIFICATION_TYPES:3};var wG=Object.freeze(OG);const AG={NEVER:Jc.NEVER,LESS:Jc.LESS,EQUAL:Jc.EQUAL,LESS_OR_EQUAL:Jc.LEQUAL,GREATER:Jc.GREATER,NOT_EQUAL:Jc.NOTEQUAL,GREATER_OR_EQUAL:Jc.GEQUAL,ALWAYS:Jc.ALWAYS};var TG=Object.freeze(AG);const CG={STREAM_DRAW:Jc.STREAM_DRAW,STATIC_DRAW:Jc.STATIC_DRAW,DYNAMIC_DRAW:Jc.DYNAMIC_DRAW,validate:function(e){return e===CG.STREAM_DRAW||e===CG.STATIC_DRAW||e===CG.DYNAMIC_DRAW}};var EG=Object.freeze(CG);function xG(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context),!Object(r["a"])(e.typedArray)&&!Object(r["a"])(e.sizeInBytes))throw new a["a"]("Either options.sizeInBytes or options.typedArray is required.");if(Object(r["a"])(e.typedArray)&&Object(r["a"])(e.sizeInBytes))throw new a["a"]("Cannot pass in both options.sizeInBytes and options.typedArray.");if(Object(r["a"])(e.typedArray)&&(i["a"].typeOf.object("options.typedArray",e.typedArray),i["a"].typeOf.number("options.typedArray.byteLength",e.typedArray.byteLength)),!EG.validate(e.usage))throw new a["a"]("usage is invalid.");const t=e.context._gl,n=e.bufferTarget,s=e.typedArray;let c=e.sizeInBytes;const l=e.usage,u=Object(r["a"])(s);u&&(c=s.byteLength),i["a"].typeOf.number.greaterThan("sizeInBytes",c,0);const h=t.createBuffer();t.bindBuffer(n,h),t.bufferData(n,u?s:c,l),t.bindBuffer(n,null),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=c,this._usage=l,this._buffer=h,this.vertexArrayDestroyable=!0}xG.createVertexBuffer=function(e){return i["a"].defined("options.context",e.context),new xG({context:e.context,bufferTarget:Jc.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})},xG.createIndexBuffer=function(e){if(i["a"].defined("options.context",e.context),!uu.validate(e.indexDatatype))throw new a["a"]("Invalid indexDatatype.");if(e.indexDatatype===uu.UNSIGNED_INT&&!e.context.elementIndexUint)throw new a["a"]("IndexDatatype.UNSIGNED_INT requires OES_element_index_uint, which is not supported on this system. Check context.elementIndexUint.");const t=e.context,n=e.indexDatatype,o=uu.getSizeInBytes(n),r=new xG({context:t,bufferTarget:Jc.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),s=r.sizeInBytes/o;return Object.defineProperties(r,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return o}},numberOfIndices:{get:function(){return s}}}),r},Object.defineProperties(xG.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}}),xG.prototype._getBuffer=function(){return this._buffer},xG.prototype.copyFromArrayView=function(e,t){t=Object(o["a"])(t,0),i["a"].defined("arrayView",e),i["a"].typeOf.number.lessThanOrEquals("offsetInBytes + arrayView.byteLength",t+e.byteLength,this._sizeInBytes);const n=this._gl,r=this._bufferTarget;n.bindBuffer(r,this._buffer),n.bufferSubData(r,t,e),n.bindBuffer(r,null)},xG.prototype.copyFromBuffer=function(e,t,n,i){if(!this._webgl2)throw new a["a"]("A WebGL 2 context is required.");if(!Object(r["a"])(e))throw new a["a"]("readBuffer must be defined.");if(!Object(r["a"])(i)||i<=0)throw new a["a"]("sizeInBytes must be defined and be greater than zero.");if(!Object(r["a"])(t)||t<0||t+i>e._sizeInBytes)throw new a["a"]("readOffset must be greater than or equal to zero and readOffset + sizeInBytes must be less than of equal to readBuffer.sizeInBytes.");if(!Object(r["a"])(n)||n<0||n+i>this._sizeInBytes)throw new a["a"]("writeOffset must be greater than or equal to zero and writeOffset + sizeInBytes must be less than of equal to this.sizeInBytes.");if(this._buffer===e._buffer&&(n>=t&&n<t+i||t>n&&t<n+i))throw new a["a"]("When readBuffer is equal to this, the ranges [readOffset + sizeInBytes) and [writeOffset, writeOffset + sizeInBytes) must not overlap.");if(this._bufferTarget===Jc.ELEMENT_ARRAY_BUFFER&&e._bufferTarget!==Jc.ELEMENT_ARRAY_BUFFER||this._bufferTarget!==Jc.ELEMENT_ARRAY_BUFFER&&e._bufferTarget===Jc.ELEMENT_ARRAY_BUFFER)throw new a["a"]("Can not copy an index buffer into another buffer type.");const o=Jc.COPY_READ_BUFFER,s=Jc.COPY_WRITE_BUFFER,c=this._gl;c.bindBuffer(s,this._buffer),c.bindBuffer(o,e._buffer),c.copyBufferSubData(o,s,t,n,i),c.bindBuffer(s,null),c.bindBuffer(o,null)},xG.prototype.getBufferData=function(e,t,n,i){if(t=Object(o["a"])(t,0),n=Object(o["a"])(n,0),!this._webgl2)throw new a["a"]("A WebGL 2 context is required.");if(!Object(r["a"])(e))throw new a["a"]("arrayView is required.");let s,c,l=e.byteLength;if(Object(r["a"])(i)?(s=i,Object(r["a"])(l)?c=1:(l=e.length,c=e.BYTES_PER_ELEMENT)):Object(r["a"])(l)?(s=l-n,c=1):(l=e.length,s=l-n,c=e.BYTES_PER_ELEMENT),n<0||n>l)throw new a["a"]("destinationOffset must be greater than zero and less than the arrayView length.");if(n+s>l)throw new a["a"]("destinationOffset + length must be less than or equal to the arrayViewLength.");if(t<0||t>this._sizeInBytes)throw new a["a"]("sourceOffset must be greater than zero and less than the buffers size.");if(t+s*c>this._sizeInBytes)throw new a["a"]("sourceOffset + length must be less than the buffers size.");const u=this._gl,h=Jc.COPY_READ_BUFFER;u.bindBuffer(h,this._buffer),u.getBufferSubData(h,t,e,n,i),u.bindBuffer(h,null)},xG.prototype.isDestroyed=function(){return!1},xG.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),Wl(this)};var SG=xG;function IG(e,t,n,i){const s=Object(r["a"])(t.vertexBuffer),c=Object(r["a"])(t.value),l=t.value?t.value.length:t.componentsPerAttribute;if(!s&&!c)throw new a["a"]("attribute must have a vertexBuffer or a value.");if(s&&c)throw new a["a"]("attribute cannot have both a vertexBuffer and a value. It must have either a vertexBuffer property defining per-vertex data or a value property defining data for all vertices.");if(1!==l&&2!==l&&3!==l&&4!==l){if(c)throw new a["a"]("attribute.value.length must be in the range [1, 4].");throw new a["a"]("attribute.componentsPerAttribute must be in the range [1, 4].")}if(Object(r["a"])(t.componentDatatype)&&!$c.validate(t.componentDatatype))throw new a["a"]("attribute must have a valid componentDatatype or not specify it.");if(Object(r["a"])(t.strideInBytes)&&t.strideInBytes>255)throw new a["a"]("attribute must have a strideInBytes less than or equal to 255 or not specify it.");if(Object(r["a"])(t.instanceDivisor)&&t.instanceDivisor>0&&!i.instancedArrays)throw new a["a"]("instanced arrays is not supported");if(Object(r["a"])(t.instanceDivisor)&&t.instanceDivisor<0)throw new a["a"]("attribute must have an instanceDivisor greater than or equal to zero");if(Object(r["a"])(t.instanceDivisor)&&c)throw new a["a"]("attribute cannot have have an instanceDivisor if it is not backed by a buffer");if(Object(r["a"])(t.instanceDivisor)&&t.instanceDivisor>0&&0===t.index)throw new a["a"]("attribute zero cannot have an instanceDivisor greater than 0");const u={index:Object(o["a"])(t.index,n),enabled:Object(o["a"])(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:c?t.value.slice(0):void 0,componentsPerAttribute:l,componentDatatype:Object(o["a"])(t.componentDatatype,$c.FLOAT),normalize:Object(o["a"])(t.normalize,!1),offsetInBytes:Object(o["a"])(t.offsetInBytes,0),strideInBytes:Object(o["a"])(t.strideInBytes,0),instanceDivisor:Object(o["a"])(t.instanceDivisor,0)};if(s)u.vertexAttrib=function(e){const t=this.index;e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),e.vertexAttribPointer(t,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),e.enableVertexAttribArray(t),this.instanceDivisor>0&&(i.glVertexAttribDivisor(t,this.instanceDivisor),i._vertexAttribDivisors[t]=this.instanceDivisor,i._previousDrawInstanced=!0)},u.disableVertexAttribArray=function(e){e.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(u.componentsPerAttribute){case 1:u.vertexAttrib=function(e){e.vertexAttrib1fv(this.index,this.value)};break;case 2:u.vertexAttrib=function(e){e.vertexAttrib2fv(this.index,this.value)};break;case 3:u.vertexAttrib=function(e){e.vertexAttrib3fv(this.index,this.value)};break;case 4:u.vertexAttrib=function(e){e.vertexAttrib4fv(this.index,this.value)};break}u.disableVertexAttribArray=function(e){}}e.push(u)}function DG(e,t,n){for(let i=0;i<t.length;++i){const n=t[i];n.enabled&&n.vertexAttrib(e)}Object(r["a"])(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function jG(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context),i["a"].defined("options.attributes",e.attributes);const t=e.context,n=t._gl,s=e.attributes,c=e.indexBuffer;let l;const u=[];let h=1,d=!1,f=!1,p=s.length;for(l=0;l<p;++l)IG(u,s[l],l,t);for(p=u.length,l=0;l<p;++l){const e=u[l];if(Object(r["a"])(e.vertexBuffer)&&0===e.instanceDivisor){const t=e.strideInBytes||e.componentsPerAttribute*$c.getSizeInBytes(e.componentDatatype);h=e.vertexBuffer.sizeInBytes/t;break}}for(l=0;l<p;++l)u[l].instanceDivisor>0&&(d=!0),Object(r["a"])(u[l].value)&&(f=!0);const m={};for(l=0;l<p;++l){const e=u[l].index;if(m[e])throw new a["a"](`Index ${e} is used by more than one attribute.`);m[e]=!0}let _;t.vertexArrayObject&&(_=t.glCreateVertexArray(),t.glBindVertexArray(_),DG(n,u,c),t.glBindVertexArray(null)),this._numberOfVertices=h,this._hasInstancedAttributes=d,this._hasConstantAttributes=f,this._context=t,this._gl=n,this._vao=_,this._attributes=u,this._indexBuffer=c}function PG(e){return e.values.length/e.componentsPerAttribute}function RG(e){return $c.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function MG(e){let t,n,i;const o=[];for(n in e)e.hasOwnProperty(n)&&Object(r["a"])(e[n])&&Object(r["a"])(e[n].values)&&(o.push(n),e[n].componentDatatype===$c.DOUBLE&&(e[n].componentDatatype=$c.FLOAT,e[n].values=$c.createTypedArray($c.FLOAT,e[n].values)));let a;const s=o.length;if(s>0)for(a=PG(e[o[0]]),t=1;t<s;++t){const n=PG(e[o[t]]);if(n!==a)throw new ye["a"](`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${n.toString()}) than attribute ${o[0]} (${a.toString()}).`)}o.sort((function(t,n){return $c.getSizeInBytes(e[n].componentDatatype)-$c.getSizeInBytes(e[t].componentDatatype)}));let c=0;const l={};for(t=0;t<s;++t)n=o[t],i=e[n],l[n]=c,c+=RG(i);if(c>0){const r=$c.getSizeInBytes(e[o[0]].componentDatatype),u=c%r;0!==u&&(c+=r-u);const h=a*c,d=new ArrayBuffer(h),f={};for(t=0;t<s;++t){n=o[t];const i=$c.getSizeInBytes(e[n].componentDatatype);f[n]={pointer:$c.createTypedArray(e[n].componentDatatype,d),index:l[n]/i,strideInComponentType:c/i}}for(t=0;t<a;++t)for(let r=0;r<s;++r){n=o[r],i=e[n];const a=i.values,s=f[n],c=s.pointer,l=i.componentsPerAttribute;for(let e=0;e<l;++e)c[s.index+e]=a[t*l+e];s.index+=s.strideInComponentType}return{buffer:d,offsetsInBytes:l,vertexSizeInBytes:c}}}function NG(e){const t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;const i=t._vertexAttribDivisors,o=e._attributes,r=zF.maximumVertexAttributes;let a;if(n){const e=o.length;for(a=0;a<e;++a){const e=o[a];if(e.enabled){const n=e.instanceDivisor,o=e.index;n!==i[o]&&(t.glVertexAttribDivisor(o,n),i[o]=n)}}}else for(a=0;a<r;++a)i[a]>0&&(t.glVertexAttribDivisor(a,0),i[a]=0)}function LG(e,t){const n=e._attributes,i=n.length;for(let o=0;o<i;++o){const e=n[o];e.enabled&&Object(r["a"])(e.value)&&e.vertexAttrib(t)}}jG.fromGeometry=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context);const t=e.context,n=Object(o["a"])(e.geometry,o["a"].EMPTY_OBJECT),a=Object(o["a"])(e.bufferUsage,EG.DYNAMIC_DRAW),c=Object(o["a"])(e.attributeLocations,o["a"].EMPTY_OBJECT),l=Object(o["a"])(e.interleave,!1),u=e.vertexArrayAttributes;let h,d,f;const p=Object(r["a"])(u)?u:[],m=n.attributes;if(l){const e=MG(m);if(Object(r["a"])(e)){f=SG.createVertexBuffer({context:t,typedArray:e.buffer,usage:a});const n=e.offsetsInBytes,i=e.vertexSizeInBytes;for(h in m)m.hasOwnProperty(h)&&Object(r["a"])(m[h])&&(d=m[h],Object(r["a"])(d.values)?p.push({index:c[h],vertexBuffer:f,componentDatatype:d.componentDatatype,componentsPerAttribute:d.componentsPerAttribute,normalize:d.normalize,offsetInBytes:n[h],strideInBytes:i}):p.push({index:c[h],value:d.value,componentDatatype:d.componentDatatype,normalize:d.normalize}))}}else for(h in m)if(m.hasOwnProperty(h)&&Object(r["a"])(m[h])){d=m[h];let e=d.componentDatatype;e===$c.DOUBLE&&(e=$c.FLOAT),f=void 0,Object(r["a"])(d.values)&&(f=SG.createVertexBuffer({context:t,typedArray:$c.createTypedArray(e,d.values),usage:a})),p.push({index:c[h],vertexBuffer:f,value:d.value,componentDatatype:e,componentsPerAttribute:d.componentsPerAttribute,normalize:d.normalize})}let _;const g=n.indices;return Object(r["a"])(g)&&(_=kh.computeNumberOfVertices(n)>=s["a"].SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?SG.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:a,indexDatatype:uu.UNSIGNED_INT}):SG.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:a,indexDatatype:uu.UNSIGNED_SHORT})),new jG({context:t,attributes:p,indexBuffer:_})},Object.defineProperties(jG.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}}),jG.prototype.getAttribute=function(e){return i["a"].defined("index",e),this._attributes[e]},jG.prototype._bind=function(){Object(r["a"])(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&NG(this),this._hasConstantAttributes&&LG(this,this._gl)):DG(this._gl,this._attributes,this._indexBuffer)},jG.prototype._unBind=function(){if(Object(r["a"])(this._vao))this._context.glBindVertexArray(null);else{const e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){const i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}},jG.prototype.isDestroyed=function(){return!1},jG.prototype.destroy=function(){const e=this._attributes;for(let n=0;n<e.length;++n){const t=e[n].vertexBuffer;Object(r["a"])(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy()}const t=this._indexBuffer;return Object(r["a"])(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),Object(r["a"])(this._vao)&&this._context.glDeleteVertexArray(this._vao),Wl(this)};var BG=jG;function FG(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("context is required");if(!Object(r["a"])(t))throw new a["a"]("attributes is required");if(!Object(r["a"])(n))throw new a["a"]("numberOfInstances is required");if(this._attributes=t,this._numberOfInstances=n,0===t.length)return;const i=kG(t),o=e.floatingPointTexture,s=i===WS.FLOAT&&!o,c=UG(t,s),l=VG(c,t,s),u=Math.floor(zF.maximumTextureSize/l),h=Math.min(n,u),d=l*h,f=Math.ceil(n/h),p=1/d,m=.5*p,_=1/f,g=.5*_;this._textureDimensions=new Ht(d,f),this._textureStep=new be(p,m,_,g),this._pixelDatatype=s?WS.UNSIGNED_BYTE:i,this._packFloats=s,this._offsets=c,this._stride=l,this._texture=void 0;const b=4*d*f;this._batchValues=i!==WS.FLOAT||s?new Uint8Array(b):new Float32Array(b),this._batchValuesDirty=!1}function kG(e){let t=!1;const n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==$c.UNSIGNED_BYTE){t=!0;break}return t?WS.FLOAT:WS.UNSIGNED_BYTE}function zG(e,t){const n=e[t].componentsPerAttribute;return 2===n?Ht:3===n?g:4===n?be:Number}function UG(e,t){const n=new Array(e.length);let i=0;const o=e.length;for(let r=0;r<o;++r){const o=e[r],a=o.componentDatatype;n[r]=i,a!==$c.UNSIGNED_BYTE&&t?i+=4:++i}return n}function VG(e,t,n){const i=e.length,o=e[i-1],r=t[i-1],a=r.componentDatatype;return a!==$c.UNSIGNED_BYTE&&n?o+4:o+1}Object.defineProperties(FG.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});const HG=new be;function GG(e,t,n){let i=be.unpack(e,t,HG);const o=be.unpackFloat(i);i=be.unpack(e,t+4,HG);const r=be.unpackFloat(i);i=be.unpack(e,t+8,HG);const a=be.unpackFloat(i);i=be.unpack(e,t+12,HG);const s=be.unpackFloat(i);return be.fromElements(o,r,a,s,n)}function qG(e,t,n){let i=be.packFloat(e.x,HG);be.pack(i,t,n),i=be.packFloat(e.y,i),be.pack(i,t,n+4),i=be.packFloat(e.z,i),be.pack(i,t,n+8),i=be.packFloat(e.w,i),be.pack(i,t,n+12)}const WG=new be;FG.prototype.getBatchedAttribute=function(e,t,n){if(e<0||e>=this._numberOfInstances)throw new a["a"]("instanceIndex is out of range.");if(t<0||t>=this._attributes.length)throw new a["a"]("attributeIndex is out of range");const i=this._attributes,o=this._offsets[t],s=this._stride,c=4*s*e+4*o;let l;l=this._packFloats&&i[t].componentDatatype!==WS.UNSIGNED_BYTE?GG(this._batchValues,c,WG):be.unpack(this._batchValues,c,WG);const u=zG(i,t);return Object(r["a"])(u.fromCartesian4)?u.fromCartesian4(l,n):Object(r["a"])(u.clone)?u.clone(l,n):l.x};const YG=[void 0,void 0,new Ht,new g,new be],XG=new be;function KG(e,t){const n=e._textureDimensions;e._texture=new nk({context:t,pixelFormat:XS.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:$F.NEAREST,flipY:!1})}function JG(e){const t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}function ZG(e){const t=e._stride;return 1===e._textureDimensions.y?`uniform vec4 batchTextureStep; \nvec2 computeSt(float batchId) \n{ \n float stepX = batchTextureStep.x; \n float centerX = batchTextureStep.y; \n float numberOfAttributes = float(${t}); \n return vec2(centerX + (batchId * numberOfAttributes * stepX), 0.5); \n} \n`:`uniform vec4 batchTextureStep; \nuniform vec2 batchTextureDimensions; \nvec2 computeSt(float batchId) \n{ \n float stepX = batchTextureStep.x; \n float centerX = batchTextureStep.y; \n float stepY = batchTextureStep.z; \n float centerY = batchTextureStep.w; \n float numberOfAttributes = float(${t}); \n float xId = mod(batchId * numberOfAttributes, batchTextureDimensions.x); \n float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x); \n return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); \n} \n`}function $G(e){return 1===e?"float":"vec"+e}function QG(e){return 1===e?".x":2===e?".xy":3===e?".xyz":""}function eq(e,t){const n=e._attributes,i=n[t],o=i.componentsPerAttribute,r=i.functionName,a=$G(o),s=QG(o),c=e._offsets[t];let l=`${a} ${r}(float batchId) \n{ \n vec2 st = computeSt(batchId); \n st.x += batchTextureStep.x * float(${c}); \n`;return e._packFloats&&i.componentDatatype!==WS.UNSIGNED_BYTE?l+="vec4 textureValue; \ntextureValue.x = czm_unpackFloat(texture2D(batchTexture, st)); \ntextureValue.y = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x, 0.0))); \ntextureValue.z = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0))); \ntextureValue.w = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0))); \n":l+=" vec4 textureValue = texture2D(batchTexture, st); \n",l+=` ${a} value = textureValue${s}; \n`,e._pixelDatatype!==WS.UNSIGNED_BYTE||i.componentDatatype!==$c.UNSIGNED_BYTE||i.normalize?e._pixelDatatype===WS.FLOAT&&i.componentDatatype===$c.UNSIGNED_BYTE&&i.normalize&&(l+="value /= 255.0; \n"):l+="value *= 255.0; \n",l+=" return value; \n} \n",l}FG.prototype.setBatchedAttribute=function(e,t,n){if(e<0||e>=this._numberOfInstances)throw new a["a"]("instanceIndex is out of range.");if(t<0||t>=this._attributes.length)throw new a["a"]("attributeIndex is out of range");if(!Object(r["a"])(n))throw new a["a"]("value is required.");const i=this._attributes,o=YG[i[t].componentsPerAttribute],s=this.getBatchedAttribute(e,t,o),c=zG(this._attributes,t),l=Object(r["a"])(c.equals)?c.equals(s,n):s===n;if(l)return;const u=XG;u.x=Object(r["a"])(n.x)?n.x:n,u.y=Object(r["a"])(n.y)?n.y:0,u.z=Object(r["a"])(n.z)?n.z:0,u.w=Object(r["a"])(n.w)?n.w:0;const h=this._offsets[t],d=this._stride,f=4*d*e+4*h;this._packFloats&&i[t].componentDatatype!==WS.UNSIGNED_BYTE?qG(u,this._batchValues,f):be.pack(u,this._batchValues,f),this._batchValuesDirty=!0},FG.prototype.update=function(e){Object(r["a"])(this._texture)&&!this._batchValuesDirty||0===this._attributes.length||(this._batchValuesDirty=!1,Object(r["a"])(this._texture)||KG(this,e.context),JG(this))},FG.prototype.getUniformMapCallback=function(){const e=this;return function(t){if(0===e._attributes.length)return t;const n={batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}};return Object(xS["a"])(t,n)}},FG.prototype.getVertexShaderCallback=function(){const e=this._attributes;if(0===e.length)return function(e){return e};let t="uniform highp sampler2D batchTexture; \n";t+=ZG(this)+"\n";const n=e.length;for(let i=0;i<n;++i)t+=eq(this,i);return function(e){const n=e.indexOf("void main"),i=e.substring(0,n),o=e.substring(n);return`${i}\n${t}\n${o}`}},FG.prototype.isDestroyed=function(){return!1},FG.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),Wl(this)};var tq=FG;function nq(e,t,n){let i=!n;const o=e.length;let a;if(!i&&o>1){const t=e[0].modelMatrix;for(a=1;a<o;++a)if(!Ne.equals(t,e[a].modelMatrix)){i=!0;break}}if(i)for(a=0;a<o;++a)Object(r["a"])(e[a].geometry)&&_m.transformToWorldCoordinates(e[a]);else Ne.multiplyTransformation(t,e[0].modelMatrix,t)}function iq(e,t){const n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});const r=n.batchId.values;for(let a=0;a<o;++a)r[a]=t}function oq(e){const t=e.length;for(let n=0;n<t;++n){const t=e[n];Object(r["a"])(t.geometry)?iq(t.geometry,n):Object(r["a"])(t.westHemisphereGeometry)&&Object(r["a"])(t.eastHemisphereGeometry)&&(iq(t.westHemisphereGeometry,n),iq(t.eastHemisphereGeometry,n))}}function rq(e){const t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,s=e.vertexCacheOptimize,c=e.compressVertices,l=e.modelMatrix;let u,h,d,f=t.length;for(u=0;u<f;++u)if(Object(r["a"])(t[u].geometry)){d=t[u].geometry.primitiveType;break}for(u=1;u<f;++u)if(Object(r["a"])(t[u].geometry)&&t[u].geometry.primitiveType!==d)throw new a["a"]("All instance geometries must have the same primitiveType.");if(nq(t,l,o),!o)for(u=0;u<f;++u)Object(r["a"])(t[u].geometry)&&_m.splitLongitude(t[u]);if(oq(t),s)for(u=0;u<f;++u){const e=t[u];Object(r["a"])(e.geometry)?(_m.reorderForPostVertexCache(e.geometry),_m.reorderForPreVertexCache(e.geometry)):Object(r["a"])(e.westHemisphereGeometry)&&Object(r["a"])(e.eastHemisphereGeometry)&&(_m.reorderForPostVertexCache(e.westHemisphereGeometry),_m.reorderForPreVertexCache(e.westHemisphereGeometry),_m.reorderForPostVertexCache(e.eastHemisphereGeometry),_m.reorderForPreVertexCache(e.eastHemisphereGeometry))}let p=_m.combineInstances(t);for(f=p.length,u=0;u<f;++u){h=p[u];const e=h.attributes;if(o)for(const t in e)e.hasOwnProperty(t)&&e[t].componentDatatype===$c.DOUBLE&&_m.encodeAttribute(h,t,t+"3DHigh",t+"3DLow");else for(const t in e)if(e.hasOwnProperty(t)&&e[t].componentDatatype===$c.DOUBLE){const e=t+"3D",i=t+"2D";_m.projectTo2D(h,t,e,i,n),Object(r["a"])(h.boundingSphere)&&"position"===t&&(h.boundingSphereCV=Tt.fromVertices(h.attributes.position2D.values)),_m.encodeAttribute(h,e,e+"High",e+"Low"),_m.encodeAttribute(h,i,i+"High",i+"Low")}c&&_m.compressVertices(h)}if(!i){let e=[];for(f=p.length,u=0;u<f;++u)h=p[u],e=e.concat(_m.fitToUnsignedShortIndices(h));p=e}return p}function aq(e,t,n,i){let o,a,s;const c=i.length-1;if(c>=0){const e=i[c];o=e.offset+e.count,s=e.index,a=n[s].indices.length}else o=0,s=0,a=n[s].indices.length;const l=e.length;for(let u=0;u<l;++u){const c=e[u],l=c[t];if(!Object(r["a"])(l))continue;const h=l.indices.length;o+h>a&&(o=0,a=n[++s].indices.length),i.push({index:s,offset:o,count:h}),o+=h}}function sq(e,t){const n=[];return aq(e,"geometry",t,n),aq(e,"westHemisphereGeometry",t,n),aq(e,"eastHemisphereGeometry",t,n),n}const cq={};function lq(e,t){const n=e.attributes;for(const i in n)if(n.hasOwnProperty(i)){const e=n[i];Object(r["a"])(e)&&Object(r["a"])(e.values)&&t.push(e.values.buffer)}Object(r["a"])(e.indices)&&t.push(e.indices.buffer)}function uq(e,t){const n=e.length;for(let i=0;i<n;++i)lq(e[i],t)}function hq(e){let t=1;const n=e.length;for(let i=0;i<n;i++){const n=e[i];if(++t,!Object(r["a"])(n))continue;const o=n.attributes;t+=7+2*Tt.packedLength+(Object(r["a"])(n.indices)?n.indices.length:0);for(const e in o)if(o.hasOwnProperty(e)&&Object(r["a"])(o[e])){const n=o[e];t+=5+n.values.length}}return t}function dq(e,t){const n=e.length,i=new Float64Array(1+19*n);let o=0;i[o++]=n;for(let a=0;a<n;a++){const t=e[a];if(Ne.pack(t.modelMatrix,i,o),o+=Ne.packedLength,Object(r["a"])(t.attributes)&&Object(r["a"])(t.attributes.offset)){const e=t.attributes.offset.value;i[o]=e[0],i[o+1]=e[1],i[o+2]=e[2]}o+=3}return t.push(i.buffer),i}function fq(e){const t=e,n=new Array(t[0]);let i=0,o=1;while(o<t.length){const e=Ne.unpack(t,o);let a;o+=Ne.packedLength,Object(r["a"])(t[o])&&(a={offset:new ES(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:e,attributes:a}}return n}function pq(e){const t=e.length,n=1+(Tt.packedLength+1)*t,i=new Float32Array(n);let o=0;i[o++]=t;for(let a=0;a<t;++a){const t=e[a];Object(r["a"])(t)?(i[o++]=1,Tt.pack(e[a],i,o)):i[o++]=0,o+=Tt.packedLength}return i}function mq(e){const t=new Array(e[0]);let n=0,i=1;while(i<e.length)1===e[i++]&&(t[n]=Tt.unpack(e,i)),++n,i+=Tt.packedLength;return t}cq.combineGeometry=function(e){let t,n;const i=e.instances,o=i.length;let a,s,c=!1;o>0&&(t=rq(e),t.length>0&&(n=_m.createAttributeLocations(t[0]),e.createPickOffsets&&(a=sq(i,t))),Object(r["a"])(i[0].attributes)&&Object(r["a"])(i[0].attributes.offset)&&(s=new Array(o),c=!0));const l=new Array(o),u=new Array(o);for(let h=0;h<o;++h){const e=i[h],t=e.geometry;Object(r["a"])(t)&&(l[h]=t.boundingSphere,u[h]=t.boundingSphereCV,c&&(s[h]=e.geometry.offsetAttribute));const n=e.eastHemisphereGeometry,o=e.westHemisphereGeometry;Object(r["a"])(n)&&Object(r["a"])(o)&&(Object(r["a"])(n.boundingSphere)&&Object(r["a"])(o.boundingSphere)&&(l[h]=Tt.union(n.boundingSphere,o.boundingSphere)),Object(r["a"])(n.boundingSphereCV)&&Object(r["a"])(o.boundingSphereCV)&&(u[h]=Tt.union(n.boundingSphereCV,o.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:a,offsetInstanceExtend:s,boundingSpheres:l,boundingSpheresCV:u}},cq.packCreateGeometryResults=function(e,t){const n=new Float64Array(hq(e)),i=[],a={},s=e.length;let c=0;n[c++]=s;for(let l=0;l<s;l++){const t=e[l],s=Object(r["a"])(t);if(n[c++]=s?1:0,!s)continue;n[c++]=t.primitiveType,n[c++]=t.geometryType,n[c++]=Object(o["a"])(t.offsetAttribute,-1);const u=Object(r["a"])(t.boundingSphere)?1:0;n[c++]=u,u&&Tt.pack(t.boundingSphere,n,c),c+=Tt.packedLength;const h=Object(r["a"])(t.boundingSphereCV)?1:0;n[c++]=h,h&&Tt.pack(t.boundingSphereCV,n,c),c+=Tt.packedLength;const d=t.attributes,f=[];for(const e in d)d.hasOwnProperty(e)&&Object(r["a"])(d[e])&&(f.push(e),Object(r["a"])(a[e])||(a[e]=i.length,i.push(e)));n[c++]=f.length;for(let e=0;e<f.length;e++){const t=f[e],i=d[t];n[c++]=a[t],n[c++]=i.componentDatatype,n[c++]=i.componentsPerAttribute,n[c++]=i.normalize?1:0,n[c++]=i.values.length,n.set(i.values,c),c+=i.values.length}const p=Object(r["a"])(t.indices)?t.indices.length:0;n[c++]=p,p>0&&(n.set(t.indices,c),c+=p)}return t.push(n.buffer),{stringTable:i,packedData:n}},cq.unpackCreateGeometryResults=function(e){const t=e.stringTable,n=e.packedData;let i;const o=new Array(n[0]);let r=0,a=1;while(a<n.length){const e=1===n[a++];if(!e){o[r++]=void 0;continue}const s=n[a++],c=n[a++];let l,u,h=n[a++];-1===h&&(h=void 0);const d=1===n[a++];d&&(l=Tt.unpack(n,a)),a+=Tt.packedLength;const f=1===n[a++];let p,m,_;f&&(u=Tt.unpack(n,a)),a+=Tt.packedLength;const g=new Hh,b=n[a++];for(i=0;i<b;i++){const e=t[n[a++]],i=n[a++];_=n[a++];const o=0!==n[a++];p=n[a++],m=$c.createTypedArray(i,p);for(let t=0;t<p;t++)m[t]=n[a++];g[e]=new Uh({componentDatatype:i,componentsPerAttribute:_,normalize:o,values:m})}let y;if(p=n[a++],p>0){const e=m.length/_;for(y=uu.createTypedArray(e,p),i=0;i<p;i++)y[i]=n[a++]}o[r++]=new kh({primitiveType:s,geometryType:c,boundingSphere:l,boundingSphereCV:u,indices:y,attributes:g,offsetAttribute:h})}return o},cq.packCombineGeometryParameters=function(e,t){const n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:dq(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof V,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}},cq.unpackCombineGeometryParameters=function(e){const t=fq(e.packedInstances),n=e.createGeometryResults,i=n.length;let o=0;for(let s=0;s<i;s++){const e=cq.unpackCreateGeometryResults(n[s]),i=e.length;for(let n=0;n<i;n++){const i=e[n],r=t[o];r.geometry=i,++o}}const r=z.clone(e.ellipsoid),a=e.isGeographic?new V(r):new Ll(r);return{instances:t,ellipsoid:r,projection:a,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:Ne.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}},cq.packCombineGeometryResults=function(e,t){Object(r["a"])(e.geometries)&&uq(e.geometries,t);const n=pq(e.boundingSpheres),i=pq(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}},cq.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:mq(e.boundingSpheres),boundingSpheresCV:mq(e.boundingSpheresCV)}};var _q=cq;const gq={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6};var bq=Object.freeze(gq);const yq={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3,getMorphTime:function(e){return e===yq.SCENE3D?1:e!==yq.MORPHING?0:void 0}};var vq=Object.freeze(yq);const Oq={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3,NUMBER_OF_SHADOW_MODES:4,castShadows:function(e){return e===Oq.ENABLED||e===Oq.CAST_ONLY},receiveShadows:function(e){return e===Oq.ENABLED||e===Oq.RECEIVE_ONLY},fromCastReceive:function(e,t){return e&&t?Oq.ENABLED:e?Oq.CAST_ONLY:t?Oq.RECEIVE_ONLY:Oq.DISABLED}};var wq=Object.freeze(Oq);function Aq(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=new Ne,this.show=Object(o["a"])(e.show,!0),this._vertexCacheOptimize=Object(o["a"])(e.vertexCacheOptimize,!1),this._interleave=Object(o["a"])(e.interleave,!1),this._releaseGeometryInstances=Object(o["a"])(e.releaseGeometryInstances,!0),this._allowPicking=Object(o["a"])(e.allowPicking,!0),this._asynchronous=Object(o["a"])(e.asynchronous,!0),this._compressVertices=Object(o["a"])(e.compressVertices,!0),this.cull=Object(o["a"])(e.cull,!0),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,Object(r["a"])(this.rtcCenter)&&(!Object(r["a"])(this.geometryInstances)||Array.isArray(this.geometryInstances)&&1!==this.geometryInstances.length))throw new a["a"]("Relative-to-center rendering only supports one geometry instance.");this.shadows=Object(o["a"])(e.shadows,wq.DISABLED),this._translucent=void 0,this._state=bq.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=[],this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._readyPromise=Object(xr["a"])(),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}function Tq(e){const t=e.length,n=[],i=e[0].attributes;let o;for(o in i)if(i.hasOwnProperty(o)&&Object(r["a"])(i[o])){const a=i[o];let s=!0;for(let n=1;n<t;++n){const t=e[n].attributes[o];if(!Object(r["a"])(t)||a.componentDatatype!==t.componentDatatype||a.componentsPerAttribute!==t.componentsPerAttribute||a.normalize!==t.normalize){s=!1;break}}s&&n.push(o)}return n}Object.defineProperties(Aq.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}});const Cq=new Ht,Eq=new g,xq=new be;function Sq(e){const t=e.length;return 1===t?e[0]:2===t?Ht.unpack(e,0,Cq):3===t?g.unpack(e,0,Eq):4===t?be.unpack(e,0,xq):void 0}function Iq(e,t){const n=e.geometryInstances,i=Array.isArray(n)?n:[n],a=i.length;if(0===a)return;const s=Tq(i),c=s.length,l=[],u={},h={};let d;const f=i[0];let p,m,_,g=f.attributes;for(p=0;p<c;++p)m=s[p],_=g[m],u[m]=p,l.push({functionName:"czm_batchTable_"+m,componentDatatype:_.componentDatatype,componentsPerAttribute:_.componentsPerAttribute,normalize:_.normalize});-1!==s.indexOf("distanceDisplayCondition")&&(l.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:$c.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:$c.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:$c.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:$c.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:$c.FLOAT,componentsPerAttribute:1}),h.center3DHigh=l.length-5,h.center3DLow=l.length-4,h.center2DHigh=l.length-3,h.center2DLow=l.length-2,h.radius=l.length-1),-1!==s.indexOf("offset")&&(l.push({functionName:"czm_batchTable_offset2D",componentDatatype:$c.FLOAT,componentsPerAttribute:3}),d=l.length-1),l.push({functionName:"czm_batchTable_pickColor",componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});const b=l.length,y=new tq(t,l,a);for(p=0;p<a;++p){const n=i[p];g=n.attributes;for(let e=0;e<c;++e){m=s[e],_=g[m];const t=Sq(_.value),n=u[m];y.setBatchedAttribute(p,n,t)}const a={primitive:Object(o["a"])(n.pickPrimitive,e)};Object(r["a"])(n.id)&&(a.id=n.id);const l=t.createPickId(a);e._pickIds.push(l);const h=l.color,d=xq;d.x=j_.floatToByte(h.red),d.y=j_.floatToByte(h.green),d.z=j_.floatToByte(h.blue),d.w=j_.floatToByte(h.alpha),y.setBatchedAttribute(p,b-1,d)}e._batchTable=y,e._batchTableAttributeIndices=u,e._batchTableBoundingSphereAttributeIndices=h,e._batchTableOffsetAttribute2DIndex=d}function Dq(e){let t;return t=Array.isArray(e.values)?e.values.slice(0):new e.values.constructor(e.values),new Uh({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function jq(e){const t=e.attributes,n=new Hh;for(const o in t)t.hasOwnProperty(o)&&Object(r["a"])(t[o])&&(n[o]=Dq(t[o]));let i;if(Object(r["a"])(e.indices)){const t=e.indices;i=Array.isArray(t)?t.slice(0):new t.constructor(t)}return new kh({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:Tt.clone(e.boundingSphere)})}function Pq(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:Ne.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}const Rq=/attribute\s+vec(?:3|4)\s+(.*)3DHigh;/g;function Mq(e){const t=bG.replaceMain(e,"czm_non_pick_main"),n="varying vec4 v_pickColor; \nvoid main() \n{ \n czm_non_pick_main(); \n v_pickColor = czm_batchTable_pickColor(batchId); \n}";return`${t}\n${n}`}function Nq(e){return"varying vec4 v_pickColor;\n"+e}function Lq(e,t){if(!e.compressVertices)return t;const n=-1!==t.search(/attribute\s+vec3\s+normal;/g),i=-1!==t.search(/attribute\s+vec2\s+st;/g);if(!n&&!i)return t;const o=-1!==t.search(/attribute\s+vec3\s+tangent;/g),r=-1!==t.search(/attribute\s+vec3\s+bitangent;/g);let a=i&&n?2:1;a+=o||r?1:0;const s=a>1?"vec"+a:"float",c="compressedAttributes",l=`attribute ${s} ${c};`;let u="",h="";if(i){u+="vec2 st;\n";const e=a>1?c+".x":c;h+=` st = czm_decompressTextureCoordinates(${e});\n`}n&&o&&r?(u+="vec3 normal;\nvec3 tangent;\nvec3 bitangent;\n",h+=` czm_octDecode(${c}.${i?"yz":"xy"}, normal, tangent, bitangent);\n`):(n&&(u+="vec3 normal;\n",h+=` normal = czm_octDecode(${c}${a>1?"."+(i?"y":"x"):""});\n`),o&&(u+="vec3 tangent;\n",h+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"});\n`),r&&(u+="vec3 bitangent;\n",h+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"});\n`));let d=t;d=d.replace(/attribute\s+vec3\s+normal;/g,""),d=d.replace(/attribute\s+vec2\s+st;/g,""),d=d.replace(/attribute\s+vec3\s+tangent;/g,""),d=d.replace(/attribute\s+vec3\s+bitangent;/g,""),d=bG.replaceMain(d,"czm_non_compressed_main");const f=`void main() \n{ \n${h} czm_non_compressed_main(); \n}`;return[l,u,d,f].join("\n")}function Bq(e){let t=bG.replaceMain(e,"czm_non_depth_clamp_main");return t+="void main() {\n czm_non_depth_clamp_main();\n gl_Position = czm_depthClamp(gl_Position);}\n",t}function Fq(e){let t=bG.replaceMain(e,"czm_non_depth_clamp_main");return t+="void main() {\n czm_non_depth_clamp_main();\n#if defined(GL_EXT_frag_depth)\n #if defined(LOG_DEPTH)\n czm_writeLogDepth();\n #else\n czm_writeDepthClamp();\n #endif\n#endif\n}\n",t="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n"+t,t}function kq(e,t){const n=e.vertexAttributes;for(const i in n)if(n.hasOwnProperty(i)&&!Object(r["a"])(t[i]))throw new a["a"](`Appearance/Geometry mismatch. The appearance requires vertex shader attribute input '${i}', which was not computed as part of the Geometry. Use the appearance's vertexFormat property when constructing the geometry.`)}function zq(e,t){return function(){return e[t]}}Aq._modifyShaderPosition=function(e,t,n){let i,o="",a="",s="";while(null!==(i=Rq.exec(t))){const c=i[1],l=`vec4 czm_compute${c[0].toUpperCase()}${c.substr(1)}()`;"vec4 czm_computePosition()"!==l&&(o+=l+";\n"),Object(r["a"])(e.rtcCenter)?(t=t.replace(/attribute\s+vec(?:3|4)\s+position3DHigh;/g,""),t=t.replace(/attribute\s+vec(?:3|4)\s+position3DLow;/g,""),o+="uniform mat4 u_modifiedModelView;\n",a+="attribute vec4 position;\n",s+=l+"\n{\n return u_modifiedModelView * position;\n}\n\n",t=t.replace(/czm_modelViewRelativeToEye\s+\*\s+/g,""),t=t.replace(/czm_modelViewProjectionRelativeToEye/g,"czm_projection")):n?s+=l+"\n{\n"+` return czm_translateRelativeToEye(${c}3DHigh, ${c}3DLow);\n}\n\n`:(a+=`attribute vec3 ${c}2DHigh;\nattribute vec3 ${c}2DLow;\n`,s+=l+"\n{\n vec4 p;\n if (czm_morphTime == 1.0)\n {\n"+` p = czm_translateRelativeToEye(${c}3DHigh, ${c}3DLow);\n }\n else if (czm_morphTime == 0.0)\n {\n`+` p = czm_translateRelativeToEye(${c}2DHigh.zxy, ${c}2DLow.zxy);\n }\n else\n {\n p = czm_columbusViewMorph(\n`+` czm_translateRelativeToEye(${c}2DHigh.zxy, ${c}2DLow.zxy),\n`+` czm_translateRelativeToEye(${c}3DHigh, ${c}3DLow),\n czm_morphTime);\n }\n return p;\n}\n\n`)}return[o,a,t,s].join("\n")},Aq._appendShowToShader=function(e,t){if(!Object(r["a"])(e._batchTableAttributeIndices.show))return t;const n=bG.replaceMain(t,"czm_non_show_main"),i="void main() \n{ \n czm_non_show_main(); \n gl_Position *= czm_batchTable_show(batchId); \n}";return`${n}\n${i}`},Aq._updateColorAttribute=function(e,t,n){if(!Object(r["a"])(e._batchTableAttributeIndices.color)&&!Object(r["a"])(e._batchTableAttributeIndices.depthFailColor))return t;if(-1===t.search(/attribute\s+vec4\s+color;/g))return t;if(n&&!Object(r["a"])(e._batchTableAttributeIndices.depthFailColor))throw new a["a"]("A depthFailColor per-instance attribute is required when using a depth fail appearance that uses a color attribute.");let i=t;return i=i.replace(/attribute\s+vec4\s+color;/g,""),i=n?i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i},Aq._updatePickColorAttribute=function(e){let t=e.replace(/attribute\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t},Aq._appendOffsetToShader=function(e,t){if(!Object(r["a"])(e._batchTableAttributeIndices.offset))return t;let n="attribute float batchId;\n";n+="attribute float applyOffset;";let i=t.replace(/attribute\s+float\s+batchId;/g,n),o="vec4 $1 = czm_computePosition();\n";return o+=" if (czm_sceneMode == czm_sceneMode3D)\n",o+=" {\n",o+=" $1 = $1 + vec4(czm_batchTable_offset(batchId) * applyOffset, 0.0);",o+=" }\n",o+=" else\n",o+=" {\n",o+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",o+=" }\n",i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i},Aq._appendDistanceDisplayConditionToShader=function(e,t,n){if(!Object(r["a"])(e._batchTableAttributeIndices.distanceDisplayCondition))return t;const i=bG.replaceMain(t,"czm_non_distanceDisplayCondition_main");let o="void main() \n{ \n czm_non_distanceDisplayCondition_main(); \n vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId);\n vec3 boundingSphereCenter3DHigh = czm_batchTable_boundingSphereCenter3DHigh(batchId);\n vec3 boundingSphereCenter3DLow = czm_batchTable_boundingSphereCenter3DLow(batchId);\n float boundingSphereRadius = czm_batchTable_boundingSphereRadius(batchId);\n";return o+=n?" vec4 centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);\n":" vec3 boundingSphereCenter2DHigh = czm_batchTable_boundingSphereCenter2DHigh(batchId);\n vec3 boundingSphereCenter2DLow = czm_batchTable_boundingSphereCenter2DLow(batchId);\n vec4 centerRTE;\n if (czm_morphTime == 1.0)\n {\n centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);\n }\n else if (czm_morphTime == 0.0)\n {\n centerRTE = czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy);\n }\n else\n {\n centerRTE = czm_columbusViewMorph(\n czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy),\n czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow),\n czm_morphTime);\n }\n",o+=" float radiusSq = boundingSphereRadius * boundingSphereRadius; \n float distanceSq; \n if (czm_sceneMode == czm_sceneMode2D) \n { \n distanceSq = czm_eyeHeight2D.y - radiusSq; \n } \n else \n { \n distanceSq = dot(centerRTE.xyz, centerRTE.xyz) - radiusSq; \n } \n distanceSq = max(distanceSq, 0.0); \n float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; \n float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; \n float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; \n gl_Position *= show; \n}",`${i}\n${o}`};const Uq=Math.max(Ta.hardwareConcurrency-1,1);let Vq;const Hq=new ou("combineGeometry");function Gq(e,t){let n,i,s,c;const l=e._instanceIds;if(e._state===bq.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];const u=e._numberOfInstances=n.length,h=[];let d,f=[];for(s=0;s<u;++s){if(i=n[s].geometry,l.push(n[s].id),!Object(r["a"])(i._workerName))throw new a["a"]("_workerName must be defined for asynchronous geometry.");f.push({moduleName:i._workerName,geometry:i})}if(!Object(r["a"])(Vq))for(Vq=new Array(Uq),s=0;s<Uq;s++)Vq[s]=new ou("createGeometry");for(f=jB(f,Uq),s=0;s<f.length;s++){let e=0;const t=f[s],n=t.length;for(c=0;c<n;++c)d=t[c],i=d.geometry,Object(r["a"])(i.constructor.pack)&&(d.offset=e,e+=Object(o["a"])(i.constructor.packedLength,i.packedLength));let a;if(e>0){const o=new Float64Array(e);for(a=[o.buffer],c=0;c<n;++c)d=t[c],i=d.geometry,Object(r["a"])(i.constructor.pack)&&(i.constructor.pack(i,o,d.offset),d.geometry=o)}h.push(Vq[s].scheduleTask({subTasks:f[s]},a))}e._state=bq.CREATING,Promise.all(h).then((function(t){e._createGeometryResults=t,e._state=bq.CREATED})).catch((function(n){gW(e,t,bq.FAILED,n)}))}else if(e._state===bq.CREATED){const i=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];const o=t.scene3DOnly,a=t.mapProjection,s=Hq.scheduleTask(_q.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:a.ellipsoid,projection:a,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:o,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},i),i);e._createGeometryResults=void 0,e._state=bq.COMBINING,Promise.resolve(s).then((function(n){const i=_q.unpackCombineGeometryResults(n);e._geometries=i.geometries,e._attributeLocations=i.attributeLocations,e.modelMatrix=Ne.clone(i.modelMatrix,e.modelMatrix),e._pickOffsets=i.pickOffsets,e._offsetInstanceExtend=i.offsetInstanceExtend,e._instanceBoundingSpheres=i.boundingSpheres,e._instanceBoundingSpheresCV=i.boundingSpheresCV,Object(r["a"])(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=bq.COMBINED):gW(e,t,bq.FAILED,void 0)})).catch((function(n){gW(e,t,bq.FAILED,n)}))}}function qq(e,t){const n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),a=e._instanceIds;let s,c,l=0;for(c=0;c<i;c++){s=n[c];const e=s.geometry;let t;t=Object(r["a"])(e.attributes)&&Object(r["a"])(e.primitiveType)?jq(e):e.constructor.createGeometry(e),o[l++]=Pq(s,t),a.push(s.id)}o.length=l;const u=t.scene3DOnly,h=t.mapProjection,d=_q.combineGeometry({instances:o,ellipsoid:h.ellipsoid,projection:h,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=Ne.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,Object(r["a"])(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=bq.COMBINED):gW(e,t,bq.FAILED,void 0)}function Wq(e,t){const n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!Object(r["a"])(n))return void(e._recomputeBoundingSpheres=!1);let i;const o=e._offsetInstanceExtend,a=e._instanceBoundingSpheres,s=a.length;let c=e._tempBoundingSpheres;if(!Object(r["a"])(c)){for(c=new Array(s),i=0;i<s;i++)c[i]=new Tt;e._tempBoundingSpheres=c}for(i=0;i<s;++i){let t=c[i];const r=e._batchTable.getBatchedAttribute(i,n,new g);t=a[i].clone(t),hW(t,r,o[i])}const l=[],u=[],h=[];for(i=0;i<s;++i){const e=c[i],t=e.center.x-e.radius;t>0||Tt.intersectPlane(e,No.ORIGIN_ZX_PLANE)!==G.INTERSECTING?l.push(e):(u.push(e),h.push(e))}let d=l[0],f=h[0],p=u[0];for(i=1;i<l.length;i++)d=Tt.union(d,l[i]);for(i=1;i<h.length;i++)f=Tt.union(f,h[i]);for(i=1;i<u.length;i++)p=Tt.union(p,u[i]);const m=[];for(Object(r["a"])(d)&&m.push(d),Object(r["a"])(f)&&m.push(f),Object(r["a"])(p)&&m.push(p),i=0;i<m.length;i++){const n=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=n,e._boundingSphereCV[i]=Tt.projectTo2D(n,t.mapProjection,e._boundingSphereCV[i])}Aq._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}const Yq=new kf,Xq=new I,Kq=new g,Jq=new Tt;function Zq(e,t){const n=Object(r["a"])(e._batchTableAttributeIndices.distanceDisplayCondition);if(!n||e._batchTableBoundingSpheresUpdated)return;const i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,a=i.center3DLow,s=i.center2DHigh,c=i.center2DLow,l=i.radius,u=t.mapProjection,h=u.ellipsoid,d=e._batchTable,f=e._instanceBoundingSpheres,p=f.length;for(let m=0;m<p;++m){let n=f[m];if(!Object(r["a"])(n))continue;const i=e.modelMatrix;Object(r["a"])(i)&&(n=Tt.transform(n,i,Jq));const p=n.center,_=n.radius;let g=kf.fromCartesian(p,Yq);if(d.setBatchedAttribute(m,o,g.high),d.setBatchedAttribute(m,a,g.low),!t.scene3DOnly){const e=h.cartesianToCartographic(p,Xq),t=u.project(e,Kq);g=kf.fromCartesian(t,Yq),d.setBatchedAttribute(m,s,g.high),d.setBatchedAttribute(m,c,g.low)}d.setBatchedAttribute(m,l,_)}e._batchTableBoundingSpheresUpdated=!0}const $q=new g,Qq=new g;function eW(e,t){const n=Object(r["a"])(e._batchTableAttributeIndices.offset);if(!n||e._batchTableOffsetsUpdated||t.scene3DOnly)return;const i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,a=o.ellipsoid,s=e._batchTable,c=e._instanceBoundingSpheres,l=c.length;for(let u=0;u<l;++u){let t=c[u];if(!Object(r["a"])(t))continue;const n=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(g.equals(n,g.ZERO)){s.setBatchedAttribute(u,i,g.ZERO);continue}const l=e.modelMatrix;Object(r["a"])(l)&&(t=Tt.transform(t,l,Jq));let h=t.center;h=a.scaleToGeodeticSurface(h,Qq);let d=a.cartesianToCartographic(h,Xq);const f=o.project(d,Kq),p=g.add(n,h,$q);d=a.cartesianToCartographic(p,d);const m=o.project(d,$q),_=g.subtract(m,f,$q),b=_.x;_.x=_.z,_.z=_.y,_.y=b,s.setBatchedAttribute(u,i,_)}e._batchTableOffsetsUpdated=!0}function tW(e,t){const n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,a=t.context,s=[],c=i.length;for(let l=0;l<c;++l){const c=i[l];if(s.push(BG.fromGeometry({context:a,geometry:c,attributeLocations:n,bufferUsage:EG.STATIC_DRAW,interleave:e._interleave})),Object(r["a"])(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,c);else if(e._boundingSpheres.push(Tt.clone(c.boundingSphere)),e._boundingSphereWC.push(new Tt),!o){const t=c.boundingSphereCV.center,n=t.x,i=t.y,o=t.z;t.x=o,t.y=n,t.z=i,e._boundingSphereCV.push(Tt.clone(c.boundingSphereCV)),e._boundingSphere2D.push(new Tt),e._boundingSphereMorph.push(new Tt)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,gW(e,t,bq.COMPLETE,void 0)}function nW(e,t,n,i){let o,a=n.getRenderState();i?(o=Object(jL["a"])(a,!1),o.cull={enabled:!0,face:LF.BACK},e._frontFaceRS=Mz.fromCache(o),o.cull.face=LF.FRONT,e._backFaceRS=Mz.fromCache(o)):(e._frontFaceRS=Mz.fromCache(a),e._backFaceRS=e._frontFaceRS),o=Object(jL["a"])(a,!1),Object(r["a"])(e._depthFailAppearance)&&(o.depthTest.enabled=!1),Object(r["a"])(e._depthFailAppearance)&&(a=e._depthFailAppearance.getRenderState(),o=Object(jL["a"])(a,!1),o.depthTest.func=TG.GREATER,i?(o.cull={enabled:!0,face:LF.BACK},e._frontFaceDepthFailRS=Mz.fromCache(o),o.cull.face=LF.FRONT,e._backFaceDepthFailRS=Mz.fromCache(o)):(e._frontFaceDepthFailRS=Mz.fromCache(o),e._backFaceDepthFailRS=e._frontFaceRS))}function iW(e,t,n){const i=t.context,o=e._attributeLocations;let a=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);a=Aq._appendOffsetToShader(e,a),a=Aq._appendShowToShader(e,a),a=Aq._appendDistanceDisplayConditionToShader(e,a,t.scene3DOnly),a=Mq(a),a=Aq._updateColorAttribute(e,a,!1),a=Lq(e,a),a=Aq._modifyShaderPosition(e,a,t.scene3DOnly);let s=n.getFragmentShaderSource();s=Nq(s),e._sp=IU.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:o}),kq(e._sp,o),Object(r["a"])(e._depthFailAppearance)&&(a=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),a=Aq._appendShowToShader(e,a),a=Aq._appendDistanceDisplayConditionToShader(e,a,t.scene3DOnly),a=Mq(a),a=Aq._updateColorAttribute(e,a,!0),a=Lq(e,a),a=Aq._modifyShaderPosition(e,a,t.scene3DOnly),a=Bq(a),s=e._depthFailAppearance.getFragmentShaderSource(),s=Nq(s),s=Fq(s),e._spDepthFail=IU.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:o}),kq(e._spDepthFail,o))}const oW=new Ne,rW=new g;function aW(e,t,n,i){const o=Object(r["a"])(n)?n._uniforms:void 0,s={},c=t.uniforms;if(Object(r["a"])(c))for(const u in c)if(c.hasOwnProperty(u)){if(Object(r["a"])(o)&&Object(r["a"])(o[u]))throw new a["a"]("Appearance and material have a uniform with the same name: "+u);s[u]=zq(c,u)}let l=Object(xS["a"])(s,o);return l=e._batchTable.getUniformMapCallback()(l),Object(r["a"])(e.rtcCenter)&&(l.u_modifiedModelView=function(){const t=i.context.uniformState.view;return Ne.multiply(t,e._modelMatrix,oW),Ne.multiplyByPoint(oW,e.rtcCenter,rW),Ne.setTranslation(oW,rW,oW),oW}),l}function sW(e,t,n,i,o,a,s,c){const l=aW(e,t,n,c);let u;Object(r["a"])(e._depthFailAppearance)&&(u=aW(e,e._depthFailAppearance,e._depthFailAppearance.material,c));const h=i?oz.TRANSLUCENT:oz.OPAQUE;let d=o?2:1;d*=Object(r["a"])(e._depthFailAppearance)?2:1,a.length=e._va.length*d;const f=a.length;let p=0;for(let m=0;m<f;++m){let t;o&&(t=a[m],Object(r["a"])(t)||(t=a[m]=new nz({owner:e,primitiveType:e._primitiveType})),t.vertexArray=e._va[p],t.renderState=e._backFaceRS,t.shaderProgram=e._sp,t.uniformMap=l,t.pass=h,++m),t=a[m],Object(r["a"])(t)||(t=a[m]=new nz({owner:e,primitiveType:e._primitiveType})),t.vertexArray=e._va[p],t.renderState=e._frontFaceRS,t.shaderProgram=e._sp,t.uniformMap=l,t.pass=h,Object(r["a"])(e._depthFailAppearance)&&(o&&(++m,t=a[m],Object(r["a"])(t)||(t=a[m]=new nz({owner:e,primitiveType:e._primitiveType})),t.vertexArray=e._va[p],t.renderState=e._backFaceDepthFailRS,t.shaderProgram=e._spDepthFail,t.uniformMap=u,t.pass=h),++m,t=a[m],Object(r["a"])(t)||(t=a[m]=new nz({owner:e,primitiveType:e._primitiveType})),t.vertexArray=e._va[p],t.renderState=e._frontFaceDepthFailRS,t.shaderProgram=e._spDepthFail,t.uniformMap=u,t.pass=h),++p}}function cW(e,t,n,i,o,s,c,l){if(t.mode!==vq.SCENE3D&&!Ne.equals(o,Ne.IDENTITY))throw new a["a"]("Primitive.modelMatrix is only supported in 3D mode.");let u;Aq._updateBoundingVolumes(e,t,o),t.mode===vq.SCENE3D?u=e._boundingSphereWC:t.mode===vq.COLUMBUS_VIEW?u=e._boundingSphereCV:t.mode===vq.SCENE2D&&Object(r["a"])(e._boundingSphere2D)?u=e._boundingSphere2D:Object(r["a"])(e._boundingSphereMorph)&&(u=e._boundingSphereMorph);const h=t.commandList,d=t.passes;if(d.render||d.pick){const t=e.allowPicking,i=wq.castShadows(e.shadows),a=wq.receiveShadows(e.shadows),d=n.length;let f=l?2:1;f*=Object(r["a"])(e._depthFailAppearance)?2:1;for(let e=0;e<d;++e){const r=Math.floor(e/f),l=n[e];l.modelMatrix=o,l.boundingVolume=u[r],l.cull=s,l.debugShowBoundingVolume=c,l.castShadows=i,l.receiveShadows=a,l.pickId=t?"v_pickColor":void 0,h.push(l)}}}Aq._updateBoundingVolumes=function(e,t,n,i){let o,a,s;if(i||!Ne.equals(n,e._modelMatrix))for(Ne.clone(n,e._modelMatrix),a=e._boundingSpheres.length,o=0;o<a;++o)s=e._boundingSpheres[o],Object(r["a"])(s)&&(e._boundingSphereWC[o]=Tt.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=Tt.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=Tt.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));const c=e.appearance.pixelSize;if(Object(r["a"])(c))for(a=e._boundingSpheres.length,o=0;o<a;++o){s=e._boundingSpheres[o];const n=e._boundingSphereWC[o],i=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight),r=i*c;n.radius=s.radius+r}},Aq.prototype.update=function(e){if(!Object(r["a"])(this.geometryInstances)&&0===this._va.length||Object(r["a"])(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&0===this.geometryInstances.length||!Object(r["a"])(this.appearance)||e.mode!==vq.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(Object(r["a"])(this._error))throw this._error;if(Object(r["a"])(this.rtcCenter)&&!e.scene3DOnly)throw new a["a"]("RTC rendering is only available for 3D only scenes.");if(this._state===bq.FAILED)return;const t=e.context;if(Object(r["a"])(this._batchTable)||Iq(this,t),this._batchTable.attributes.length>0){if(0===zF.maximumVertexTextureImageUnits)throw new ye["a"]("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==bq.COMPLETE&&this._state!==bq.COMBINED&&(this.asynchronous?Gq(this,e):qq(this,e)),this._state===bq.COMBINED&&(Zq(this,e),eW(this,e),tW(this,e)),!this.show||this._state!==bq.COMPLETE)return;this._batchTableOffsetsUpdated||eW(this,e),this._recomputeBoundingSpheres&&Wq(this,e);const n=this.appearance,i=n.material;let s=!1,c=!1;this._appearance!==n?(this._appearance=n,this._material=i,s=!0,c=!0):this._material!==i&&(this._material=i,c=!0);const l=this.depthFailAppearance,u=Object(r["a"])(l)?l.material:void 0;this._depthFailAppearance!==l?(this._depthFailAppearance=l,this._depthFailMaterial=u,s=!0,c=!0):this._depthFailMaterial!==u&&(this._depthFailMaterial=u,c=!0);const h=this._appearance.isTranslucent();this._translucent!==h&&(this._translucent=h,s=!0),Object(r["a"])(this._material)&&this._material.update(t);const d=n.closed&&h;if(s){const e=Object(o["a"])(this._createRenderStatesFunction,nW);e(this,t,n,d)}if(c){const t=Object(o["a"])(this._createShaderProgramFunction,iW);t(this,e,n)}if(s||c){const t=Object(o["a"])(this._createCommandsFunction,sW);t(this,n,i,h,d,this._colorCommands,this._pickCommands,e)}const f=Object(o["a"])(this._updateAndQueueCommandsFunction,cW);f(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,d)};const lW=new Tt,uW=new Tt;function hW(e,t,n){if(n===qh.TOP){const n=Tt.clone(e,lW),i=Tt.clone(e,uW);i.center=g.add(i.center,t,i.center),e=Tt.union(n,i,e)}else n===qh.ALL&&(e.center=g.add(e.center,t,e.center));return e}function dW(e,t,n){return function(){const i=e.getBatchedAttribute(t,n),o=e.attributes[n],a=o.componentsPerAttribute,s=$c.createTypedArray(o.componentDatatype,a);return Object(r["a"])(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function fW(e,t,n,i,o){return function(s){if(!Object(r["a"])(s)||!Object(r["a"])(s.length)||s.length<1||s.length>4)throw new a["a"]("value must be and array with length between 1 and 4.");const c=Sq(s);e.setBatchedAttribute(t,n,c),"offset"===o&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}const pW=new g;function mW(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(Object(r["a"])(i)){i=i.clone();const o=e.modelMatrix,a=t.offset;Object(r["a"])(a)&&hW(i,g.fromArray(a.get(),0,pW),e._offsetInstanceExtend[n]),Object(r["a"])(o)&&(i=Tt.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function _W(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}function gW(e,t,n,i){e._error=i,e._state=n,t.afterRender.push((function(){e._ready=e._state===bq.COMPLETE||e._state===bq.FAILED,Object(r["a"])(i)?e._readyPromise.reject(i):e._readyPromise.resolve(e)}))}Aq.prototype.getGeometryInstanceAttributes=function(e){if(!Object(r["a"])(e))throw new a["a"]("id is required");if(!Object(r["a"])(this._batchTable))throw new a["a"]("must call update before calling getGeometryInstanceAttributes");let t=-1;const n=this._lastPerInstanceAttributeIndex,i=this._instanceIds,o=i.length;for(let r=0;r<o;++r){const a=(n+r)%o;if(e===i[a]){t=a;break}}if(-1===t)return;let s=this._perInstanceAttributeCache[t];if(Object(r["a"])(s))return s;const c=this._batchTable,l=this._batchTableAttributeIndices;s={};const u={};for(const r in l)if(l.hasOwnProperty(r)){const e=l[r];u[r]={get:dW(c,t,e),set:fW(c,t,e,this,r)}}return mW(this,u,t),_W(this,u,t),Object.defineProperties(s,u),this._lastPerInstanceAttributeIndex=t,this._perInstanceAttributeCache[t]=s,s},Aq.prototype.isDestroyed=function(){return!1},Aq.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();const n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;const i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,Wl(this)};var bW=Aq,yW="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\nvarying vec4 v_sphericalExtents;\n#else // SPHERICAL\nvarying vec2 v_inversePlaneExtents;\nvarying vec4 v_westPlane;\nvarying vec4 v_southPlane;\n#endif // SPHERICAL\nvarying vec3 v_uvMinAndSphericalLongitudeRotation;\nvarying vec3 v_uMaxAndInverseDistance;\nvarying vec3 v_vMaxAndInverseDistance;\n#endif // TEXTURE_COORDINATES\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\n\n#ifdef NORMAL_EC\nvec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) {\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth);\n return eyeCoordinate.xyz / eyeCoordinate.w;\n}\n\nvec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) {\n vec2 glFragCoordXY = gl_FragCoord.xy;\n // Sample depths at both offset and negative offset\n float upOrRightLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw));\n float downOrLeftLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw));\n // Explicitly evaluate both paths\n // Necessary for multifrustum and for edges of the screen\n bvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw);\n float useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y);\n float useDownOrLeft = float(useUpOrRight == 0.0);\n vec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth);\n vec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth);\n return (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft;\n}\n#endif // NORMAL_EC\n\nvoid main(void)\n{\n#ifdef REQUIRES_EC\n float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw));\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\n#endif\n\n#ifdef REQUIRES_WC\n vec4 worldCoordinate4 = czm_inverseView * eyeCoordinate;\n vec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w;\n#endif\n\n#ifdef TEXTURE_COORDINATES\n vec2 uv;\n#ifdef SPHERICAL\n // Treat world coords as a sphere normal for spherical coordinates\n vec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate);\n sphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z;\n sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi);\n uv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w;\n uv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z;\n#else // SPHERICAL\n // Unpack planes and transform to eye space\n uv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x;\n uv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y;\n#endif // SPHERICAL\n#endif // TEXTURE_COORDINATES\n\n#ifdef PICK\n#ifdef CULL_FRAGMENTS\n // When classifying translucent geometry, logDepthOrDepth == 0.0\n // indicates a region that should not be classified, possibly due to there\n // being opaque pixels there in another buffer.\n // Check for logDepthOrDepth != 0.0 to make sure this should be classified.\n if (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0 || logDepthOrDepth != 0.0) {\n gl_FragColor.a = 1.0; // 0.0 alpha leads to discard from ShaderSource.createPickFragmentShaderSource\n czm_writeDepthClamp();\n }\n#else // CULL_FRAGMENTS\n gl_FragColor.a = 1.0;\n#endif // CULL_FRAGMENTS\n#else // PICK\n\n#ifdef CULL_FRAGMENTS\n // When classifying translucent geometry, logDepthOrDepth == 0.0\n // indicates a region that should not be classified, possibly due to there\n // being opaque pixels there in another buffer.\n if (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y || logDepthOrDepth == 0.0) {\n discard;\n }\n#endif\n\n#ifdef NORMAL_EC\n // Compute normal by sampling adjacent pixels in 2x2 block in screen space\n vec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0));\n vec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0));\n vec3 normalEC = normalize(cross(leftRight, downUp));\n#endif\n\n\n#ifdef PER_INSTANCE_COLOR\n\n vec4 color = czm_gammaCorrect(v_color);\n#ifdef FLAT\n gl_FragColor = color;\n#else // FLAT\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.positionToEyeEC = -eyeCoordinate.xyz;\n czm_material material = czm_getDefaultMaterial(materialInput);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n gl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);\n#endif // FLAT\n\n // Premultiply alpha. Required for classification primitives on translucent globe.\n gl_FragColor.rgb *= gl_FragColor.a;\n\n#else // PER_INSTANCE_COLOR\n\n // Material support.\n // USES_ is distinct from REQUIRES_, because some things are dependencies of each other or\n // dependencies for culling but might not actually be used by the material.\n\n czm_materialInput materialInput;\n\n#ifdef USES_NORMAL_EC\n materialInput.normalEC = normalEC;\n#endif\n\n#ifdef USES_POSITION_TO_EYE_EC\n materialInput.positionToEyeEC = -eyeCoordinate.xyz;\n#endif\n\n#ifdef USES_TANGENT_TO_EYE\n materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC);\n#endif\n\n#ifdef USES_ST\n // Remap texture coordinates from computed (approximately aligned with cartographic space) to the desired\n // texture coordinate system, which typically forms a tight oriented bounding box around the geometry.\n // Shader is provided a set of reference points for remapping.\n materialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z;\n materialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z;\n#endif\n\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef FLAT\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else // FLAT\n gl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);\n#endif // FLAT\n\n // Premultiply alpha. Required for classification primitives on translucent globe.\n gl_FragColor.rgb *= gl_FragColor.a;\n\n#endif // PER_INSTANCE_COLOR\n czm_writeDepthClamp();\n#endif // PICK\n}\n";function vW(e,t,n){i["a"].typeOf.bool("extentsCulling",e),i["a"].typeOf.bool("planarExtents",t),i["a"].typeOf.object("appearance",n),this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};const o=new CW;o.requiresTextureCoordinates=e,o.requiresEC=!n.flat;const r=new CW;if(r.requiresTextureCoordinates=e,n instanceof Kk)o.requiresNormalEC=!n.flat;else{const e=`${n.material.shaderSource}\n${n.fragmentShaderSource}`;o.normalEC=-1!==e.indexOf("materialInput.normalEC")||-1!==e.indexOf("czm_getDefaultMaterial"),o.positionToEyeEC=-1!==e.indexOf("materialInput.positionToEyeEC"),o.tangentToEyeMatrix=-1!==e.indexOf("materialInput.tangentToEyeMatrix"),o.st=-1!==e.indexOf("materialInput.st")}this._colorShaderDependencies=o,this._pickShaderDependencies=r,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}vW.prototype.createFragmentShader=function(e){i["a"].typeOf.bool("columbusView2D",e);const t=this._appearance,n=this._colorShaderDependencies,o=[];e||this._planarExtents||o.push("SPHERICAL"),n.requiresEC&&o.push("REQUIRES_EC"),n.requiresWC&&o.push("REQUIRES_WC"),n.requiresTextureCoordinates&&o.push("TEXTURE_COORDINATES"),this._extentsCulling&&o.push("CULL_FRAGMENTS"),n.requiresNormalEC&&o.push("NORMAL_EC"),t instanceof Kk&&o.push("PER_INSTANCE_COLOR"),n.normalEC&&o.push("USES_NORMAL_EC"),n.positionToEyeEC&&o.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&o.push("USES_TANGENT_TO_EYE"),n.st&&o.push("USES_ST"),t.flat&&o.push("FLAT");let r="";return t instanceof Kk||(r=t.material.shaderSource),new bG({defines:o,sources:[r,yW]})},vW.prototype.createPickFragmentShader=function(e){i["a"].typeOf.bool("columbusView2D",e);const t=this._pickShaderDependencies,n=["PICK"];return e||this._planarExtents||n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new bG({defines:n,sources:[yW],pickColorQualifier:"varying"})},vW.prototype.createVertexShader=function(e,t,n,o){return i["a"].defined("defines",e),i["a"].typeOf.string("vertexShaderSource",t),i["a"].typeOf.bool("columbusView2D",n),i["a"].defined("mapProjection",o),TW(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,o,this._projectionExtentDefines)},vW.prototype.createPickVertexShader=function(e,t,n,o){return i["a"].defined("defines",e),i["a"].typeOf.string("vertexShaderSource",t),i["a"].typeOf.bool("columbusView2D",n),i["a"].defined("mapProjection",o),TW(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,o,this._projectionExtentDefines)};const OW=new g,wW=new I,AW={high:0,low:0};function TW(e,t,n,i,o,a,c,l){const u=i.slice();if(""===l.eastMostYhighDefine){const e=wW;e.longitude=s["a"].PI,e.latitude=0,e.height=0;const t=c.project(e,OW);let n=kf.encode(t.x,AW);l.eastMostYhighDefine="EAST_MOST_X_HIGH "+n.high.toFixed((""+n.high).length+1),l.eastMostYlowDefine="EAST_MOST_X_LOW "+n.low.toFixed((""+n.low).length+1);const i=wW;i.longitude=-s["a"].PI,i.latitude=0,i.height=0;const o=c.project(i,OW);n=kf.encode(o.x,AW),l.westMostYhighDefine="WEST_MOST_X_HIGH "+n.high.toFixed((""+n.high).length+1),l.westMostYlowDefine="WEST_MOST_X_LOW "+n.low.toFixed((""+n.low).length+1)}return n&&(u.push(l.eastMostYhighDefine),u.push(l.eastMostYlowDefine),u.push(l.westMostYhighDefine),u.push(l.westMostYlowDefine)),Object(r["a"])(a)&&a instanceof Kk&&u.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(u.push("TEXTURE_COORDINATES"),t||n||u.push("SPHERICAL"),n&&u.push("COLUMBUS_VIEW_2D")),new bG({defines:u,sources:[o]})}function CW(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}function EW(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/Ht.distance(t,e)}Object.defineProperties(CW.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});const xW=[new Ht,new Ht,new Ht,new Ht];function SW(e,t){const n=xW,i=Ht.unpack(t,0,n[0]),o=Ht.unpack(t,2,n[1]),r=Ht.unpack(t,4,n[2]);e.uMaxVmax=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});const a=1/EW(i,o,r),s=1/EW(i,r,o);e.uvMinAndExtents=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,a,s]})}const IW=new I,DW=new g,jW=new g,PW=new g,RW={high:0,low:0};function MW(e,t,n){const i=IW;i.height=0,i.longitude=e.west,i.latitude=e.south;const o=t.project(i,DW);i.latitude=e.north;const r=t.project(i,jW);i.longitude=e.east,i.latitude=e.south;const a=t.project(i,PW),s=[0,0,0,0],c=[0,0,0,0];let l=kf.encode(o.x,RW);s[0]=l.high,c[0]=l.low,l=kf.encode(o.y,RW),s[1]=l.high,c[1]=l.low,l=kf.encode(r.y,RW),s[2]=l.high,c[2]=l.low,l=kf.encode(a.x,RW),s[3]=l.high,c[3]=l.low,n.planes2D_HIGH=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,value:s}),n.planes2D_LOW=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}const NW=new Ne,LW=new Ne,BW=new g,FW=new I,kW=[new I,new I,new I,new I,new I,new I,new I,new I];function zW(e,t,n,i,o,r){const a=Fe.center(e,FW);a.height=n;const s=I.toCartesian(a,t,BW),c=Hs.eastNorthUpToFixedFrame(s,t,NW),l=Ne.inverse(c,LW),u=e.west,h=e.east,d=e.north,f=e.south,p=kW;p[0].latitude=f,p[0].longitude=u,p[1].latitude=d,p[1].longitude=u,p[2].latitude=d,p[2].longitude=h,p[3].latitude=f,p[3].longitude=h;const m=.5*(u+h),_=.5*(d+f);p[4].latitude=f,p[4].longitude=m,p[5].latitude=d,p[5].longitude=m,p[6].latitude=_,p[6].longitude=u,p[7].latitude=_,p[7].longitude=h;let b=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,O=Number.NEGATIVE_INFINITY;for(let g=0;g<8;g++){p[g].height=n;const e=I.toCartesian(p[g],t,BW);Ne.multiplyByPoint(l,e,e),e.z=0,b=Math.min(b,e.x),y=Math.max(y,e.x),v=Math.min(v,e.y),O=Math.max(O,e.y)}const w=i;w.x=b,w.y=v,w.z=0,Ne.multiplyByPoint(c,w,w);const A=o;A.x=y,A.y=v,A.z=0,Ne.multiplyByPoint(c,A,A),g.subtract(A,w,o);const T=r;T.x=b,T.y=O,T.z=0,Ne.multiplyByPoint(c,T,T),g.subtract(T,w,r)}const UW=new g,VW=new g,HW=new kf;vW.getPlanarTextureCoordinateAttributes=function(e,t,n,r,a){i["a"].typeOf.object("boundingRectangle",e),i["a"].defined("textureCoordinateRotationPoints",t),i["a"].typeOf.object("ellipsoid",n),i["a"].typeOf.object("projection",r);const s=DW,c=UW,l=VW;zW(e,n,Object(o["a"])(a,0),s,c,l);const u={};SW(u,t);const h=kf.fromCartesian(s,HW);return u.southWest_HIGH=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:3,normalize:!1,value:g.pack(h.high,[0,0,0])}),u.southWest_LOW=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:3,normalize:!1,value:g.pack(h.low,[0,0,0])}),u.eastward=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:3,normalize:!1,value:g.pack(c,[0,0,0])}),u.northward=new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:3,normalize:!1,value:g.pack(l,[0,0,0])}),MW(e,r,u),u};const GW=new g;function qW(e,t,n,i){const o=IW;o.latitude=e,o.longitude=t,o.height=0;const r=I.toCartesian(o,n,GW),a=Math.sqrt(r.x*r.x+r.y*r.y),c=s["a"].fastApproximateAtan2(a,r.z),l=s["a"].fastApproximateAtan2(r.x,r.y);return i.x=c,i.y=l,i}const WW=new Ht;function YW(e){return Math.max(e.width,e.height)>vW.MAX_WIDTH_FOR_PLANAR_EXTENTS}vW.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,o){i["a"].typeOf.object("boundingRectangle",e),i["a"].defined("textureCoordinateRotationPoints",t),i["a"].typeOf.object("ellipsoid",n),i["a"].typeOf.object("projection",o);const r=qW(e.south,e.west,n,WW);let a=r.x,c=r.y;const l=qW(e.north,e.east,n,WW);let u=l.x,h=l.y,d=0;c>h&&(d=s["a"].PI-c,c=-s["a"].PI,h+=d),a-=s["a"].EPSILON5,c-=s["a"].EPSILON5,u+=s["a"].EPSILON5,h+=s["a"].EPSILON5;const f=1/(h-c),p=1/(u-a),m={sphericalExtents:new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:4,normalize:!1,value:[a,c,p,f]}),longitudeRotation:new oT({componentDatatype:$c.FLOAT,componentsPerAttribute:1,normalize:!1,value:[d]})};return SW(m,t),MW(e,o,m),m},vW.hasAttributesForTextureCoordinatePlanes=function(e){return Object(r["a"])(e.southWest_HIGH)&&Object(r["a"])(e.southWest_LOW)&&Object(r["a"])(e.northward)&&Object(r["a"])(e.eastward)&&Object(r["a"])(e.planes2D_HIGH)&&Object(r["a"])(e.planes2D_LOW)&&Object(r["a"])(e.uMaxVmax)&&Object(r["a"])(e.uvMinAndExtents)},vW.hasAttributesForSphericalExtents=function(e){return Object(r["a"])(e.sphericalExtents)&&Object(r["a"])(e.longitudeRotation)&&Object(r["a"])(e.planes2D_HIGH)&&Object(r["a"])(e.planes2D_LOW)&&Object(r["a"])(e.uMaxVmax)&&Object(r["a"])(e.uvMinAndExtents)},vW.shouldUseSphericalCoordinates=function(e){return i["a"].typeOf.object("rectangle",e),YW(e)},vW.MAX_WIDTH_FOR_PLANAR_EXTENTS=s["a"].toRadians(1);var XW=vW;const KW={NEVER:Jc.NEVER,LESS:Jc.LESS,EQUAL:Jc.EQUAL,LESS_OR_EQUAL:Jc.LEQUAL,GREATER:Jc.GREATER,NOT_EQUAL:Jc.NOTEQUAL,GREATER_OR_EQUAL:Jc.GEQUAL,ALWAYS:Jc.ALWAYS};var JW=Object.freeze(KW);const ZW={ZERO:Jc.ZERO,KEEP:Jc.KEEP,REPLACE:Jc.REPLACE,INCREMENT:Jc.INCR,DECREMENT:Jc.DECR,INVERT:Jc.INVERT,INCREMENT_WRAP:Jc.INCR_WRAP,DECREMENT_WRAP:Jc.DECR_WRAP};var $W=Object.freeze(ZW);const QW={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15,setCesium3DTileBit:function(){return{enabled:!0,frontFunction:JW.ALWAYS,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.REPLACE},backFunction:JW.ALWAYS,backOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.REPLACE},reference:QW.CESIUM_3D_TILE_MASK,mask:QW.CESIUM_3D_TILE_MASK}}};var eY=Object.freeze(QW);function tY(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.geometryInstances;this.geometryInstances=t,this.show=Object(o["a"])(e.show,!0),this.classificationType=Object(o["a"])(e.classificationType,wG.BOTH),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=Object(o["a"])(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=Object(o["a"])(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._readyPromise=Object(xr["a"])(),this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:Object(o["a"])(e.vertexCacheOptimize,!1),interleave:Object(o["a"])(e.interleave,!1),releaseGeometryInstances:Object(o["a"])(e.releaseGeometryInstances,!0),allowPicking:Object(o["a"])(e.allowPicking,!0),asynchronous:Object(o["a"])(e.asynchronous,!0),compressVertices:Object(o["a"])(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}function nY(e,t){const n=t?JW.EQUAL:JW.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:$W.KEEP,zFail:$W.DECREMENT_WRAP,zPass:$W.KEEP},backFunction:n,backOperation:{fail:$W.KEEP,zFail:$W.INCREMENT_WRAP,zPass:$W.KEEP},reference:eY.CESIUM_3D_TILE_MASK,mask:eY.CESIUM_3D_TILE_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:TG.LESS_OR_EQUAL},depthMask:!1}}function iY(e){return{stencilTest:{enabled:e,frontFunction:JW.NOT_EQUAL,frontOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},backFunction:JW.NOT_EQUAL,backOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},reference:0,mask:eY.CLASSIFICATION_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:MF.PRE_MULTIPLIED_ALPHA_BLEND}}Object.defineProperties(tY.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}}),tY.isSupported=function(e){return e.context.stencilBuffer};const oY={stencilTest:{enabled:!0,frontFunction:JW.NOT_EQUAL,frontOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},backFunction:JW.NOT_EQUAL,backOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},reference:0,mask:eY.CLASSIFICATION_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function rY(e,t,n,i){if(Object(r["a"])(e._rsStencilDepthPass))return;const o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Mz.fromCache(nY(o,!1)),e._rsStencilDepthPass3DTiles=Mz.fromCache(nY(o,!0)),e._rsColorPass=Mz.fromCache(iY(o,!1)),e._rsPickPass=Mz.fromCache(oY)}function aY(e,t){if(!e.compressVertices)return t;if(-1!==t.search(/attribute\s+vec3\s+extrudeDirection;/g)){const e="compressedAttributes",n=`attribute vec2 ${e};`,i="vec3 extrudeDirection;\n",o=` extrudeDirection = czm_octDecode(${e}, 65535.0);\n`;let r=t;r=r.replace(/attribute\s+vec3\s+extrudeDirection;/g,""),r=bG.replaceMain(r,"czm_non_compressed_main");const a=`void main() \n{ \n${o} czm_non_compressed_main(); \n}`;return[n,i,r,a].join("\n")}}function sY(e,t){const n=t.context,i=e._primitive;let o=yG;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=bW._appendDistanceDisplayConditionToShader(i,o),o=bW._modifyShaderPosition(e,o,t.scene3DOnly),o=bW._updateColorAttribute(i,o);const a=e._hasPlanarExtentsAttributes,s=a||e._hasSphericalExtentsAttribute;e._extruded&&(o=aY(i,o));const c=e._extruded?"EXTRUDED_GEOMETRY":"";let l=new bG({defines:[c],sources:[o]});const u=new bG({sources:[vG]}),h=e._primitive._attributeLocations,d=new XW(s,a,e.appearance);if(e._spStencil=IU.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:l,fragmentShaderSource:u,attributeLocations:h}),e._primitive.allowPicking){let a=bG.createPickVertexShaderSource(o);a=bW._appendShowToShader(i,a),a=bW._updatePickColorAttribute(a);const l=d.createPickFragmentShader(!1),u=d.createPickVertexShader([c],a,!1,t.mapProjection);if(e._spPick=IU.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:u,fragmentShaderSource:l,attributeLocations:h}),s){let i=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!Object(r["a"])(i)){const o=d.createPickFragmentShader(!0),r=d.createPickVertexShader([c],a,!0,t.mapProjection);i=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:r,fragmentShaderSource:o,attributeLocations:h})}e._spPick2D=i}}else e._spPick=IU.fromCache({context:n,vertexShaderSource:l,fragmentShaderSource:u,attributeLocations:h});o=bW._appendShowToShader(i,o),l=new bG({defines:[c],sources:[o]}),e._sp=IU.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:l,fragmentShaderSource:u,attributeLocations:h});const f=d.createFragmentShader(!1),p=d.createVertexShader([c],o,!1,t.mapProjection);if(e._spColor=IU.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:p,fragmentShaderSource:f,attributeLocations:h}),s){let i=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!Object(r["a"])(i)){const r=d.createFragmentShader(!0),a=d.createVertexShader([c],o,!0,t.mapProjection);i=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:a,fragmentShaderSource:r,attributeLocations:h})}e._spColor2D=i}}function cY(e,t){const n=e._primitive;let i,o,a,s=2*n._va.length;t.length=s;let c=0,l=n._batchTable.getUniformMapCallback()(e._uniformMap);const u=e._needs2DShader;for(i=0;i<s;i+=2){const s=n._va[c++];o=t[i],Object(r["a"])(o)||(o=t[i]=new nz({owner:e,primitiveType:n._primitiveType})),o.vertexArray=s,o.renderState=e._rsStencilDepthPass,o.shaderProgram=e._sp,o.uniformMap=l,o.pass=oz.TERRAIN_CLASSIFICATION,a=nz.shallowClone(o,o.derivedCommands.tileset),a.renderState=e._rsStencilDepthPass3DTiles,a.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,o.derivedCommands.tileset=a,o=t[i+1],Object(r["a"])(o)||(o=t[i+1]=new nz({owner:e,primitiveType:n._primitiveType})),o.vertexArray=s,o.renderState=e._rsColorPass,o.shaderProgram=e._spColor,o.pass=oz.TERRAIN_CLASSIFICATION;const h=e.appearance,d=h.material;if(Object(r["a"])(d)&&(l=Object(xS["a"])(l,d._uniforms)),o.uniformMap=l,a=nz.shallowClone(o,o.derivedCommands.tileset),a.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,o.derivedCommands.tileset=a,u){let t=nz.shallowClone(o,o.derivedCommands.appearance2D);t.shaderProgram=e._spColor2D,o.derivedCommands.appearance2D=t,t=nz.shallowClone(a,a.derivedCommands.appearance2D),t.shaderProgram=e._spColor2D,a.derivedCommands.appearance2D=t}}const h=e._commandsIgnoreShow,d=e._spStencil;let f=0;s=h.length=s/2;for(let r=0;r<s;++r){const e=h[r]=nz.shallowClone(t[f],h[r]);e.shaderProgram=d,e.pass=oz.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,f+=2}}function lY(e,t){const n=e._usePickOffsets,i=e._primitive;let o,a,s,c,l,u=2*i._va.length,h=0;n&&(o=i._pickOffsets,u=2*o.length),t.length=u;let d=0;const f=i._batchTable.getUniformMapCallback()(e._uniformMap),p=e._needs2DShader;for(s=0;s<u;s+=2){let u=i._va[d++];if(n&&(a=o[h++],u=i._va[a.index]),c=t[s],Object(r["a"])(c)||(c=t[s]=new nz({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),c.vertexArray=u,c.renderState=e._rsStencilDepthPass,c.shaderProgram=e._sp,c.uniformMap=f,c.pass=oz.TERRAIN_CLASSIFICATION,n&&(c.offset=a.offset,c.count=a.count),l=nz.shallowClone(c,c.derivedCommands.tileset),l.renderState=e._rsStencilDepthPass3DTiles,l.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,c.derivedCommands.tileset=l,c=t[s+1],Object(r["a"])(c)||(c=t[s+1]=new nz({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),c.vertexArray=u,c.renderState=e._rsPickPass,c.shaderProgram=e._spPick,c.uniformMap=f,c.pass=oz.TERRAIN_CLASSIFICATION,n&&(c.offset=a.offset,c.count=a.count),l=nz.shallowClone(c,c.derivedCommands.tileset),l.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,c.derivedCommands.tileset=l,p){let t=nz.shallowClone(c,c.derivedCommands.pick2D);t.shaderProgram=e._spPick2D,c.derivedCommands.pick2D=t,t=nz.shallowClone(l,l.derivedCommands.pick2D),t.shaderProgram=e._spPick2D,l.derivedCommands.pick2D=t}}}function uY(e,t,n,i,o,r,a){cY(e,r),lY(e,a)}function hY(e,t){return Math.floor(e%t/2)}function dY(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function fY(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function pY(e,t,n,i,o,a,s,c){const l=e._primitive;let u;bW._updateBoundingVolumes(l,t,o),t.mode===vq.SCENE3D?u=l._boundingSphereWC:t.mode===vq.COLUMBUS_VIEW?u=l._boundingSphereCV:t.mode===vq.SCENE2D&&Object(r["a"])(l._boundingSphere2D)?u=l._boundingSphere2D:Object(r["a"])(l._boundingSphereMorph)&&(u=l._boundingSphereMorph);const h=e.classificationType,d=h!==wG.CESIUM_3D_TILE,f=h!==wG.TERRAIN,p=t.passes;let m,_,g;if(p.render){const i=n.length;for(m=0;m<i;++m)_=u[hY(m,i)],d&&(g=n[m],dY(g,t,o,a,_,s)),f&&(g=n[m].derivedCommands.tileset,dY(g,t,o,a,_,s));if(t.invertClassification){const n=e._commandsIgnoreShow,i=n.length;for(m=0;m<i;++m)_=u[m],g=n[m],dY(g,t,o,a,_,s)}}if(p.pick){const e=i.length,n=l._pickOffsets;for(m=0;m<e;++m){const r=n[hY(m,e)];_=u[r.index],d&&(g=i[m],fY(g,t,o,a,_)),f&&(g=i[m].derivedCommands.tileset,fY(g,t,o,a,_))}}}tY.prototype.update=function(e){if(!Object(r["a"])(this._primitive)&&!Object(r["a"])(this.geometryInstances))return;let t=this.appearance;Object(r["a"])(t)&&Object(r["a"])(t.material)&&t.material.update(e.context);const n=this,i=this._primitiveOptions;if(!Object(r["a"])(this._primitive)){const e=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],s=e.length;let c,l,u,h,d=!1,f=!0,p=!1,m=!1;for(s>0&&(u=e[0].attributes,p=XW.hasAttributesForSphericalExtents(u),m=XW.hasAttributesForTextureCoordinatePlanes(u),h=u.color),c=0;c<s;c++){l=e[c];const t=l.attributes.color;if(Object(r["a"])(t))d=!0;else if(d)throw new a["a"]("All GeometryInstances must have color attributes to use per-instance color.");f=f&&Object(r["a"])(t)&&R_.equals(h,t)}if(!f&&!p&&!m)throw new a["a"]("All GeometryInstances must have the same color attribute except via GroundPrimitives");if(d&&!Object(r["a"])(t)&&(t=new Kk({flat:!0}),this.appearance=t),!d&&t instanceof Kk)throw new a["a"]("PerInstanceColorAppearance requires color GeometryInstanceAttributes on all GeometryInstances");if(Object(r["a"])(t.material)&&!p&&!m)throw new a["a"]("Materials on ClassificationPrimitives are not supported except via GroundPrimitives");this._usePickOffsets=!p&&!m,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=m,this._hasPerColorAttribute=d;const _=new Array(s);for(c=0;c<s;++c)l=e[c],_[c]=new Df({geometry:l.geometry,attributes:l.attributes,modelMatrix:l.modelMatrix,id:l.id,pickPrimitive:Object(o["a"])(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=_,Object(r["a"])(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(e,t){n._createBoundingVolumeFunction(e,t)}),i._createRenderStatesFunction=function(e,t,i,o){rY(n,t)},i._createShaderProgramFunction=function(e,t,i){sY(n,t)},i._createCommandsFunction=function(e,t,i,o,r,a,s){uY(n,void 0,void 0,!0,!1,a,s)},Object(r["a"])(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(e,t,i,o,r,a,s,c){n._updateAndQueueCommandsFunction(e,t,i,o,r,a,s,c)}:i._updateAndQueueCommandsFunction=function(e,t,i,o,r,a,s,c){pY(n,t,i,o,r,a,s,c)},this._primitive=new bW(i),this._primitive.readyPromise.then((function(e){n._ready=!0,n.releaseGeometryInstances&&(n.geometryInstances=void 0);const t=e._error;Object(r["a"])(t)?n._readyPromise.reject(t):n._readyPromise.resolve(n)}))}if(this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=Mz.fromCache(nY(!1,!1)),this._rsStencilDepthPass3DTiles=Mz.fromCache(nY(!1,!0)),this._rsColorPass=Mz.fromCache(iY(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=Mz.fromCache(nY(!0,!1)),this._rsStencilDepthPass3DTiles=Mz.fromCache(nY(!0,!0)),this._rsColorPass=Mz.fromCache(iY(!0))),this._primitive.appearance!==t){if(!this._hasSphericalExtentsAttribute&&!this._hasPlanarExtentsAttributes&&Object(r["a"])(t.material))throw new a["a"]("Materials on ClassificationPrimitives are not supported except via GroundPrimitive");if(!this._hasPerColorAttribute&&t instanceof Kk)throw new a["a"]("PerInstanceColorAppearance requires color GeometryInstanceAttribute");this._primitive.appearance=t}this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)},tY.prototype.getGeometryInstanceAttributes=function(e){if(!Object(r["a"])(this._primitive))throw new a["a"]("must call update before calling getGeometryInstanceAttributes");return this._primitive.getGeometryInstanceAttributes(e)},tY.prototype.isDestroyed=function(){return!1},tY.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,Wl(this)};var mY=tY;const _Y={u_globeMinimumAltitude:function(){return 55e3}};function gY(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.appearance;const n=e.geometryInstances;if(!Object(r["a"])(t)&&Object(r["a"])(n)){const e=Array.isArray(n)?n:[n],i=e.length;for(let n=0;n<i;n++){const i=e[n].attributes;if(Object(r["a"])(i)&&Object(r["a"])(i.color)){t=new Kk({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=Object(o["a"])(e.show,!0),this.classificationType=Object(o["a"])(e.classificationType,wG.BOTH),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=Object(o["a"])(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._readyPromise=Object(xr["a"])(),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=on._defaultMaxTerrainHeight,this._minTerrainHeight=on._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;const i=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:Object(o["a"])(e.vertexCacheOptimize,!1),interleave:Object(o["a"])(e.interleave,!1),releaseGeometryInstances:Object(o["a"])(e.releaseGeometryInstances,!0),allowPicking:Object(o["a"])(e.allowPicking,!0),asynchronous:Object(o["a"])(e.asynchronous,!0),compressVertices:Object(o["a"])(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:i,_extruded:!0,_uniformMap:_Y}}function bY(e){return function(t,n){const i=n.maximumRadius,o=i/Math.cos(.5*t)-i;return e._maxHeight+o}}function yY(e){return function(t,n){return e._minHeight}}Object.defineProperties(gY.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}}),gY.isSupported=mY.isSupported;const vY=new g,OY=new g,wY=new g,AY=new I,TY=new Fe;function CY(e,t){const n=e.mapProjection.ellipsoid;if(!Object(r["a"])(t.attributes)||!Object(r["a"])(t.attributes.position3DHigh))return Object(r["a"])(t.rectangle)?t.rectangle:void 0;const i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,a=i.length;let s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let r=0;r<a;r+=3){const e=g.unpack(i,r,vY),t=g.unpack(o,r,OY),a=g.add(e,t,wY),h=n.cartesianToCartographic(a,AY),d=h.latitude,f=h.longitude;s=Math.min(s,d),c=Math.min(c,f),l=Math.max(l,d),u=Math.max(u,f)}const h=TY;return h.north=l,h.south=s,h.east=u,h.west=c,h}function EY(e,t,n){const i=on.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function xY(e,t,n){const i=t.mapProjection.ellipsoid,o=CY(t,n),r=Xc.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){const n=t.mapProjection,i=Tt.fromRectangleWithHeights2D(o,n,e._maxHeight,e._minHeight);g.fromElements(i.center.z,i.center.x,i.center.y,i.center),e._boundingVolumes2D.push(i)}}function SY(e,t){return Math.floor(e%t/2)}function IY(e,t,n,i,o,r,a){const s=e._primitive;n.mode!==vq.SCENE3D&&t.shaderProgram===s._spColor&&s._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=a,n.commandList.push(t)}function DY(e,t,n,i,o,r){const a=e._primitive;n.mode!==vq.SCENE3D&&t.shaderProgram===a._spPick&&a._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function jY(e,t,n,i,o,r,a,s){let c;c=t.mode===vq.SCENE3D?e._boundingVolumes:e._boundingVolumes2D;const l=e.classificationType,u=l!==wG.CESIUM_3D_TILE,h=l!==wG.TERRAIN,d=t.passes,f=e._primitive;let p,m,_;if(d.render){const i=n.length;for(p=0;p<i;++p)m=c[SY(p,i)],u&&(_=n[p],IY(e,_,t,o,r,m,a)),h&&(_=n[p].derivedCommands.tileset,IY(e,_,t,o,r,m,a));if(t.invertClassification){const n=f._commandsIgnoreShow,i=n.length;for(p=0;p<i;++p)m=c[p],_=n[p],IY(e,_,t,o,r,m,a)}}if(d.pick){const n=i.length;let a;for(e._useFragmentCulling||(a=f._primitive._pickOffsets),p=0;p<n;++p){if(m=c[SY(p,n)],!e._useFragmentCulling){const e=a[SY(p,n)];m=c[e.index]}u&&(_=i[p],DY(e,_,t,o,r,m)),h&&(_=i[p].derivedCommands.tileset,DY(e,_,t,o,r,m))}}}gY.initializeTerrainHeights=function(){return on.initialize()},gY.prototype.update=function(e){if(!Object(r["a"])(this._primitive)&&!Object(r["a"])(this.geometryInstances))return;if(!on.initialized){if(!this.asynchronous)throw new a["a"]("For synchronous GroundPrimitives, you must call GroundPrimitive.initializeTerrainHeights() and wait for the returned promise to resolve.");return void gY.initializeTerrainHeights()}const t=this,n=this._classificationPrimitiveOptions;if(!Object(r["a"])(this._primitive)){const i=e.mapProjection.ellipsoid;let o,s,c;const l=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],u=l.length,h=new Array(u);let d,f;for(d=0;d<u;++d){o=l[d],s=o.geometry;const t=CY(e,s);Object(r["a"])(f)?Object(r["a"])(t)&&Fe.union(f,t,f):f=Fe.clone(t);const n=o.id;if(Object(r["a"])(n)&&Object(r["a"])(t)){const e=on.getBoundingSphere(t,i);this._boundingSpheresKeys.push(n),this._boundingSpheres.push(e)}if(c=s.constructor,!Object(r["a"])(c)||!Object(r["a"])(c.createShadowVolume))throw new a["a"]("Not all of the geometry instances have GroundPrimitive support.")}EY(this,f,i);const p=e.terrainExaggeration,m=e.terrainExaggerationRelativeHeight;this._minHeight=vl.getHeight(this._minTerrainHeight,p,m),this._maxHeight=vl.getHeight(this._maxTerrainHeight,p,m);const _=gY._supportsMaterials(e.context);if(this._useFragmentCulling=_,_){let t,n=!0;for(d=0;d<u;++d)if(o=l[d],s=o.geometry,f=CY(e,s),XW.shouldUseSphericalCoordinates(f)){n=!1;break}for(d=0;d<u;++d){o=l[d],s=o.geometry,c=s.constructor;const r=CY(e,s),a=s.textureCoordinateRotationPoints;t=n?XW.getPlanarTextureCoordinateAttributes(r,a,i,e.mapProjection,this._maxHeight):XW.getSphericalExtentGeometryInstanceAttributes(r,a,i,e.mapProjection);const u=o.attributes;for(const e in u)u.hasOwnProperty(e)&&(t[e]=u[e]);h[d]=new Df({geometry:c.createShadowVolume(s,yY(this),bY(this)),attributes:t,id:o.id})}}else for(d=0;d<u;++d)o=l[d],s=o.geometry,c=s.constructor,h[d]=new Df({geometry:c.createShadowVolume(s,yY(this),bY(this)),attributes:o.attributes,id:o.id});n.geometryInstances=h,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(e,n){xY(t,e,n)},n._updateAndQueueCommandsFunction=function(e,n,i,o,r,a,s,c){jY(t,n,i,o,r,a,s,c)},this._primitive=new mY(n),this._primitive.readyPromise.then((function(e){t._ready=!0,t.releaseGeometryInstances&&(t.geometryInstances=void 0);const n=e._error;Object(r["a"])(n)?t._readyPromise.reject(n):t._readyPromise.resolve(t)}))}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)},gY.prototype.getBoundingSphere=function(e){const t=this._boundingSpheresKeys.indexOf(e);if(-1!==t)return this._boundingSpheres[t]},gY.prototype.getGeometryInstanceAttributes=function(e){if(!Object(r["a"])(this._primitive))throw new a["a"]("must call update before calling getGeometryInstanceAttributes");return this._primitive.getGeometryInstanceAttributes(e)},gY.prototype.isDestroyed=function(){return!1},gY.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Wl(this)},gY._supportsMaterials=function(e){return e.depthTexture},gY.supportsMaterials=function(e){return i["a"].typeOf.object("scene",e),gY._supportsMaterials(e.frameState.context)};var PY=gY;function RY(){a["a"].throwInstantiationError()}Object.defineProperties(RY.prototype,{isConstant:{get:a["a"].throwInstantiationError},definitionChanged:{get:a["a"].throwInstantiationError}}),RY.prototype.getType=a["a"].throwInstantiationError,RY.prototype.getValue=a["a"].throwInstantiationError,RY.prototype.equals=a["a"].throwInstantiationError,RY.getValue=function(e,t,n){let i;return Object(r["a"])(t)&&(i=t.getType(e),Object(r["a"])(i))?(Object(r["a"])(n)&&n.type===i||(n=Uk.fromType(i)),t.getValue(e,n.uniforms),n):(Object(r["a"])(n)&&n.type===Uk.ColorType||(n=Uk.fromType(Uk.ColorType)),j_.clone(j_.WHITE,n.uniforms.color),n)};var MY=RY;function NY(e,t,n){i["a"].defined("geometryUpdater",e),i["a"].defined("primitives",t),i["a"].defined("orderedGroundPrimitives",n),this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}NY.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!QB.getValueOrDefault(t.show,n,!0)},NY.prototype._setOptions=a["a"].throwInstantiationError,NY.prototype.update=function(e){i["a"].defined("time",e);const t=this._geometryUpdater,n=t._onTerrain,o=this._primitives,a=this._orderedGroundPrimitives;n?a.remove(this._primitive):(o.removeAndDestroy(this._primitive),o.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;const s=this._entity,c=s[this._geometryUpdater._geometryPropertyName];if(this._setOptions(s,c,e),this._isHidden(s,c,e))return;const l=this._geometryUpdater.shadowsProperty.getValue(e),u=this._options;if(!Object(r["a"])(c.fill)||c.fill.getValue(e)){const i=t.fillMaterialProperty,r=i instanceof Zk;let s;const c=t._getIsClosed(u);if(r)s=new Kk({closed:c,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{const t=MY.getValue(e,i,this._material);this._material=t,s=new Hk({material:t,translucent:t.isTranslucent(),closed:c})}if(n)u.vertexFormat=Kk.VERTEX_FORMAT,this._primitive=a.add(new PY({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:s,asynchronous:!1,shadows:l,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),QB.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{u.vertexFormat=s.vertexFormat;const t=this._geometryUpdater.createFillGeometryInstance(e);r&&(s.translucent=255!==t.attributes.color.value[3]),this._primitive=o.add(new bW({geometryInstances:t,appearance:s,asynchronous:!1,shadows:l}))}}if(!n&&Object(r["a"])(c.outline)&&c.outline.getValue(e)){const n=this._geometryUpdater.createOutlineGeometryInstance(e),i=QB.getValueOrDefault(c.outlineWidth,e,1);this._outlinePrimitive=o.add(new bW({geometryInstances:n,appearance:new Kk({flat:!0,translucent:255!==n.attributes.color.value[3],renderState:{lineWidth:t._scene.clampLineWidth(i)}}),asynchronous:!1,shadows:l}))}},NY.prototype.getBoundingSphere=function(e){if(!Object(r["a"])(e))throw new a["a"]("result is required.");const t=this._entity,n=this._primitive,i=this._outlinePrimitive;let o;return Object(r["a"])(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),Object(r["a"])(o)&&Object(r["a"])(o.boundingSphere))||Object(r["a"])(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),Object(r["a"])(o)&&Object(r["a"])(o.boundingSphere))?(Tt.clone(o.boundingSphere,e),ZB.DONE):Object(r["a"])(n)&&!n.ready||Object(r["a"])(i)&&!i.ready?ZB.PENDING:ZB.FAILED},NY.prototype.isDestroyed=function(){return!1},NY.prototype.destroy=function(){const e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),Wl(this)};var LY=NY,BY='#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n\nvarying vec4 v_startPlaneNormalEcAndHalfWidth;\nvarying vec4 v_endPlaneNormalEcAndBatchId;\nvarying vec4 v_rightPlaneEC; // Technically can compute distance for this here\nvarying vec4 v_endEcAndStartEcX;\nvarying vec4 v_texcoordNormalizationAndStartEcYZ;\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\n\nvoid main(void)\n{\n float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));\n vec3 ecStart = vec3(v_endEcAndStartEcX.w, v_texcoordNormalizationAndStartEcYZ.zw);\n\n // Discard for sky\n if (logDepthOrDepth == 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\n gl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);\n return;\n#else // DEBUG_SHOW_VOLUME\n discard;\n#endif // DEBUG_SHOW_VOLUME\n }\n\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\n eyeCoordinate /= eyeCoordinate.w;\n\n float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate);\n // Check distance of the eye coordinate against the right-facing plane\n float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz);\n\n // Check eye coordinate against the mitering planes\n float distanceFromStart = czm_planeDistance(v_startPlaneNormalEcAndHalfWidth.xyz, -dot(ecStart, v_startPlaneNormalEcAndHalfWidth.xyz), eyeCoordinate.xyz);\n float distanceFromEnd = czm_planeDistance(v_endPlaneNormalEcAndBatchId.xyz, -dot(v_endEcAndStartEcX.xyz, v_endPlaneNormalEcAndBatchId.xyz), eyeCoordinate.xyz);\n\n if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\n gl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);\n return;\n#else // DEBUG_SHOW_VOLUME\n discard;\n#endif // DEBUG_SHOW_VOLUME\n }\n\n // Check distance of the eye coordinate against start and end planes with normals in the right plane.\n // For computing unskewed lengthwise texture coordinate.\n // Can also be used for clipping extremely pointy miters, but in practice unnecessary because of miter breaking.\n\n // aligned plane: cross the right plane normal with miter plane normal, then cross the result with right again to point it more "forward"\n vec3 alignedPlaneNormal;\n\n // start aligned plane\n alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz);\n alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));\n distanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz);\n\n // end aligned plane\n alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz);\n alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));\n distanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz);\n\n#ifdef PER_INSTANCE_COLOR\n gl_FragColor = czm_gammaCorrect(v_color);\n#else // PER_INSTANCE_COLOR\n // Clamp - distance to aligned planes may be negative due to mitering,\n // so fragment texture coordinate might be out-of-bounds.\n float s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0);\n s = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y;\n float t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth);\n\n czm_materialInput materialInput;\n\n materialInput.s = s;\n materialInput.st = vec2(s, t);\n materialInput.str = vec3(s, t, 0.0);\n\n czm_material material = czm_getMaterial(materialInput);\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#endif // PER_INSTANCE_COLOR\n\n // Premultiply alpha. Required for classification primitives on translucent globe.\n gl_FragColor.rgb *= gl_FragColor.a;\n\n czm_writeDepthClamp();\n}\n',FY="varying vec3 v_forwardDirectionEC;\nvarying vec3 v_texcoordNormalizationAndHalfWidth;\nvarying float v_batchId;\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#else\nvarying vec2 v_alignedPlaneDistances;\nvarying float v_texcoordT;\n#endif\n\nfloat rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) {\n // We don't expect the ray to ever be parallel to the plane\n return (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction);\n}\n\nvoid main(void)\n{\n vec4 eyeCoordinate = gl_FragCoord;\n eyeCoordinate /= eyeCoordinate.w;\n\n#ifdef PER_INSTANCE_COLOR\n gl_FragColor = czm_gammaCorrect(v_color);\n#else // PER_INSTANCE_COLOR\n // Use distances for planes aligned with segment to prevent skew in dashing\n float distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x);\n float distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y);\n\n // Clamp - distance to aligned planes may be negative due to mitering\n distanceFromStart = max(0.0, distanceFromStart);\n distanceFromEnd = max(0.0, distanceFromEnd);\n\n float s = distanceFromStart / (distanceFromStart + distanceFromEnd);\n s = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y;\n\n czm_materialInput materialInput;\n\n materialInput.s = s;\n materialInput.st = vec2(s, v_texcoordT);\n materialInput.str = vec3(s, v_texcoordT, 0.0);\n\n czm_material material = czm_getMaterial(materialInput);\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#endif // PER_INSTANCE_COLOR\n}\n",kY='attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\n\nattribute vec4 startHiAndForwardOffsetX;\nattribute vec4 startLoAndForwardOffsetY;\nattribute vec4 startNormalAndForwardOffsetZ;\nattribute vec4 endNormalAndTextureCoordinateNormalizationX;\nattribute vec4 rightNormalAndTextureCoordinateNormalizationY;\nattribute vec4 startHiLo2D;\nattribute vec4 offsetAndRight2D;\nattribute vec4 startEndNormals2D;\nattribute vec2 texcoordNormalization2D;\n\nattribute float batchId;\n\nvarying vec3 v_forwardDirectionEC;\nvarying vec3 v_texcoordNormalizationAndHalfWidth;\nvarying float v_batchId;\n\n// For materials\n#ifdef WIDTH_VARYING\nvarying float v_width;\n#endif\n#ifdef ANGLE_VARYING\nvarying float v_polylineAngle;\n#endif\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#else\nvarying vec2 v_alignedPlaneDistances;\nvarying float v_texcoordT;\n#endif\n\n// Morphing planes using SLERP or NLERP doesn\'t seem to work, so instead draw the material directly on the shadow volume.\n// Morph views are from very far away and aren\'t meant to be used precisely, so this should be sufficient.\nvoid main()\n{\n v_batchId = batchId;\n\n // Start position\n vec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw));\n vec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz);\n vec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);\n vec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;\n vec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;\n vec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;\n\n // Start plane\n vec4 startPlane2D;\n vec4 startPlane3D;\n startPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);\n startPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;\n startPlane2D.w = -dot(startPlane2D.xyz, posEc2D);\n startPlane3D.w = -dot(startPlane3D.xyz, posEc3D);\n\n // Right plane\n vec4 rightPlane2D;\n vec4 rightPlane3D;\n rightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);\n rightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;\n rightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D);\n rightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D);\n\n // End position\n posRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0);\n posRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0);\n posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);\n posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;\n posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;\n vec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;\n vec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w));\n vec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy));\n\n // End plane\n vec4 endPlane2D;\n vec4 endPlane3D;\n endPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);\n endPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;\n endPlane2D.w = -dot(endPlane2D.xyz, posEc2D);\n endPlane3D.w = -dot(endPlane3D.xyz, posEc3D);\n\n // Forward direction\n v_forwardDirectionEC = normalize(endEC - startEC);\n\n vec2 cleanTexcoordNormalization2D;\n cleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x);\n cleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y));\n vec2 cleanTexcoordNormalization3D;\n cleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w);\n cleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w;\n cleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y));\n\n v_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime);\n\n#ifdef PER_INSTANCE_COLOR\n v_color = czm_batchTable_color(batchId);\n#else // PER_INSTANCE_COLOR\n // For computing texture coordinates\n\n v_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC);\n v_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC);\n#endif // PER_INSTANCE_COLOR\n\n#ifdef WIDTH_VARYING\n float width = czm_batchTable_width(batchId);\n float halfWidth = width * 0.5;\n v_width = width;\n v_texcoordNormalizationAndHalfWidth.z = halfWidth;\n#else\n float halfWidth = 0.5 * czm_batchTable_width(batchId);\n v_texcoordNormalizationAndHalfWidth.z = halfWidth;\n#endif\n\n // Compute a normal along which to "push" the position out, extending the miter depending on view distance.\n // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes.\n // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be.\n // Since this is morphing, compute both 3D and 2D positions and then blend.\n\n // ****** 3D ******\n // Check distance to the end plane and start plane, pick the plane that is closer\n vec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow); // w = 1.0, see czm_computePosition\n float absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz));\n float absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz));\n vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz);\n vec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane.\n vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too.\n\n // Nudge the top vertex upwards to prevent flickering\n vec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D));\n geodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0);\n geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;\n positionEc3D.xyz += geodeticSurfaceNormal;\n\n // Determine if this vertex is on the "left" or "right"\n normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);\n\n // A "perfect" implementation would push along normals according to the angle against forward.\n // In practice, just pushing the normal out by halfWidth is sufficient for morph views.\n positionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera)\n\n // ****** 2D ******\n // Check distance to the end plane and start plane, pick the plane that is closer\n vec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); // w = 1.0, see czm_computePosition\n absStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz));\n absEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz));\n planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz);\n upOrDown = normalize(cross(rightPlane2D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane.\n normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too.\n\n // Nudge the top vertex upwards to prevent flickering\n geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D));\n geodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0);\n geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;\n positionEc2D.xyz += geodeticSurfaceNormal;\n\n // Determine if this vertex is on the "left" or "right"\n normalEC *= sign(texcoordNormalization2D.x);\n#ifndef PER_INSTANCE_COLOR\n // Use vertex\'s sidedness to compute its texture coordinate.\n v_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0);\n#endif\n\n // A "perfect" implementation would push along normals according to the angle against forward.\n // In practice, just pushing the normal out by halfWidth is sufficient for morph views.\n positionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera)\n\n // Blend for actual position\n gl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime);\n\n#ifdef ANGLE_VARYING\n // Approximate relative screen space direction of the line.\n vec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y));\n approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);\n v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);\n#endif\n}\n',zY='attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\n\n// In 2D and in 3D, texture coordinate normalization component signs encodes:\n// * X sign - sidedness relative to right plane\n// * Y sign - is negative OR magnitude is greater than 1.0 if vertex is on bottom of volume\n#ifndef COLUMBUS_VIEW_2D\nattribute vec4 startHiAndForwardOffsetX;\nattribute vec4 startLoAndForwardOffsetY;\nattribute vec4 startNormalAndForwardOffsetZ;\nattribute vec4 endNormalAndTextureCoordinateNormalizationX;\nattribute vec4 rightNormalAndTextureCoordinateNormalizationY;\n#else\nattribute vec4 startHiLo2D;\nattribute vec4 offsetAndRight2D;\nattribute vec4 startEndNormals2D;\nattribute vec2 texcoordNormalization2D;\n#endif\n\nattribute float batchId;\n\nvarying vec4 v_startPlaneNormalEcAndHalfWidth;\nvarying vec4 v_endPlaneNormalEcAndBatchId;\nvarying vec4 v_rightPlaneEC;\nvarying vec4 v_endEcAndStartEcX;\nvarying vec4 v_texcoordNormalizationAndStartEcYZ;\n\n// For materials\n#ifdef WIDTH_VARYING\nvarying float v_width;\n#endif\n#ifdef ANGLE_VARYING\nvarying float v_polylineAngle;\n#endif\n\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\n\nvoid main()\n{\n#ifdef COLUMBUS_VIEW_2D\n vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz;\n\n vec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy);\n vec3 ecEnd = forwardDirectionEC + ecStart;\n forwardDirectionEC = normalize(forwardDirectionEC);\n\n // Right plane\n v_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);\n v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);\n\n // start plane\n vec4 startPlaneEC;\n startPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);\n startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);\n\n // end plane\n vec4 endPlaneEC;\n endPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);\n endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);\n\n v_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x);\n v_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y;\n\n#else // COLUMBUS_VIEW_2D\n vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz;\n vec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w);\n vec3 ecEnd = ecStart + offset;\n\n vec3 forwardDirectionEC = normalize(offset);\n\n // start plane\n vec4 startPlaneEC;\n startPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;\n startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);\n\n // end plane\n vec4 endPlaneEC;\n endPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;\n endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);\n\n // Right plane\n v_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;\n v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);\n\n v_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w);\n v_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w;\n\n#endif // COLUMBUS_VIEW_2D\n\n v_endEcAndStartEcX.xyz = ecEnd;\n v_endEcAndStartEcX.w = ecStart.x;\n v_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz;\n\n#ifdef PER_INSTANCE_COLOR\n v_color = czm_batchTable_color(batchId);\n#endif // PER_INSTANCE_COLOR\n\n // Compute a normal along which to "push" the position out, extending the miter depending on view distance.\n // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes.\n // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be.\n vec4 positionRelativeToEye = czm_computePosition();\n\n // Check distance to the end plane and start plane, pick the plane that is closer\n vec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye; // w = 1.0, see czm_computePosition\n float absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz));\n float absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz));\n vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz);\n vec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane.\n vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too.\n\n // Extrude bottom vertices downward for far view distances, like for GroundPrimitives\n upOrDown = cross(forwardDirectionEC, normalEC);\n upOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown;\n upOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown;\n upOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown;\n positionEC.xyz += upOrDown;\n\n v_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y));\n\n // Determine distance along normalEC to push for a volume of appropriate width.\n // Make volumes about double pixel width for a conservative fit - in practice the\n // extra cost here is minimal compared to the loose volume heights.\n //\n // N = normalEC (guaranteed "right-facing")\n // R = rightEC\n // p = angle between N and R\n // w = distance to push along R if R == N\n // d = distance to push along N\n //\n // N R\n // { p| } * cos(p) = dot(N, R) = w / d\n // d | |w * d = w / dot(N, R)\n // { | }\n // o---------- polyline segment ----\x3e\n //\n float width = czm_batchTable_width(batchId);\n#ifdef WIDTH_VARYING\n v_width = width;\n#endif\n\n v_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz;\n v_startPlaneNormalEcAndHalfWidth.w = width * 0.5;\n\n v_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz;\n v_endPlaneNormalEcAndBatchId.w = batchId;\n\n width = width * max(0.0, czm_metersPerPixel(positionEC)); // width = distance to push along R\n width = width / dot(normalEC, v_rightPlaneEC.xyz); // width = distance to push along N\n\n // Determine if this vertex is on the "left" or "right"\n#ifdef COLUMBUS_VIEW_2D\n normalEC *= sign(texcoordNormalization2D.x);\n#else\n normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);\n#endif\n\n positionEC.xyz += width * normalEC;\n gl_Position = czm_depthClamp(czm_projection * positionEC);\n\n#ifdef ANGLE_VARYING\n // Approximate relative screen space direction of the line.\n vec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y));\n approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);\n v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);\n#endif\n}\n',UY="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec4 color;\nattribute float batchId;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n float expandDir = expandAndWidth.x;\n float width = abs(expandAndWidth.y) + 0.5;\n bool usePrev = expandAndWidth.y < 0.0;\n\n vec4 p = czm_computePosition();\n vec4 prev = czm_computePrevPosition();\n vec4 next = czm_computeNextPosition();\n\n float angle;\n vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);\n gl_Position = czm_viewportOrthographic * positionWC;\n\n v_color = color;\n}\n",VY="void clipLineSegmentToNearPlane(\n vec3 p0,\n vec3 p1,\n out vec4 positionWC,\n out bool clipped,\n out bool culledByNearPlane,\n out vec4 clippedPositionEC)\n{\n culledByNearPlane = false;\n clipped = false;\n\n vec3 p0ToP1 = p1 - p0;\n float magnitude = length(p0ToP1);\n vec3 direction = normalize(p0ToP1);\n\n // Distance that p0 is behind the near plane. Negative means p0 is\n // in front of the near plane.\n float endPoint0Distance = czm_currentFrustum.x + p0.z;\n\n // Camera looks down -Z.\n // When moving a point along +Z: LESS VISIBLE\n // * Points in front of the camera move closer to the camera.\n // * Points behind the camrea move farther away from the camera.\n // When moving a point along -Z: MORE VISIBLE\n // * Points in front of the camera move farther away from the camera.\n // * Points behind the camera move closer to the camera.\n\n // Positive denominator: -Z, becoming more visible\n // Negative denominator: +Z, becoming less visible\n // Nearly zero: parallel to near plane\n float denominator = -direction.z;\n\n if (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7)\n {\n // p0 is behind the near plane and the line to p1 is nearly parallel to\n // the near plane, so cull the segment completely.\n culledByNearPlane = true;\n }\n else if (endPoint0Distance > 0.0)\n {\n // p0 is behind the near plane, and the line to p1 is moving distinctly\n // toward or away from it.\n\n // t = (-plane distance - dot(plane normal, ray origin)) / dot(plane normal, ray direction)\n float t = endPoint0Distance / denominator;\n if (t < 0.0 || t > magnitude)\n {\n // Near plane intersection is not between the two points.\n // We already confirmed p0 is behind the naer plane, so now\n // we know the entire segment is behind it.\n culledByNearPlane = true;\n }\n else\n {\n // Segment crosses the near plane, update p0 to lie exactly on it.\n p0 = p0 + t * direction;\n\n // Numerical noise might put us a bit on the wrong side of the near plane.\n // Don't let that happen.\n p0.z = min(p0.z, -czm_currentFrustum.x);\n\n clipped = true;\n }\n }\n\n clippedPositionEC = vec4(p0, 1.0);\n positionWC = czm_eyeToWindowCoordinates(clippedPositionEC);\n}\n\nvec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle)\n{\n // expandDirection +1 is to the _left_ when looking from positionEC toward nextEC.\n\n#ifdef POLYLINE_DASH\n // Compute the window coordinates of the points.\n vec4 positionWindow = czm_eyeToWindowCoordinates(positionEC);\n vec4 previousWindow = czm_eyeToWindowCoordinates(prevEC);\n vec4 nextWindow = czm_eyeToWindowCoordinates(nextEC);\n\n // Determine the relative screen space direction of the line.\n vec2 lineDir;\n if (usePrevious) {\n lineDir = normalize(positionWindow.xy - previousWindow.xy);\n }\n else {\n lineDir = normalize(nextWindow.xy - positionWindow.xy);\n }\n angle = atan(lineDir.x, lineDir.y) - 1.570796327; // precomputed atan(1,0)\n\n // Quantize the angle so it doesn't change rapidly between segments.\n angle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour;\n#endif\n\n vec4 clippedPrevWC, clippedPrevEC;\n bool prevSegmentClipped, prevSegmentCulled;\n clipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC);\n\n vec4 clippedNextWC, clippedNextEC;\n bool nextSegmentClipped, nextSegmentCulled;\n clipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC);\n\n bool segmentClipped, segmentCulled;\n vec4 clippedPositionWC, clippedPositionEC;\n clipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC);\n\n if (segmentCulled)\n {\n return vec4(0.0, 0.0, 0.0, 1.0);\n }\n\n vec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy);\n vec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy);\n\n // If a segment was culled, we can't use the corresponding direction\n // computed above. We should never see both of these be true without\n // `segmentCulled` above also being true.\n if (prevSegmentCulled)\n {\n directionToPrevWC = -directionToNextWC;\n }\n else if (nextSegmentCulled)\n {\n directionToNextWC = -directionToPrevWC;\n }\n\n vec2 thisSegmentForwardWC, otherSegmentForwardWC;\n if (usePrevious)\n {\n thisSegmentForwardWC = -directionToPrevWC;\n otherSegmentForwardWC = directionToNextWC;\n }\n else\n {\n thisSegmentForwardWC = directionToNextWC;\n otherSegmentForwardWC = -directionToPrevWC;\n }\n\n vec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x);\n\n vec2 leftWC = thisSegmentLeftWC;\n float expandWidth = width * 0.5;\n\n // When lines are split at the anti-meridian, the position may be at the\n // same location as the next or previous position, and we need to handle\n // that to avoid producing NaNs.\n if (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1))\n {\n vec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x);\n\n vec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC;\n float leftSumLength = length(leftSumWC);\n leftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength);\n\n // The sine of the angle between the two vectors is given by the formula\n // |a x b| = |a||b|sin(theta)\n // which is\n // float sinAngle = length(cross(vec3(leftWC, 0.0), vec3(-thisSegmentForwardWC, 0.0)));\n // Because the z components of both vectors are zero, the x and y coordinate will be zero.\n // Therefore, the sine of the angle is just the z component of the cross product.\n vec2 u = -thisSegmentForwardWC;\n vec2 v = leftWC;\n float sinAngle = abs(u.x * v.y - u.y * v.x);\n expandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0);\n }\n\n vec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio;\n return vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w;\n}\n\nvec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle)\n{\n vec4 positionEC = czm_modelViewRelativeToEye * position;\n vec4 prevEC = czm_modelViewRelativeToEye * previous;\n vec4 nextEC = czm_modelViewRelativeToEye * next;\n return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle);\n}\n";let HY=`${VY}\n${UY}`;const GY=Wk;function qY(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.translucent,!0),n=!1,i=qY.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,HY),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,GY),this._renderState=FF.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Ta.isInternetExplorer()||(HY="#define CLIP_POLYLINE \n"+HY),Object.defineProperties(qY.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}}),qY.VERTEX_FORMAT=Yh.POSITION_ONLY,qY.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,qY.prototype.isTranslucent=FF.prototype.isTranslucent,qY.prototype.getRenderState=FF.prototype.getRenderState;var WY=qY,YY="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec2 st;\nattribute float batchId;\n\nvarying float v_width;\nvarying vec2 v_st;\nvarying float v_polylineAngle;\n\nvoid main()\n{\n float expandDir = expandAndWidth.x;\n float width = abs(expandAndWidth.y) + 0.5;\n bool usePrev = expandAndWidth.y < 0.0;\n\n vec4 p = czm_computePosition();\n vec4 prev = czm_computePrevPosition();\n vec4 next = czm_computeNextPosition();\n\n float angle;\n vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);\n gl_Position = czm_viewportOrthographic * positionWC;\n\n v_width = width;\n v_st.s = st.s;\n v_st.t = czm_writeNonPerspective(st.t, gl_Position.w);\n v_polylineAngle = angle;\n}\n",XY="#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\n\nvarying vec2 v_st;\n\nvoid main()\n{\n czm_materialInput materialInput;\n\n vec2 st = v_st;\n st.t = czm_readNonPerspective(st.t, gl_FragCoord.w);\n\n materialInput.s = st.s;\n materialInput.st = st;\n materialInput.str = vec3(st, 0.0);\n\n czm_material material = czm_getMaterial(materialInput);\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#ifdef VECTOR_TILE\n gl_FragColor *= u_highlightColor;\n#endif\n\n czm_writeLogDepth();\n}\n";let KY=`${VY}\n${YY}`;const JY=XY;function ZY(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.translucent,!0),n=!1,i=ZY.VERTEX_FORMAT;this.material=Object(r["a"])(e.material)?e.material:Uk.fromType(Uk.ColorType),this.translucent=t,this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,KY),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,JY),this._renderState=FF.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Ta.isInternetExplorer()||(KY="#define CLIP_POLYLINE \n"+KY),Object.defineProperties(ZY.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return-1!==this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)&&(e="#define POLYLINE_DASH\n"+e),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}}),ZY.VERTEX_FORMAT=Yh.POSITION_AND_ST,ZY.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,ZY.prototype.isTranslucent=FF.prototype.isTranslucent,ZY.prototype.getRenderState=FF.prototype.getRenderState;var $Y=ZY;function QY(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;Object(r["a"])(t)||(t=new $Y),this.appearance=t,this.show=Object(o["a"])(e.show,!0),this.classificationType=Object(o["a"])(e.classificationType,wG.BOTH),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=Object(o["a"])(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:Object(o["a"])(e.interleave,!1),releaseGeometryInstances:Object(o["a"])(e.releaseGeometryInstances,!0),allowPicking:Object(o["a"])(e.allowPicking,!0),asynchronous:Object(o["a"])(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._readyPromise=Object(xr["a"])(),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=tX(!1),this._renderState3DTiles=tX(!0),this._renderStateMorph=Mz.fromCache({cull:{enabled:!0,face:LF.FRONT},depthTest:{enabled:!0},blending:MF.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}function eX(e,t,n){const i=t.context,o=e._primitive,a=o._attributeLocations;let s=o._batchTable.getVertexShaderCallback()(zY);s=bW._appendShowToShader(o,s),s=bW._appendDistanceDisplayConditionToShader(o,s),s=bW._modifyShaderPosition(e,s,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(kY);c=bW._appendShowToShader(o,c),c=bW._appendDistanceDisplayConditionToShader(o,c),c=bW._modifyShaderPosition(e,c,t.scene3DOnly);let l=o._batchTable.getVertexShaderCallback()(BY);const u=["GLOBE_MINIMUM_ALTITUDE "+t.mapProjection.ellipsoid.minimumRadius.toFixed(1)];let h="",d="";Object(r["a"])(n.material)?(d=Object(r["a"])(n.material)?n.material.shaderSource:"",-1!==d.search(/varying\s+float\s+v_polylineAngle;/g)&&u.push("ANGLE_VARYING"),-1!==d.search(/varying\s+float\s+v_width;/g)&&u.push("WIDTH_VARYING")):h="PER_INSTANCE_COLOR",u.push(h);const f=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",h]:[h],p=new bG({defines:u,sources:[s]}),m=new bG({defines:f,sources:[d,l]});e._sp=IU.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:p,fragmentShaderSource:m,attributeLocations:a});let _=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!Object(r["a"])(_)){const t=new bG({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});_=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:t,fragmentShaderSource:m,attributeLocations:a})}e._sp2D=_;let g=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!Object(r["a"])(g)){const t=new bG({defines:u.concat(["MAX_TERRAIN_HEIGHT "+on._defaultMaxTerrainHeight.toFixed(1)]),sources:[c]});l=o._batchTable.getVertexShaderCallback()(FY);const n=new bG({defines:f,sources:[d,l]});g=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:t,fragmentShaderSource:n,attributeLocations:a})}e._spMorph=g}function tX(e){return Mz.fromCache({cull:{enabled:!0},blending:MF.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:JW.EQUAL,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},backFunction:JW.EQUAL,backOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},reference:eY.CESIUM_3D_TILE_MASK,mask:eY.CESIUM_3D_TILE_MASK}})}function nX(e,t,n,i,o,a){const s=e._primitive,c=s._va.length;o.length=c,a.length=c;const l=t instanceof WY,u=l?{}:n._uniforms,h=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<c;d++){const t=s._va[d];let n=o[d];Object(r["a"])(n)||(n=o[d]=new nz({owner:e,primitiveType:s._primitiveType})),n.vertexArray=t,n.renderState=e._renderState,n.shaderProgram=e._sp,n.uniformMap=h,n.pass=oz.TERRAIN_CLASSIFICATION,n.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";const i=nz.shallowClone(n,n.derivedCommands.tileset);i.renderState=e._renderState3DTiles,i.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=i;const a=nz.shallowClone(n,n.derivedCommands.color2D);a.shaderProgram=e._sp2D,n.derivedCommands.color2D=a;const c=nz.shallowClone(i,i.derivedCommands.color2D);c.shaderProgram=e._sp2D,i.derivedCommands.color2D=c;const l=nz.shallowClone(n,n.derivedCommands.colorMorph);l.renderState=e._renderStateMorph,l.shaderProgram=e._spMorph,l.pickId="czm_batchTable_pickColor(v_batchId)",n.derivedCommands.colorMorph=l}}function iX(e,t,n,i,o,r,a){n.mode===vq.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==vq.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=a,n.commandList.push(t)}function oX(e,t,n,i,o,a,s){const c=e._primitive;let l;bW._updateBoundingVolumes(c,t,o),t.mode===vq.SCENE3D?l=c._boundingSphereWC:t.mode===vq.COLUMBUS_VIEW?l=c._boundingSphereCV:t.mode===vq.SCENE2D&&Object(r["a"])(c._boundingSphere2D)?l=c._boundingSphere2D:Object(r["a"])(c._boundingSphereMorph)&&(l=c._boundingSphereMorph);const u=t.mode===vq.MORPHING,h=e.classificationType,d=h!==wG.CESIUM_3D_TILE,f=h!==wG.TERRAIN&&!u;let p;const m=t.passes;if(m.render||m.pick&&c.allowPicking){const i=n.length;for(let r=0;r<i;++r){const i=l[r];d&&(p=n[r],iX(e,p,t,o,a,i,s)),f&&(p=n[r].derivedCommands.tileset,iX(e,p,t,o,a,i,s))}}}Object.defineProperties(QY.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}}),QY.initializeTerrainHeights=function(){return on.initialize()},QY.prototype.update=function(e){if(!Object(r["a"])(this._primitive)&&!Object(r["a"])(this.geometryInstances))return;if(!on.initialized){if(!this.asynchronous)throw new a["a"]("For synchronous GroundPolylinePrimitives, you must call GroundPolylinePrimitives.initializeTerrainHeights() and wait for the returned promise to resolve.");return void QY.initializeTerrainHeights()}let t;const n=this,i=this._primitiveOptions;if(!Object(r["a"])(this._primitive)){const o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],a=o.length,s=new Array(a);let c;for(t=0;t<a;++t)if(c=o[t].attributes,!Object(r["a"])(c)||!Object(r["a"])(c.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<a;++t){const i=o[t];c={};const a=i.attributes;for(const e in a)a.hasOwnProperty(e)&&(c[e]=a[e]);Object(r["a"])(c.width)||(c.width=new oT({componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:1,value:[i.geometry.width]})),i.geometry._scene3DOnly=e.scene3DOnly,DE.setProjectionAndEllipsoid(i.geometry,e.mapProjection),s[t]=new Df({geometry:i.geometry,attributes:c,id:i.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(e,t,i){eX(n,t,i)},i._createCommandsFunction=function(e,t,i,o,r,a,s){nX(n,t,i,o,a,s)},i._updateAndQueueCommandsFunction=function(e,t,i,o,r,a,s,c){oX(n,t,i,o,r,a,s)},this._primitive=new bW(i),this._primitive.readyPromise.then((function(e){n._ready=!0,n.releaseGeometryInstances&&(n.geometryInstances=void 0);const t=e._error;Object(r["a"])(t)?n._readyPromise.reject(t):n._readyPromise.resolve(n)}))}if(this.appearance instanceof WY&&!this._hasPerInstanceColors)throw new a["a"]("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)},QY.prototype.getGeometryInstanceAttributes=function(e){if(!Object(r["a"])(this._primitive))throw new a["a"]("must call update before calling getGeometryInstanceAttributes");return this._primitive.getGeometryInstanceAttributes(e)},QY.isSupported=function(e){return e.frameState.context.depthTexture},QY.prototype.isDestroyed=function(){return!1},QY.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,Wl(this)};var rX=QY;const aX=new Ht(1,1),sX=!1,cX=j_.WHITE;function lX(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(lX.prototype,{isConstant:{get:function(){return QB.isConstant(this._image)&&QB.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:UB("image"),repeat:UB("repeat"),color:UB("color"),transparent:UB("transparent")}),lX.prototype.getType=function(e){return"Image"},lX.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.image=QB.getValueOrUndefined(this._image,e),t.repeat=QB.getValueOrClonedDefault(this._repeat,e,aX,t.repeat),t.color=QB.getValueOrClonedDefault(this._color,e,cX,t.color),QB.getValueOrDefault(this._transparent,e,sX)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t},lX.prototype.equals=function(e){return this===e||e instanceof lX&&QB.equals(this._image,e._image)&&QB.equals(this._repeat,e._repeat)&&QB.equals(this._color,e._color)&&QB.equals(this._transparent,e._transparent)};var uX=lX;function hX(e){if(e instanceof j_)return new Zk(e);if("string"===typeof e||e instanceof Et["a"]||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){const t=new uX;return t.image=e,t}throw new a["a"]("Unable to infer material type: "+e)}function dX(e,t){return UB(e,t,hX)}var fX=dX;function pX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(pX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),dimensions:UB("dimensions"),heightReference:UB("heightReference"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),pX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new pX(this)},pX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.dimensions=Object(o["a"])(this.dimensions,e.dimensions),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var mX=pX;function _X(){a["a"].throwInstantiationError()}Object.defineProperties(_X.prototype,{isConstant:{get:a["a"].throwInstantiationError},definitionChanged:{get:a["a"].throwInstantiationError},referenceFrame:{get:a["a"].throwInstantiationError}}),_X.prototype.getValue=a["a"].throwInstantiationError,_X.prototype.getValueInReferenceFrame=a["a"].throwInstantiationError,_X.prototype.equals=a["a"].throwInstantiationError;const gX=new ce;_X.convertToReferenceFrame=function(e,t,n,i,o){if(!Object(r["a"])(t))return t;if(Object(r["a"])(o)||(o=new g),n===i)return g.clone(t,o);let a=Hs.computeIcrfToFixedMatrix(e,gX);return Object(r["a"])(a)||(a=Hs.computeTemeToPseudoFixedMatrix(e,gX)),n===tP.INERTIAL?ce.multiplyByVector(a,t,o):n===tP.FIXED?ce.multiplyByVector(ce.transpose(a,gX),t,o):void 0};var bX=_X;function yX(e,t){this._definitionChanged=new pi["a"],this._value=g.clone(e),this._referenceFrame=Object(o["a"])(t,tP.FIXED)}Object.defineProperties(yX.prototype,{isConstant:{get:function(){return!Object(r["a"])(this._value)||this._referenceFrame===tP.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),yX.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},yX.prototype.setValue=function(e,t){let n=!1;g.equals(this._value,e)||(n=!0,this._value=g.clone(e)),Object(r["a"])(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)},yX.prototype.getValueInReferenceFrame=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceFrame is required.");return bX.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)},yX.prototype.equals=function(e){return this===e||e instanceof yX&&g.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var vX=yX;function OX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(OX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),positions:UB("positions"),width:UB("width"),height:UB("height"),heightReference:UB("heightReference"),extrudedHeight:UB("extrudedHeight"),extrudedHeightReference:UB("extrudedHeightReference"),cornerType:UB("cornerType"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition"),classificationType:UB("classificationType"),zIndex:UB("zIndex")}),OX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new OX(this)},OX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.positions=Object(o["a"])(this.positions,e.positions),this.width=Object(o["a"])(this.width,e.width),this.height=Object(o["a"])(this.height,e.height),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.extrudedHeight=Object(o["a"])(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=Object(o["a"])(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=Object(o["a"])(this.cornerType,e.cornerType),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=Object(o["a"])(this.classificationType,e.classificationType),this.zIndex=Object(o["a"])(this.zIndex,e.zIndex)};var wX=OX;function AX(e){return e}function TX(e,t){return UB(e,t,AX)}var CX=TX;function EX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(EX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),length:UB("length"),topRadius:UB("topRadius"),bottomRadius:UB("bottomRadius"),heightReference:UB("heightReference"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),numberOfVerticalLines:UB("numberOfVerticalLines"),slices:UB("slices"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),EX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new EX(this)},EX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.length=Object(o["a"])(this.length,e.length),this.topRadius=Object(o["a"])(this.topRadius,e.topRadius),this.bottomRadius=Object(o["a"])(this.bottomRadius,e.bottomRadius),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=Object(o["a"])(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=Object(o["a"])(this.slices,e.slices),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var xX=EX;function SX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(SX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),semiMajorAxis:UB("semiMajorAxis"),semiMinorAxis:UB("semiMinorAxis"),height:UB("height"),heightReference:UB("heightReference"),extrudedHeight:UB("extrudedHeight"),extrudedHeightReference:UB("extrudedHeightReference"),rotation:UB("rotation"),stRotation:UB("stRotation"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),numberOfVerticalLines:UB("numberOfVerticalLines"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition"),classificationType:UB("classificationType"),zIndex:UB("zIndex")}),SX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new SX(this)},SX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.semiMajorAxis=Object(o["a"])(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=Object(o["a"])(this.semiMinorAxis,e.semiMinorAxis),this.height=Object(o["a"])(this.height,e.height),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.extrudedHeight=Object(o["a"])(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=Object(o["a"])(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=Object(o["a"])(this.rotation,e.rotation),this.stRotation=Object(o["a"])(this.stRotation,e.stRotation),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=Object(o["a"])(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=Object(o["a"])(this.classificationType,e.classificationType),this.zIndex=Object(o["a"])(this.zIndex,e.zIndex)};var IX=SX;function DX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(DX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),radii:UB("radii"),innerRadii:UB("innerRadii"),minimumClock:UB("minimumClock"),maximumClock:UB("maximumClock"),minimumCone:UB("minimumCone"),maximumCone:UB("maximumCone"),heightReference:UB("heightReference"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),stackPartitions:UB("stackPartitions"),slicePartitions:UB("slicePartitions"),subdivisions:UB("subdivisions"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),DX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new DX(this)},DX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.radii=Object(o["a"])(this.radii,e.radii),this.innerRadii=Object(o["a"])(this.innerRadii,e.innerRadii),this.minimumClock=Object(o["a"])(this.minimumClock,e.minimumClock),this.maximumClock=Object(o["a"])(this.maximumClock,e.maximumClock),this.minimumCone=Object(o["a"])(this.minimumCone,e.minimumCone),this.maximumCone=Object(o["a"])(this.maximumCone,e.maximumCone),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.stackPartitions=Object(o["a"])(this.stackPartitions,e.stackPartitions),this.slicePartitions=Object(o["a"])(this.slicePartitions,e.slicePartitions),this.subdivisions=Object(o["a"])(this.subdivisions,e.subdivisions),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var jX=DX;function PX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(PX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),text:UB("text"),font:UB("font"),style:UB("style"),scale:UB("scale"),showBackground:UB("showBackground"),backgroundColor:UB("backgroundColor"),backgroundPadding:UB("backgroundPadding"),pixelOffset:UB("pixelOffset"),eyeOffset:UB("eyeOffset"),horizontalOrigin:UB("horizontalOrigin"),verticalOrigin:UB("verticalOrigin"),heightReference:UB("heightReference"),fillColor:UB("fillColor"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),translucencyByDistance:UB("translucencyByDistance"),pixelOffsetScaleByDistance:UB("pixelOffsetScaleByDistance"),scaleByDistance:UB("scaleByDistance"),distanceDisplayCondition:UB("distanceDisplayCondition"),disableDepthTestDistance:UB("disableDepthTestDistance")}),PX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new PX(this)},PX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.text=Object(o["a"])(this.text,e.text),this.font=Object(o["a"])(this.font,e.font),this.style=Object(o["a"])(this.style,e.style),this.scale=Object(o["a"])(this.scale,e.scale),this.showBackground=Object(o["a"])(this.showBackground,e.showBackground),this.backgroundColor=Object(o["a"])(this.backgroundColor,e.backgroundColor),this.backgroundPadding=Object(o["a"])(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=Object(o["a"])(this.pixelOffset,e.pixelOffset),this.eyeOffset=Object(o["a"])(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=Object(o["a"])(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=Object(o["a"])(this.verticalOrigin,e.verticalOrigin),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.fillColor=Object(o["a"])(this.fillColor,e.fillColor),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=Object(o["a"])(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=Object(o["a"])(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=Object(o["a"])(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=Object(o["a"])(this.disableDepthTestDistance,e.disableDepthTestDistance)};var RX=PX;const MX=new DN;function NX(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(NX.prototype,{isConstant:{get:function(){return QB.isConstant(this._translation)&&QB.isConstant(this._rotation)&&QB.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:UB("translation"),rotation:UB("rotation"),scale:UB("scale")}),NX.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t=new DN),t.translation=QB.getValueOrClonedDefault(this._translation,e,MX.translation,t.translation),t.rotation=QB.getValueOrClonedDefault(this._rotation,e,MX.rotation,t.rotation),t.scale=QB.getValueOrClonedDefault(this._scale,e,MX.scale,t.scale),t},NX.prototype.equals=function(e){return this===e||e instanceof NX&&QB.equals(this._translation,e._translation)&&QB.equals(this._rotation,e._rotation)&&QB.equals(this._scale,e._scale)};var LX=NX;function BX(e,t){this._propertyNames=[],this._definitionChanged=new pi["a"],Object(r["a"])(e)&&this.merge(e,t)}function FX(e){return new BB(e)}function kX(e,t){const n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){const o=n[r],a=i.indexOf(o);if(-1===a)return!1;if(!QB.equals(e[o],t[o]))return!1}return!0}Object.defineProperties(BX.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){const e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!QB.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}}),BX.prototype.hasProperty=function(e){return-1!==this._propertyNames.indexOf(e)},BX.prototype.addProperty=function(e,t,n){const i=this._propertyNames;if(!Object(r["a"])(e))throw new a["a"]("propertyName is required.");if(-1!==i.indexOf(e))throw new a["a"](e+" is already a registered property.");i.push(e),Object.defineProperty(this,e,UB(e,!0,Object(o["a"])(n,FX))),Object(r["a"])(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)},BX.prototype.removeProperty=function(e){const t=this._propertyNames,n=t.indexOf(e);if(!Object(r["a"])(e))throw new a["a"]("propertyName is required.");if(-1===n)throw new a["a"](e+" is not a registered property.");this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)},BX.prototype.getValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("time is required.");Object(r["a"])(t)||(t={});const n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){const o=n[i];t[o]=QB.getValueOrUndefined(this[o],e,t[o])}return t},BX.prototype.merge=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("source is required.");const n=this._propertyNames,i=Object(r["a"])(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,a=i.length;o<a;o++){const a=i[o],s=this[a],c=e[a];void 0===s&&-1===n.indexOf(a)&&this.addProperty(a,void 0,t),void 0!==c&&(void 0!==s?Object(r["a"])(s)&&Object(r["a"])(s.merge)&&s.merge(c):Object(r["a"])(c)&&Object(r["a"])(c.merge)&&Object(r["a"])(c.clone)?this[a]=c.clone():this[a]=c)}},BX.prototype.equals=function(e){return this===e||e instanceof BX&&kX(this,e)};var zX=BX;function UX(e){return new LX(e)}function VX(e){return new zX(e,UX)}function HX(e){return new zX(e)}function GX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(GX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),uri:UB("uri"),scale:UB("scale"),minimumPixelSize:UB("minimumPixelSize"),maximumScale:UB("maximumScale"),incrementallyLoadTextures:UB("incrementallyLoadTextures"),runAnimations:UB("runAnimations"),clampAnimations:UB("clampAnimations"),shadows:UB("shadows"),heightReference:UB("heightReference"),silhouetteColor:UB("silhouetteColor"),silhouetteSize:UB("silhouetteSize"),color:UB("color"),colorBlendMode:UB("colorBlendMode"),colorBlendAmount:UB("colorBlendAmount"),imageBasedLightingFactor:UB("imageBasedLightingFactor"),lightColor:UB("lightColor"),distanceDisplayCondition:UB("distanceDisplayCondition"),nodeTransformations:UB("nodeTransformations",void 0,VX),articulations:UB("articulations",void 0,HX),clippingPlanes:UB("clippingPlanes")}),GX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e):new GX(this)},GX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.uri=Object(o["a"])(this.uri,e.uri),this.scale=Object(o["a"])(this.scale,e.scale),this.minimumPixelSize=Object(o["a"])(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=Object(o["a"])(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=Object(o["a"])(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=Object(o["a"])(this.runAnimations,e.runAnimations),this.clampAnimations=Object(o["a"])(this.clampAnimations,e.clampAnimations),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.silhouetteColor=Object(o["a"])(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=Object(o["a"])(this.silhouetteSize,e.silhouetteSize),this.color=Object(o["a"])(this.color,e.color),this.colorBlendMode=Object(o["a"])(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=Object(o["a"])(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=Object(o["a"])(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=Object(o["a"])(this.lightColor,e.lightColor),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=Object(o["a"])(this.clippingPlanes,e.clippingPlanes);const t=e.nodeTransformations;if(Object(r["a"])(t)){const e=this.nodeTransformations;Object(r["a"])(e)?e.merge(t):this.nodeTransformations=new zX(t,UX)}const n=e.articulations;if(Object(r["a"])(n)){const e=this.articulations;Object(r["a"])(e)?e.merge(n):this.articulations=new zX(n)}};var qX=GX;function WX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(WX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),uri:UB("uri"),maximumScreenSpaceError:UB("maximumScreenSpaceError")}),WX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new WX(this)},WX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.uri=Object(o["a"])(this.uri,e.uri),this.maximumScreenSpaceError=Object(o["a"])(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var YX=WX;function XX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(XX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),leadTime:UB("leadTime"),trailTime:UB("trailTime"),width:UB("width"),resolution:UB("resolution"),material:fX("material"),distanceDisplayCondition:UB("distanceDisplayCondition")}),XX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new XX(this)},XX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.leadTime=Object(o["a"])(this.leadTime,e.leadTime),this.trailTime=Object(o["a"])(this.trailTime,e.trailTime),this.width=Object(o["a"])(this.width,e.width),this.resolution=Object(o["a"])(this.resolution,e.resolution),this.material=Object(o["a"])(this.material,e.material),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var KX=XX;function JX(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(JX.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),plane:UB("plane"),dimensions:UB("dimensions"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),JX.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new JX(this)},JX.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.plane=Object(o["a"])(this.plane,e.plane),this.dimensions=Object(o["a"])(this.dimensions,e.dimensions),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var ZX=JX;function $X(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties($X.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),pixelSize:UB("pixelSize"),heightReference:UB("heightReference"),color:UB("color"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),scaleByDistance:UB("scaleByDistance"),translucencyByDistance:UB("translucencyByDistance"),distanceDisplayCondition:UB("distanceDisplayCondition"),disableDepthTestDistance:UB("disableDepthTestDistance")}),$X.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new $X(this)},$X.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.pixelSize=Object(o["a"])(this.pixelSize,e.pixelSize),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.color=Object(o["a"])(this.color,e.color),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.scaleByDistance=Object(o["a"])(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=Object(o["a"])(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=Object(o["a"])(this.disableDepthTestDistance,e.disableDepthTestDistance)};var QX=$X;function eK(e){return Array.isArray(e)&&(e=new UI(e)),new BB(e)}function tK(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(tK.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),hierarchy:UB("hierarchy",void 0,eK),height:UB("height"),heightReference:UB("heightReference"),extrudedHeight:UB("extrudedHeight"),extrudedHeightReference:UB("extrudedHeightReference"),stRotation:UB("stRotation"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),perPositionHeight:UB("perPositionHeight"),closeTop:UB("closeTop"),closeBottom:UB("closeBottom"),arcType:UB("arcType"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition"),classificationType:UB("classificationType"),zIndex:UB("zIndex"),textureCoordinates:UB("textureCoordinates")}),tK.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new tK(this)},tK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.hierarchy=Object(o["a"])(this.hierarchy,e.hierarchy),this.height=Object(o["a"])(this.height,e.height),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.extrudedHeight=Object(o["a"])(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=Object(o["a"])(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=Object(o["a"])(this.stRotation,e.stRotation),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.perPositionHeight=Object(o["a"])(this.perPositionHeight,e.perPositionHeight),this.closeTop=Object(o["a"])(this.closeTop,e.closeTop),this.closeBottom=Object(o["a"])(this.closeBottom,e.closeBottom),this.arcType=Object(o["a"])(this.arcType,e.arcType),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=Object(o["a"])(this.classificationType,e.classificationType),this.zIndex=Object(o["a"])(this.zIndex,e.zIndex),this.textureCoordinates=Object(o["a"])(this.textureCoordinates,e.textureCoordinates)};var nK=tK;function iK(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(iK.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),positions:UB("positions"),width:UB("width"),granularity:UB("granularity"),material:fX("material"),depthFailMaterial:fX("depthFailMaterial"),arcType:UB("arcType"),clampToGround:UB("clampToGround"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition"),classificationType:UB("classificationType"),zIndex:UB("zIndex")}),iK.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new iK(this)},iK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.positions=Object(o["a"])(this.positions,e.positions),this.width=Object(o["a"])(this.width,e.width),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.material=Object(o["a"])(this.material,e.material),this.depthFailMaterial=Object(o["a"])(this.depthFailMaterial,e.depthFailMaterial),this.arcType=Object(o["a"])(this.arcType,e.arcType),this.clampToGround=Object(o["a"])(this.clampToGround,e.clampToGround),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=Object(o["a"])(this.classificationType,e.classificationType),this.zIndex=Object(o["a"])(this.zIndex,e.zIndex)};var oK=iK;function rK(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(rK.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),positions:UB("positions"),shape:UB("shape"),cornerType:UB("cornerType"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),rK.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new rK(this)},rK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.positions=Object(o["a"])(this.positions,e.positions),this.shape=Object(o["a"])(this.shape,e.shape),this.cornerType=Object(o["a"])(this.cornerType,e.cornerType),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var aK=rK;function sK(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(sK.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),coordinates:UB("coordinates"),height:UB("height"),heightReference:UB("heightReference"),extrudedHeight:UB("extrudedHeight"),extrudedHeightReference:UB("extrudedHeightReference"),rotation:UB("rotation"),stRotation:UB("stRotation"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition"),classificationType:UB("classificationType"),zIndex:UB("zIndex")}),sK.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new sK(this)},sK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.coordinates=Object(o["a"])(this.coordinates,e.coordinates),this.height=Object(o["a"])(this.height,e.height),this.heightReference=Object(o["a"])(this.heightReference,e.heightReference),this.extrudedHeight=Object(o["a"])(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=Object(o["a"])(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=Object(o["a"])(this.rotation,e.rotation),this.stRotation=Object(o["a"])(this.stRotation,e.stRotation),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=Object(o["a"])(this.classificationType,e.classificationType),this.zIndex=Object(o["a"])(this.zIndex,e.zIndex)};var cK=sK;function lK(e){this._definitionChanged=new pi["a"],this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(Object(o["a"])(e,o["a"].EMPTY_OBJECT))}Object.defineProperties(lK.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:UB("show"),positions:UB("positions"),minimumHeights:UB("minimumHeights"),maximumHeights:UB("maximumHeights"),granularity:UB("granularity"),fill:UB("fill"),material:fX("material"),outline:UB("outline"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth"),shadows:UB("shadows"),distanceDisplayCondition:UB("distanceDisplayCondition")}),lK.prototype.clone=function(e){return Object(r["a"])(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new lK(this)},lK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.show=Object(o["a"])(this.show,e.show),this.positions=Object(o["a"])(this.positions,e.positions),this.minimumHeights=Object(o["a"])(this.minimumHeights,e.minimumHeights),this.maximumHeights=Object(o["a"])(this.maximumHeights,e.maximumHeights),this.granularity=Object(o["a"])(this.granularity,e.granularity),this.fill=Object(o["a"])(this.fill,e.fill),this.material=Object(o["a"])(this.material,e.material),this.outline=Object(o["a"])(this.outline,e.outline),this.outlineColor=Object(o["a"])(this.outlineColor,e.outlineColor),this.outlineWidth=Object(o["a"])(this.outlineWidth,e.outlineWidth),this.shadows=Object(o["a"])(this.shadows,e.shadows),this.distanceDisplayCondition=Object(o["a"])(this.distanceDisplayCondition,e.distanceDisplayCondition)};var uK=lK;const hK=new I;function dK(e){return new vX(e)}function fK(e){return UB(e,void 0,dK)}function pK(e,t){return UB(e,void 0,(function(e){return e instanceof t?e:new t(e)}))}function mK(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.id;Object(r["a"])(t)||(t=RL()),this._availability=void 0,this._id=t,this._definitionChanged=new pi["a"],this._name=e.name,this._show=Object(o["a"])(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall"],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function _K(e,t,n){const i=t.length;for(let o=0;o<i;o++){const e=t[o],i=e._show,r=!n&&i,a=n&&i;r!==a&&_K(e,e._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(mK.prototype,{availability:CX("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:CX("name"),show:{get:function(){return this._show},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(e===this._show)return;const t=this.isShowing;this._show=e;const n=this.isShowing;t!==n&&_K(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},isShowing:{get:function(){return this._show&&(!Object(r["a"])(this.entityCollection)||this.entityCollection.show)&&(!Object(r["a"])(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){const t=this._parent;if(t===e)return;const n=this.isShowing;if(Object(r["a"])(t)){const e=t._children.indexOf(this);t._children.splice(e,1)}this._parent=e,Object(r["a"])(e)&&e._children.push(this);const i=this.isShowing;n!==i&&_K(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:pK("billboard",HB),box:pK("box",mX),corridor:pK("corridor",wX),cylinder:pK("cylinder",xX),description:UB("description"),ellipse:pK("ellipse",IX),ellipsoid:pK("ellipsoid",jX),label:pK("label",RX),model:pK("model",qX),tileset:pK("tileset",YX),orientation:UB("orientation"),path:pK("path",KX),plane:pK("plane",ZX),point:pK("point",QX),polygon:pK("polygon",nK),polyline:pK("polyline",oK),polylineVolume:pK("polylineVolume",aK),properties:pK("properties",zX),position:fK("position"),rectangle:pK("rectangle",cK),viewFrom:UB("viewFrom"),wall:pK("wall",uK)}),mK.prototype.isAvailable=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._availability;return!Object(r["a"])(t)||t.contains(e)},mK.prototype.addProperty=function(e){const t=this._propertyNames;if(!Object(r["a"])(e))throw new a["a"]("propertyName is required.");if(-1!==t.indexOf(e))throw new a["a"](e+" is already a registered property.");if(e in this)throw new a["a"](e+" is a reserved property name.");t.push(e),Object.defineProperty(this,e,CX(e,!0))},mK.prototype.removeProperty=function(e){const t=this._propertyNames,n=t.indexOf(e);if(!Object(r["a"])(e))throw new a["a"]("propertyName is required.");if(-1===n)throw new a["a"](e+" is not a registered property.");this._propertyNames.splice(n,1),delete this[e]},mK.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.name=Object(o["a"])(this.name,e.name),this.availability=Object(o["a"])(this.availability,e.availability);const t=this._propertyNames,n=Object(r["a"])(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){const i=n[o];if("parent"===i||"name"===i||"availability"===i)continue;const a=this[i],s=e[i];Object(r["a"])(a)||-1!==t.indexOf(i)||this.addProperty(i),Object(r["a"])(s)&&(Object(r["a"])(a)?Object(r["a"])(a.merge)&&a.merge(s):Object(r["a"])(s.merge)&&Object(r["a"])(s.clone)?this[i]=s.clone():this[i]=s)}};const gK=new ce,bK=new g,yK=new $a;mK.prototype.computeModelMatrix=function(e,t){i["a"].typeOf.object("time",e);const n=QB.getValueOrUndefined(this._position,e,bK);if(!Object(r["a"])(n))return;const o=QB.getValueOrUndefined(this._orientation,e,yK);return t=Object(r["a"])(o)?Ne.fromRotationTranslation(ce.fromQuaternion(o,gK),n,t):Hs.eastNorthUpToFixedFrame(n,void 0,t),t},mK.prototype.computeModelMatrixForHeightReference=function(e,t,n,o,a){i["a"].typeOf.object("time",e);const c=QB.getValueOrDefault(t,e,qB.NONE);let l=QB.getValueOrUndefined(this._position,e,bK);if(c===qB.NONE||!Object(r["a"])(l)||g.equalsEpsilon(l,g.ZERO,s["a"].EPSILON8))return this.computeModelMatrix(e,a);const u=o.cartesianToCartographic(l,hK);c===qB.CLAMP_TO_GROUND?u.height=n:u.height+=n,l=o.cartographicToCartesian(u,l);const h=QB.getValueOrUndefined(this._orientation,e,yK);return a=Object(r["a"])(h)?Ne.fromRotationTranslation(ce.fromQuaternion(h,gK),l,a):Hs.eastNorthUpToFixedFrame(l,void 0,a),a},mK.supportsMaterialsforEntitiesOnTerrain=function(e){return PY.supportsMaterials(e)},mK.supportsPolylinesOnTerrain=function(e){return rX.isSupported(e)};var vK=mK;const OK=new Zk(j_.WHITE),wK=new BB(!0),AK=new BB(!0),TK=new BB(!1),CK=new BB(j_.BLACK),EK=new BB(wq.DISABLED),xK=new BB(new sw),SK=new BB(wG.BOTH);function IK(e){i["a"].defined("options.entity",e.entity),i["a"].defined("options.scene",e.scene),i["a"].defined("options.geometryOptions",e.geometryOptions),i["a"].defined("options.geometryPropertyName",e.geometryPropertyName),i["a"].defined("options.observedPropertyNames",e.observedPropertyNames);const t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new pi["a"],this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=vK.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(IK.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!Object(r["a"])(this._entity.availability)&&QB.isConstant(this._showProperty)&&QB.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!Object(r["a"])(this._entity.availability)&&QB.isConstant(this._showProperty)&&QB.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}}),IK.prototype.isOutlineVisible=function(e){const t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return Object(o["a"])(n,!1)},IK.prototype.isFilled=function(e){const t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return Object(o["a"])(n,!1)},IK.prototype.createFillGeometryInstance=a["a"].throwInstantiationError,IK.prototype.createOutlineGeometryInstance=a["a"].throwInstantiationError,IK.prototype.isDestroyed=function(){return!1},IK.prototype.destroy=function(){Wl(this)},IK.prototype._isHidden=function(e,t){const n=t.show;return Object(r["a"])(n)&&n.isConstant&&!n.getValue(kx.MINIMUM_VALUE)},IK.prototype._isOnTerrain=function(e,t){return!1},IK.prototype._getIsClosed=function(e){return!0},IK.prototype._isDynamic=a["a"].throwInstantiationError,IK.prototype._setStaticOptions=a["a"].throwInstantiationError,IK.prototype._onEntityPropertyChanged=function(e,t,n,i){if(-1===this._observedPropertyNames.indexOf(t))return;const a=this._entity[this._geometryPropertyName];if(!Object(r["a"])(a))return void((this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)));const s=a.fill,c=!Object(r["a"])(s)||!s.isConstant||s.getValue(kx.MINIMUM_VALUE),l=a.outline;let u=Object(r["a"])(l);if(u&&l.isConstant&&(u=l.getValue(kx.MINIMUM_VALUE)),!c&&!u)return void((this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)));const h=a.show;if(this._isHidden(e,a))return void((this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)));this._materialProperty=Object(o["a"])(a.material,OK),this._fillProperty=Object(o["a"])(s,AK),this._showProperty=Object(o["a"])(h,wK),this._showOutlineProperty=Object(o["a"])(a.outline,TK),this._outlineColorProperty=u?Object(o["a"])(a.outlineColor,CK):void 0,this._shadowsProperty=Object(o["a"])(a.shadows,EK),this._distanceDisplayConditionProperty=Object(o["a"])(a.distanceDisplayCondition,xK),this._classificationTypeProperty=Object(o["a"])(a.classificationType,SK),this._fillEnabled=c;const d=this._isOnTerrain(e,a)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Zk);if(u&&d&&(ky(ky.geometryOutlines),u=!1),this._onTerrain=d,this._outlineEnabled=u,this._isDynamic(e,a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,a),this._isClosed=this._getIsClosed(this._options);const t=a.outlineWidth;this._outlineWidth=Object(r["a"])(t)?t.getValue(kx.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}},IK.prototype.createDynamicUpdater=function(e,t){if(i["a"].defined("primitives",e),i["a"].defined("groundPrimitives",t),!this._dynamic)throw new a["a"]("This instance does not represent dynamic geometry.");return new this.constructor.DynamicGeometryUpdater(this,e,t)};var DK=IK;function jK(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new pi["a"],this.setCallback(e,t)}Object.defineProperties(jK.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}}),jK.prototype.getValue=function(e,t){return this._callback(e,t)},jK.prototype.setCallback=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("callback is required.");if(!Object(r["a"])(t))throw new a["a"]("isConstant is required.");const n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)},jK.prototype.equals=function(e){return this===e||e instanceof jK&&this._callback===e._callback&&this._isConstant===e._isConstant};var PK=jK;const RK=new g,MK=new I;function NK(e,t,n,o){i["a"].defined("scene",e),i["a"].defined("positionProperty",t),this._scene=e,this._heightReference=n,this._extrudedHeightReference=o,this._positionProperty=t,this._position=new g,this._cartographicPosition=new I,this._normal=new g,this._definitionChanged=new pi["a"],this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;const a=this;if(Object(r["a"])(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener((function(){a._updateClamping()})),this._removeModeListener=e.morphComplete.addEventListener((function(){a._updateClamping()}))),t.isConstant){const n=t.getValue(kx.MINIMUM_VALUE,RK);if(!Object(r["a"])(n)||g.equals(n,g.ZERO)||!Object(r["a"])(e.globe))return;this._position=g.clone(n,this._position),this._updateClamping(),this._normal=e.globe.ellipsoid.geodeticSurfaceNormal(n,this._normal)}}Object.defineProperties(NK.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}}),NK.prototype._updateClamping=function(){Object(r["a"])(this._removeCallbackFunc)&&this._removeCallbackFunc();const e=this._scene,t=e.globe,n=this._position;if(!Object(r["a"])(t)||g.equals(n,g.ZERO))return void(this._terrainHeight=0);const i=t.ellipsoid,o=t._surface,a=this,s=i.cartesianToCartographic(n,this._cartographicPosition),c=t.getHeight(s);function l(t){if(e.mode===vq.SCENE3D){const e=i.cartesianToCartographic(t,MK);a._terrainHeight=e.height}else a._terrainHeight=t.x;a.definitionChanged.raiseEvent()}Object(r["a"])(c)?this._terrainHeight=c:this._terrainHeight=0,this._removeCallbackFunc=o.updateHeight(s,l)},NK.prototype.getValue=function(e,t){const n=QB.getValueOrDefault(this._heightReference,e,qB.NONE),i=QB.getValueOrDefault(this._extrudedHeightReference,e,qB.NONE);if(n===qB.NONE&&i!==qB.RELATIVE_TO_GROUND)return this._position=g.clone(g.ZERO,this._position),g.clone(g.ZERO,t);if(this._positionProperty.isConstant)return g.multiplyByScalar(this._normal,this._terrainHeight,t);const o=this._scene,a=this._positionProperty.getValue(e,RK);if(!Object(r["a"])(a)||g.equals(a,g.ZERO)||!Object(r["a"])(o.globe))return g.clone(g.ZERO,t);if(g.equalsEpsilon(this._position,a,s["a"].EPSILON10))return g.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=g.clone(a,this._position),this._updateClamping();const c=o.globe.ellipsoid.geodeticSurfaceNormal(a,this._normal);return g.multiplyByScalar(c,this._terrainHeight,t)},NK.prototype.isDestroyed=function(){return!1},NK.prototype.destroy=function(){return Object(r["a"])(this._removeEventListener)&&this._removeEventListener(),Object(r["a"])(this._removeModeListener)&&this._removeModeListener(),Object(r["a"])(this._removeCallbackFunc)&&this._removeCallbackFunc(),Wl(this)};var LK=NK;function BK(e,t,n,i){if(DK.prototype._onEntityPropertyChanged.call(this,e,t,n,i),-1===this._observedPropertyNames.indexOf(t))return;const o=this._entity[this._geometryPropertyName];if(!Object(r["a"])(o))return;Object(r["a"])(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);const a=o.heightReference;if(Object(r["a"])(a)){const e=new PK(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new LK(this._scene,e,a)}}var FK=BK;const kK=g.ZERO,zK=new g,UK=new g,VK=new j_;function HK(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function GK(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new HK(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}function qK(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(GK.prototype=Object.create(DK.prototype),GK.prototype.constructor=GK),Object.defineProperties(GK.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),GK.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o=new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),c=lw.fromDistanceDisplayCondition(s),l={show:o,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,VK)),Object(r["a"])(t)||(t=j_.WHITE),l.color=R_.fromColor(t)}return Object(r["a"])(this._options.offsetAttribute)&&(l.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,kK,zK))),new Df({id:t,geometry:td.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,.5*this._options.dimensions.z,this._scene.mapProjection.ellipsoid),attributes:l})},GK.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,VK),s=this._distanceDisplayConditionProperty.getValue(e),c={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(s),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(c.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,kK,zK))),new Df({id:t,geometry:sd.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,.5*this._options.dimensions.z,this._scene.mapProjection.ellipsoid),attributes:c})},GK.prototype._computeCenter=function(e,t){return QB.getValueOrUndefined(this._entity.position,e,t)},GK.prototype._isHidden=function(e,t){return!Object(r["a"])(t.dimensions)||!Object(r["a"])(e.position)||DK.prototype._isHidden.call(this,e,t)},GK.prototype._isDynamic=function(e,t){return!e.position.isConstant||!QB.isConstant(e.orientation)||!t.dimensions.isConstant||!QB.isConstant(t.outlineWidth)},GK.prototype._setStaticOptions=function(e,t){const n=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Zk?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(kx.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==qB.NONE?qh.ALL:void 0},GK.prototype._onEntityPropertyChanged=FK,GK.DynamicGeometryUpdater=qK,Object(r["a"])(Object.create)&&(qK.prototype=Object.create(LY.prototype),qK.prototype.constructor=qK),qK.prototype._isHidden=function(e,t,n){const i=QB.getValueOrUndefined(e.position,n,UK),o=this._options.dimensions;return!Object(r["a"])(i)||!Object(r["a"])(o)||LY.prototype._isHidden.call(this,e,t,n)},qK.prototype._setOptions=function(e,t,n){const i=QB.getValueOrDefault(t.heightReference,n,qB.NONE),o=this._options;o.dimensions=QB.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==qB.NONE?qh.ALL:void 0};var WK=GK;function YK(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=Object(o["a"])(e.persists,!1),this.pass=oz.COMPUTE,this.owner=e.owner}YK.prototype.execute=function(e){e.execute(this)};var XK=YK,KK="varying vec2 v_textureCoordinates;\n\nuniform float originalSize;\nuniform sampler2D texture0;\nuniform sampler2D texture1;\nuniform sampler2D texture2;\nuniform sampler2D texture3;\nuniform sampler2D texture4;\nuniform sampler2D texture5;\n\nconst float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0));\nconst float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0));\nconst float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0));\nconst float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0));\n\nvoid main()\n{\n vec2 uv = v_textureCoordinates;\n vec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize);\n vec2 pixel = 1.0 / textureSize;\n\n float mipLevel = 0.0;\n\n if (uv.x - pixel.x > (textureSize.y / textureSize.x))\n {\n mipLevel = 1.0;\n if (uv.y - pixel.y > yMipLevel1)\n {\n mipLevel = 2.0;\n if (uv.y - pixel.y * 3.0 > yMipLevel2)\n {\n mipLevel = 3.0;\n if (uv.y - pixel.y * 5.0 > yMipLevel3)\n {\n mipLevel = 4.0;\n if (uv.y - pixel.y * 7.0 > yMipLevel4)\n {\n mipLevel = 5.0;\n }\n }\n }\n }\n }\n\n if (mipLevel > 0.0)\n {\n float scale = pow(2.0, mipLevel);\n\n uv.y -= (pixel.y * (mipLevel - 1.0) * 2.0);\n uv.x *= ((textureSize.x - 2.0) / textureSize.y);\n\n uv.x -= 1.0 + pixel.x;\n uv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0)));\n uv *= scale;\n }\n else\n {\n uv.x *= (textureSize.x / textureSize.y);\n }\n\n if(mipLevel == 0.0)\n {\n gl_FragColor = texture2D(texture0, uv);\n }\n else if(mipLevel == 1.0)\n {\n gl_FragColor = texture2D(texture1, uv);\n }\n else if(mipLevel == 2.0)\n {\n gl_FragColor = texture2D(texture2, uv);\n }\n else if(mipLevel == 3.0)\n {\n gl_FragColor = texture2D(texture3, uv);\n }\n else if(mipLevel == 4.0)\n {\n gl_FragColor = texture2D(texture4, uv);\n }\n else if(mipLevel == 5.0)\n {\n gl_FragColor = texture2D(texture5, uv);\n }\n else\n {\n gl_FragColor = vec4(0.0);\n }\n}\n",JK="varying vec3 v_cubeMapCoordinates;\nuniform samplerCube cubeMap;\n\nvoid main()\n{\n vec4 rgba = textureCube(cubeMap, v_cubeMapCoordinates);\n #ifdef RGBA_NORMALIZED\n gl_FragColor = vec4(rgba.rgb, 1.0);\n #else\n float m = rgba.a * 16.0;\n vec3 r = rgba.rgb * m;\n gl_FragColor = vec4(r * r, 1.0);\n #endif\n}\n",ZK="attribute vec4 position;\nattribute vec3 cubeMapCoordinates;\n\nvarying vec3 v_cubeMapCoordinates;\n\nvoid main()\n{\n gl_Position = position;\n v_cubeMapCoordinates = cubeMapCoordinates;\n}\n";function $K(e){this._url=e,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._readyPromise=Object(xr["a"])()}Object.defineProperties($K.prototype,{url:{get:function(){return this._url}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}}),$K.isSupported=function(e){return e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat};const QK=new g(1,0,0),eJ=new g(0,0,1),tJ=new g(-1,0,0),nJ=new g(0,0,-1),iJ=new g(0,1,0),oJ=new g(0,-1,0),rJ=[iJ,tJ,eJ,oJ,QK,iJ,nJ,iJ,iJ],aJ=rJ.length,sJ=new Float32Array(3*aJ);let cJ=0;for(let opt=0;opt<aJ;++opt,cJ+=3)g.pack(rJ[opt],sJ,cJ);const lJ=new Float32Array([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),uJ=new Uint16Array([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);function hJ(e){const t=SG.createVertexBuffer({context:e,typedArray:lJ,usage:EG.STATIC_DRAW}),n=SG.createVertexBuffer({context:e,typedArray:sJ,usage:EG.STATIC_DRAW}),i=SG.createIndexBuffer({context:e,typedArray:uJ,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),o=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:$c.FLOAT},{index:1,vertexBuffer:n,componentsPerAttribute:3,componentDatatype:$c.FLOAT}];return new BG({context:e,attributes:o,indexBuffer:i})}function dJ(e){return function(){return e}}function fJ(e){let t,n;e._va=e._va&&e._va.destroy(),e._sp=e._sp&&e._sp.destroy();const i=e._cubeMaps;if(Object(r["a"])(i))for(n=i.length,t=0;t<n;++t)i[t].destroy();const o=e._mipTextures;if(Object(r["a"])(o))for(n=o.length,t=0;t<n;++t)o[t].destroy();e._va=void 0,e._sp=void 0,e._cubeMaps=void 0,e._cubeMapBuffers=void 0,e._mipTextures=void 0}$K.prototype.update=function(e){const t=e.context;if(!$K.isSupported(t))return;if(Object(r["a"])(this._texture)&&Object(r["a"])(this._va)&&fJ(this),Object(r["a"])(this._texture))return;if(!Object(r["a"])(this._texture)&&!this._loading){const e=t.textureCache.getTexture(this._url);if(Object(r["a"])(e))return fJ(this),this._texture=e,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0,void this._readyPromise.resolve()}const n=this._cubeMapBuffers;if(!Object(r["a"])(n)&&!this._loading){const e=this;rB(this._url).then((function(t){e._cubeMapBuffers=t,e._loading=!1})).catch((function(t){e._readyPromise.reject(t)})),this._loading=!0}if(!Object(r["a"])(this._cubeMapBuffers))return;const i=[];let o=n[0].positiveX.pixelDatatype;Object(r["a"])(o)?i.push("RGBA_NORMALIZED"):o=t.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT;const a=XS.RGBA,s=new bG({defines:i,sources:[JK]});this._va=hJ(t),this._sp=IU.fromCache({context:t,vertexShaderSource:ZK,fragmentShaderSource:s,attributeLocations:{position:0,cubeMapCoordinates:1}});const c=Math.min(n.length,6);this._maximumMipmapLevel=c-1;const l=this._cubeMaps=new Array(c),u=this._mipTextures=new Array(c),h=2*n[0].positiveX.width,d={originalSize:function(){return h}};for(let r=0;r<c;++r){const i=n[r].positiveY;n[r].positiveY=n[r].negativeY,n[r].negativeY=i;const s=l[r]=new ek({context:t,source:n[r],pixelDatatype:o}),c=2*l[r].width,h=u[r]=new nk({context:t,width:c,height:c,pixelDatatype:o,pixelFormat:a}),f=new XK({vertexArray:this._va,shaderProgram:this._sp,uniformMap:{cubeMap:dJ(s)},outputTexture:h,persists:!0,owner:this});e.commandList.push(f),d["texture"+r]=dJ(h)}this._texture=new nk({context:t,width:1.5*h+2,height:h,pixelDatatype:o,pixelFormat:a}),this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture);const f=new XK({fragmentShaderSource:KK,uniformMap:d,outputTexture:this._texture,persists:!1,owner:this});e.commandList.push(f),this._ready=!0,this._readyPromise.resolve()},$K.prototype.isDestroyed=function(){return!1},$K.prototype.destroy=function(){return fJ(this),this._texture=this._texture&&this._texture.destroy(),Wl(this)};var pJ=$K;function mJ(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(r["a"])(e.imageBasedLightingFactor)?Ht.clone(e.imageBasedLightingFactor):new Ht(1,1);i["a"].typeOf.object("options.imageBasedLightingFactor",t),i["a"].typeOf.number.greaterThanOrEquals("options.imageBasedLightingFactor.x",t.x,0),i["a"].typeOf.number.lessThanOrEquals("options.imageBasedLightingFactor.x",t.x,1),i["a"].typeOf.number.greaterThanOrEquals("options.imageBasedLightingFactor.y",t.y,0),i["a"].typeOf.number.lessThanOrEquals("options.imageBasedLightingFactor.y",t.y,1),this._imageBasedLightingFactor=t;const n=Object(o["a"])(e.luminanceAtZenith,.2);i["a"].typeOf.number("options.luminanceAtZenith",n),this._luminanceAtZenith=n;const s=e.sphericalHarmonicCoefficients;if(Object(r["a"])(s)&&(!Array.isArray(s)||9!==s.length))throw new a["a"]("options.sphericalHarmonicCoefficients must be an array of 9 Cartesian3 values.");this._sphericalHarmonicCoefficients=s,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapAtlas=void 0,this._specularEnvironmentMapAtlasDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=Ht.clone(t),this._previousLuminanceAtZenith=n,this._previousSphericalHarmonicCoefficients=s}function _J(e,t){if(pJ.isSupported(t)){if(e._specularEnvironmentMapAtlas=e._specularEnvironmentMapAtlas&&e._specularEnvironmentMapAtlas.destroy(),Object(r["a"])(e._specularEnvironmentMaps)){const t=new pJ(e._specularEnvironmentMaps);e._specularEnvironmentMapAtlas=t,t.readyPromise.then((function(){e._specularEnvironmentMapLoaded=!0})).catch((function(e){console.error("Error loading specularEnvironmentMaps: "+e)}))}e._shouldRegenerateShaders=!0}}function gJ(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}Object.defineProperties(mJ.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){i["a"].typeOf.object("imageBasedLightingFactor",e),i["a"].typeOf.number.greaterThanOrEquals("imageBasedLightingFactor.x",e.x,0),i["a"].typeOf.number.lessThanOrEquals("imageBasedLightingFactor.x",e.x,1),i["a"].typeOf.number.greaterThanOrEquals("imageBasedLightingFactor.y",e.y,0),i["a"].typeOf.number.lessThanOrEquals("imageBasedLightingFactor.y",e.y,1),this._previousImageBasedLightingFactor=Ht.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=Ht.clone(e,this._imageBasedLightingFactor)}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){this._previousLuminanceAtZenith=this._luminanceAtZenith,this._luminanceAtZenith=e}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){if(Object(r["a"])(e)&&(!Array.isArray(e)||9!==e.length))throw new a["a"]("sphericalHarmonicCoefficients must be an array of 9 Cartesian3 values.");this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentMapAtlasDirty=this._specularEnvironmentMapAtlasDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return Object(r["a"])(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentMapAtlas:{get:function(){return this._specularEnvironmentMapAtlas}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return Object(r["a"])(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps}}}),mJ.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;const t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;const n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;Ht.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&0===i.x||0===n.x&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&0===i.y||0===n.y&&i.y>0,this._previousImageBasedLightingFactor=Ht.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||Object(r["a"])(this._luminanceAtZenith)!==Object(r["a"])(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||Object(r["a"])(this._previousSphericalHarmonicCoefficients)!==Object(r["a"])(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentMapAtlasDirty&&(_J(this,t),this._specularEnvironmentMapAtlasDirty=!1),Object(r["a"])(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e);const o=!Object(r["a"])(this._specularEnvironmentMapAtlas)&&Object(r["a"])(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,a=!Object(r["a"])(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!Object(r["a"])(this._sphericalHarmonicCoefficients)&&Object(r["a"])(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,c=!Object(r["a"])(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||a||s||c,this._useDefaultSpecularMaps=!Object(r["a"])(this._specularEnvironmentMapAtlas)&&Object(r["a"])(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!Object(r["a"])(this._sphericalHarmonicCoefficients)&&Object(r["a"])(e.sphericalHarmonicCoefficients)},mJ.prototype.isDestroyed=function(){return!1},mJ.prototype.destroy=function(){return this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),Wl(this)},gJ.ALL=Object.freeze(new gJ({color:new j_(0,0,0,0),depth:1,stencil:0})),gJ.prototype.execute=function(e,t){e.clear(this,t)};var bJ=gJ;const yJ={X:0,Y:1,Z:2};yJ.Y_UP_TO_Z_UP=Ne.fromRotationTranslation(ce.fromRotationX(s["a"].PI_OVER_TWO)),yJ.Z_UP_TO_Y_UP=Ne.fromRotationTranslation(ce.fromRotationX(-s["a"].PI_OVER_TWO)),yJ.X_UP_TO_Z_UP=Ne.fromRotationTranslation(ce.fromRotationY(-s["a"].PI_OVER_TWO)),yJ.Z_UP_TO_X_UP=Ne.fromRotationTranslation(ce.fromRotationY(s["a"].PI_OVER_TWO)),yJ.X_UP_TO_Y_UP=Ne.fromRotationTranslation(ce.fromRotationZ(s["a"].PI_OVER_TWO)),yJ.Y_UP_TO_X_UP=Ne.fromRotationTranslation(ce.fromRotationZ(-s["a"].PI_OVER_TWO)),yJ.fromName=function(e){return i["a"].typeOf.string("name",e),yJ[e]};var vJ=Object.freeze(yJ);function OJ(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.metadata",e.metadata),this._metadata=e.metadata}Object.defineProperties(OJ.prototype,{metadata:{get:function(){return this._metadata}}});const wJ={};wJ._deprecationWarning=WL;const AJ=Uint32Array.BYTES_PER_ELEMENT;wJ.parse=function(e,t){const n=Object(o["a"])(t,0);i["a"].defined("arrayBuffer",e),t=n;const r=new Uint8Array(e),a=new DataView(e);t+=AJ;const s=a.getUint32(t,!0);if(1!==s)throw new ye["a"](`Only Batched 3D Model version 1 is supported. Version ${s} is not.`);t+=AJ;const c=a.getUint32(t,!0);t+=AJ;let l=a.getUint32(t,!0);t+=AJ;let u=a.getUint32(t,!0);t+=AJ;let h=a.getUint32(t,!0);t+=AJ;let d,f,p=a.getUint32(t,!0);t+=AJ,h>=570425344?(t-=2*AJ,d=l,h=u,p=0,l=0,u=0,wJ._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):p>=570425344&&(t-=AJ,d=h,h=l,p=u,l=0,u=0,wJ._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")),0===l?f={BATCH_LENGTH:Object(o["a"])(d,0)}:(f=kd(r,t,l),t+=l);const m=new Uint8Array(e,t,u);let _,g;t+=u,h>0&&(_=kd(r,t,h),t+=h,p>0&&(g=new Uint8Array(e,t,p),g=new Uint8Array(g),t+=p));const b=n+c-t;if(0===b)throw new ye["a"]("glTF byte length must be greater than 0.");let y;return t%4===0?y=new Uint8Array(e,t,b):(wJ._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),y=new Uint8Array(r.subarray(t,t+b))),{batchLength:d,featureTableJson:f,featureTableBinary:m,batchTableJson:_,batchTableBinary:g,gltf:y}};var TJ=wJ;function CJ(e){i["a"].typeOf.number("options.featuresLength",e.featuresLength),i["a"].typeOf.object("options.owner",e.owner);const t=e.featuresLength;let n,o;if(this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[],t>0){const e=Math.min(t,zF.maximumTextureSize),i=Math.ceil(t/zF.maximumTextureSize),r=1/e,a=.5*r,s=1/i,c=.5*s;n=new Ht(e,i),o=new be(r,a,s,c)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=o,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}function EJ(e){const t=e._textureDimensions;return t.x*t.y*4}function xJ(e){if(!Object(r["a"])(e._batchValues)){const t=EJ(e),n=new Uint8Array(t);Ah(n,255),e._batchValues=n}return e._batchValues}function SJ(e){if(!Object(r["a"])(e._showAlphaProperties)){const t=2*e._featuresLength,n=new Uint8Array(t);Ah(n,255),e._showAlphaProperties=n}return e._showAlphaProperties}function IJ(e,t){if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"]("batchId is required and between zero and featuresLength - 1 ("+t-NaN)}Object.defineProperties(CJ.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},memorySizeInBytes:{get:function(){let e=0;return Object(r["a"])(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),Object(r["a"])(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}}),CJ.DEFAULT_COLOR_VALUE=j_.WHITE,CJ.DEFAULT_SHOW_VALUE=!0,CJ.prototype.setShow=function(e,t){if(IJ(e,this._featuresLength),i["a"].typeOf.bool("show",t),t&&!Object(r["a"])(this._showAlphaProperties))return;const n=SJ(this),o=2*e,a=t?255:0;if(n[o]!==a){n[o]=a;const i=xJ(this),r=4*e+3;i[r]=t?n[o+1]:0,this._batchValuesDirty=!0}},CJ.prototype.setAllShow=function(e){i["a"].typeOf.bool("show",e);const t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)},CJ.prototype.getShow=function(e){if(IJ(e,this._featuresLength),!Object(r["a"])(this._showAlphaProperties))return!0;const t=2*e;return 255===this._showAlphaProperties[t]};const DJ=new Array(4);function jJ(e,t,n){const i=e._textureDimensions;return new nk({context:t,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:$F.NEAREST})}function PJ(e,t){const n=e._featuresLength;if(!Object(r["a"])(e._pickTexture)&&n>0){const i=e._pickIds,o=EJ(e),a=new Uint8Array(o),s=e._owner,c=e._statistics;for(let e=0;e<n;++e){const n=t.createPickId(s.getFeature(e));i.push(n);const o=n.color,r=4*e;a[r]=j_.floatToByte(o.red),a[r+1]=j_.floatToByte(o.green),a[r+2]=j_.floatToByte(o.blue),a[r+3]=j_.floatToByte(o.alpha)}e._pickTexture=jJ(e,t,a),Object(r["a"])(c)&&(c.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function RJ(e){const t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}CJ.prototype.setColor=function(e,t){if(IJ(e,this._featuresLength),i["a"].typeOf.object("color",t),j_.equals(t,CJ.DEFAULT_COLOR_VALUE)&&!Object(r["a"])(this._batchValues))return;const n=t.toBytes(DJ),o=n[3],a=xJ(this),s=4*e,c=SJ(this),l=2*e;if(a[s]!==n[0]||a[s+1]!==n[1]||a[s+2]!==n[2]||c[l+1]!==o){a[s]=n[0],a[s+1]=n[1],a[s+2]=n[2];const i=255!==c[l+1],u=0!==c[l];a[s+3]=u?o:0,c[l+1]=o;const h=255!==o;h&&!i?++this._translucentFeaturesLength:!h&&i&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,Object(r["a"])(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}},CJ.prototype.setAllColor=function(e){i["a"].typeOf.object("color",e);const t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)},CJ.prototype.getColor=function(e,t){if(IJ(e,this._featuresLength),i["a"].typeOf.object("result",t),!Object(r["a"])(this._batchValues))return j_.clone(CJ.DEFAULT_COLOR_VALUE,t);const n=this._batchValues,o=4*e,a=this._showAlphaProperties,s=2*e;return j_.fromBytes(n[o],n[o+1],n[o+2],a[s+1],t)},CJ.prototype.getPickColor=function(e){return IJ(e,this._featuresLength),this._pickIds[e]},CJ.prototype.update=function(e,t){const n=t.context;this._defaultTexture=n.defaultTexture;const i=t.passes;(i.pick||i.postProcess)&&PJ(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,Object(r["a"])(this._batchTexture)||(this._batchTexture=jJ(this,n,this._batchValues),Object(r["a"])(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),RJ(this))},CJ.prototype.isDestroyed=function(){return!1},CJ.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();const e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return Wl(this)};const MJ={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},NJ={SCALAR:void 0,VEC2:Ht,VEC3:g,VEC4:be,MAT2:al,MAT3:ce,MAT4:Ne};function LJ(e){const t=e.componentType;let n;n="string"===typeof t?$c.fromName(t):t;const i=MJ[e.type],o=NJ[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(e,t,o){return $c.createArrayBufferView(n,e,t,i*o)}}}var BJ=LJ;function FJ(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,i["a"].typeOf.object("options.extension",e.extension),kJ(this,e.extension,e.binaryBody),VJ(this)}function kJ(e,t,n){let i,a,s;const c=t.instancesLength,l=t.classes;let u,h=t.classIds,d=t.parentCounts,f=t.parentIds,p=c;if(Object(r["a"])(h.byteOffset)&&(h.componentType=Object(o["a"])(h.componentType,$c.UNSIGNED_SHORT),h.type=cl.SCALAR,s=BJ(h),h=s.createArrayBufferView(n.buffer,n.byteOffset+h.byteOffset,c)),Object(r["a"])(d))for(Object(r["a"])(d.byteOffset)&&(d.componentType=Object(o["a"])(d.componentType,$c.UNSIGNED_SHORT),d.type=cl.SCALAR,s=BJ(d),d=s.createArrayBufferView(n.buffer,n.byteOffset+d.byteOffset,c)),u=new Uint16Array(c),p=0,i=0;i<c;++i)u[i]=p,p+=d[i];Object(r["a"])(f)&&Object(r["a"])(f.byteOffset)&&(f.componentType=Object(o["a"])(f.componentType,$c.UNSIGNED_SHORT),f.type=cl.SCALAR,s=BJ(f),f=s.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,p));const m=l.length;for(i=0;i<m;++i){const e=l[i].length,t=l[i].instances,o=zJ(e,t,n);l[i].instances=Object(xS["a"])(o,t)}const _=Ah(new Array(m),0),g=new Uint16Array(c);for(i=0;i<c;++i)a=h[i],g[i]=_[a],++_[a];e._classes=l,e._classIds=h,e._classIndexes=g,e._parentCounts=d,e._parentIndexes=u,e._parentIds=f}function zJ(e,t,n){let i;for(const o in t)if(t.hasOwnProperty(o)){const a=t[o],s=a.byteOffset;if(Object(r["a"])(s)){const t=a.componentType,c=a.type;if(!Object(r["a"])(t))throw new ye["a"]("componentType is required.");if(!Object(r["a"])(c))throw new ye["a"]("type is required.");if(!Object(r["a"])(n))throw new ye["a"](`Property ${o} requires a batch table binary.`);const l=BJ(a),u=l.componentsPerAttribute,h=l.classType,d=l.createArrayBufferView(n.buffer,n.byteOffset+s,e);Object(r["a"])(i)||(i={}),i[o]={typedArray:d,componentCount:u,type:h}}}return i}const UJ=[];function VJ(e){const t=UJ;t.length=0;const n=e._classIds,i=n.length;for(let o=0;o<i;++o)HJ(e,o,t)}function HJ(e,t,n){const i=e._parentCounts,o=e._parentIds,s=e._parentIndexes,c=e._classIds,l=c.length;if(!Object(r["a"])(o))return;if(t>=l)throw new a["a"](`Parent index ${t} exceeds the total number of instances: ${l}`);if(n.indexOf(t)>-1)throw new a["a"]("Circular dependency detected in the batch table hierarchy.");n.push(t);const u=Object(r["a"])(i)?i[t]:1,h=Object(r["a"])(i)?s[t]:t;for(let r=0;r<u;++r){const i=o[h+r];i!==t&&HJ(e,i,n)}n.pop(t)}const GJ=[],qJ=[];let WJ=0;function YJ(e,t,n){const i=e._classIds,o=e._parentCounts,a=e._parentIds,s=e._parentIndexes,c=i.length,l=GJ;l.length=Math.max(l.length,c);const u=++WJ,h=qJ;h.length=0,h.push(t);while(h.length>0){if(t=h.pop(),l[t]===u)continue;l[t]=u;const i=n(e,t);if(Object(r["a"])(i))return i;const c=o[t],d=s[t];for(let e=0;e<c;++e){const n=a[d+e];n!==t&&h.push(n)}}}function XJ(e,t,n){let i=!0;while(i){const o=n(e,t);if(Object(r["a"])(o))return o;const a=e._parentIds[t];i=a!==t,t=a}}function KJ(e,t,n){const i=e._parentCounts,o=e._parentIds;return Object(r["a"])(o)?Object(r["a"])(i)?YJ(e,t,n):XJ(e,t,n):n(e,t)}function JJ(e,t){const n=e.typedArray,i=e.componentCount;return 1===i?n[t]:e.type.unpack(n,t*i)}function ZJ(e,t,n){const i=e.typedArray,o=e.componentCount;1===o?i[t]=n:e.type.pack(n,i,t*o)}FJ.prototype.hasProperty=function(e,t){const n=KJ(this,e,(function(e,n){const i=e._classIds[n],o=e._classes[i].instances;if(Object(r["a"])(o[t]))return!0}));return Object(r["a"])(n)},FJ.prototype.propertyExists=function(e){const t=this._classes,n=t.length;for(let i=0;i<n;++i){const n=t[i].instances;if(Object(r["a"])(n[e]))return!0}return!1},FJ.prototype.getPropertyIds=function(e,t){return t=Object(r["a"])(t)?t:[],t.length=0,KJ(this,e,(function(e,n){const i=e._classIds[n],o=e._classes[i].instances;for(const r in o)o.hasOwnProperty(r)&&-1===t.indexOf(r)&&t.push(r)})),t},FJ.prototype.getProperty=function(e,t){return KJ(this,e,(function(e,n){const i=e._classIds[n],o=e._classes[i],a=e._classIndexes[n],s=o.instances[t];if(Object(r["a"])(s))return Object(r["a"])(s.typedArray)?JJ(s,a):Object(jL["a"])(s[a],!0)}))},FJ.prototype.setProperty=function(e,t,n){const i=KJ(this,e,(function(i,o){const s=i._classIds[o],c=i._classes[s],l=i._classIndexes[o],u=c.instances[t];if(Object(r["a"])(u)){if(o!==e)throw new a["a"](`Inherited property "${t}" is read-only.`);return Object(r["a"])(u.typedArray)?ZJ(u,l,n):u[l]=Object(jL["a"])(n,!0),!0}}));return Object(r["a"])(i)},FJ.prototype.isClass=function(e,t){const n=KJ(this,e,(function(e,n){const i=e._classIds[n],o=e._classes[i];if(o.name===t)return!0}));return Object(r["a"])(n)},FJ.prototype.getClassName=function(e){const t=this._classIds[e],n=this._classes[t];return n.name};const $J={HIGHLIGHT:0,REPLACE:1,MIX:2};var QJ=Object.freeze($J);const eZ=CJ.DEFAULT_COLOR_VALUE,tZ=CJ.DEFAULT_SHOW_VALUE;function nZ(e,t,n,i,a){let s;this.featuresLength=t,Object(r["a"])(n)&&(s=n.extensions),this._extensions=Object(o["a"])(s,{});const c=iZ(n);this._properties=c,this._batchTableHierarchy=oZ(this,n,i),this._batchTableBinaryProperties=rZ(t,c,i),this._content=e,this._batchTexture=new CJ({featuresLength:t,colorChangedCallback:a,owner:e,statistics:e.tileset.statistics})}function iZ(e){const t={};if(!Object(r["a"])(e))return t;for(const n in e)e.hasOwnProperty(n)&&"HIERARCHY"!==n&&"extensions"!==n&&"extras"!==n&&(t[n]=Object(jL["a"])(e[n],!0));return t}function oZ(e,t,n){if(!Object(r["a"])(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"];const o=t.HIERARCHY;return Object(r["a"])(o)&&(nZ._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),Object(r["a"])(i)?new FJ({extension:i,binaryBody:n}):void 0}function rZ(e,t,n){let i;for(const o in t)if(t.hasOwnProperty(o)){const a=t[o],s=a.byteOffset;if(Object(r["a"])(s)){const t=a.componentType,c=a.type;if(!Object(r["a"])(t))throw new ye["a"]("componentType is required.");if(!Object(r["a"])(c))throw new ye["a"]("type is required.");if(!Object(r["a"])(n))throw new ye["a"](`Property ${o} requires a batch table binary.`);const l=BJ(a),u=l.componentsPerAttribute,h=l.classType,d=l.createArrayBufferView(n.buffer,n.byteOffset+s,e);Object(r["a"])(i)||(i={}),i[o]={typedArray:d,componentCount:u,type:h}}}return i}nZ._deprecationWarning=WL,Object.defineProperties(nZ.prototype,{memorySizeInBytes:{get:function(){return this._batchTexture.memorySizeInBytes}}}),nZ.getBinaryProperties=function(e,t,n){return rZ(e,t,n)},nZ.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)},nZ.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)},nZ.prototype.getShow=function(e){return this._batchTexture.getShow(e)},nZ.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)},nZ.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)},nZ.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)},nZ.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};const aZ=new j_;function sZ(e,t){const n=e.typedArray,i=e.componentCount;return 1===i?n[t]:e.type.unpack(n,t*i)}function cZ(e,t,n){const i=e.typedArray,o=e.componentCount;1===o?i[t]=n:e.type.pack(n,i,t*o)}function lZ(e,t){if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"]("batchId is required and between zero and featuresLength - 1 ("+t-NaN)}function uZ(e){return 1===e._batchTexture.textureDimensions.y?"uniform vec4 tile_textureStep; \nvec2 computeSt(float batchId) \n{ \n float stepX = tile_textureStep.x; \n float centerX = tile_textureStep.y; \n return vec2(centerX + (batchId * stepX), 0.5); \n} \n":"uniform vec4 tile_textureStep; \nuniform vec2 tile_textureDimensions; \nvec2 computeSt(float batchId) \n{ \n float stepX = tile_textureStep.x; \n float centerX = tile_textureStep.y; \n float stepY = tile_textureStep.z; \n float centerY = tile_textureStep.w; \n float xId = mod(batchId, tile_textureDimensions.x); \n float yId = floor(batchId / tile_textureDimensions.x); \n return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); \n} \n"}function hZ(e,t){return e=bG.replaceMain(e,"tile_main"),t?e+"uniform float tile_colorBlend; \nvoid tile_color(vec4 tile_featureColor) \n{ \n tile_main(); \n tile_featureColor = czm_gammaCorrect(tile_featureColor); \n gl_FragColor.a *= tile_featureColor.a; \n float highlight = ceil(tile_colorBlend); \n gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); \n} \n":e+"void tile_color(vec4 tile_featureColor) \n{ \n tile_main(); \n} \n"}function dZ(e,t){const n="texture2D("+t;let i,o=0,r=e.indexOf(n,o);while(r>-1){let t=0;for(let n=r;n<e.length;++n){const o=e.charAt(n);if("("===o)++t;else if(")"===o&&(--t,0===t)){i=n+1;break}}const a=e.slice(r,i),s=`tile_diffuse_final(${a}, tile_diffuse)`;e=e.slice(0,r)+s+e.slice(i),o=r+s.length,r=e.indexOf(n,o)}return e}function fZ(e,t,n){if(!Object(r["a"])(t))return hZ(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`);const o=e.match(i);if(!Object(r["a"])(o))return hZ(e,n);const a=o[0],s=o[2];e=bG.replaceMain(e,"tile_main"),e=e.replace(a,"");const c="bool isWhite(vec3 color) \n{ \n return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); \n} \nvec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse) \n{ \n vec4 blendDiffuse = mix(sourceDiffuse, tileDiffuse, tile_colorBlend); \n vec4 diffuse = isWhite(tileDiffuse.rgb) ? sourceDiffuse : blendDiffuse; \n return vec4(diffuse.rgb, sourceDiffuse.a); \n} \n",l=" tile_featureColor = czm_gammaCorrect(tile_featureColor); \n gl_FragColor.a *= tile_featureColor.a; \n float highlight = ceil(tile_colorBlend); \n gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); \n";let u;if("vec3"===s||"vec4"===s){const n="vec3"===s?`vec4(${t}, 1.0)`:t,o="vec3"===s?"tile_diffuse.xyz":"tile_diffuse";i=new RegExp(t,"g"),e=e.replace(i,o),u=` vec4 source = ${n}; \n tile_diffuse = tile_diffuse_final(source, tile_featureColor); \n tile_main(); \n`}else"sampler2D"===s&&(e=dZ(e,t),u=" tile_diffuse = tile_featureColor; \n tile_main(); \n");return e=`uniform float tile_colorBlend; \nvec4 tile_diffuse = vec4(1.0); \n${c}${a}\n${e}\nvoid tile_color(vec4 tile_featureColor) \n{ \n`+u,n&&(e+=l),e+="} \n",e}function pZ(e){const t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===QJ.HIGHLIGHT)return 0;if(n===QJ.REPLACE)return 1;if(n===QJ.MIX)return s["a"].clamp(i,s["a"].EPSILON4,1);throw new a["a"](`Invalid color blend mode "${n}".`)}nZ.prototype.applyStyle=function(e){if(!Object(r["a"])(e))return this.setAllColor(eZ),void this.setAllShow(tZ);const t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){const n=t.getFeature(i),a=Object(r["a"])(e.color)?Object(o["a"])(e.color.evaluateColor(n,aZ),eZ):eZ,s=Object(r["a"])(e.show)?Object(o["a"])(e.show.evaluate(n),tZ):tZ;this.setColor(i,a),this.setShow(i,s)}},nZ.prototype.isClass=function(e,t){lZ(e,this.featuresLength),i["a"].typeOf.string("className",t);const n=this._batchTableHierarchy;return!!Object(r["a"])(n)&&n.isClass(e,t)},nZ.prototype.isExactClass=function(e,t){return i["a"].typeOf.string("className",t),this.getExactClassName(e)===t},nZ.prototype.getExactClassName=function(e){lZ(e,this.featuresLength);const t=this._batchTableHierarchy;if(Object(r["a"])(t))return t.getClassName(e)},nZ.prototype.hasProperty=function(e,t){return lZ(e,this.featuresLength),i["a"].typeOf.string("name",t),Object(r["a"])(this._properties[t])||Object(r["a"])(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)},nZ.prototype.hasPropertyBySemantic=function(){return!1},nZ.prototype.getPropertyNames=function(e,t){lZ(e,this.featuresLength),t=Object(r["a"])(t)?t:[],t.length=0;const n=Object.keys(this._properties);return t.push.apply(t,n),Object(r["a"])(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t},nZ.prototype.getPropertyBySemantic=function(e,t){},nZ.prototype.getProperty=function(e,t){if(lZ(e,this.featuresLength),i["a"].typeOf.string("name",t),Object(r["a"])(this._batchTableBinaryProperties)){const n=this._batchTableBinaryProperties[t];if(Object(r["a"])(n))return sZ(n,e)}const n=this._properties[t];if(Object(r["a"])(n))return Object(jL["a"])(n[e],!0);if(Object(r["a"])(this._batchTableHierarchy)){const n=this._batchTableHierarchy.getProperty(e,t);if(Object(r["a"])(n))return n}},nZ.prototype.setProperty=function(e,t,n){const o=this.featuresLength;if(lZ(e,o),i["a"].typeOf.string("name",t),Object(r["a"])(this._batchTableBinaryProperties)){const i=this._batchTableBinaryProperties[t];if(Object(r["a"])(i))return void cZ(i,e,n)}if(Object(r["a"])(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let a=this._properties[t];Object(r["a"])(a)||(this._properties[t]=new Array(o),a=this._properties[t]),a[e]=Object(jL["a"])(n,!0)},nZ.prototype.getVertexShaderCallback=function(e,t,n){if(0===this.featuresLength)return;const i=this;return function(o){const r=fZ(o,n,!1);let a;return zF.maximumVertexTextureImageUnits>0?(a="",e&&(a+="uniform bool tile_translucentCommand; \n"),a+=`uniform sampler2D tile_batchTexture; \nvarying vec4 tile_featureColor; \nvarying vec2 tile_featureSt; \nvoid main() \n{ \n vec2 st = computeSt(${t}); \n vec4 featureProperties = texture2D(tile_batchTexture, st); \n tile_color(featureProperties); \n float show = ceil(featureProperties.a); \n gl_Position *= show; \n`,e&&(a+=" bool isStyleTranslucent = (featureProperties.a != 1.0); \n if (czm_pass == czm_passTranslucent) \n { \n if (!isStyleTranslucent && !tile_translucentCommand) \n { \n gl_Position *= 0.0; \n } \n } \n else \n { \n if (isStyleTranslucent) \n { \n gl_Position *= 0.0; \n } \n } \n"),a+=" tile_featureColor = featureProperties; \n tile_featureSt = st; \n}"):a=`varying vec2 tile_featureSt; \nvoid main() \n{ \n tile_color(vec4(1.0)); \n tile_featureSt = computeSt(${t}); \n}`,`${r}\n${uZ(i)}${a}`}},nZ.prototype.getFragmentShaderCallback=function(e,t,n){if(0!==this.featuresLength)return function(i){return i=fZ(i,t,!0),zF.maximumVertexTextureImageUnits>0?(i+="uniform sampler2D tile_pickTexture; \nvarying vec2 tile_featureSt; \nvarying vec4 tile_featureColor; \nvoid main() \n{ \n tile_color(tile_featureColor); \n",n&&(i+=" gl_FragColor.rgb *= gl_FragColor.a; \n"),i+="}"):(e&&(i+="uniform bool tile_translucentCommand; \n"),i+="uniform sampler2D tile_pickTexture; \nuniform sampler2D tile_batchTexture; \nvarying vec2 tile_featureSt; \nvoid main() \n{ \n vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt); \n if (featureProperties.a == 0.0) { \n discard; \n } \n",e&&(i+=" bool isStyleTranslucent = (featureProperties.a != 1.0); \n if (czm_pass == czm_passTranslucent) \n { \n if (!isStyleTranslucent && !tile_translucentCommand) \n { \n discard; \n } \n } \n else \n { \n if (isStyleTranslucent) \n { \n discard; \n } \n } \n"),i+=" tile_color(featureProperties); \n",n&&(i+=" gl_FragColor.rgb *= gl_FragColor.a; \n"),i+="} \n"),i}},nZ.prototype.getClassificationFragmentShaderCallback=function(){if(0!==this.featuresLength)return function(e){return e=bG.replaceMain(e,"tile_main"),zF.maximumVertexTextureImageUnits>0?e+="uniform sampler2D tile_pickTexture;\nvarying vec2 tile_featureSt; \nvarying vec4 tile_featureColor; \nvoid main() \n{ \n tile_main(); \n gl_FragColor = tile_featureColor; \n gl_FragColor.rgb *= gl_FragColor.a; \n}":e+="uniform sampler2D tile_batchTexture; \nuniform sampler2D tile_pickTexture;\nvarying vec2 tile_featureSt; \nvoid main() \n{ \n tile_main(); \n vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt); \n if (featureProperties.a == 0.0) { \n discard; \n } \n gl_FragColor = featureProperties; \n gl_FragColor.rgb *= gl_FragColor.a; \n} \n",e}},nZ.prototype.getUniformMapCallback=function(){if(0===this.featuresLength)return;const e=this;return function(t){const n={tile_batchTexture:function(){return Object(o["a"])(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return pZ(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}};return Object(xS["a"])(t,n)}},nZ.prototype.getPickId=function(){return"texture2D(tile_pickTexture, tile_featureSt)"};const mZ={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};function _Z(e){const t=e._batchTexture.translucentFeaturesLength;return 0===t?mZ.ALL_OPAQUE:t===e.featuresLength?mZ.ALL_TRANSLUCENT:mZ.OPAQUE_AND_TRANSLUCENT}function gZ(e){const t=nz.shallowClone(e),n=t.pass===oz.TRANSLUCENT;return t.uniformMap=Object(r["a"])(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function bZ(e){const t=nz.shallowClone(e);return t.pass=oz.TRANSLUCENT,t.renderState=TZ(e.renderState),t}function yZ(e){const t=nz.shallowClone(e);return t.renderState=CZ(e.renderState),t}function vZ(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!Object(r["a"])(n)){const i=t.fragmentShaderSource.clone();i.defines=Object(r["a"])(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),i.sources.unshift("#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n"),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function OZ(e,t){const n=nz.shallowClone(t),i=Object(jL["a"])(n.renderState,!0);i.cull.enabled=!0,i.cull.face=LF.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=eY.setCesium3DTileBit(),i.stencilMask=eY.CESIUM_3D_TILE_MASK,n.renderState=Mz.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=Object(jL["a"])(t.uniformMap);const o=new Ht(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=vZ(e,t.shaderProgram),n}function wZ(e,t){const n=nz.shallowClone(e),i=Object(jL["a"])(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=eY.SKIP_LOD_MASK,i.stencilTest.reference=eY.CESIUM_3D_TILE_MASK|t<<eY.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=JW.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=$W.REPLACE,i.stencilTest.backFunction=JW.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=$W.REPLACE,i.stencilMask=eY.CESIUM_3D_TILE_MASK|eY.SKIP_LOD_MASK,n.renderState=Mz.fromCache(i),n}function AZ(e){const t=e.renderState.stencilTest.reference;return(t&eY.SKIP_LOD_MASK)>>>eY.SKIP_LOD_BIT_SHIFT}function TZ(e){const t=Object(jL["a"])(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=MF.ALPHA_BLEND,t.stencilTest=eY.setCesium3DTileBit(),t.stencilMask=eY.CESIUM_3D_TILE_MASK,Mz.fromCache(t)}function CZ(e){const t=Object(jL["a"])(e,!0);return t.stencilTest=eY.setCesium3DTileBit(),t.stencilMask=eY.CESIUM_3D_TILE_MASK,Mz.fromCache(t)}nZ.prototype.addDerivedCommands=function(e,t){const n=e.commandList,i=n.length,o=this._content._tile,a=o._finalResolution,s=o.tileset,c=s._skipLevelOfDetail&&s._hasMixedContent&&e.context.stencilBuffer,l=_Z(this);for(let u=t;u<i;++u){const t=n[u];if(t.pass===oz.COMPUTE)continue;let i=t.derivedCommands.tileset;Object(r["a"])(i)&&!t.dirty||(i={},t.derivedCommands.tileset=i,i.originalCommand=gZ(t),t.dirty=!1);const h=i.originalCommand;l!==mZ.ALL_OPAQUE&&t.pass!==oz.TRANSLUCENT&&(Object(r["a"])(i.translucent)||(i.translucent=bZ(h))),l!==mZ.ALL_TRANSLUCENT&&t.pass!==oz.TRANSLUCENT&&(Object(r["a"])(i.opaque)||(i.opaque=yZ(h)),c&&(a||(Object(r["a"])(i.zback)||(i.zback=OZ(e.context,h)),s._backfaceCommands.push(i.zback)),Object(r["a"])(i.stencil)&&o._selectionDepth===AZ(i.stencil)||(t.renderState.depthMask?i.stencil=wZ(h,o._selectionDepth):i.stencil=i.opaque)));const d=c?i.stencil:i.opaque,f=i.translucent;t.pass!==oz.TRANSLUCENT?(l===mZ.ALL_OPAQUE&&(n[u]=d),l===mZ.ALL_TRANSLUCENT&&(n[u]=f),l===mZ.OPAQUE_AND_TRANSLUCENT&&(n[u]=d,n.push(f))):n[u]=h}},nZ.prototype.update=function(e,t){this._batchTexture.update(e,t)},nZ.prototype.isDestroyed=function(){return!1},nZ.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),Wl(this)};var EZ=nZ;function xZ(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(xZ.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return Object(r["a"])(this._color)||(this._color=new j_),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(Object(r["a"])(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}}),xZ.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)},xZ.prototype.getPropertyNames=function(e){return this._content.batchTable.getPropertyNames(this._batchId,e)},xZ.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)},xZ.getPropertyInherited=function(e,t,n){const i=e.batchTable;if(Object(r["a"])(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}const o=e.metadata;if(Object(r["a"])(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}const a=e.tile,s=a.metadata;if(Object(r["a"])(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let c;if(Object(r["a"])(a.implicitSubtree)&&(c=a.implicitSubtree.metadata),Object(r["a"])(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}const l=Object(r["a"])(e.group)?e.group.metadata:void 0;if(Object(r["a"])(l)){if(l.hasPropertyBySemantic(n))return l.getPropertyBySemantic(n);if(l.hasProperty(n))return l.getProperty(n)}const u=e.tileset.metadata;if(Object(r["a"])(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}},xZ.prototype.getPropertyInherited=function(e){return xZ.getPropertyInherited(this._content,this._batchId,e)},xZ.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0},xZ.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)},xZ.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)},xZ.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var SZ=xZ;function IZ(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function DZ(e,t,n,i,o,a){const s=e._cachedTypedArrays;let c=s[t];return Object(r["a"])(c)||(c=$c.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+a,o*i),s[t]=c),c}function jZ(e,t,n,i){const o=e._cachedTypedArrays;let a=o[t];return Object(r["a"])(a)||(a=$c.createTypedArray(n,i),o[t]=a),a}IZ.prototype.getGlobalProperty=function(e,t,n){const i=this.json[e];if(Object(r["a"])(i))return Object(r["a"])(i.byteOffset)?(t=Object(o["a"])(t,$c.UNSIGNED_INT),n=Object(o["a"])(n,1),DZ(this,e,t,n,1,i.byteOffset)):i},IZ.prototype.hasProperty=function(e){return Object(r["a"])(this.json[e])},IZ.prototype.getPropertyArray=function(e,t,n){const i=this.json[e];if(Object(r["a"])(i))return Object(r["a"])(i.byteOffset)?(Object(r["a"])(i.componentType)&&(t=$c.fromName(i.componentType)),DZ(this,e,t,n,this.featuresLength,i.byteOffset)):jZ(this,e,t,i)},IZ.prototype.getProperty=function(e,t,n,i,o){const a=this.json[e];if(!Object(r["a"])(a))return;const s=this.getPropertyArray(e,t,n);if(1===n)return s[i];for(let r=0;r<n;++r)o[r]=s[n*i+r];return o};var PZ=IZ;function RZ(e,t,n){if(n=Object(o["a"])(n,!1),n){const n=e.indexOf(t);if(n>-1)return n}return e.push(t),e.length-1}var MZ=RZ;function NZ(e,t){return Object(r["a"])(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var LZ=NZ;function BZ(){}BZ.objectLegacy=function(e,t){if(Object(r["a"])(e))for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const i=e[n],o=t(i,n);if(Object(r["a"])(o))return o}},BZ.object=function(e,t){if(Object(r["a"])(e)){const n=e.length;for(let i=0;i<n;i++){const n=e[i],o=t(n,i);if(Object(r["a"])(o))return o}}},BZ.topLevel=function(e,t,n){const i=e[t];return Object(r["a"])(i)&&!Array.isArray(i)?BZ.objectLegacy(i,n):BZ.object(i,n)},BZ.accessor=function(e,t){return BZ.topLevel(e,"accessors",t)},BZ.accessorWithSemantic=function(e,t,n){const i={};return BZ.mesh(e,(function(e){return BZ.meshPrimitive(e,(function(e){const o=BZ.meshPrimitiveAttribute(e,(function(e,o){if(0===o.indexOf(t)&&!Object(r["a"])(i[e])){i[e]=!0;const t=n(e);if(Object(r["a"])(t))return t}}));return Object(r["a"])(o)?o:BZ.meshPrimitiveTarget(e,(function(e){return BZ.meshPrimitiveTargetAttribute(e,(function(e,o){if(0===o.indexOf(t)&&!Object(r["a"])(i[e])){i[e]=!0;const t=n(e);if(Object(r["a"])(t))return t}}))}))}))}))},BZ.accessorContainingVertexAttributeData=function(e,t){const n={};return BZ.mesh(e,(function(e){return BZ.meshPrimitive(e,(function(e){const i=BZ.meshPrimitiveAttribute(e,(function(e){if(!Object(r["a"])(n[e])){n[e]=!0;const i=t(e);if(Object(r["a"])(i))return i}}));return Object(r["a"])(i)?i:BZ.meshPrimitiveTarget(e,(function(e){return BZ.meshPrimitiveTargetAttribute(e,(function(e){if(!Object(r["a"])(n[e])){n[e]=!0;const i=t(e);if(Object(r["a"])(i))return i}}))}))}))}))},BZ.accessorContainingIndexData=function(e,t){const n={};return BZ.mesh(e,(function(e){return BZ.meshPrimitive(e,(function(e){const i=e.indices;if(Object(r["a"])(i)&&!Object(r["a"])(n[i])){n[i]=!0;const e=t(i);if(Object(r["a"])(e))return e}}))}))},BZ.animation=function(e,t){return BZ.topLevel(e,"animations",t)},BZ.animationChannel=function(e,t){const n=e.channels;return BZ.object(n,t)},BZ.animationSampler=function(e,t){const n=e.samplers;return BZ.object(n,t)},BZ.buffer=function(e,t){return BZ.topLevel(e,"buffers",t)},BZ.bufferView=function(e,t){return BZ.topLevel(e,"bufferViews",t)},BZ.camera=function(e,t){return BZ.topLevel(e,"cameras",t)},BZ.image=function(e,t){return BZ.topLevel(e,"images",t)},BZ.material=function(e,t){return BZ.topLevel(e,"materials",t)},BZ.materialValue=function(e,t){let n=e.values;Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)){const e=t(n[i],i);if(Object(r["a"])(e))return e}},BZ.mesh=function(e,t){return BZ.topLevel(e,"meshes",t)},BZ.meshPrimitive=function(e,t){const n=e.primitives;if(Object(r["a"])(n)){const e=n.length;for(let i=0;i<e;i++){const e=n[i],o=t(e,i);if(Object(r["a"])(o))return o}}},BZ.meshPrimitiveAttribute=function(e,t){const n=e.attributes;for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)){const e=t(n[i],i);if(Object(r["a"])(e))return e}},BZ.meshPrimitiveTarget=function(e,t){const n=e.targets;if(Object(r["a"])(n)){const e=n.length;for(let i=0;i<e;++i){const e=t(n[i],i);if(Object(r["a"])(e))return e}}},BZ.meshPrimitiveTargetAttribute=function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const i=e[n],o=t(i,n);if(Object(r["a"])(o))return o}},BZ.node=function(e,t){return BZ.topLevel(e,"nodes",t)},BZ.nodeInTree=function(e,t,n){const i=e.nodes;if(Object(r["a"])(i)){const o=t.length;for(let a=0;a<o;a++){const o=t[a],s=i[o];if(Object(r["a"])(s)){let t=n(s,o);if(Object(r["a"])(t))return t;const i=s.children;if(Object(r["a"])(i)&&(t=BZ.nodeInTree(e,i,n),Object(r["a"])(t)))return t}}}},BZ.nodeInScene=function(e,t,n){const i=t.nodes;if(Object(r["a"])(i))return BZ.nodeInTree(e,i,n)},BZ.program=function(e,t){return LZ(e,"KHR_techniques_webgl")?BZ.object(e.extensions.KHR_techniques_webgl.programs,t):BZ.topLevel(e,"programs",t)},BZ.sampler=function(e,t){return BZ.topLevel(e,"samplers",t)},BZ.scene=function(e,t){return BZ.topLevel(e,"scenes",t)},BZ.shader=function(e,t){return LZ(e,"KHR_techniques_webgl")?BZ.object(e.extensions.KHR_techniques_webgl.shaders,t):BZ.topLevel(e,"shaders",t)},BZ.skin=function(e,t){return BZ.topLevel(e,"skins",t)},BZ.skinJoint=function(e,t){const n=e.joints;if(Object(r["a"])(n)){const e=n.length;for(let i=0;i<e;i++){const e=n[i],o=t(e);if(Object(r["a"])(o))return o}}},BZ.techniqueAttribute=function(e,t){const n=e.attributes;for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)){const e=t(n[i],i);if(Object(r["a"])(e))return e}},BZ.techniqueUniform=function(e,t){const n=e.uniforms;for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)){const e=t(n[i],i);if(Object(r["a"])(e))return e}},BZ.techniqueParameter=function(e,t){const n=e.parameters;for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)){const e=t(n[i],i);if(Object(r["a"])(e))return e}},BZ.technique=function(e,t){return LZ(e,"KHR_techniques_webgl")?BZ.object(e.extensions.KHR_techniques_webgl.techniques,t):BZ.topLevel(e,"techniques",t)},BZ.texture=function(e,t){return BZ.topLevel(e,"textures",t)};var FZ=BZ;function kZ(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var zZ=kZ;function UZ(e,t){const n=t.bufferView;if(Object(r["a"])(n)){const t=e.bufferViews[n];if(Object(r["a"])(t.byteStride)&&t.byteStride>0)return t.byteStride}return $c.getSizeInBytes(t.componentType)*zZ(t.type)}var VZ=UZ;function HZ(e){FZ.accessor(e,(function(e){Object(r["a"])(e.bufferView)&&(e.byteOffset=Object(o["a"])(e.byteOffset,0))})),FZ.bufferView(e,(function(e){Object(r["a"])(e.buffer)&&(e.byteOffset=Object(o["a"])(e.byteOffset,0))})),FZ.mesh(e,(function(t){FZ.meshPrimitive(t,(function(t){if(t.mode=Object(o["a"])(t.mode,Jc.TRIANGLES),!Object(r["a"])(t.material)){Object(r["a"])(e.materials)||(e.materials=[]);const n={name:"default"};t.material=MZ(e.materials,n)}}))})),FZ.accessorContainingVertexAttributeData(e,(function(t){const n=e.accessors[t],i=n.bufferView;if(n.normalized=Object(o["a"])(n.normalized,!1),Object(r["a"])(i)){const t=e.bufferViews[i];t.byteStride=VZ(e,n),t.target=Jc.ARRAY_BUFFER}})),FZ.accessorContainingIndexData(e,(function(t){const n=e.accessors[t],i=n.bufferView;if(Object(r["a"])(i)){const t=e.bufferViews[i];t.target=Jc.ELEMENT_ARRAY_BUFFER}})),FZ.material(e,(function(e){const t=Object(o["a"])(e.extensions,o["a"].EMPTY_OBJECT),n=t.KHR_materials_common;if(Object(r["a"])(n)){const e=n.technique,t=Object(r["a"])(n.values)?n.values:{};return n.values=t,t.ambient=Object(r["a"])(t.ambient)?t.ambient:[0,0,0,1],t.emission=Object(r["a"])(t.emission)?t.emission:[0,0,0,1],t.transparency=Object(o["a"])(t.transparency,1),t.transparent=Object(o["a"])(t.transparent,!1),t.doubleSided=Object(o["a"])(t.doubleSided,!1),void("CONSTANT"!==e&&(t.diffuse=Object(r["a"])(t.diffuse)?t.diffuse:[0,0,0,1],"LAMBERT"!==e&&(t.specular=Object(r["a"])(t.specular)?t.specular:[0,0,0,1],t.shininess=Object(o["a"])(t.shininess,0))))}e.emissiveFactor=Object(o["a"])(e.emissiveFactor,[0,0,0]),e.alphaMode=Object(o["a"])(e.alphaMode,"OPAQUE"),e.doubleSided=Object(o["a"])(e.doubleSided,!1),"MASK"===e.alphaMode&&(e.alphaCutoff=Object(o["a"])(e.alphaCutoff,.5));const i=t.KHR_techniques_webgl;Object(r["a"])(i)&&FZ.materialValue(e,(function(e){Object(r["a"])(e.index)&&qZ(e)})),qZ(e.emissiveTexture),qZ(e.normalTexture),qZ(e.occlusionTexture);const a=e.pbrMetallicRoughness;Object(r["a"])(a)&&(a.baseColorFactor=Object(o["a"])(a.baseColorFactor,[1,1,1,1]),a.metallicFactor=Object(o["a"])(a.metallicFactor,1),a.roughnessFactor=Object(o["a"])(a.roughnessFactor,1),qZ(a.baseColorTexture),qZ(a.metallicRoughnessTexture));const s=t.KHR_materials_pbrSpecularGlossiness;Object(r["a"])(s)&&(s.diffuseFactor=Object(o["a"])(s.diffuseFactor,[1,1,1,1]),s.specularFactor=Object(o["a"])(s.specularFactor,[1,1,1]),s.glossinessFactor=Object(o["a"])(s.glossinessFactor,1),qZ(s.specularGlossinessTexture))})),FZ.animation(e,(function(e){FZ.animationSampler(e,(function(e){e.interpolation=Object(o["a"])(e.interpolation,"LINEAR")}))}));const t=GZ(e);return FZ.node(e,(function(e,n){const i=Object(r["a"])(t[n]);i||Object(r["a"])(e.translation)||Object(r["a"])(e.rotation)||Object(r["a"])(e.scale)?(e.translation=Object(o["a"])(e.translation,[0,0,0]),e.rotation=Object(o["a"])(e.rotation,[0,0,0,1]),e.scale=Object(o["a"])(e.scale,[1,1,1])):e.matrix=Object(o["a"])(e.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])})),FZ.sampler(e,(function(e){e.wrapS=Object(o["a"])(e.wrapS,Jc.REPEAT),e.wrapT=Object(o["a"])(e.wrapT,Jc.REPEAT)})),Object(r["a"])(e.scenes)&&!Object(r["a"])(e.scene)&&(e.scene=0),e}function GZ(e){const t={};return FZ.animation(e,(function(e){FZ.animationChannel(e,(function(e){const n=e.target,i=n.node,o=n.path;"translation"!==o&&"rotation"!==o&&"scale"!==o||(t[i]=!0)}))})),t}function qZ(e){Object(r["a"])(e)&&(e.texCoord=Object(o["a"])(e.texCoord,0))}var WZ=HZ;function YZ(e){return FZ.shader(e,(function(e){XZ(e)})),FZ.buffer(e,(function(e){XZ(e)})),FZ.image(e,(function(e){XZ(e)})),XZ(e),e}function XZ(e){e.extras=Object(r["a"])(e.extras)?e.extras:{},e.extras._pipeline=Object(r["a"])(e.extras._pipeline)?e.extras._pipeline:{}}var KZ=YZ;function JZ(e,t){const n=e.extensionsRequired;if(Object(r["a"])(n)){const i=n.indexOf(t);i>=0&&n.splice(i,1),0===n.length&&delete e.extensionsRequired}}var ZZ=JZ;function $Z(e,t){const n=e.extensionsUsed;if(Object(r["a"])(n)){const i=n.indexOf(t);i>=0&&n.splice(i,1),ZZ(e,t),0===n.length&&delete e.extensionsUsed}}var QZ=$Z;const e$=4;function t$(e){const t=$L(e);if("glTF"!==t)throw new ye["a"]("File is not valid binary glTF");const n=n$(e,0,5),i=n[1];if(1!==i&&2!==i)throw new ye["a"]("Binary glTF version is not 1 or 2");return 1===i?i$(e,n):o$(e,n)}function n$(e,t,n){const i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*e$,!0);return o}function i$(e,t){const n=t[2],i=t[3],a=t[4];if(0!==a)throw new ye["a"]("Binary glTF scene format is not JSON");const s=20,c=s+i,l=Bd(e,s,i),u=JSON.parse(l);KZ(u);const h=e.subarray(c,n),d=u.buffers;if(Object(r["a"])(d)&&Object.keys(d).length>0){const e=Object(o["a"])(d.binary_glTF,d.KHR_binary_glTF);Object(r["a"])(e)&&(e.extras._pipeline.source=h,delete e.uri)}return QZ(u,"KHR_binary_glTF"),u}function o$(e,t){const n=t[2];let i,o,a=12;while(a<n){const t=n$(e,a,2),n=t[0],r=t[1];a+=8;const s=e.subarray(a,a+n);if(a+=n,1313821514===r){const e=Bd(s);i=JSON.parse(e),KZ(i)}else 5130562===r&&(o=s)}if(Object(r["a"])(i)&&Object(r["a"])(o)){const e=i.buffers;if(Object(r["a"])(e)&&e.length>0){const t=e[0];t.extras._pipeline.source=o}}return i}var r$=t$;function a$(e,t){let n=e.extensionsUsed;Object(r["a"])(n)||(n=[],e.extensionsUsed=n),MZ(n,t,!0)}var s$=a$;function c$(e){switch(e){case $c.BYTE:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getInt8(t+r*i)};case $c.UNSIGNED_BYTE:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getUint8(t+r*i)};case $c.SHORT:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getInt16(t+r*i,!0)};case $c.UNSIGNED_SHORT:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getUint16(t+r*i,!0)};case $c.INT:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getInt32(t+r*i,!0)};case $c.UNSIGNED_INT:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getUint32(t+r*i,!0)};case $c.FLOAT:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getFloat32(t+r*i,!0)};case $c.DOUBLE:return function(e,t,n,i,o){for(let r=0;r<n;++r)o[r]=e.getFloat64(t+r*i,!0)}}}var l$=c$;function u$(e,t){const n=e.bufferViews,i=e.buffers,o=t.bufferView,a=zZ(t.type);if(!Object(r["a"])(t.bufferView))return{min:Ah(new Array(a),0),max:Ah(new Array(a),0)};const s=Ah(new Array(a),Number.POSITIVE_INFINITY),c=Ah(new Array(a),Number.NEGATIVE_INFINITY),l=n[o],u=l.buffer,h=i[u],d=h.extras._pipeline.source,f=t.count,p=VZ(e,t);let m=t.byteOffset+l.byteOffset+d.byteOffset;const _=t.componentType,g=$c.getSizeInBytes(_),b=new DataView(d.buffer),y=new Array(a),v=l$(_);for(let r=0;r<f;r++){v(b,m,a,g,y);for(let e=0;e<a;e++){const t=y[e];s[e]=Math.min(s[e],t),c[e]=Math.max(c[e],t)}m+=p}return{min:s,max:c}}var h$=u$;const d$=[Jc.FUNC_ADD,Jc.FUNC_ADD],f$=[Jc.ONE,Jc.ZERO,Jc.ONE,Jc.ZERO];function p$(e,t){const n=e.enable;return!!Object(r["a"])(n)&&n.indexOf(t)>-1}const m$=[Jc.ZERO,Jc.ONE,Jc.SRC_COLOR,Jc.ONE_MINUS_SRC_COLOR,Jc.SRC_ALPHA,Jc.ONE_MINUS_SRC_ALPHA,Jc.DST_ALPHA,Jc.ONE_MINUS_DST_ALPHA,Jc.DST_COLOR,Jc.ONE_MINUS_DST_COLOR];function _$(e,t){if(!Object(r["a"])(e))return t;for(let n=0;n<4;n++)if(-1===m$.indexOf(e[n]))return t;return e}function g$(e){const t={},n={},i=e.techniques;return Object(r["a"])(i)?(FZ.technique(e,(function(e,i){const a=e.states;if(Object(r["a"])(a)){const s=n[i]={};if(p$(a,Jc.BLEND)){s.alphaMode="BLEND";const e=a.functions;Object(r["a"])(e)&&(Object(r["a"])(e.blendEquationSeparate)||Object(r["a"])(e.blendFuncSeparate))&&(t[i]={blendEquation:Object(o["a"])(e.blendEquationSeparate,d$),blendFactors:_$(e.blendFuncSeparate,f$)})}p$(a,Jc.CULL_FACE)||(s.doubleSided=!0),delete e.states}})),Object.keys(t).length>0&&(Object(r["a"])(e.extensions)||(e.extensions={}),s$(e,"KHR_blend")),FZ.material(e,(function(e){if(Object(r["a"])(e.technique)){const i=n[e.technique];FZ.objectLegacy(i,(function(t,n){e[n]=t}));const o=t[e.technique];Object(r["a"])(o)&&(Object(r["a"])(e.extensions)||(e.extensions={}),e.extensions.KHR_blend=o)}})),e):e}var b$=g$;function y$(e,t){let n=e.extensionsRequired;Object(r["a"])(n)||(n=[],e.extensionsRequired=n),MZ(n,t,!0),s$(e,t)}var v$=y$;function O$(e){const t=e.techniques,n={},i={},o={};if(Object(r["a"])(t)){const t={programs:[],shaders:[],techniques:[]},a=e.glExtensionsUsed;delete e.glExtensionsUsed,FZ.technique(e,(function(s,c){const l={name:s.name,program:void 0,attributes:{},uniforms:{}};let u;if(FZ.techniqueAttribute(s,(function(e,t){u=s.parameters[e],l.attributes[t]={semantic:u.semantic}})),FZ.techniqueUniform(s,(function(e,t){u=s.parameters[e],l.uniforms[t]={count:u.count,node:u.node,type:u.type,semantic:u.semantic,value:u.value},Object(r["a"])(n[c])||(n[c]={}),n[c][e]=t})),Object(r["a"])(o[s.program]))l.program=o[s.program];else{const n=e.programs[s.program],i={name:n.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:a},r=e.shaders[n.fragmentShader];i.fragmentShader=MZ(t.shaders,r,!0);const c=e.shaders[n.vertexShader];i.vertexShader=MZ(t.shaders,c,!0),l.program=MZ(t.programs,i),o[s.program]=l.program}i[c]=MZ(t.techniques,l)})),t.techniques.length>0&&(Object(r["a"])(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=t,s$(e,"KHR_techniques_webgl"),v$(e,"KHR_techniques_webgl"))}return FZ.material(e,(function(e){if(Object(r["a"])(e.technique)){const t={technique:i[e.technique]};FZ.objectLegacy(e.values,(function(i,o){Object(r["a"])(t.values)||(t.values={});const a=n[e.technique][o];t.values[a]=i})),Object(r["a"])(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=t}delete e.technique,delete e.values})),delete e.techniques,delete e.programs,delete e.shaders,e}var w$=O$;function A$(e,t){i["a"].typeOf.object("material",e),i["a"].defined("handler",t);const n=e.pbrMetallicRoughness;if(Object(r["a"])(n)){if(Object(r["a"])(n.baseColorTexture)){const e=n.baseColorTexture,i=t(e.index,e);if(Object(r["a"])(i))return i}if(Object(r["a"])(n.metallicRoughnessTexture)){const e=n.metallicRoughnessTexture,i=t(e.index,e);if(Object(r["a"])(i))return i}}if(Object(r["a"])(e.extensions)){const n=e.extensions.KHR_materials_pbrSpecularGlossiness;if(Object(r["a"])(n)){if(Object(r["a"])(n.diffuseTexture)){const e=n.diffuseTexture,i=t(e.index,e);if(Object(r["a"])(i))return i}if(Object(r["a"])(n.specularGlossinessTexture)){const e=n.specularGlossinessTexture,i=t(e.index,e);if(Object(r["a"])(i))return i}}const i=e.extensions.KHR_materials_common;if(Object(r["a"])(i)){const e=i.values.diffuse,n=i.values.ambient,o=i.values.emission,a=i.values.specular;if(Object(r["a"])(e)&&Object(r["a"])(e.index)){const n=t(e.index,e);if(Object(r["a"])(n))return n}if(Object(r["a"])(n)&&Object(r["a"])(n.index)){const e=t(n.index,n);if(Object(r["a"])(e))return e}if(Object(r["a"])(o)&&Object(r["a"])(o.index)){const e=t(o.index,o);if(Object(r["a"])(e))return e}if(Object(r["a"])(a)&&Object(r["a"])(a.index)){const e=t(a.index,a);if(Object(r["a"])(e))return e}}}const o=FZ.materialValue(e,(function(e){if(Object(r["a"])(e.index)){const n=t(e.index,e);if(Object(r["a"])(n))return n}}));if(Object(r["a"])(o))return o;if(Object(r["a"])(e.emissiveTexture)){const n=e.emissiveTexture,i=t(n.index,n);if(Object(r["a"])(i))return i}if(Object(r["a"])(e.normalTexture)){const n=e.normalTexture,i=t(n.index,n);if(Object(r["a"])(i))return i}if(Object(r["a"])(e.occlusionTexture)){const n=e.occlusionTexture,i=t(n.index,n);if(Object(r["a"])(i))return i}}var T$=A$;const C$=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function E$(e,t){return t=Object(o["a"])(t,C$),C$.forEach((function(n){t.indexOf(n)>-1&&S$(e,n)})),e}const x$={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function S$(e,t){const n=x$[t],i=e[n];if(Object(r["a"])(i)){let n=0;const o=D$[t](e),r=i.length;for(let i=0;i<r;++i)o[i]||(I$[t](e,i-n),n++)}}function I$(){}function D$(){}function j$(e,t,n){const i=e.nodes[t];return!(Object(r["a"])(i.mesh)||Object(r["a"])(i.camera)||Object(r["a"])(i.skin)||Object(r["a"])(i.weights)||Object(r["a"])(i.extras)||Object(r["a"])(i.extensions)&&0!==Object.keys(i.extensions).length||Object(r["a"])(n[t]))&&(!Object(r["a"])(i.children)||0===i.children.filter((function(t){return!j$(e,t,n)})).length)}I$.accessor=function(e,t){const n=e.accessors;n.splice(t,1),FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){FZ.meshPrimitiveAttribute(e,(function(n,i){n>t&&e.attributes[i]--})),FZ.meshPrimitiveTarget(e,(function(e){FZ.meshPrimitiveTargetAttribute(e,(function(n,i){n>t&&e[i]--}))}));const n=e.indices;Object(r["a"])(n)&&n>t&&e.indices--}))})),FZ.skin(e,(function(e){Object(r["a"])(e.inverseBindMatrices)&&e.inverseBindMatrices>t&&e.inverseBindMatrices--})),FZ.animation(e,(function(e){FZ.animationSampler(e,(function(e){Object(r["a"])(e.input)&&e.input>t&&e.input--,Object(r["a"])(e.output)&&e.output>t&&e.output--}))}))},I$.buffer=function(e,t){const n=e.buffers;n.splice(t,1),FZ.bufferView(e,(function(e){Object(r["a"])(e.buffer)&&e.buffer>t&&e.buffer--,Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.EXT_meshopt_compression)&&e.extensions.EXT_meshopt_compression.buffer--}))},I$.bufferView=function(e,t){const n=e.bufferViews;if(n.splice(t,1),FZ.accessor(e,(function(e){Object(r["a"])(e.bufferView)&&e.bufferView>t&&e.bufferView--})),FZ.shader(e,(function(e){Object(r["a"])(e.bufferView)&&e.bufferView>t&&e.bufferView--})),FZ.image(e,(function(e){Object(r["a"])(e.bufferView)&&e.bufferView>t&&e.bufferView--})),LZ(e,"KHR_draco_mesh_compression")&&FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_draco_mesh_compression)&&e.extensions.KHR_draco_mesh_compression.bufferView>t&&e.extensions.KHR_draco_mesh_compression.bufferView--}))})),LZ(e,"EXT_feature_metadata")){const n=e.extensions.EXT_feature_metadata,i=n.featureTables;for(const e in i)if(i.hasOwnProperty(e)){const n=i[e],o=n.properties;if(Object(r["a"])(o))for(const e in o)if(o.hasOwnProperty(e)){const n=o[e];Object(r["a"])(n.bufferView)&&n.bufferView>t&&n.bufferView--,Object(r["a"])(n.arrayOffsetBufferView)&&n.arrayOffsetBufferView>t&&n.arrayOffsetBufferView--,Object(r["a"])(n.stringOffsetBufferView)&&n.stringOffsetBufferView>t&&n.stringOffsetBufferView--}}}},I$.image=function(e,t){const n=e.images;n.splice(t,1),FZ.texture(e,(function(e){Object(r["a"])(e.source)&&e.source>t&&--e.source;const n=e.extensions;Object(r["a"])(n)&&Object(r["a"])(n.EXT_texture_webp)&&n.EXT_texture_webp.source>t?--e.extensions.EXT_texture_webp.source:Object(r["a"])(n)&&Object(r["a"])(n.KHR_texture_basisu)&&n.KHR_texture_basisu.source>t&&--e.extensions.KHR_texture_basisu.source}))},I$.mesh=function(e,t){const n=e.meshes;n.splice(t,1),FZ.node(e,(function(e){Object(r["a"])(e.mesh)&&(e.mesh>t?e.mesh--:e.mesh===t&&delete e.mesh)}))},I$.node=function(e,t){const n=e.nodes;n.splice(t,1),FZ.skin(e,(function(e){Object(r["a"])(e.skeleton)&&e.skeleton>t&&e.skeleton--,e.joints=e.joints.map((function(e){return e>t?e-1:e}))})),FZ.animation(e,(function(e){FZ.animationChannel(e,(function(e){Object(r["a"])(e.target)&&Object(r["a"])(e.target.node)&&e.target.node>t&&e.target.node--}))})),FZ.technique(e,(function(e){FZ.techniqueUniform(e,(function(e){Object(r["a"])(e.node)&&e.node>t&&e.node--}))})),FZ.node(e,(function(e){Object(r["a"])(e.children)&&(e.children=e.children.filter((function(e){return e!==t})).map((function(e){return e>t?e-1:e})))})),FZ.scene(e,(function(e){e.nodes=e.nodes.filter((function(e){return e!==t})).map((function(e){return e>t?e-1:e}))}))},I$.material=function(e,t){const n=e.materials;n.splice(t,1),FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){Object(r["a"])(e.material)&&e.material>t&&e.material--}))}))},I$.sampler=function(e,t){const n=e.samplers;n.splice(t,1),FZ.texture(e,(function(e){Object(r["a"])(e.sampler)&&e.sampler>t&&--e.sampler}))},I$.texture=function(e,t){const n=e.textures;if(n.splice(t,1),FZ.material(e,(function(e){T$(e,(function(e,n){n.index>t&&--n.index}))})),LZ(e,"EXT_feature_metadata")){FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){const n=e.extensions;if(Object(r["a"])(n)&&Object(r["a"])(n.EXT_feature_metadata)){const e=n.EXT_feature_metadata,i=e.featureIdTextures;if(Object(r["a"])(i)){const e=i.length;for(let n=0;n<e;++n){const e=i[n],o=e.featureIds.texture;o.index>t&&--o.index}}}}))}));const n=e.extensions.EXT_feature_metadata,i=n.featureTextures;for(const e in i)if(i.hasOwnProperty(e)){const n=i[e],o=n.properties;if(Object(r["a"])(o))for(const e in o)if(o.hasOwnProperty(e)){const n=o[e],i=n.texture;i.index>t&&--i.index}}}},D$.accessor=function(e){const t={};return FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){FZ.meshPrimitiveAttribute(e,(function(e){t[e]=!0})),FZ.meshPrimitiveTarget(e,(function(e){FZ.meshPrimitiveTargetAttribute(e,(function(e){t[e]=!0}))}));const n=e.indices;Object(r["a"])(n)&&(t[n]=!0)}))})),FZ.skin(e,(function(e){Object(r["a"])(e.inverseBindMatrices)&&(t[e.inverseBindMatrices]=!0)})),FZ.animation(e,(function(e){FZ.animationSampler(e,(function(e){Object(r["a"])(e.input)&&(t[e.input]=!0),Object(r["a"])(e.output)&&(t[e.output]=!0)}))})),LZ(e,"EXT_mesh_gpu_instancing")&&FZ.node(e,(function(e){Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.EXT_mesh_gpu_instancing)&&Object.keys(e.extensions.EXT_mesh_gpu_instancing.attributes).forEach((function(n){const i=e.extensions.EXT_mesh_gpu_instancing.attributes[n];t[i]=!0}))})),t},D$.buffer=function(e){const t={};return FZ.bufferView(e,(function(e){Object(r["a"])(e.buffer)&&(t[e.buffer]=!0),Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.EXT_meshopt_compression)&&(t[e.extensions.EXT_meshopt_compression.buffer]=!0)})),t},D$.bufferView=function(e){const t={};if(FZ.accessor(e,(function(e){Object(r["a"])(e.bufferView)&&(t[e.bufferView]=!0)})),FZ.shader(e,(function(e){Object(r["a"])(e.bufferView)&&(t[e.bufferView]=!0)})),FZ.image(e,(function(e){Object(r["a"])(e.bufferView)&&(t[e.bufferView]=!0)})),LZ(e,"KHR_draco_mesh_compression")&&FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_draco_mesh_compression)&&(t[e.extensions.KHR_draco_mesh_compression.bufferView]=!0)}))})),LZ(e,"EXT_feature_metadata")){const n=e.extensions.EXT_feature_metadata,i=n.featureTables;for(const e in i)if(i.hasOwnProperty(e)){const n=i[e],o=n.properties;if(Object(r["a"])(o))for(const e in o)if(o.hasOwnProperty(e)){const n=o[e];Object(r["a"])(n.bufferView)&&(t[n.bufferView]=!0),Object(r["a"])(n.arrayOffsetBufferView)&&(t[n.arrayOffsetBufferView]=!0),Object(r["a"])(n.stringOffsetBufferView)&&(t[n.stringOffsetBufferView]=!0)}}}return t},D$.image=function(e){const t={};return FZ.texture(e,(function(e){Object(r["a"])(e.source)&&(t[e.source]=!0),Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.EXT_texture_webp)?t[e.extensions.EXT_texture_webp.source]=!0:Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_texture_basisu)&&(t[e.extensions.KHR_texture_basisu.source]=!0)})),t},D$.mesh=function(e){const t={};return FZ.node(e,(function(n){if(Object(r["a"])(n.mesh&&Object(r["a"])(e.meshes))){const i=e.meshes[n.mesh];Object(r["a"])(i)&&Object(r["a"])(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}})),t},D$.node=function(e){const t={};return FZ.skin(e,(function(e){Object(r["a"])(e.skeleton)&&(t[e.skeleton]=!0),FZ.skinJoint(e,(function(e){t[e]=!0}))})),FZ.animation(e,(function(e){FZ.animationChannel(e,(function(e){Object(r["a"])(e.target)&&Object(r["a"])(e.target.node)&&(t[e.target.node]=!0)}))})),FZ.technique(e,(function(e){FZ.techniqueUniform(e,(function(e){Object(r["a"])(e.node)&&(t[e.node]=!0)}))})),FZ.node(e,(function(n,i){j$(e,i,t)||(t[i]=!0)})),t},D$.material=function(e){const t={};return FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){Object(r["a"])(e.material)&&(t[e.material]=!0)}))})),t},D$.texture=function(e){const t={};if(FZ.material(e,(function(e){T$(e,(function(e){t[e]=!0}))})),LZ(e,"EXT_feature_metadata")){FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){const n=e.extensions;if(Object(r["a"])(n)&&Object(r["a"])(n.EXT_feature_metadata)){const e=n.EXT_feature_metadata,i=e.featureIdTextures;if(Object(r["a"])(i)){const e=i.length;for(let n=0;n<e;++n){const e=i[n],o=e.featureIds.texture;t[o.index]=!0}}}}))}));const n=e.extensions.EXT_feature_metadata,i=n.featureTextures;for(const e in i)if(i.hasOwnProperty(e)){const n=i[e],o=n.properties;if(Object(r["a"])(o))for(const e in o)if(o.hasOwnProperty(e)){const n=o[e],i=n.texture;t[i.index]=!0}}}return t},D$.sampler=function(e){const t={};return FZ.texture(e,(function(e){Object(r["a"])(e.sampler)&&(t[e.sampler]=!0)})),t};var P$=E$;function R$(e,t){const n={byteLength:t.length,extras:{_pipeline:{source:t}}},i=MZ(e.buffers,n),o={buffer:i,byteOffset:0,byteLength:t.length};return MZ(e.bufferViews,o)}var M$=R$;function N$(e,t){const n=VZ(e,t),i=$c.getSizeInBytes(t.componentType),o=zZ(t.type),a=t.count,s=new Array(o*a);if(!Object(r["a"])(t.bufferView))return Ah(s,0),s;const c=e.bufferViews[t.bufferView],l=e.buffers[c.buffer].extras._pipeline.source;let u=t.byteOffset+c.byteOffset+l.byteOffset;const h=new DataView(l.buffer),d=new Array(o),f=l$(t.componentType);for(let r=0;r<a;++r){f(h,u,o,i,d);for(let e=0;e<o;++e)s[r*o+e]=d[e];u+=n}return s}var L$=N$;function B$(e){let t;return FZ.accessorWithSemantic(e,"JOINTS_0",(function(n){const i=e.accessors[n];t=i.componentType,t===Jc.BYTE?F$(e,i,$c.UNSIGNED_BYTE):t!==Jc.UNSIGNED_BYTE&&t!==Jc.UNSIGNED_SHORT&&F$(e,i,$c.UNSIGNED_SHORT)})),FZ.accessorWithSemantic(e,"WEIGHTS_0",(function(n){const i=e.accessors[n];t=i.componentType,t===Jc.BYTE?F$(e,i,$c.UNSIGNED_BYTE):t===Jc.SHORT&&F$(e,i,$c.UNSIGNED_SHORT)})),e}function F$(e,t,n){const i=$c.createTypedArray(n,L$(e,t)),o=new Uint8Array(i.buffer);t.bufferView=M$(e,o),t.componentType=n,t.byteOffset=0}var k$=B$;const z$={.8:Y$,"1.0":gQ,"2.0":void 0};function U$(e,t){t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=t.targetVersion;let i=e.version;e.asset=Object(o["a"])(e.asset,{version:"1.0"}),e.asset.version=Object(o["a"])(e.asset.version,"1.0"),i=Object(o["a"])(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(z$,i)||(Object(r["a"])(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(z$,i)||(i="1.0"));let a=z$[i];while(Object(r["a"])(a)){if(i===n)break;a(e,t),i=e.asset.version,a=z$[i]}return e}function V$(e){const t=e.materials;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const e=t[n],i=e.instanceTechnique;Object(r["a"])(i)&&(e.technique=i.technique,e.values=i.values,delete e.instanceTechnique)}}function H$(e){const t=e.meshes;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const e=t[n],i=e.primitives;if(Object(r["a"])(i)){const e=i.length;for(let t=0;t<e;++t){const e=i[t],n=Object(o["a"])(e.primitive,Jc.TRIANGLES);e.mode=Object(o["a"])(e.mode,n),delete e.primitive}}}}function G$(e){const t=e.nodes,n=new g,i=new $a;for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)){const e=t[o];if(Object(r["a"])(e.rotation)){const t=e.rotation;g.fromArray(t,0,n),$a.fromAxisAngle(n,t[3],i),e.rotation=[i.x,i.y,i.z,i.w]}const a=e.instanceSkin;Object(r["a"])(a)&&(e.skeletons=a.skeletons,e.skin=a.skin,e.meshes=a.meshes,delete e.instanceSkin)}}function q$(e){const t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,a={},s=new g,c=new $a;for(const l in t)if(Object.prototype.hasOwnProperty.call(t,l)){const e=t[l],u=e.channels,h=e.parameters,d=e.samplers;if(Object(r["a"])(u)){const e=u.length;for(let t=0;t<e;++t){const e=u[t];if("rotation"===e.target.path){const t=h[d[e.sampler].output];if(Object(r["a"])(a[t]))continue;a[t]=!0;const l=n[t],u=i[l.bufferView],f=o[u.buffer],p=f.extras._pipeline.source,m=p.byteOffset+u.byteOffset+l.byteOffset,_=l.componentType,b=l.count,y=zZ(l.type),v=l.count*y,O=$c.createArrayBufferView(_,p.buffer,m,v);for(let e=0;e<b;e++){const t=e*y;g.unpack(O,t,s);const n=O[t+3];$a.fromAxisAngle(s,n,c),$a.pack(c,O,t)}}}}}}function W$(e){const t=e.techniques;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const e=t[n],i=e.passes;if(Object(r["a"])(i)){const t=Object(o["a"])(e.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(i,t)){const n=i[t],r=n.instanceProgram;e.attributes=Object(o["a"])(e.attributes,r.attributes),e.program=Object(o["a"])(e.program,r.program),e.uniforms=Object(o["a"])(e.uniforms,r.uniforms),e.states=Object(o["a"])(e.states,n.states)}delete e.passes,delete e.pass}}}function Y$(e){Object(r["a"])(e.asset)||(e.asset={});const t=e.asset;if(t.version="1.0","string"===typeof t.profile){const e=t.profile.split(" ");t.profile={api:e[0],version:e[1]}}else t.profile={};if(Object(r["a"])(e.version)&&delete e.version,V$(e),H$(e),G$(e),q$(e),W$(e),Object(r["a"])(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),Object(r["a"])(e.lights)){const t=Object(o["a"])(e.extensions,{});e.extensions=t;const n=Object(o["a"])(t.KHR_materials_common,{});t.KHR_materials_common=n,n.lights=e.lights,delete e.lights,s$(e,"KHR_materials_common")}}function X$(e){const t=e.animations;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const e=t[n],i=e.parameters;if(Object(r["a"])(i)){const t=e.samplers;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const n=t[e];n.input=i[n.input],n.output=i[n.output]}delete e.parameters}}}function K$(e,t){const n=[];for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){const o=e[i];t[i]=n.length,n.push(o),Object(r["a"])(o.name)||(o.name=i)}return n}function J$(e){let t;const n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}};let i;const o={},a=e.nodes;for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&(i=a[s].jointName,Object(r["a"])(i)&&(o[i]=s));for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&Object(r["a"])(n[s])){const t={},i=e[s];e[s]=K$(i,t),n[s]=t}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);Object(r["a"])(e.scene)&&(e.scene=n.scenes[e.scene]),FZ.bufferView(e,(function(e){Object(r["a"])(e.buffer)&&(e.buffer=n.buffers[e.buffer])})),FZ.accessor(e,(function(e){Object(r["a"])(e.bufferView)&&(e.bufferView=n.bufferViews[e.bufferView])})),FZ.shader(e,(function(e){const t=e.extensions;if(Object(r["a"])(t)){const i=t.KHR_binary_glTF;Object(r["a"])(i)&&(e.bufferView=n.bufferViews[i.bufferView],delete t.KHR_binary_glTF),0===Object.keys(t).length&&delete e.extensions}})),FZ.program(e,(function(e){Object(r["a"])(e.vertexShader)&&(e.vertexShader=n.shaders[e.vertexShader]),Object(r["a"])(e.fragmentShader)&&(e.fragmentShader=n.shaders[e.fragmentShader])})),FZ.technique(e,(function(e){Object(r["a"])(e.program)&&(e.program=n.programs[e.program]),FZ.techniqueParameter(e,(function(e){Object(r["a"])(e.node)&&(e.node=n.nodes[e.node]);const t=e.value;"string"===typeof t&&(e.value={index:n.textures[t]})}))})),FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){Object(r["a"])(e.indices)&&(e.indices=n.accessors[e.indices]),FZ.meshPrimitiveAttribute(e,(function(t,i){e.attributes[i]=n.accessors[t]})),Object(r["a"])(e.material)&&(e.material=n.materials[e.material])}))})),FZ.node(e,(function(i){let o=i.children;if(Object(r["a"])(o)){const e=o.length;for(t=0;t<e;++t)o[t]=n.nodes[o[t]]}if(Object(r["a"])(i.meshes)){const a=i.meshes,s=a.length;if(s>0)for(i.mesh=n.meshes[a[0]],t=1;t<s;++t){const s={mesh:n.meshes[a[t]]},c=MZ(e.nodes,s);Object(r["a"])(o)||(o=[],i.children=o),o.push(c)}delete i.meshes}if(Object(r["a"])(i.camera)&&(i.camera=n.cameras[i.camera]),Object(r["a"])(i.skin)&&(i.skin=n.skins[i.skin]),Object(r["a"])(i.skeletons)){const t=i.skeletons,o=t.length;if(o>0&&Object(r["a"])(i.skin)){const o=e.skins[i.skin];o.skeleton=n.nodes[t[0]]}delete i.skeletons}Object(r["a"])(i.jointName)&&delete i.jointName})),FZ.skin(e,(function(e){Object(r["a"])(e.inverseBindMatrices)&&(e.inverseBindMatrices=n.accessors[e.inverseBindMatrices]);const i=e.jointNames;if(Object(r["a"])(i)){const n=[],r=i.length;for(t=0;t<r;++t)n[t]=o[i[t]];e.joints=n,delete e.jointNames}})),FZ.scene(e,(function(e){const i=e.nodes;if(Object(r["a"])(i)){const e=i.length;for(t=0;t<e;++t)i[t]=n.nodes[i[t]]}})),FZ.animation(e,(function(e){const t={};e.samplers=K$(e.samplers,t),FZ.animationSampler(e,(function(e){e.input=n.accessors[e.input],e.output=n.accessors[e.output]})),FZ.animationChannel(e,(function(e){e.sampler=t[e.sampler];const i=e.target;Object(r["a"])(i)&&(i.node=n.nodes[i.id],delete i.id)}))})),FZ.material(e,(function(e){Object(r["a"])(e.technique)&&(e.technique=n.techniques[e.technique]),FZ.materialValue(e,(function(t,i){"string"===typeof t&&(e.values[i]={index:n.textures[t]})}));const t=e.extensions;if(Object(r["a"])(t)){const e=t.KHR_materials_common;Object(r["a"])(e)&&FZ.materialValue(e,(function(t,i){"string"===typeof t&&(e.values[i]={index:n.textures[t]})}))}})),FZ.image(e,(function(e){const t=e.extensions;if(Object(r["a"])(t)){const i=t.KHR_binary_glTF;Object(r["a"])(i)&&(e.bufferView=n.bufferViews[i.bufferView],e.mimeType=i.mimeType,delete t.KHR_binary_glTF),0===Object.keys(t).length&&delete e.extensions}})),FZ.texture(e,(function(e){Object(r["a"])(e.sampler)&&(e.sampler=n.samplers[e.sampler]),Object(r["a"])(e.source)&&(e.source=n.images[e.source])}))}function Z$(e){FZ.animation(e,(function(e){FZ.animationSampler(e,(function(e){delete e.name}))}))}function $$(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];Array.isArray(n)&&0===n.length&&delete e[t]}FZ.node(e,(function(e){Object(r["a"])(e.children)&&0===e.children.length&&delete e.children}))}function Q$(e){const t=e.asset;delete t.profile,delete t.premultipliedAlpha}const eQ={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function tQ(e){const t=e.extensionsUsed;if(e.extensionsRequired=Object(o["a"])(e.extensionsRequired,[]),Object(r["a"])(t)){const n=t.length;for(let i=0;i<n;++i){const n=t[i];Object(r["a"])(eQ[n])&&e.extensionsRequired.push(n)}}}function nQ(e){FZ.buffer(e,(function(e){delete e.type}))}function iQ(e){FZ.texture(e,(function(e){delete e.format,delete e.internalFormat,delete e.target,delete e.type}))}function oQ(e){FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){FZ.meshPrimitiveAttribute(e,(function(t,n){"TEXCOORD"===n?e.attributes.TEXCOORD_0=t:"COLOR"===n&&(e.attributes.COLOR_0=t)})),delete e.attributes.TEXCOORD,delete e.attributes.COLOR}))})),FZ.technique(e,(function(e){FZ.techniqueParameter(e,(function(e){const t=e.semantic;Object(r["a"])(t)&&("TEXCOORD"===t?e.semantic="TEXCOORD_0":"COLOR"===t&&(e.semantic="COLOR_0"))}))}))}const rQ={POSITION:!0,NORMAL:!0,TANGENT:!0},aQ={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function sQ(e){const t={};FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){FZ.meshPrimitiveAttribute(e,(function(e,n){if("_"!==n.charAt(0)){const e=n.search(/_[0-9]+/g);let i,o=n,a="_0";e>=0&&(o=n.substring(0,e),a=n.substring(e));const s=aQ[o];Object(r["a"])(s)?(i=s+a,t[n]=i):Object(r["a"])(rQ[o])||(i="_"+n,t[n]=i)}}));for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const i=t[n],o=e.attributes[n];Object(r["a"])(o)&&(delete e.attributes[n],e.attributes[i]=o)}}))})),FZ.technique(e,(function(e){FZ.techniqueParameter(e,(function(e){const n=t[e.semantic];Object(r["a"])(n)&&(e.semantic=n)}))}))}function cQ(e){FZ.camera(e,(function(e){const t=e.perspective;if(Object(r["a"])(t)){const e=t.aspectRatio;Object(r["a"])(e)&&0===e&&delete t.aspectRatio;const n=t.yfov;Object(r["a"])(n)&&0===n&&(t.yfov=1)}}))}function lQ(e,t){return Object(r["a"])(t.byteStride)&&0!==t.byteStride?t.byteStride:VZ(e,t)}function uQ(e){FZ.buffer(e,(function(e){Object(r["a"])(e.byteLength)||(e.byteLength=e.extras._pipeline.source.length)})),FZ.accessor(e,(function(t){const n=t.bufferView;if(Object(r["a"])(n)){const i=e.bufferViews[n],r=lQ(e,t),a=t.byteOffset+t.count*r;i.byteLength=Math.max(Object(o["a"])(i.byteLength,0),a)}}))}function hQ(e){let t,n,i;const a=e.bufferViews,s={};FZ.accessorContainingVertexAttributeData(e,(function(t){const n=e.accessors[t];Object(r["a"])(n.bufferView)&&(s[n.bufferView]=!0)}));const c={};FZ.accessor(e,(function(e){Object(r["a"])(e.bufferView)&&(c[e.bufferView]=Object(o["a"])(c[e.bufferView],[]),c[e.bufferView].push(e))}));for(const o in c)if(Object.prototype.hasOwnProperty.call(c,o)){i=a[o];const r=c[o];r.sort((function(e,t){return e.byteOffset-t.byteOffset}));let l=0,u=0;const h=r.length;for(t=0;t<h;++t){let c=r[t];const d=lQ(e,c),f=c.byteOffset,p=c.count*d;delete c.byteStride;const m=t<h-1,_=m?lQ(e,r[t+1]):void 0;if(d!==_){const e=Object(jL["a"])(i,!0);s[o]&&(e.byteStride=d),e.byteOffset+=l,e.byteLength=f+p-l;const h=MZ(a,e);for(n=u;n<=t;++n)c=r[n],c.bufferView=h,c.byteOffset=c.byteOffset-l;l=m?r[t+1].byteOffset:void 0,u=t+1}}}P$(e,["accessor","bufferView","buffer"])}function dQ(e){FZ.accessorWithSemantic(e,"POSITION",(function(t){const n=e.accessors[t];if(!Object(r["a"])(n.min)||!Object(r["a"])(n.max)){const t=h$(e,n);n.min=t.min,n.max=t.max}}))}function fQ(e){return(!Object(r["a"])(e.children)||0===e.children.length)&&(!Object(r["a"])(e.meshes)||0===e.meshes.length)&&!Object(r["a"])(e.camera)&&!Object(r["a"])(e.skin)&&!Object(r["a"])(e.skeletons)&&!Object(r["a"])(e.jointName)&&(!Object(r["a"])(e.translation)||g.fromArray(e.translation).equals(g.ZERO))&&(!Object(r["a"])(e.scale)||g.fromArray(e.scale).equals(new g(1,1,1)))&&(!Object(r["a"])(e.rotation)||be.fromArray(e.rotation).equals(new be(0,0,0,1)))&&(!Object(r["a"])(e.matrix)||Ne.fromColumnMajorArray(e.matrix).equals(Ne.IDENTITY))&&!Object(r["a"])(e.extensions)&&!Object(r["a"])(e.extras)}function pQ(e,t){FZ.scene(e,(function(e){const n=e.nodes;if(Object(r["a"])(n)){const e=n.length;for(let i=e;i>=0;--i)if(n[i]===t)return void n.splice(i,1)}})),FZ.node(e,(function(n,i){if(Object(r["a"])(n.children)){const o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),fQ(n)&&pQ(e,i))}})),delete e.nodes[t]}function mQ(e){return FZ.node(e,(function(t,n){fQ(t)&&pQ(e,n)})),e}function _Q(e){FZ.animation(e,(function(t){FZ.animationSampler(t,(function(t){const n=e.accessors[t.input];if(!Object(r["a"])(n.min)||!Object(r["a"])(n.max)){const t=h$(e,n);n.min=t.min,n.max=t.max}}))}))}function gQ(e){e.asset=Object(o["a"])(e.asset,{}),e.asset.version="2.0",V$(e),X$(e),mQ(e),J$(e),Z$(e),Q$(e),tQ(e),uQ(e),hQ(e),dQ(e),_Q(e),nQ(e),iQ(e),oQ(e),sQ(e),k$(e),cQ(e),b$(e),w$(e),$$(e)}var bQ=U$;function yQ(){this.initialized=!1,this.resourcesParsed=!1,this.vertexBuffersToCreate=new cb,this.indexBuffersToCreate=new cb,this.buffers={},this.pendingBufferLoads=0,this.programsToCreate=new cb,this.shaders={},this.pendingShaderLoads=0,this.texturesToCreate=new cb,this.pendingTextureLoads=0,this.texturesToCreateFromBufferView=new cb,this.pendingBufferViewToImage=0,this.createSamplers=!0,this.createSkins=!0,this.createRuntimeAnimations=!0,this.createVertexArrays=!0,this.createRenderStates=!0,this.createUniformMaps=!0,this.createRuntimeNodes=!0,this.createdBufferViews={},this.primitivesToDecode=new cb,this.activeDecodingTasks=0,this.pendingDecodingCache=!1,this.skinnedNodesIds=[]}function vQ(e,t,n){return e.subarray(t,t+n)}yQ.prototype.getBuffer=function(e){return vQ(this.buffers[e.buffer],e.byteOffset,e.byteLength)},yQ.prototype.finishedPendingBufferLoads=function(){return 0===this.pendingBufferLoads},yQ.prototype.finishedBuffersCreation=function(){return 0===this.pendingBufferLoads&&0===this.vertexBuffersToCreate.length&&0===this.indexBuffersToCreate.length},yQ.prototype.finishedProgramCreation=function(){return 0===this.pendingShaderLoads&&0===this.programsToCreate.length},yQ.prototype.finishedTextureCreation=function(){const e=0===this.pendingTextureLoads,t=0===this.texturesToCreate.length&&0===this.texturesToCreateFromBufferView.length;return e&&t},yQ.prototype.finishedEverythingButTextureCreation=function(){const e=0===this.pendingBufferLoads&&0===this.pendingShaderLoads,t=0===this.vertexBuffersToCreate.length&&0===this.indexBuffersToCreate.length&&0===this.programsToCreate.length&&0===this.pendingBufferViewToImage;return this.finishedDecoding()&&e&&t},yQ.prototype.finishedDecoding=function(){return 0===this.primitivesToDecode.length&&0===this.activeDecodingTasks&&!this.pendingDecodingCache},yQ.prototype.finished=function(){return this.finishedDecoding()&&this.finishedTextureCreation()&&this.finishedEverythingButTextureCreation()};var OQ=yQ;const wQ={updateForwardAxis:function(e){const t=e.gltfInternal.extras.sourceVersion;(Object(r["a"])(t)&&"2.0"!==t||"2.0"!==wQ.getAssetVersion(e.gltfInternal))&&(e._gltfForwardAxis=vJ.X)},getAssetVersion:function(e){return Object(r["a"])(e.asset)&&Object(r["a"])(e.asset.version)?e.asset.version:"1.0"},splitIncompatibleMaterials:function(e){const t=e.accessors,n=e.materials,i={};return FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){let o=e.material;const a=n[o],s=e.attributes.JOINTS_0;let c,l;if(Object(r["a"])(s)){const e=t[s];c=e.componentType,l=e.type}const u=Object(r["a"])(s)&&"VEC4"===l,h=Object(r["a"])(e.attributes.COLOR_0),d=Object(r["a"])(e.targets),f=Object(r["a"])(e.attributes.NORMAL),p=Object(r["a"])(e.attributes.TANGENT),m=Object(r["a"])(e.attributes.TEXCOORD_0),_=m&&Object(r["a"])(e.attributes.TEXCOORD_1),g=Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.CESIUM_primitive_outline),b=i[o];if(Object(r["a"])(b)){if(b.skinning.skinned!==u||b.hasVertexColors!==h||b.hasMorphTargets!==d||b.hasNormals!==f||b.hasTangents!==p||b.hasTexCoords!==m||b.hasTexCoord1!==_||b.hasOutline!==g){const t=Object(jL["a"])(a,!0);o=MZ(n,t),e.material=o,i[o]={skinning:{skinned:u,componentType:c},hasVertexColors:h,hasMorphTargets:d,hasNormals:f,hasTangents:p,hasTexCoords:m,hasTexCoord1:_,hasOutline:g}}}else i[o]={skinning:{skinned:u,componentType:c},hasVertexColors:h,hasMorphTargets:d,hasNormals:f,hasTangents:p,hasTexCoords:m,hasTexCoord1:_,hasOutline:g}}))})),i},getShaderVariable:function(e){return"SCALAR"===e?"float":e.toLowerCase()},ModelState:{NEEDS_LOAD:0,LOADING:1,LOADED:2,FAILED:3},getFailedLoadFunction:function(e,t,n){return function(i){e._state=wQ.ModelState.FAILED;let o=`Failed to load ${t}: ${n}`;Object(r["a"])(i)&&(o+="\n"+i.message),e._readyPromise.reject(new ye["a"](o))}},parseBuffers:function(e,t){const n=e._loadResources;FZ.buffer(e.gltfInternal,(function(i,o){if(Object(r["a"])(i.extras._pipeline.source))n.buffers[o]=i.extras._pipeline.source;else if(Object(r["a"])(t)){const r=e._resource.getDerivedResource({url:i.uri});++n.pendingBufferLoads,r.fetchArrayBuffer().then(t(e,o)).catch(wQ.getFailedLoadFunction(e,"buffer",r.url))}}))}},AQ=new g,TQ=new g;function CQ(e,t){return FZ.techniqueAttribute(e,(function(e,n){if(e.semantic===t)return n}))}function EQ(e,t){const n=e.accessors,i=e.materials,o=e.extensions.KHR_techniques_webgl,a=o.techniques,s=o.programs,c=o.shaders,l=t.targets,u=t.attributes;for(const r in l)if(l.hasOwnProperty(r)){const e=l[r];for(const t in e)"extras"!==t&&(u[`${t}_${r}`]=e[t])}const h=i[t.material],d=a[h.extensions.KHR_techniques_webgl.technique],f=s[d.program],p=c[f.vertexShader];for(const m in u)if(u.hasOwnProperty(m)&&!Object(r["a"])(CQ(d,m))){const e=u[m],t=n[e];let i=m.toLowerCase();"_"===i.charAt(0)&&(i=i.slice(1));const o="a_"+i;d.attributes[o]={semantic:m,type:t.componentType};const r=p.extras._pipeline;let a=r.source;a=`attribute ${wQ.getShaderVariable(t.type)} ${o};\n${a}`,r.source=a}}function xQ(e,t,n,i){return LZ(e,"KHR_techniques_webgl")?function(e,t){if(e.semantic===n&&(!i||!Object(r["a"])(e.node)))return t}:function(e,o){const a=t.parameters[e];if(a.semantic===n&&(!i||!Object(r["a"])(a.node)))return o}}wQ.computeBoundingSphere=function(e){const t=e.gltfInternal,n=t.nodes,i=t.meshes,o=t.scenes[t.scene].nodes,a=o.length,s=[],c=new g(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),l=new g(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let h=0;h<a;++h){let e=n[o[h]];e._transformToRoot=wQ.getTransform(e),s.push(e);while(s.length>0){e=s.pop();const o=e._transformToRoot,a=e.mesh;if(Object(r["a"])(a)){const e=i[a],n=e.primitives,s=n.length;for(let i=0;i<s;++i){const e=n[i].attributes.POSITION;if(Object(r["a"])(e)){const n=wQ.getAccessorMinMax(t,e);if(Object(r["a"])(n.min)&&Object(r["a"])(n.max)){const e=g.fromArray(n.min,0,AQ),t=g.fromArray(n.max,0,TQ);Ne.multiplyByPoint(o,e,e),Ne.multiplyByPoint(o,t,t),g.minimumByComponent(c,e,c),g.maximumByComponent(l,t,l)}}}}const u=e.children;if(Object(r["a"])(u)){const e=u.length;for(let t=0;t<e;++t){const e=n[u[t]];e._transformToRoot=wQ.getTransform(e),Ne.multiplyTransformation(o,e._transformToRoot,e._transformToRoot),s.push(e)}}delete e._transformToRoot}}const u=Tt.fromCornerPoints(c,l);return e.forwardAxis===vJ.Z&&Tt.transformWithoutScale(u,vJ.Z_UP_TO_X_UP,u),e._upAxis===vJ.Y?Tt.transformWithoutScale(u,vJ.Y_UP_TO_Z_UP,u):e._upAxis===vJ.X&&Tt.transformWithoutScale(u,vJ.X_UP_TO_Z_UP,u),u},wQ.ensureSemanticExistence=function(e){return FZ.mesh(e,(function(t){FZ.meshPrimitive(t,(function(t){EQ(e,t)}))})),e},wQ.createAttributeLocations=function(e,t){const n={};let i=!1,o=1;if(FZ.techniqueAttribute(e,(function(e,t){/pos/i.test(t)&&!i?(n[t]=0,i=!0):n[t]=o++})),Object(r["a"])(t))for(const r in t)t.hasOwnProperty(r)&&(n[r]=o++);return n},wQ.getAccessorMinMax=function(e,t){const n=e.accessors[t],i=n.extensions;let o=n.min,a=n.max;if(Object(r["a"])(i)){const e=i.WEB3D_quantized_attributes;Object(r["a"])(e)&&(o=e.decodedMin,a=e.decodedMax)}return{min:o,max:a}},wQ.getAttributeOrUniformBySemantic=function(e,t,n,i){return FZ.technique(e,(function(o){if(Object(r["a"])(n)&&o.program!==n)return;const a=FZ.techniqueAttribute(o,xQ(e,o,t,i));return Object(r["a"])(a)?a:FZ.techniqueUniform(o,xQ(e,o,t,i))}))},wQ.getDiffuseAttributeOrUniform=function(e,t){let n=wQ.getAttributeOrUniformBySemantic(e,"COLOR_0",t);return Object(r["a"])(n)||(n=wQ.getAttributeOrUniformBySemantic(e,"_3DTILESDIFFUSE",t)),n};const SQ=new g,IQ=new $a,DQ=new g;function jQ(e,t,n){t+="(?!\\w)",t=new RegExp(t,"g");const i=e.search(t);return e.replace(t,(function(e,t){return i===t?e:n}))}function PQ(e,t){const n=e.accessors[t],i=n.extensions;if(Object(r["a"])(i))return i.WEB3D_quantized_attributes}function RQ(e,t,n){const i=t.material,o=e.materials[i];if(!LZ(e,"KHR_techniques_webgl")||!Object(r["a"])(o.extensions)||!Object(r["a"])(o.extensions.KHR_techniques_webgl))return;const a=o.extensions.KHR_techniques_webgl.technique,s=e.extensions.KHR_techniques_webgl,c=s.techniques[a];return FZ.techniqueAttribute(c,(function(e,t){const i=e.semantic;if(i===n)return t}))}function MQ(e){const t={value:e,clone:function(e,t){return e},func:function(){return t.value}};return t}function NQ(e){const t={value:Ht.fromArray(e),clone:Ht.clone,func:function(){return t.value}};return t}function LQ(e){const t={value:g.fromArray(e),clone:g.clone,func:function(){return t.value}};return t}function BQ(e){const t={value:be.fromArray(e),clone:be.clone,func:function(){return t.value}};return t}function FQ(e){const t={value:al.fromColumnMajorArray(e),clone:al.clone,func:function(){return t.value}};return t}function kQ(e){const t={value:ce.fromColumnMajorArray(e),clone:ce.clone,func:function(){return t.value}};return t}function zQ(e){const t={value:Ne.fromColumnMajorArray(e),clone:Ne.clone,func:function(){return t.value}};return t}function UQ(e,t,n){this._value=void 0,this._textureId=e.index,this._textures=t,this._defaultTexture=n}function VQ(e,t,n){const i=new UQ(e,t,n);return i.func=function(){return i.value},i}wQ.getTransform=function(e,t){return Object(r["a"])(e.matrix)?Ne.fromColumnMajorArray(e.matrix,t):Ne.fromTranslationQuaternionRotationScale(g.fromArray(e.translation,0,SQ),$a.unpack(e.rotation,0,IQ),g.fromArray(e.scale,0,DQ),t)},wQ.getUsedExtensions=function(e){const t=e.extensionsUsed,n={};if(Object(r["a"])(t)){const e=t.length;for(let i=0;i<e;i++){const e=t[i];n[e]=!0}}return n},wQ.getRequiredExtensions=function(e){const t=e.extensionsRequired,n={};if(Object(r["a"])(t)){const e=t.length;for(let i=0;i<e;i++){const e=t[i];n[e]=!0}}return n},wQ.supportedExtensions={AGI_articulations:!0,CESIUM_RTC:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_binary_glTF:!0,KHR_texture_basisu:!0,KHR_draco_mesh_compression:!0,KHR_materials_common:!0,KHR_techniques_webgl:!0,KHR_materials_unlit:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0},wQ.checkSupportedExtensions=function(e,t){for(const n in e)if(e.hasOwnProperty(n)){if(!wQ.supportedExtensions[n])throw new ye["a"]("Unsupported glTF Extension: "+n);if("EXT_texture_webp"===n&&!1===t)throw new ye["a"]("Loaded model requires WebP but browser does not support it.")}},wQ.checkSupportedGlExtensions=function(e,t){if(Object(r["a"])(e)){const n=e.length;for(let i=0;i<n;i++){const n=e[i];if("OES_element_index_uint"!==n)throw new ye["a"]("Unsupported WebGL Extension: "+n);if(!t.elementIndexUint)throw new ye["a"]("OES_element_index_uint WebGL extension is not enabled.")}}},wQ.modifyShaderForDracoQuantizedAttributes=function(e,t,n,i){const o={};for(let a in i)if(i.hasOwnProperty(a)){const s=i[a],c=s.quantization;if(!Object(r["a"])(c))continue;const l=RQ(e,t,a);"_"===a.charAt(0)&&(a=a.substring(1));const u="gltf_u_dec_"+a.toLowerCase();if(!Object(r["a"])(o[u])){const e="gltf_decoded_"+a,t=l.replace("a_","gltf_a_dec_"),i=s.componentsPerAttribute;let o;n=jQ(n,l,t),o=c.octEncoded?"vec3":i>1?"vec"+i:"float",n=`${o} ${t};\n${n}`;const r=3===i&&"COLOR_0"===a;r&&(n=jQ(n,t,`vec4(${t}, 1.0)`));let h="";if(c.octEncoded){const i=u+"_rangeConstant";n=`uniform float ${i};\n${n}`,h=`\nvoid main() {\n ${t} = czm_octDecode(${l}.xy, ${i}).zxy;\n ${e}();\n}\n`}else{const i=u+"_normConstant",a=u+"_min";n=`uniform float ${i};\nuniform ${o} ${a};\n${n}`;const s=r?".xyz":"";h=`\nvoid main() {\n ${t} = ${a} + ${l}${s} * ${i};\n ${e}();\n}\n`}n=bG.replaceMain(n,e),n+=h}}return{shader:n}},wQ.modifyShaderForQuantizedAttributes=function(e,t,n){const i={},o=t.attributes;for(let a in o)if(o.hasOwnProperty(a)){const o=RQ(e,t,a),s=t.attributes[a];"_"===a.charAt(0)&&(a=a.substring(1));const c="gltf_u_dec_"+a.toLowerCase(),l=c+"_scale",u=c+"_translate";if(!Object(r["a"])(i[c])&&!Object(r["a"])(i[l])){const t=PQ(e,s);if(Object(r["a"])(t)){const e=t.decodeMatrix,r="gltf_decoded_"+a,s=o.replace("a_","gltf_a_dec_"),h=Math.floor(Math.sqrt(e.length));let d;n=jQ(n,o,s),d=h>2?"vec"+(h-1):"float",n=`${d} ${s};\n${n}`;let f="";5===h?(n=`uniform mat4 ${l};\n${n}`,n=`uniform vec4 ${u};\n${n}`,f=`\nvoid main() {\n ${s} = ${l} * ${o} + ${u};\n ${r}();\n}\n`,i[l]={mat:4},i[u]={vec:4}):(n=`uniform mat${h} ${c};\n${n}`,f=`\nvoid main() {\n ${s} = ${d}(${c} * vec${h}(${o},1.0));\n ${r}();\n}\n`,i[c]={mat:h}),n=bG.replaceMain(n,r),n+=f}}}return{shader:n,uniforms:i}},Object.defineProperties(UQ.prototype,{value:{get:function(){if(!Object(r["a"])(this._value)){const e=this._textures[this._textureId];if(!Object(r["a"])(e))return this._defaultTexture;this._value=e}return this._value},set:function(e){this._value=e}}}),UQ.prototype.clone=function(e){return e},UQ.prototype.func=void 0;const HQ={};function GQ(e){return[e[0],e[1],e[2],e[3],e[5],e[6],e[7],e[8],e[10],e[11],e[12],e[13],e[15],e[16],e[17],e[18]]}function qQ(e){return[e[20],e[21],e[22],e[23]]}HQ[Jc.FLOAT]=MQ,HQ[Jc.FLOAT_VEC2]=NQ,HQ[Jc.FLOAT_VEC3]=LQ,HQ[Jc.FLOAT_VEC4]=BQ,HQ[Jc.INT]=MQ,HQ[Jc.INT_VEC2]=NQ,HQ[Jc.INT_VEC3]=LQ,HQ[Jc.INT_VEC4]=BQ,HQ[Jc.BOOL]=MQ,HQ[Jc.BOOL_VEC2]=NQ,HQ[Jc.BOOL_VEC3]=LQ,HQ[Jc.BOOL_VEC4]=BQ,HQ[Jc.FLOAT_MAT2]=FQ,HQ[Jc.FLOAT_MAT3]=kQ,HQ[Jc.FLOAT_MAT4]=zQ,HQ[Jc.SAMPLER_2D]=VQ,wQ.createUniformFunction=function(e,t,n,i){return HQ[e](t,n,i)},wQ.createUniformsForDracoQuantizedAttributes=function(e){const t={};for(let n in e)if(e.hasOwnProperty(n)){const i=e[n],o=i.quantization;if(!Object(r["a"])(o))continue;"_"===n.charAt(0)&&(n=n.substring(1));const a="gltf_u_dec_"+n.toLowerCase();if(o.octEncoded){const e=a+"_rangeConstant",n=(1<<o.quantizationBits)-1;t[e]=MQ(n).func;continue}const s=a+"_normConstant",c=o.range/(1<<o.quantizationBits);t[s]=MQ(c).func;const l=a+"_min";switch(i.componentsPerAttribute){case 1:t[l]=MQ(o.minValues).func;break;case 2:t[l]=NQ(o.minValues).func;break;case 3:t[l]=LQ(o.minValues).func;break;case 4:t[l]=BQ(o.minValues).func;break}}return t},wQ.createUniformsForQuantizedAttributes=function(e,t,n){const i=e.accessors,o={},a={},s=t.attributes;for(let c in s)if(s.hasOwnProperty(c)){const e=s[c],t=i[e],n=t.extensions;if("_"===c.charAt(0)&&(c=c.substring(1)),Object(r["a"])(n)){const e=n.WEB3D_quantized_attributes;if(Object(r["a"])(e)){const n=e.decodeMatrix,i="gltf_u_dec_"+c.toLowerCase();let r,s;switch(t.type){case cl.SCALAR:a[i]=FQ(n).func,o[i]=!0;break;case cl.VEC2:a[i]=kQ(n).func,o[i]=!0;break;case cl.VEC3:a[i]=zQ(n).func,o[i]=!0;break;case cl.VEC4:r=i+"_scale",s=i+"_translate",a[r]=zQ(GQ(n)).func,a[s]=BQ(qQ(n)).func,o[r]=!0,o[s]=!0;break}}}}for(const c in n)if(n.hasOwnProperty(c)&&!o[c]){const e=n[c];Object(r["a"])(e.mat)&&(2===e.mat?a[c]=FQ(al.IDENTITY).func:3===e.mat?a[c]=kQ(ce.IDENTITY).func:4===e.mat&&(a[c]=zQ(Ne.IDENTITY).func)),Object(r["a"])(e.vec)&&4===e.vec&&(a[c]=BQ([0,0,0,0]).func)}return a};const WQ=new g,YQ={MODEL:function(e,t){return function(){return e.model}},VIEW:function(e,t){return function(){return e.view}},PROJECTION:function(e,t){return function(){return e.projection}},MODELVIEW:function(e,t){return function(){return e.modelView}},CESIUM_RTC_MODELVIEW:function(e,t){const n=new Ne;return function(){return Object(r["a"])(t._rtcCenter)?(Ne.getTranslation(e.model,WQ),g.add(WQ,t._rtcCenter,WQ),Ne.multiplyByPoint(e.view,WQ,WQ),Ne.setTranslation(e.modelView,WQ,n)):e.modelView}},MODELVIEWPROJECTION:function(e,t){return function(){return e.modelViewProjection}},MODELINVERSE:function(e,t){return function(){return e.inverseModel}},VIEWINVERSE:function(e,t){return function(){return e.inverseView}},PROJECTIONINVERSE:function(e,t){return function(){return e.inverseProjection}},MODELVIEWINVERSE:function(e,t){return function(){return e.inverseModelView}},MODELVIEWPROJECTIONINVERSE:function(e,t){return function(){return e.inverseModelViewProjection}},MODELINVERSETRANSPOSE:function(e,t){return function(){return e.inverseTransposeModel}},MODELVIEWINVERSETRANSPOSE:function(e,t){return function(){return e.normal}},VIEWPORT:function(e,t){return function(){return e.viewportCartesian4}}};wQ.getGltfSemanticUniforms=function(){return YQ};var XQ=wQ;function KQ(e,t){if(t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),!Object(r["a"])(e))return;if(!LZ(e,"KHR_materials_common"))return;LZ(e,"KHR_techniques_webgl")||(Object(r["a"])(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl={programs:[],shaders:[],techniques:[]},e.extensionsUsed.push("KHR_techniques_webgl"),e.extensionsRequired.push("KHR_techniques_webgl"));const n=e.extensions.KHR_techniques_webgl;e1(e);const i=JQ(e),a=XQ.splitIncompatibleMaterials(e),s={};let c=!1;return FZ.material(e,(function(o,l){if(Object(r["a"])(o.extensions)&&Object(r["a"])(o.extensions.KHR_materials_common)){const u=o.extensions.KHR_materials_common,h=a[l],d=QQ(u,h);let f=s[d];Object(r["a"])(f)||(f=ZQ(e,n,h,u,i,t.addBatchIdToGeneratedShaders),s[d]=f,c=!0);const p={},m=u.values;let _;for(const e in m)m.hasOwnProperty(e)&&"transparent"!==e&&"doubleSided"!==e&&(_="u_"+e.toLowerCase(),p[_]=m[e]);o.extensions.KHR_techniques_webgl={technique:f,values:p},o.alphaMode="OPAQUE",u.transparent&&(o.alphaMode="BLEND"),u.doubleSided&&(o.doubleSided=!0)}})),c?(XQ.ensureSemanticExistence(e),e):e}function JQ(e){const t={};let n;if(Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_materials_common)&&(n=e.extensions.KHR_materials_common.lights),Object(r["a"])(n)){const i=e.nodes;for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];if(Object(r["a"])(t.extensions)&&Object(r["a"])(t.extensions.KHR_materials_common)){const i=t.extensions.KHR_materials_common.light;Object(r["a"])(i)&&Object(r["a"])(n[i])&&(n[i].node=e),delete t.extensions.KHR_materials_common}}let o=0;for(const e in n)if(n.hasOwnProperty(e)){const i=n[e],a=i.type;if("ambient"!==a&&!Object(r["a"])(i.node)){delete n[e];continue}const s="light"+o.toString();let c,l,u,h;switch(i.baseName=s,a){case"ambient":c=i.ambient,t[s+"Color"]={type:Jc.FLOAT_VEC3,value:c.color};break;case"directional":l=i.directional,t[s+"Color"]={type:Jc.FLOAT_VEC3,value:l.color},Object(r["a"])(i.node)&&(t[s+"Transform"]={node:i.node,semantic:"MODELVIEW",type:Jc.FLOAT_MAT4});break;case"point":u=i.point,t[s+"Color"]={type:Jc.FLOAT_VEC3,value:u.color},Object(r["a"])(i.node)&&(t[s+"Transform"]={node:i.node,semantic:"MODELVIEW",type:Jc.FLOAT_MAT4}),t[s+"Attenuation"]={type:Jc.FLOAT_VEC3,value:[u.constantAttenuation,u.linearAttenuation,u.quadraticAttenuation]};break;case"spot":h=i.spot,t[s+"Color"]={type:Jc.FLOAT_VEC3,value:h.color},Object(r["a"])(i.node)&&(t[s+"Transform"]={node:i.node,semantic:"MODELVIEW",type:Jc.FLOAT_MAT4},t[s+"InverseTransform"]={node:i.node,semantic:"MODELVIEWINVERSE",type:Jc.FLOAT_MAT4,useInFragment:!0}),t[s+"Attenuation"]={type:Jc.FLOAT_VEC3,value:[h.constantAttenuation,h.linearAttenuation,h.quadraticAttenuation]},t[s+"FallOff"]={type:Jc.FLOAT_VEC2,value:[h.fallOffAngle,h.fallOffExponent]};break}++o}}return t}function ZQ(e,t,n,i,a,s){Object(r["a"])(i)||(i={}),s=Object(o["a"])(s,!1);const c=t.techniques,l=t.shaders,u=t.programs,h=i.technique.toUpperCase();let d;Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_materials_common)&&(d=e.extensions.KHR_materials_common.lights);const f=i.values,p=Object(o["a"])(i.jointCount,0);let m,_=!1,g=!1;Object(r["a"])(n)&&(m=n.skinning,_=m.skinned,g=n.hasVertexColors);let b="precision highp float;\n",y="precision highp float;\n";const v="CONSTANT"!==h,O={u_modelViewMatrix:{semantic:LZ(e,"CESIUM_RTC")?"CESIUM_RTC_MODELVIEW":"MODELVIEW",type:Jc.FLOAT_MAT4},u_projectionMatrix:{semantic:"PROJECTION",type:Jc.FLOAT_MAT4}};let w;v&&(O.u_normalMatrix={semantic:"MODELVIEWINVERSETRANSPOSE",type:Jc.FLOAT_MAT3}),_&&(O.u_jointMatrix={count:p,semantic:"JOINTMATRIX",type:Jc.FLOAT_MAT4});let A=!1;for(const o in f)if(f.hasOwnProperty(o)&&"transparent"!==o&&"doubleSided"!==o){const e=$Q(o,f[o]);w="u_"+o.toLowerCase(),A||e!==Jc.SAMPLER_2D||(A=!0),O[w]={type:e}}if(Object(r["a"])(O.u_diffuse)&&(O.u_diffuse.semantic="_3DTILESDIFFUSE"),Object(r["a"])(a))for(const o in a)a.hasOwnProperty(o)&&(w="u_"+o,O[w]=a[o]);for(w in O)if(O.hasOwnProperty(w)){const e=O[w],t=Object(r["a"])(e.count)?`[${e.count}]`:"";e.type!==Jc.FLOAT_MAT3&&e.type!==Jc.FLOAT_MAT4||e.useInFragment?(y+=`uniform ${RB(e.type)} ${w}${t};\n`,delete e.useInFragment):b+=`uniform ${RB(e.type)} ${w}${t};\n`}let T="";_&&(T+=" mat4 skinMatrix =\n a_weight.x * u_jointMatrix[int(a_joint.x)] +\n a_weight.y * u_jointMatrix[int(a_joint.y)] +\n a_weight.z * u_jointMatrix[int(a_joint.z)] +\n a_weight.w * u_jointMatrix[int(a_joint.w)];\n");const C={a_position:{semantic:"POSITION"}};let E;b+="attribute vec3 a_position;\n",b+="varying vec3 v_positionEC;\n",T+=_?" vec4 pos = u_modelViewMatrix * skinMatrix * vec4(a_position,1.0);\n":" vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);\n",T+=" v_positionEC = pos.xyz;\n",T+=" gl_Position = u_projectionMatrix * pos;\n",y+="varying vec3 v_positionEC;\n",v&&(C.a_normal={semantic:"NORMAL"},b+="attribute vec3 a_normal;\n",b+="varying vec3 v_normal;\n",T+=_?" v_normal = u_normalMatrix * mat3(skinMatrix) * a_normal;\n":" v_normal = u_normalMatrix * a_normal;\n",y+="varying vec3 v_normal;\n"),A&&(C.a_texcoord_0={semantic:"TEXCOORD_0"},E="v_texcoord_0",b+="attribute vec2 a_texcoord_0;\n",b+=`varying vec2 ${E};\n`,T+=` ${E} = a_texcoord_0;\n`,y+=`varying vec2 ${E};\n`),_&&(C.a_joint={semantic:"JOINTS_0"},C.a_weight={semantic:"WEIGHTS_0"},b+="attribute vec4 a_joint;\n",b+="attribute vec4 a_weight;\n"),g&&(C.a_vertexColor={semantic:"COLOR_0"},b+="attribute vec4 a_vertexColor;\n",b+="varying vec4 v_vertexColor;\n",T+=" v_vertexColor = a_vertexColor;\n",y+="varying vec4 v_vertexColor;\n"),s&&(C.a_batchId={semantic:"_BATCHID"},b+="attribute float a_batchId;\n");const x=v&&("BLINN"===h||"PHONG"===h)&&Object(r["a"])(O.u_specular)&&Object(r["a"])(O.u_shininess)&&O.u_shininess>0;let S=!1,I=!1,D="";for(const o in d)if(d.hasOwnProperty(o)){const e=d[o],t=e.type.toLowerCase(),n=e.baseName;D+=" {\n";const i=`u_${n}Color`;if("ambient"===t)I=!0,D+=` ambientLight += ${i};\n`;else if(v){S=!0;const e=`v_${n}Direction`,o=`v_${n}Position`;"point"!==t&&(b+=`varying vec3 ${e};\n`,y+=`varying vec3 ${e};\n`,T+=` ${e} = mat3(u_${n}Transform) * vec3(0.,0.,1.);\n`,"directional"===t&&(D+=` vec3 l = normalize(${e});\n`)),"directional"!==t?(b+=`varying vec3 ${o};\n`,y+=`varying vec3 ${o};\n`,T+=` ${o} = u_${n}Transform[3].xyz;\n`,D+=` vec3 VP = ${o} - v_positionEC;\n`,D+=" vec3 l = normalize(VP);\n",D+=" float range = length(VP);\n",D+=` float attenuation = 1.0 / (u_${n}Attenuation.x + `,D+=`(u_${n}Attenuation.y * range) + `,D+=`(u_${n}Attenuation.z * range * range));\n`):D+=" float attenuation = 1.0;\n","spot"===t&&(D+=` float spotDot = dot(l, normalize(${e}));\n`,D+=` if (spotDot < cos(u_${n}FallOff.x * 0.5))\n`,D+=" {\n",D+=" attenuation = 0.0;\n",D+=" }\n",D+=" else\n",D+=" {\n",D+=` attenuation *= max(0.0, pow(spotDot, u_${n}FallOff.y));\n`,D+=" }\n"),D+=` diffuseLight += ${i}* max(dot(normal,l), 0.) * attenuation;\n`,x&&("BLINN"===h?(D+=" vec3 h = normalize(l + viewDir);\n",D+=" float specularIntensity = max(0., pow(max(dot(normal, h), 0.), u_shininess)) * attenuation;\n"):(D+=" vec3 reflectDir = reflect(-l, normal);\n",D+=" float specularIntensity = max(0., pow(max(dot(reflectDir, viewDir), 0.), u_shininess)) * attenuation;\n"),D+=` specularLight += ${i} * specularIntensity;\n`)}D+=" }\n"}if(I||(D+=" ambientLight += vec3(0.2, 0.2, 0.2);\n"),!S&&"CONSTANT"!==h){y+="#ifdef USE_CUSTOM_LIGHT_COLOR \n",y+="uniform vec3 gltf_lightColor; \n",y+="#endif \n",D+="#ifndef USE_CUSTOM_LIGHT_COLOR \n",D+=" vec3 lightColor = czm_lightColor;\n",D+="#else \n",D+=" vec3 lightColor = gltf_lightColor;\n",D+="#endif \n",D+=" vec3 l = normalize(czm_lightDirectionEC);\n";const e="0.2";D+=` diffuseLight += lightColor * max(dot(normal,l), ${e});\n`,x&&("BLINN"===h?(D+=" vec3 h = normalize(l + viewDir);\n",D+=" float specularIntensity = max(0., pow(max(dot(normal, h), 0.), u_shininess));\n"):(D+=" vec3 reflectDir = reflect(-l, normal);\n",D+=" float specularIntensity = max(0., pow(max(dot(reflectDir, viewDir), 0.), u_shininess));\n"),D+=" specularLight += lightColor * specularIntensity;\n")}b+="void main(void) {\n",b+=T,b+="}\n",y+="void main(void) {\n";let j,P=" vec3 color = vec3(0.0, 0.0, 0.0);\n";v&&(y+=" vec3 normal = normalize(v_normal);\n",i.doubleSided&&(y+=" if (czm_backFacing())\n",y+=" {\n",y+=" normal = -normal;\n",y+=" }\n")),"CONSTANT"!==h?(Object(r["a"])(O.u_diffuse)&&(O.u_diffuse.type===Jc.SAMPLER_2D?y+=` vec4 diffuse = texture2D(u_diffuse, ${E});\n`:y+=" vec4 diffuse = u_diffuse;\n",y+=" vec3 diffuseLight = vec3(0.0, 0.0, 0.0);\n",P+=" color += diffuse.rgb * diffuseLight;\n"),x&&(O.u_specular.type===Jc.SAMPLER_2D?y+=` vec3 specular = texture2D(u_specular, ${E}).rgb;\n`:y+=" vec3 specular = u_specular.rgb;\n",y+=" vec3 specularLight = vec3(0.0, 0.0, 0.0);\n",P+=" color += specular * specularLight;\n"),j=Object(r["a"])(O.u_transparency)?" gl_FragColor = vec4(color * diffuse.a * u_transparency, diffuse.a * u_transparency);\n":" gl_FragColor = vec4(color * diffuse.a, diffuse.a);\n"):j=Object(r["a"])(O.u_transparency)?" gl_FragColor = vec4(color * u_transparency, u_transparency);\n":" gl_FragColor = vec4(color, 1.0);\n",g&&(P+=" color *= v_vertexColor.rgb;\n"),Object(r["a"])(O.u_emission)&&(O.u_emission.type===Jc.SAMPLER_2D?y+=` vec3 emission = texture2D(u_emission, ${E}).rgb;\n`:y+=" vec3 emission = u_emission.rgb;\n",P+=" color += emission;\n"),(Object(r["a"])(O.u_ambient)||"CONSTANT"!==h)&&(Object(r["a"])(O.u_ambient)?O.u_ambient.type===Jc.SAMPLER_2D?y+=` vec3 ambient = texture2D(u_ambient, ${E}).rgb;\n`:y+=" vec3 ambient = u_ambient.rgb;\n":y+=" vec3 ambient = diffuse.rgb;\n",P+=" color += ambient * ambientLight;\n"),y+=" vec3 viewDir = -normalize(v_positionEC);\n",y+=" vec3 ambientLight = vec3(0.0, 0.0, 0.0);\n",y+=D,y+=P,y+=j,y+="}\n";const R=MZ(l,{type:Jc.VERTEX_SHADER,extras:{_pipeline:{source:b,extension:".glsl"}}}),M=MZ(l,{type:Jc.FRAGMENT_SHADER,extras:{_pipeline:{source:y,extension:".glsl"}}}),N=MZ(u,{fragmentShader:M,vertexShader:R}),L=MZ(c,{attributes:C,program:N,uniforms:O});return L}function $Q(e,t){let n;switch(n=Object(r["a"])(t.value)?t.value:Object(r["a"])(t.index)?[t.index]:t,e){case"ambient":return 1===n.length?Jc.SAMPLER_2D:Jc.FLOAT_VEC4;case"diffuse":return 1===n.length?Jc.SAMPLER_2D:Jc.FLOAT_VEC4;case"emission":return 1===n.length?Jc.SAMPLER_2D:Jc.FLOAT_VEC4;case"specular":return 1===n.length?Jc.SAMPLER_2D:Jc.FLOAT_VEC4;case"shininess":return Jc.FLOAT;case"transparency":return Jc.FLOAT;case"transparent":return Jc.BOOL;case"doubleSided":return Jc.BOOL}}function QQ(e,t){let n="";n+=`technique:${e.technique};`;const i=e.values,a=Object.keys(i).sort(),s=a.length;for(let o=0;o<s;++o){const e=a[o];i.hasOwnProperty(e)&&(n+=`${e}:${$Q(e,i[e])}`,n+=";")}const c=Object(o["a"])(e.jointCount,0);if(n+=c.toString()+";",Object(r["a"])(t)){const e=t.skinning;c>0&&(n+=e.type+";"),n+=t.hasVertexColors}return n}function e1(e){const t=e.extensions.KHR_materials_common;if(!Object(r["a"])(t)||!Object(r["a"])(t.lights))return;const n=t.lights,i=n.length;for(let a=0;a<i;a++){const e=n[a];if("ambient"===e.type){Object(r["a"])(e.ambient)||(e.ambient={});const t=e.ambient;Object(r["a"])(t.color)||(t.color=[1,1,1])}else if("directional"===e.type){Object(r["a"])(e.directional)||(e.directional={});const t=e.directional;Object(r["a"])(t.color)||(t.color=[1,1,1])}else if("point"===e.type){Object(r["a"])(e.point)||(e.point={});const t=e.point;Object(r["a"])(t.color)||(t.color=[1,1,1]),t.constantAttenuation=Object(o["a"])(t.constantAttenuation,1),t.linearAttenuation=Object(o["a"])(t.linearAttenuation,0),t.quadraticAttenuation=Object(o["a"])(t.quadraticAttenuation,0)}else if("spot"===e.type){Object(r["a"])(e.spot)||(e.spot={});const t=e.spot;Object(r["a"])(t.color)||(t.color=[1,1,1]),t.constantAttenuation=Object(o["a"])(t.constantAttenuation,1),t.fallOffAngle=Object(o["a"])(t.fallOffAngle,3.14159265),t.fallOffExponent=Object(o["a"])(t.fallOffExponent,0),t.linearAttenuation=Object(o["a"])(t.linearAttenuation,0),t.quadraticAttenuation=Object(o["a"])(t.quadraticAttenuation,0)}}}var t1=KQ;function n1(e,t){if(t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),LZ(e,"KHR_techniques_webgl"))return e;if(!Object(r["a"])(e.materials)||0===e.materials.length)return e;Object(r["a"])(e.extensions)||(e.extensions={}),Object(r["a"])(e.extensionsUsed)||(e.extensionsUsed=[]),Object(r["a"])(e.extensionsRequired)||(e.extensionsRequired=[]),e.extensions.KHR_techniques_webgl={programs:[],shaders:[],techniques:[]},e.extensionsUsed.push("KHR_techniques_webgl"),e.extensionsRequired.push("KHR_techniques_webgl");const n=XQ.splitIncompatibleMaterials(e);return FZ.material(e,(function(i,o){const a={},s=l1(e,i,o,a,n,t);Object(r["a"])(i.extensions)||(i.extensions={}),i.extensions.KHR_techniques_webgl={values:a,technique:s}})),XQ.ensureSemanticExistence(e),e}function i1(e){return Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions.KHR_materials_pbrSpecularGlossiness)}function o1(e,t,n,i,o){let a;const s=n[t];return Object(r["a"])(s)&&Object(r["a"])(s.texCoord)&&1===s.texCoord&&(i=i.replace("0","1")),Object(r["a"])(n[t+"Offset"])?(a=t+"Coord",o.fragmentShaderMain+=` vec2 ${a} = computeTexCoord(${i}, ${t}Offset, ${t}Rotation, ${t}Scale);\n`):a=i,a}const r1=[0,0],a1=[0],s1=[1,1];function c1(e,t,n){if(-1===e.indexOf("Texture")||!Object(r["a"])(t.extensions)||!Object(r["a"])(t.extensions.KHR_texture_transform))return;const i="u_"+e,a=t.extensions.KHR_texture_transform;n[i+"Offset"]=Object(o["a"])(a.offset,r1),n[i+"Rotation"]=Object(o["a"])(a.rotation,a1),n[i+"Scale"]=Object(o["a"])(a.scale,s1),Object(r["a"])(t.texCoord)&&Object(r["a"])(a.texCoord)&&(n[i].texCoord=a.texCoord)}function l1(e,t,n,i,a,s){const c=Object(o["a"])(s.addBatchIdToGeneratedShaders,!1),l=e.extensions.KHR_techniques_webgl,u=l.techniques,h=l.shaders,d=l.programs,f=i1(t);let p,m,_;if(!f){const e=t.pbrMetallicRoughness;if(Object(r["a"])(e))for(m in e)e.hasOwnProperty(m)&&(_=e[m],p="u_"+m,i[p]=_,c1(m,_,i));else i["u_baseColorFactor"]=[1,1,1,1]}if(f){const e=t.extensions.KHR_materials_pbrSpecularGlossiness;for(m in e)e.hasOwnProperty(m)&&(_=e[m],p="u_"+m,i[p]=_,c1(m,_,i))}for(const o in t)t.hasOwnProperty(o)&&(o.indexOf("Texture")>=0||o.indexOf("Factor")>=0)&&(_=t[o],p="u_"+o,i[p]=_,c1(o,_,i));let g,b="precision highp float;\n",y="precision highp float;\n";Object(r["a"])(e.skins)&&(g=e.skins[0]);const v=Object(r["a"])(g)?g.joints:[],O=v.length,w=a[n];let A,T,C=!1,E=!1,x=!1,S=!1,I=!1,D=!1,j=!1,P=!1,R=!1;Object(r["a"])(w)&&(A=w.skinning,C=A.skinned&&v.length>0,E=w.hasVertexColors,x=w.hasMorphTargets,S=w.hasNormals,I=w.hasTangents,D=w.hasTexCoords,j=w.hasTexCoord1,P=w.hasOutline),x&&FZ.mesh(e,(function(e){FZ.meshPrimitive(e,(function(e){if(e.material===n){const t=e.targets;Object(r["a"])(t)&&(T=t)}}))}));const M={u_modelViewMatrix:{semantic:LZ(e,"CESIUM_RTC")?"CESIUM_RTC_MODELVIEW":"MODELVIEW",type:Jc.FLOAT_MAT4},u_projectionMatrix:{semantic:"PROJECTION",type:Jc.FLOAT_MAT4}};Object(r["a"])(t.extensions)&&Object(r["a"])(t.extensions.KHR_materials_unlit)&&(R=!0),S&&(M.u_normalMatrix={semantic:"MODELVIEWINVERSETRANSPOSE",type:Jc.FLOAT_MAT3}),C&&(M.u_jointMatrix={count:O,semantic:"JOINTMATRIX",type:Jc.FLOAT_MAT4}),x&&(M.u_morphWeights={count:T.length,semantic:"MORPHWEIGHTS",type:Jc.FLOAT});const N=t.alphaMode;for(p in Object(r["a"])(N)&&"MASK"===N&&(M.u_alphaCutoff={semantic:"ALPHACUTOFF",type:Jc.FLOAT}),i)i.hasOwnProperty(p)&&(M[p]={type:u1(p)});const L=Object(o["a"])(M.u_baseColorTexture,M.u_baseColorFactor);for(p in Object(r["a"])(L)&&(L.semantic="_3DTILESDIFFUSE"),M)if(M.hasOwnProperty(p)){const e=M[p],t=Object(r["a"])(e.count)?`[${e.count}]`:"";e.type!==Jc.FLOAT_MAT3&&e.type!==Jc.FLOAT_MAT4&&"u_morphWeights"!==p||e.useInFragment?(y+=`uniform ${RB(e.type)} ${p}${t};\n`,delete e.useInFragment):b+=`uniform ${RB(e.type)} ${p}${t};\n`}P&&(y+="uniform sampler2D u_outlineTexture;\n");let B="";C&&(B+=" mat4 skinMatrix =\n a_weight.x * u_jointMatrix[int(a_joint.x)] +\n a_weight.y * u_jointMatrix[int(a_joint.y)] +\n a_weight.z * u_jointMatrix[int(a_joint.z)] +\n a_weight.w * u_jointMatrix[int(a_joint.w)];\n");const F={a_position:{semantic:"POSITION"}};if(P&&(F.a_outlineCoordinates={semantic:"_OUTLINE_COORDINATES"}),b+="attribute vec3 a_position;\n",S&&(b+="varying vec3 v_positionEC;\n"),P&&(b+="attribute vec3 a_outlineCoordinates;\n",b+="varying vec3 v_outlineCoordinates;\n"),B+=" vec3 weightedPosition = a_position;\n",S&&(B+=" vec3 weightedNormal = a_normal;\n"),I&&(B+=" vec4 weightedTangent = a_tangent;\n"),x)for(let o=0;o<T.length;o++){const e=T[o];for(const t in e)if(e.hasOwnProperty(t)&&"extras"!==t){const e=`a_${t}_${o}`;F[e]={semantic:`${t}_${o}`},b+=`attribute vec3 ${e};\n`,"POSITION"===t?B+=` weightedPosition += u_morphWeights[${o}] * ${e};\n`:"NORMAL"===t?B+=` weightedNormal += u_morphWeights[${o}] * ${e};\n`:I&&"TANGENT"===t&&(B+=` weightedTangent.xyz += u_morphWeights[${o}] * ${e};\n`)}}B+=C?" vec4 position = skinMatrix * vec4(weightedPosition, 1.0);\n":" vec4 position = vec4(weightedPosition, 1.0);\n",B+=" position = u_modelViewMatrix * position;\n",S&&(B+=" v_positionEC = position.xyz;\n"),B+=" gl_Position = u_projectionMatrix * position;\n",P&&(B+=" v_outlineCoordinates = a_outlineCoordinates;\n"),S&&(F.a_normal={semantic:"NORMAL"},b+="attribute vec3 a_normal;\n",R||(b+="varying vec3 v_normal;\n",B+=C?" v_normal = u_normalMatrix * mat3(skinMatrix) * weightedNormal;\n":" v_normal = u_normalMatrix * weightedNormal;\n",y+="varying vec3 v_normal;\n"),y+="varying vec3 v_positionEC;\n"),I&&(F.a_tangent={semantic:"TANGENT"},b+="attribute vec4 a_tangent;\n",b+="varying vec4 v_tangent;\n",B+=" v_tangent.xyz = u_normalMatrix * weightedTangent.xyz;\n",B+=" v_tangent.w = weightedTangent.w;\n",y+="varying vec4 v_tangent;\n"),P&&(y+="varying vec3 v_outlineCoordinates;\n");let k,z,U,V,H,G,q,W,Y="";if(D){if(F.a_texcoord_0={semantic:"TEXCOORD_0"},k="v_texcoord_0",b+="attribute vec2 a_texcoord_0;\n",b+=`varying vec2 ${k};\n`,B+=` ${k} = a_texcoord_0;\n`,y+=`varying vec2 ${k};\n`,j){F.a_texcoord_1={semantic:"TEXCOORD_1"};const e=k.replace("0","1");b+="attribute vec2 a_texcoord_1;\n",b+=`varying vec2 ${e};\n`,B+=` ${e} = a_texcoord_1;\n`,y+=`varying vec2 ${e};\n`}const t={fragmentShaderMain:Y};z=o1(e,"u_normalTexture",i,k,t),U=o1(e,"u_baseColorTexture",i,k,t),V=o1(e,"u_specularGlossinessTexture",i,k,t),H=o1(e,"u_diffuseTexture",i,k,t),G=o1(e,"u_metallicRoughnessTexture",i,k,t),q=o1(e,"u_occlusionTexture",i,k,t),W=o1(e,"u_emissiveTexture",i,k,t),Y=t.fragmentShaderMain}C&&(F.a_joint={semantic:"JOINTS_0"},F.a_weight={semantic:"WEIGHTS_0"},b+="attribute vec4 a_joint;\n",b+="attribute vec4 a_weight;\n"),E&&(F.a_vertexColor={semantic:"COLOR_0"},b+="attribute vec4 a_vertexColor;\n",b+="varying vec4 v_vertexColor;\n",B+=" v_vertexColor = a_vertexColor;\n",y+="varying vec4 v_vertexColor;\n"),c&&(F.a_batchId={semantic:"_BATCHID"},b+="attribute float a_batchId;\n"),b+="void main(void) \n{\n",b+=B,b+="}\n",S&&!R&&(y+="const float M_PI = 3.141592653589793;\n",y+="vec3 lambertianDiffuse(vec3 diffuseColor) \n{\n return diffuseColor / M_PI;\n}\n\n",y+="vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n{\n return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n}\n\n",y+="vec3 fresnelSchlick(float metalness, float VdotH) \n{\n return metalness + (vec3(1.0) - metalness) * pow(1.0 - VdotH, 5.0);\n}\n\n",y+="float smithVisibilityG1(float NdotV, float roughness) \n{\n float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n return NdotV / (NdotV * (1.0 - k) + k);\n}\n\n",y+="float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n{\n return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n}\n\n",y+="float GGX(float roughness, float NdotH) \n{\n float roughnessSquared = roughness * roughness;\n float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n return roughnessSquared / (M_PI * f * f);\n}\n\n"),y+="vec3 SRGBtoLINEAR3(vec3 srgbIn) \n{\n return pow(srgbIn, vec3(2.2));\n}\n\n",y+="vec4 SRGBtoLINEAR4(vec4 srgbIn) \n{\n vec3 linearOut = pow(srgbIn.rgb, vec3(2.2));\n return vec4(linearOut, srgbIn.a);\n}\n\n",y+="vec3 applyTonemapping(vec3 linearIn) \n{\n#ifndef HDR \n return czm_acesTonemapping(linearIn);\n#else \n return linearIn;\n#endif \n}\n\n",y+="vec3 LINEARtoSRGB(vec3 linearIn) \n{\n#ifndef HDR \n return pow(linearIn, vec3(1.0/2.2));\n#else \n return linearIn;\n#endif \n}\n\n",y+="vec2 computeTexCoord(vec2 texCoords, vec2 offset, float rotation, vec2 scale) \n{\n rotation = -rotation; \n mat3 transform = mat3(\n cos(rotation) * scale.x, sin(rotation) * scale.x, 0.0, \n -sin(rotation) * scale.y, cos(rotation) * scale.y, 0.0, \n offset.x, offset.y, 1.0); \n vec2 transformedTexCoords = (transform * vec3(fract(texCoords), 1.0)).xy; \n return transformedTexCoords; \n}\n\n",y+="#ifdef USE_IBL_LIGHTING \n",y+="uniform vec2 gltf_iblFactor; \n",y+="#endif \n",y+="#ifdef USE_CUSTOM_LIGHT_COLOR \n",y+="uniform vec3 gltf_lightColor; \n",y+="#endif \n",y+="void main(void) \n{\n",y+=Y,S&&!R&&(y+=" vec3 ng = normalize(v_normal);\n",y+=" vec3 positionWC = vec3(czm_inverseView * vec4(v_positionEC, 1.0));\n",Object(r["a"])(i.u_normalTexture)?I?(y+=" vec3 t = normalize(v_tangent.xyz);\n",y+=" vec3 b = normalize(cross(ng, t) * v_tangent.w);\n",y+=" mat3 tbn = mat3(t, b, ng);\n",y+=` vec3 n = texture2D(u_normalTexture, ${z}).rgb;\n`,y+=" n = normalize(tbn * (2.0 * n - 1.0));\n"):(y="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n"+y,y+="#ifdef GL_OES_standard_derivatives\n",y+=" vec3 pos_dx = dFdx(v_positionEC);\n",y+=" vec3 pos_dy = dFdy(v_positionEC);\n",y+=` vec3 tex_dx = dFdx(vec3(${z},0.0));\n`,y+=` vec3 tex_dy = dFdy(vec3(${z},0.0));\n`,y+=" vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n",y+=" t = normalize(t - ng * dot(ng, t));\n",y+=" vec3 b = normalize(cross(ng, t));\n",y+=" mat3 tbn = mat3(t, b, ng);\n",y+=` vec3 n = texture2D(u_normalTexture, ${z}).rgb;\n`,y+=" n = normalize(tbn * (2.0 * n - 1.0));\n",y+="#else\n",y+=" vec3 n = ng;\n",y+="#endif\n"):y+=" vec3 n = ng;\n",t.doubleSided&&(y+=" if (czm_backFacing())\n",y+=" {\n",y+=" n = -n;\n",y+=" }\n")),Object(r["a"])(i.u_baseColorTexture)?(y+=` vec4 baseColorWithAlpha = SRGBtoLINEAR4(texture2D(u_baseColorTexture, ${U}));\n`,Object(r["a"])(i.u_baseColorFactor)&&(y+=" baseColorWithAlpha *= u_baseColorFactor;\n")):Object(r["a"])(i.u_baseColorFactor)?y+=" vec4 baseColorWithAlpha = u_baseColorFactor;\n":y+=" vec4 baseColorWithAlpha = vec4(1.0);\n",E&&(y+=" baseColorWithAlpha *= v_vertexColor;\n"),y+=" vec3 baseColor = baseColorWithAlpha.rgb;\n",S&&!R?(f?(Object(r["a"])(i.u_specularGlossinessTexture)?(y+=` vec4 specularGlossiness = SRGBtoLINEAR4(texture2D(u_specularGlossinessTexture, ${V}));\n`,y+=" vec3 specular = specularGlossiness.rgb;\n",y+=" float glossiness = specularGlossiness.a;\n",Object(r["a"])(i.u_specularFactor)&&(y+=" specular *= u_specularFactor;\n"),Object(r["a"])(i.u_glossinessFactor)&&(y+=" glossiness *= u_glossinessFactor;\n")):(Object(r["a"])(i.u_specularFactor)?y+=" vec3 specular = clamp(u_specularFactor, vec3(0.0), vec3(1.0));\n":y+=" vec3 specular = vec3(1.0);\n",Object(r["a"])(i.u_glossinessFactor)?y+=" float glossiness = clamp(u_glossinessFactor, 0.0, 1.0);\n":y+=" float glossiness = 1.0;\n"),Object(r["a"])(i.u_diffuseTexture)?(y+=` vec4 diffuse = SRGBtoLINEAR4(texture2D(u_diffuseTexture, ${H}));\n`,Object(r["a"])(i.u_diffuseFactor)&&(y+=" diffuse *= u_diffuseFactor;\n")):Object(r["a"])(i.u_diffuseFactor)?y+=" vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0));\n":y+=" vec4 diffuse = vec4(1.0);\n",y+=" baseColorWithAlpha.a = diffuse.a;\n"):Object(r["a"])(i.u_metallicRoughnessTexture)?(y+=` vec3 metallicRoughness = texture2D(u_metallicRoughnessTexture, ${G}).rgb;\n`,y+=" float metalness = clamp(metallicRoughness.b, 0.0, 1.0);\n",y+=" float roughness = clamp(metallicRoughness.g, 0.04, 1.0);\n",Object(r["a"])(i.u_metallicFactor)&&(y+=" metalness *= u_metallicFactor;\n"),Object(r["a"])(i.u_roughnessFactor)&&(y+=" roughness *= u_roughnessFactor;\n")):(Object(r["a"])(i.u_metallicFactor)?y+=" float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n":y+=" float metalness = 1.0;\n",Object(r["a"])(i.u_roughnessFactor)?y+=" float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n":y+=" float roughness = 1.0;\n"),y+=" vec3 v = -normalize(v_positionEC);\n",y+="#ifndef USE_CUSTOM_LIGHT_COLOR \n",y+=" vec3 lightColorHdr = czm_lightColorHdr;\n",y+="#else \n",y+=" vec3 lightColorHdr = gltf_lightColor;\n",y+="#endif \n",y+=" vec3 l = normalize(czm_lightDirectionEC);\n",y+=" vec3 h = normalize(v + l);\n",y+=" float NdotL = clamp(dot(n, l), 0.001, 1.0);\n",y+=" float NdotV = abs(dot(n, v)) + 0.001;\n",y+=" float NdotH = clamp(dot(n, h), 0.0, 1.0);\n",y+=" float LdotH = clamp(dot(l, h), 0.0, 1.0);\n",y+=" float VdotH = clamp(dot(v, h), 0.0, 1.0);\n",y+=" vec3 f0 = vec3(0.04);\n",f?(y+=" float roughness = 1.0 - glossiness;\n",y+=" vec3 diffuseColor = diffuse.rgb * (1.0 - max(max(specular.r, specular.g), specular.b));\n",y+=" vec3 specularColor = specular;\n"):(y+=" vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n",y+=" vec3 specularColor = mix(f0, baseColor, metalness);\n"),y+=" float alpha = roughness * roughness;\n",y+=" float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n",y+=" vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n",y+=" vec3 r0 = specularColor.rgb;\n",y+=" vec3 F = fresnelSchlick2(r0, r90, VdotH);\n",y+=" float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n",y+=" float D = GGX(alpha, NdotH);\n",y+=" vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n",y+=" vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n",y+=" vec3 color = NdotL * lightColorHdr * (diffuseContribution + specularContribution);\n",y+="#if defined(USE_IBL_LIGHTING) && !defined(DIFFUSE_IBL) && !defined(SPECULAR_IBL) \n",y+=" vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n)));\n",y+=" float vertexRadius = length(positionWC);\n",y+=" float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius);\n",y+=" float reflectionDotNadir = dot(r, normalize(positionWC));\n",y+=" r.x = -r.x;\n",y+=" r = -normalize(czm_temeToPseudoFixed * r);\n",y+=" r.x = -r.x;\n",y+=" float inverseRoughness = 1.04 - roughness;\n",y+=" inverseRoughness *= inverseRoughness;\n",y+=" vec3 sceneSkyBox = textureCube(czm_environmentMap, r).rgb * inverseRoughness;\n",y+=" float atmosphereHeight = 0.05;\n",y+=" float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir);\n",y+=" float blendRegionOffset = roughness * -1.0;\n",y+=" float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);\n",y+=" float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);\n",y+=" float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);\n",y+=" float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);\n",y+=" vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight);\n",y+=" vec3 nadirColor = belowHorizonColor * 0.5;\n",y+=" vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);\n",y+=" vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75);\n",y+=" vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight);\n",y+=" vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9);\n",y+=" float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight;\n",y+=" float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25));\n",y+=" vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);\n",y+=" float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8);\n",y+=" vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough);\n",y+=" specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness);\n",y+=" specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness);\n",y+="#ifdef USE_SUN_LUMINANCE \n",y+=" float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), normalize(positionWC * -1.0)), 0.001, 1.0);\n",y+=" float S = acos(LdotZenith);\n",y+=" float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), normalize(positionWC * -1.0)), 0.001, 1.0);\n",y+=" float gamma = acos(NdotL);\n",y+=" float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith)));\n",y+=" float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32));\n",y+=" float luminance = gltf_luminanceAtZenith * (numerator / denominator);\n",y+="#endif \n",y+=" vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n",y+=" vec3 IBLColor = (diffuseIrradiance * diffuseColor * gltf_iblFactor.x) + (specularIrradiance * SRGBtoLINEAR3(specularColor * brdfLut.x + brdfLut.y) * gltf_iblFactor.y);\n",y+=" float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z);\n",y+=" vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0);\n",y+=" IBLColor *= lightColor;\n",y+="#ifdef USE_SUN_LUMINANCE \n",y+=" color += IBLColor * luminance;\n",y+="#else \n",y+=" color += IBLColor; \n",y+="#endif \n",y+="#elif defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) \n",y+=" const mat3 yUpToZUp = mat3(-1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0); \n",y+=" vec3 cubeDir = normalize(yUpToZUp * gltf_iblReferenceFrameMatrix * normalize(reflect(-v, n))); \n",y+="#ifdef DIFFUSE_IBL \n",y+="#ifdef CUSTOM_SPHERICAL_HARMONICS \n",y+=" vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, gltf_sphericalHarmonicCoefficients); \n",y+="#else \n",y+=" vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); \n",y+="#endif \n",y+="#else \n",y+=" vec3 diffuseIrradiance = vec3(0.0); \n",y+="#endif \n",y+="#ifdef SPECULAR_IBL \n",y+=" vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n",y+="#ifdef CUSTOM_SPECULAR_IBL \n",y+=" vec3 specularIBL = czm_sampleOctahedralProjection(gltf_specularMap, gltf_specularMapSize, cubeDir, roughness * gltf_maxSpecularLOD, gltf_maxSpecularLOD);\n",y+="#else \n",y+=" vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD);\n",y+="#endif \n",y+=" specularIBL *= F * brdfLut.x + brdfLut.y;\n",y+="#else \n",y+=" vec3 specularIBL = vec3(0.0); \n",y+="#endif \n",y+=" color += diffuseIrradiance * diffuseColor + specularColor * specularIBL;\n",y+="#endif \n"):y+=" vec3 color = baseColor;\n",R||(Object(r["a"])(i.u_occlusionTexture)&&(y+=` color *= texture2D(u_occlusionTexture, ${q}).r;\n`),Object(r["a"])(i.u_emissiveTexture)?(y+=` vec3 emissive = SRGBtoLINEAR3(texture2D(u_emissiveTexture, ${W}).rgb);\n`,Object(r["a"])(i.u_emissiveFactor)&&(y+=" emissive *= u_emissiveFactor;\n"),y+=" color += emissive;\n"):Object(r["a"])(i.u_emissiveFactor)&&(y+=" color += u_emissiveFactor;\n")),R||(y+=" color = applyTonemapping(color);\n"),y+=" color = LINEARtoSRGB(color);\n",P&&(y+=" float outlineness = max(\n",y+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r,\n",y+=" max(\n",y+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r,\n",y+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r));\n",y+=" color = mix(color, vec3(0.0, 0.0, 0.0), outlineness);\n"),Object(r["a"])(N)?"MASK"===N?(y+=" if (baseColorWithAlpha.a < u_alphaCutoff) {\n",y+=" discard;\n",y+=" }\n",y+=" gl_FragColor = vec4(color, 1.0);\n"):y+="BLEND"===N?" gl_FragColor = vec4(color, baseColorWithAlpha.a);\n":" gl_FragColor = vec4(color, 1.0);\n":y+=" gl_FragColor = vec4(color, 1.0);\n",y+="}\n";const X=MZ(h,{type:Jc.VERTEX_SHADER,extras:{_pipeline:{source:b,extension:".glsl"}}}),K=MZ(h,{type:Jc.FRAGMENT_SHADER,extras:{_pipeline:{source:y,extension:".glsl"}}}),J=MZ(d,{fragmentShader:K,vertexShader:X}),Z=MZ(u,{attributes:F,program:J,uniforms:M});return Z}function u1(e){if(-1!==e.indexOf("Offset"))return Jc.FLOAT_VEC2;if(-1!==e.indexOf("Rotation"))return Jc.FLOAT;if(-1!==e.indexOf("Scale"))return Jc.FLOAT_VEC2;if(-1!==e.indexOf("Texture"))return Jc.SAMPLER_2D;switch(e){case"u_baseColorFactor":return Jc.FLOAT_VEC4;case"u_metallicFactor":return Jc.FLOAT;case"u_roughnessFactor":return Jc.FLOAT;case"u_emissiveFactor":return Jc.FLOAT_VEC3;case"u_diffuseFactor":return Jc.FLOAT_VEC4;case"u_specularFactor":return Jc.FLOAT_VEC3;case"u_glossinessFactor":return Jc.FLOAT}}var h1=n1;function d1(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var f1=d1,p1="attribute vec3 position;\nattribute float a_batchId;\n\nuniform mat4 u_modifiedModelViewProjection;\n\nvoid main()\n{\n gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0));\n}\n",m1=n("7491"),_1=Object(m1["b"])((function(e,t){(function(n){var i="Compound",o="Identifier",r="MemberExpression",a="Literal",s="ThisExpression",c="CallExpression",l="UnaryExpression",u="BinaryExpression",h="LogicalExpression",d="ConditionalExpression",f="ArrayExpression",p=46,m=44,_=39,g=34,b=40,y=41,v=91,O=93,w=63,A=59,T=58,C=function(e,t){var n=new Error(e+" at character "+t);throw n.index=t,n.description=e,n},E=!0,x={"-":E,"!":E,"~":E,"+":E},S={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},I=function(e){var t,n=0;for(var i in e)(t=i.length)>n&&e.hasOwnProperty(i)&&(n=t);return n},D=I(x),j=I(S),P={true:!0,false:!1,null:null},R="this",M=function(e){return S[e]||0},N=function(e,t,n){var i="||"===e||"&&"===e?h:u;return{type:i,operator:e,left:t,right:n}},L=function(e){return e>=48&&e<=57},B=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&!S[String.fromCharCode(e)]},F=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e>=128&&!S[String.fromCharCode(e)]},k=function(e){var t,n,u=0,h=e.charAt,E=e.charCodeAt,I=function(t){return h.call(e,t)},k=function(t){return E.call(e,t)},z=e.length,U=function(){var e=k(u);while(32===e||9===e||10===e||13===e)e=k(++u)},V=function(){var e,t,n=G();return U(),k(u)!==w?n:(u++,e=V(),e||C("Expected expression",u),U(),k(u)===T?(u++,t=V(),t||C("Expected expression",u),{type:d,test:n,consequent:e,alternate:t}):void C("Expected :",u))},H=function(){U();var t=e.substr(u,j),n=t.length;while(n>0){if(S.hasOwnProperty(t)&&(!B(k(u))||u+t.length<e.length&&!F(k(u+t.length))))return u+=n,t;t=t.substr(0,--n)}return!1},G=function(){var e,t,n,i,o,r,a,s,c;if(r=q(),t=H(),!t)return r;o={value:t,prec:M(t)},a=q(),a||C("Expected expression after "+t,u),i=[r,o,a];while(t=H()){if(n=M(t),0===n)break;o={value:t,prec:n},c=t;while(i.length>2&&n<=i[i.length-2].prec)a=i.pop(),t=i.pop().value,r=i.pop(),e=N(t,r,a),i.push(e);e=q(),e||C("Expected expression after "+c,u),i.push(o,e)}s=i.length-1,e=i[s];while(s>1)e=N(i[s-1].value,i[s-2],e),s-=2;return e},q=function(){var t,n,i;if(U(),t=k(u),L(t)||t===p)return W();if(t===_||t===g)return Y();if(t===v)return $();n=e.substr(u,D),i=n.length;while(i>0){if(x.hasOwnProperty(n)&&(!B(k(u))||u+n.length<e.length&&!F(k(u+n.length))))return u+=i,{type:l,operator:n,argument:q(),prefix:!0};n=n.substr(0,--i)}return!(!B(t)&&t!==b)&&J()},W=function(){var e,t,n="";while(L(k(u)))n+=I(u++);if(k(u)===p){n+=I(u++);while(L(k(u)))n+=I(u++)}if(e=I(u),"e"===e||"E"===e){n+=I(u++),e=I(u),"+"!==e&&"-"!==e||(n+=I(u++));while(L(k(u)))n+=I(u++);L(k(u-1))||C("Expected exponent ("+n+I(u)+")",u)}return t=k(u),B(t)?C("Variable names cannot start with a number ("+n+I(u)+")",u):t===p&&C("Unexpected period",u),{type:a,value:parseFloat(n),raw:n}},Y=function(){var e,t="",n=I(u++),i=!1;while(u<z){if(e=I(u++),e===n){i=!0;break}if("\\"===e)switch(e=I(u++),e){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=e}else t+=e}return i||C('Unclosed quote after "'+t+'"',u),{type:a,value:t,raw:n+t+n}},X=function(){var t,n=k(u),i=u;B(n)?u++:C("Unexpected "+I(u),u);while(u<z){if(n=k(u),!F(n))break;u++}return t=e.slice(i,u),P.hasOwnProperty(t)?{type:a,value:P[t],raw:t}:t===R?{type:s}:{type:o,name:t}},K=function(e){var t,n,o=[],r=!1,a=0;while(u<z){if(U(),t=k(u),t===e){r=!0,u++,e===y&&a&&a>=o.length&&C("Unexpected token "+String.fromCharCode(e),u);break}if(t===m){if(u++,a++,a!==o.length)if(e===y)C("Unexpected token ,",u);else if(e===O)for(var s=o.length;s<a;s++)o.push(null)}else n=V(),n&&n.type!==i||C("Expected comma",u),o.push(n)}return r||C("Expected "+String.fromCharCode(e),u),o},J=function(){var e,t;e=k(u),t=e===b?Z():X(),U(),e=k(u);while(e===p||e===v||e===b)u++,e===p?(U(),t={type:r,computed:!1,object:t,property:X()}):e===v?(t={type:r,computed:!0,object:t,property:V()},U(),e=k(u),e!==O&&C("Unclosed [",u),u++):e===b&&(t={type:c,arguments:K(y),callee:t}),U(),e=k(u);return t},Z=function(){u++;var e=V();if(U(),k(u)===y)return u++,e;C("Unclosed (",u)},$=function(){return u++,{type:f,elements:K(O)}},Q=[];while(u<z)t=k(u),t===A||t===m?u++:(n=V())?Q.push(n):u<z&&C('Unexpected "'+I(u)+'"',u);return 1===Q.length?Q[0]:{type:i,body:Q}};k.version="0.3.5",k.toString=function(){return"JavaScript Expression Parser (JSEP) v"+k.version},k.addUnaryOp=function(e){return D=Math.max(e.length,D),x[e]=E,this},k.addBinaryOp=function(e,t){return j=Math.max(e.length,j),S[e]=t,this},k.addLiteral=function(e,t){return P[e]=t,this},k.removeUnaryOp=function(e){return delete x[e],e.length===D&&(D=I(x)),this},k.removeAllUnaryOps=function(){return x={},D=0,this},k.removeBinaryOp=function(e){return delete S[e],e.length===j&&(j=I(S)),this},k.removeAllBinaryOps=function(){return S={},j=0,this},k.removeLiteral=function(e){return delete P[e],this},k.removeAllLiterals=function(){return P={},this},e.exports?t=e.exports=k:t.parse=k})()}));const g1={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18};var b1=Object.freeze(g1);function y1(e,t){let n;i["a"].typeOf.string("expression",e),this._expression=e,e=H1(e,t),e=W1(G1(e)),_1.addBinaryOp("=~",0),_1.addBinaryOp("!~",0);try{n=_1(e)}catch(o){throw new ye["a"](o)}this._runtimeAst=i0(this,n)}Object.defineProperties(y1.prototype,{expression:{get:function(){return this._expression}}});const v1={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new Ht],cartesian3Array:[new g],cartesian4Array:[new be],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);const e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new Ht),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new g),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new be),this.cartesian4Array[this.cartesian4Index++]}};y1.prototype.evaluate=function(e,t){v1.reset();const n=this._runtimeAst.evaluate(e);return t instanceof j_&&n instanceof be?j_.fromCartesian4(n,t):n instanceof Ht||n instanceof g||n instanceof be?n.clone(t):n},y1.prototype.evaluateColor=function(e,t){v1.reset();const n=this._runtimeAst.evaluate(e);return j_.fromCartesian4(n,t)},y1.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e}\n{\n return ${o};\n}\n`,o},y1.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)},y1.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter((function(e,t,n){return n.indexOf(e)===t})),e};const O1=["!","-","+"],w1=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],A1=/\${(.*?)}/g,T1=/\\/g,C1="@#%",E1=/@#%/g,x1=new j_,S1={abs:M1(Math.abs),sqrt:M1(Math.sqrt),cos:M1(Math.cos),sin:M1(Math.sin),tan:M1(Math.tan),acos:M1(Math.acos),asin:M1(Math.asin),atan:M1(Math.atan),radians:M1(s["a"].toRadians),degrees:M1(s["a"].toDegrees),sign:M1(s["a"].sign),floor:M1(Math.floor),ceil:M1(Math.ceil),round:M1(Math.round),exp:M1(Math.exp),exp2:M1(P1),log:M1(Math.log),log2:M1(R1),fract:M1(j1),length:B1,normalize:F1},I1={atan2:N1(Math.atan2,!1),pow:N1(Math.pow,!1),min:N1(Math.min,!0),max:N1(Math.max,!0),distance:k1,dot:z1,cross:U1},D1={clamp:L1(s["a"].clamp,!0),mix:L1(s["a"].lerp,!0)};function j1(e){return e-Math.floor(e)}function P1(e){return Math.pow(2,e)}function R1(e){return s["a"].log2(e)}function M1(e){return function(t,n){if("number"===typeof n)return e(n);if(n instanceof Ht)return Ht.fromElements(e(n.x),e(n.y),v1.getCartesian2());if(n instanceof g)return g.fromElements(e(n.x),e(n.y),e(n.z),v1.getCartesian3());if(n instanceof be)return be.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),v1.getCartesian4());throw new ye["a"](`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function N1(e,t){return function(n,i,o){if(t&&"number"===typeof o){if("number"===typeof i)return e(i,o);if(i instanceof Ht)return Ht.fromElements(e(i.x,o),e(i.y,o),v1.getCartesian2());if(i instanceof g)return g.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),v1.getCartesian3());if(i instanceof be)return be.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),v1.getCartesian4())}if("number"===typeof i&&"number"===typeof o)return e(i,o);if(i instanceof Ht&&o instanceof Ht)return Ht.fromElements(e(i.x,o.x),e(i.y,o.y),v1.getCartesian2());if(i instanceof g&&o instanceof g)return g.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),v1.getCartesian3());if(i instanceof be&&o instanceof be)return be.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),v1.getCartesian4());throw new ye["a"](`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function L1(e,t){return function(n,i,o,r){if(t&&"number"===typeof r){if("number"===typeof i&&"number"===typeof o)return e(i,o,r);if(i instanceof Ht&&o instanceof Ht)return Ht.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),v1.getCartesian2());if(i instanceof g&&o instanceof g)return g.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),v1.getCartesian3());if(i instanceof be&&o instanceof be)return be.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),v1.getCartesian4())}if("number"===typeof i&&"number"===typeof o&&"number"===typeof r)return e(i,o,r);if(i instanceof Ht&&o instanceof Ht&&r instanceof Ht)return Ht.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),v1.getCartesian2());if(i instanceof g&&o instanceof g&&r instanceof g)return g.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),v1.getCartesian3());if(i instanceof be&&o instanceof be&&r instanceof be)return be.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),v1.getCartesian4());throw new ye["a"](`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function B1(e,t){if("number"===typeof t)return Math.abs(t);if(t instanceof Ht)return Ht.magnitude(t);if(t instanceof g)return g.magnitude(t);if(t instanceof be)return be.magnitude(t);throw new ye["a"](`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function F1(e,t){if("number"===typeof t)return 1;if(t instanceof Ht)return Ht.normalize(t,v1.getCartesian2());if(t instanceof g)return g.normalize(t,v1.getCartesian3());if(t instanceof be)return be.normalize(t,v1.getCartesian4());throw new ye["a"](`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function k1(e,t,n){if("number"===typeof t&&"number"===typeof n)return Math.abs(t-n);if(t instanceof Ht&&n instanceof Ht)return Ht.distance(t,n);if(t instanceof g&&n instanceof g)return g.distance(t,n);if(t instanceof be&&n instanceof be)return be.distance(t,n);throw new ye["a"](`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function z1(e,t,n){if("number"===typeof t&&"number"===typeof n)return t*n;if(t instanceof Ht&&n instanceof Ht)return Ht.dot(t,n);if(t instanceof g&&n instanceof g)return g.dot(t,n);if(t instanceof be&&n instanceof be)return be.dot(t,n);throw new ye["a"](`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function U1(e,t,n){if(t instanceof g&&n instanceof g)return g.cross(t,n,v1.getCartesian3());throw new ye["a"](`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function V1(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,o0(this)}function H1(e,t){if(!Object(r["a"])(t))return e;for(const n in t)if(t.hasOwnProperty(n)){const i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;Object(r["a"])(o)&&(e=e.replace(i,o))}return e}function G1(e){return e.replace(T1,C1)}function q1(e){return e.replace(E1,"\\")}function W1(e){let t=e,n="",i=t.indexOf("${");while(i>=0){const e=t.indexOf("'"),o=t.indexOf('"');let r;if(e>=0&&e<i)r=t.indexOf("'",e+1),n+=t.substr(0,r+1),t=t.substr(r+1),i=t.indexOf("${");else if(o>=0&&o<i)r=t.indexOf('"',o+1),n+=t.substr(0,r+1),t=t.substr(r+1),i=t.indexOf("${");else{n+=t.substr(0,i);const e=t.indexOf("}");if(e<0)throw new ye["a"]("Unmatched {.");n+="czm_"+t.substr(i+2,e-(i+2)),t=t.substr(e+1),i=t.indexOf("${")}}return n+=t,n}function Y1(e){const t=typeof e.value;return null===e.value?new V1(b1.LITERAL_NULL,null):"boolean"===t?new V1(b1.LITERAL_BOOLEAN,e.value):"number"===t?new V1(b1.LITERAL_NUMBER,e.value):"string"===t?e.value.indexOf("${")>=0?new V1(b1.VARIABLE_IN_STRING,e.value):new V1(b1.LITERAL_STRING,q1(e.value)):void 0}function X1(e,t){const n=t.arguments,i=n.length;let o,a,s,c;if("MemberExpression"===t.callee.type){o=t.callee.property.name;const r=t.callee.object;if("test"===o||"exec"===o){if("regExp"!==r.callee.name)throw new ye["a"](o+" is not a function.");return 0===i?"test"===o?new V1(b1.LITERAL_BOOLEAN,!1):new V1(b1.LITERAL_NULL,null):(s=i0(e,r),c=i0(e,n[0]),new V1(b1.FUNCTION_CALL,o,s,c))}if("toString"===o)return a=i0(e,r),new V1(b1.FUNCTION_CALL,o,a);throw new ye["a"](`Unexpected function call "${o}".`)}if(o=t.callee.name,"color"===o){if(0===i)return new V1(b1.LITERAL_COLOR,o);if(a=i0(e,n[0]),Object(r["a"])(n[1])){const t=i0(e,n[1]);return new V1(b1.LITERAL_COLOR,o,[a,t])}return new V1(b1.LITERAL_COLOR,o,[a])}if("rgb"===o||"hsl"===o){if(i<3)throw new ye["a"](o+" requires three arguments.");return a=[i0(e,n[0]),i0(e,n[1]),i0(e,n[2])],new V1(b1.LITERAL_COLOR,o,a)}if("rgba"===o||"hsla"===o){if(i<4)throw new ye["a"](o+" requires four arguments.");return a=[i0(e,n[0]),i0(e,n[1]),i0(e,n[2]),i0(e,n[3])],new V1(b1.LITERAL_COLOR,o,a)}if("vec2"===o||"vec3"===o||"vec4"===o){a=new Array(i);for(let t=0;t<i;++t)a[t]=i0(e,n[t]);return new V1(b1.LITERAL_VECTOR,o,a)}if("isNaN"===o||"isFinite"===o)return 0===i?new V1(b1.LITERAL_BOOLEAN,"isNaN"===o):(a=i0(e,n[0]),new V1(b1.UNARY,o,a));if("isExactClass"===o||"isClass"===o){if(i<1||i>1)throw new ye["a"](o+" requires exactly one argument.");return a=i0(e,n[0]),new V1(b1.UNARY,o,a)}if("getExactClassName"===o){if(i>0)throw new ye["a"](o+" does not take any argument.");return new V1(b1.UNARY,o)}if(Object(r["a"])(S1[o])){if(1!==i)throw new ye["a"](o+" requires exactly one argument.");return a=i0(e,n[0]),new V1(b1.UNARY,o,a)}if(Object(r["a"])(I1[o])){if(2!==i)throw new ye["a"](o+" requires exactly two arguments.");return s=i0(e,n[0]),c=i0(e,n[1]),new V1(b1.BINARY,o,s,c)}if(Object(r["a"])(D1[o])){if(3!==i)throw new ye["a"](o+" requires exactly three arguments.");s=i0(e,n[0]),c=i0(e,n[1]);const t=i0(e,n[2]);return new V1(b1.TERNARY,o,s,c,t)}if("Boolean"===o)return 0===i?new V1(b1.LITERAL_BOOLEAN,!1):(a=i0(e,n[0]),new V1(b1.UNARY,o,a));if("Number"===o)return 0===i?new V1(b1.LITERAL_NUMBER,0):(a=i0(e,n[0]),new V1(b1.UNARY,o,a));if("String"===o)return 0===i?new V1(b1.LITERAL_STRING,""):(a=i0(e,n[0]),new V1(b1.UNARY,o,a));if("regExp"===o)return K1(e,t);throw new ye["a"](`Unexpected function call "${o}".`)}function K1(e,t){const n=t.arguments;if(0===n.length)return new V1(b1.LITERAL_REGEX,new RegExp);const i=i0(e,n[0]);let o;if(n.length>1){const t=i0(e,n[1]);if(e0(i)&&e0(t)){try{o=new RegExp(q1(String(i._value)),t._value)}catch(r){throw new ye["a"](r)}return new V1(b1.LITERAL_REGEX,o)}return new V1(b1.REGEX,i,t)}if(e0(i)){try{o=new RegExp(q1(String(i._value)))}catch(r){throw new ye["a"](r)}return new V1(b1.LITERAL_REGEX,o)}return new V1(b1.REGEX,i)}function J1(e){if(t0(e.name)){const t=n0(e.name);return"tiles3d_"===t.substr(0,8)?new V1(b1.BUILTIN_VARIABLE,t):new V1(b1.VARIABLE,t)}if("NaN"===e.name)return new V1(b1.LITERAL_NUMBER,NaN);if("Infinity"===e.name)return new V1(b1.LITERAL_NUMBER,1/0);if("undefined"===e.name)return new V1(b1.LITERAL_UNDEFINED,void 0);throw new ye["a"](e.name+" is not defined.")}function Z1(e){const t=e.property.name;return"PI"===t?new V1(b1.LITERAL_NUMBER,Math.PI):"E"===t?new V1(b1.LITERAL_NUMBER,Math.E):void 0}function $1(e){const t=e.property.name;if("POSITIVE_INFINITY"===t)return new V1(b1.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function Q1(e,t){if("Math"===t.object.name)return Z1(t);if("Number"===t.object.name)return $1(t);let n;const i=i0(e,t.object);return t.computed?(n=i0(e,t.property),new V1(b1.MEMBER,"brackets",i,n)):(n=new V1(b1.LITERAL_STRING,t.property.name),new V1(b1.MEMBER,"dot",i,n))}function e0(e){return e._type>=b1.LITERAL_NULL}function t0(e){return"czm_"===e.substr(0,4)}function n0(e){return e.substr(4)}function i0(e,t){let n,i,o,r;if("Literal"===t.type)n=Y1(t);else if("CallExpression"===t.type)n=X1(e,t);else if("Identifier"===t.type)n=J1(t);else if("UnaryExpression"===t.type){i=t.operator;const o=i0(e,t.argument);if(!(O1.indexOf(i)>-1))throw new ye["a"](`Unexpected operator "${i}".`);n=new V1(b1.UNARY,i,o)}else if("BinaryExpression"===t.type){if(i=t.operator,o=i0(e,t.left),r=i0(e,t.right),!(w1.indexOf(i)>-1))throw new ye["a"](`Unexpected operator "${i}".`);n=new V1(b1.BINARY,i,o,r)}else if("LogicalExpression"===t.type)i=t.operator,o=i0(e,t.left),r=i0(e,t.right),w1.indexOf(i)>-1&&(n=new V1(b1.BINARY,i,o,r));else if("ConditionalExpression"===t.type){const i=i0(e,t.test);o=i0(e,t.consequent),r=i0(e,t.alternate),n=new V1(b1.CONDITIONAL,"?",o,r,i)}else if("MemberExpression"===t.type)n=Q1(e,t);else{if("ArrayExpression"!==t.type)throw"Compound"===t.type?new ye["a"]("Provide exactly one expression."):new ye["a"]("Cannot parse expression.");{const i=[];for(let n=0;n<t.elements.length;n++)i[n]=i0(e,t.elements[n]);n=new V1(b1.ARRAY,i)}}return n}function o0(e){e._type===b1.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===b1.FUNCTION_CALL?"test"===e._value?e.evaluate=e._evaluateRegExpTest:"exec"===e._value?e.evaluate=e._evaluateRegExpExec:"toString"===e._value&&(e.evaluate=e._evaluateToString):e._type===b1.UNARY?"!"===e._value?e.evaluate=e._evaluateNot:"-"===e._value?e.evaluate=e._evaluateNegative:"+"===e._value?e.evaluate=e._evaluatePositive:"isNaN"===e._value?e.evaluate=e._evaluateNaN:"isFinite"===e._value?e.evaluate=e._evaluateIsFinite:"isExactClass"===e._value?e.evaluate=e._evaluateIsExactClass:"isClass"===e._value?e.evaluate=e._evaluateIsClass:"getExactClassName"===e._value?e.evaluate=e._evaluateGetExactClassName:"Boolean"===e._value?e.evaluate=e._evaluateBooleanConversion:"Number"===e._value?e.evaluate=e._evaluateNumberConversion:"String"===e._value?e.evaluate=e._evaluateStringConversion:Object(r["a"])(S1[e._value])&&(e.evaluate=a0(e._value)):e._type===b1.BINARY?"+"===e._value?e.evaluate=e._evaluatePlus:"-"===e._value?e.evaluate=e._evaluateMinus:"*"===e._value?e.evaluate=e._evaluateTimes:"/"===e._value?e.evaluate=e._evaluateDivide:"%"===e._value?e.evaluate=e._evaluateMod:"==="===e._value?e.evaluate=e._evaluateEqualsStrict:"!=="===e._value?e.evaluate=e._evaluateNotEqualsStrict:"<"===e._value?e.evaluate=e._evaluateLessThan:"<="===e._value?e.evaluate=e._evaluateLessThanOrEquals:">"===e._value?e.evaluate=e._evaluateGreaterThan:">="===e._value?e.evaluate=e._evaluateGreaterThanOrEquals:"&&"===e._value?e.evaluate=e._evaluateAnd:"||"===e._value?e.evaluate=e._evaluateOr:"=~"===e._value?e.evaluate=e._evaluateRegExpMatch:"!~"===e._value?e.evaluate=e._evaluateRegExpNotMatch:Object(r["a"])(I1[e._value])&&(e.evaluate=s0(e._value)):e._type===b1.TERNARY?e.evaluate=c0(e._value):e._type===b1.MEMBER?"brackets"===e._value?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===b1.ARRAY?e.evaluate=e._evaluateArray:e._type===b1.VARIABLE?e.evaluate=e._evaluateVariable:e._type===b1.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===b1.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===b1.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===b1.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===b1.REGEX?e.evaluate=e._evaluateRegExp:e._type===b1.BUILTIN_VARIABLE?"tiles3d_tileset_time"===e._value&&(e.evaluate=r0):e.evaluate=e._evaluateLiteral}function r0(e){return Object(r["a"])(e)?e.content.tileset.timeSinceLoad:0}function a0(e){const t=S1[e];return function(n){const i=this._left.evaluate(n);return t(e,i)}}function s0(e){const t=I1[e];return function(n){const i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function c0(e){const t=D1[e];return function(n){const i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function l0(e,t){if(Object(r["a"])(e))return e.getPropertyInherited(t)}function u0(e){return"feature"===e._value}function h0(e){const t=e._left,n=t.length;for(let s=0;s<n;++s)if(t[s]._type!==b1.LITERAL_NUMBER)return;const i=t[0]._value,o=t[1]._value,r=t[2]._value,a=4===n?t[3]._value:1;return j_.fromHsl(i,o,r,a,x1)}function d0(e){const t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==b1.LITERAL_NUMBER)return;const i=x1;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=4===n?t[3]._value:1,i}function f0(e){return e%1===0?e.toFixed(1):e.toString()}function p0(e){const t=f0(e.red),n=f0(e.green),i=f0(e.blue);return`vec3(${t}, ${n}, ${i})`}function m0(e){const t=f0(e.red),n=f0(e.green),i=f0(e.blue),o=f0(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function _0(e,t,n,i){const o=e.length,r=new Array(o);for(let a=0;a<o;++a)r[a]=e[a].getShaderExpression(t,n,i);return r}function g0(e,t){return Object(r["a"])(t[e])?t[e]:y1.NULL_SENTINEL}V1.prototype._evaluateLiteral=function(){return this._value},V1.prototype._evaluateLiteralColor=function(e){const t=x1,n=this._left;if("color"===this._value)Object(r["a"])(n)?n.length>1?(j_.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):j_.fromCssColorString(n[0].evaluate(e),t):j_.fromBytes(255,255,255,255,t);else if("rgb"===this._value)j_.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if("rgba"===this._value){const i=255*n[3].evaluate(e);j_.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else"hsl"===this._value?j_.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):"hsla"===this._value&&j_.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return be.fromColor(t,v1.getCartesian4())},V1.prototype._evaluateLiteralVector=function(e){const t=v1.getArray(),n=this._value,i=this._left,o=i.length;for(let s=0;s<o;++s){const o=i[s].evaluate(e);if("number"===typeof o)t.push(o);else if(o instanceof Ht)t.push(o.x,o.y);else if(o instanceof g)t.push(o.x,o.y,o.z);else{if(!(o instanceof be))throw new ye["a"](`${n} argument must be a vector or number. Argument is ${o}.`);t.push(o.x,o.y,o.z,o.w)}}const r=t.length,a=parseInt(n.charAt(3));if(0===r)throw new ye["a"](`Invalid ${n} constructor. No valid arguments.`);if(r<a&&r>1)throw new ye["a"](`Invalid ${n} constructor. Not enough arguments.`);if(r>a&&o>1)throw new ye["a"](`Invalid ${n} constructor. Too many arguments.`);if(1===r){const e=t[0];t.push(e,e,e)}return"vec2"===n?Ht.fromArray(t,0,v1.getCartesian2()):"vec3"===n?g.fromArray(t,0,v1.getCartesian3()):"vec4"===n?be.fromArray(t,0,v1.getCartesian4()):void 0},V1.prototype._evaluateLiteralString=function(){return this._value},V1.prototype._evaluateVariableString=function(e){let t=this._value,n=A1.exec(t);while(null!==n){const i=n[0],o=n[1];let a=l0(e,o);Object(r["a"])(a)||(a=""),t=t.replace(i,a),n=A1.exec(t)}return t},V1.prototype._evaluateVariable=function(e){return l0(e,this._value)},V1.prototype._evaluateMemberDot=function(e){if(u0(this._left))return l0(e,this._right.evaluate(e));const t=this._left.evaluate(e);if(!Object(r["a"])(t))return;const n=this._right.evaluate(e);if(t instanceof Ht||t instanceof g||t instanceof be){if("r"===n)return t.x;if("g"===n)return t.y;if("b"===n)return t.z;if("a"===n)return t.w}return t[n]},V1.prototype._evaluateMemberBrackets=function(e){if(u0(this._left))return l0(e,this._right.evaluate(e));const t=this._left.evaluate(e);if(!Object(r["a"])(t))return;const n=this._right.evaluate(e);if(t instanceof Ht||t instanceof g||t instanceof be){if(0===n||"r"===n)return t.x;if(1===n||"g"===n)return t.y;if(2===n||"b"===n)return t.z;if(3===n||"a"===n)return t.w}return t[n]},V1.prototype._evaluateArray=function(e){const t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t},V1.prototype._evaluateNot=function(e){const t=this._left.evaluate(e);if("boolean"!==typeof t)throw new ye["a"](`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t},V1.prototype._evaluateNegative=function(e){const t=this._left.evaluate(e);if(t instanceof Ht)return Ht.negate(t,v1.getCartesian2());if(t instanceof g)return g.negate(t,v1.getCartesian3());if(t instanceof be)return be.negate(t,v1.getCartesian4());if("number"===typeof t)return-t;throw new ye["a"](`Operator "-" requires a vector or number argument. Argument is ${t}.`)},V1.prototype._evaluatePositive=function(e){const t=this._left.evaluate(e);if(!(t instanceof Ht||t instanceof g||t instanceof be||"number"===typeof t))throw new ye["a"](`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t},V1.prototype._evaluateLessThan=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if("number"!==typeof t||"number"!==typeof n)throw new ye["a"](`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n},V1.prototype._evaluateLessThanOrEquals=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if("number"!==typeof t||"number"!==typeof n)throw new ye["a"](`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n},V1.prototype._evaluateGreaterThan=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if("number"!==typeof t||"number"!==typeof n)throw new ye["a"](`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n},V1.prototype._evaluateGreaterThanOrEquals=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if("number"!==typeof t||"number"!==typeof n)throw new ye["a"](`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n},V1.prototype._evaluateOr=function(e){const t=this._left.evaluate(e);if("boolean"!==typeof t)throw new ye["a"](`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;const n=this._right.evaluate(e);if("boolean"!==typeof n)throw new ye["a"](`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n},V1.prototype._evaluateAnd=function(e){const t=this._left.evaluate(e);if("boolean"!==typeof t)throw new ye["a"](`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;const n=this._right.evaluate(e);if("boolean"!==typeof n)throw new ye["a"](`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n},V1.prototype._evaluatePlus=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof Ht&&t instanceof Ht)return Ht.add(t,n,v1.getCartesian2());if(n instanceof g&&t instanceof g)return g.add(t,n,v1.getCartesian3());if(n instanceof be&&t instanceof be)return be.add(t,n,v1.getCartesian4());if("string"===typeof t||"string"===typeof n)return t+n;if("number"===typeof t&&"number"===typeof n)return t+n;throw new ye["a"](`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateMinus=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof Ht&&t instanceof Ht)return Ht.subtract(t,n,v1.getCartesian2());if(n instanceof g&&t instanceof g)return g.subtract(t,n,v1.getCartesian3());if(n instanceof be&&t instanceof be)return be.subtract(t,n,v1.getCartesian4());if("number"===typeof t&&"number"===typeof n)return t-n;throw new ye["a"](`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateTimes=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof Ht&&t instanceof Ht)return Ht.multiplyComponents(t,n,v1.getCartesian2());if(n instanceof Ht&&"number"===typeof t)return Ht.multiplyByScalar(n,t,v1.getCartesian2());if(t instanceof Ht&&"number"===typeof n)return Ht.multiplyByScalar(t,n,v1.getCartesian2());if(n instanceof g&&t instanceof g)return g.multiplyComponents(t,n,v1.getCartesian3());if(n instanceof g&&"number"===typeof t)return g.multiplyByScalar(n,t,v1.getCartesian3());if(t instanceof g&&"number"===typeof n)return g.multiplyByScalar(t,n,v1.getCartesian3());if(n instanceof be&&t instanceof be)return be.multiplyComponents(t,n,v1.getCartesian4());if(n instanceof be&&"number"===typeof t)return be.multiplyByScalar(n,t,v1.getCartesian4());if(t instanceof be&&"number"===typeof n)return be.multiplyByScalar(t,n,v1.getCartesian4());if("number"===typeof t&&"number"===typeof n)return t*n;throw new ye["a"](`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateDivide=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof Ht&&t instanceof Ht)return Ht.divideComponents(t,n,v1.getCartesian2());if(t instanceof Ht&&"number"===typeof n)return Ht.divideByScalar(t,n,v1.getCartesian2());if(n instanceof g&&t instanceof g)return g.divideComponents(t,n,v1.getCartesian3());if(t instanceof g&&"number"===typeof n)return g.divideByScalar(t,n,v1.getCartesian3());if(n instanceof be&&t instanceof be)return be.divideComponents(t,n,v1.getCartesian4());if(t instanceof be&&"number"===typeof n)return be.divideByScalar(t,n,v1.getCartesian4());if("number"===typeof t&&"number"===typeof n)return t/n;throw new ye["a"](`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateMod=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof Ht&&t instanceof Ht)return Ht.fromElements(t.x%n.x,t.y%n.y,v1.getCartesian2());if(n instanceof g&&t instanceof g)return g.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,v1.getCartesian3());if(n instanceof be&&t instanceof be)return be.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,v1.getCartesian4());if("number"===typeof t&&"number"===typeof n)return t%n;throw new ye["a"](`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateEqualsStrict=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof Ht&&t instanceof Ht||n instanceof g&&t instanceof g||n instanceof be&&t instanceof be?t.equals(n):t===n},V1.prototype._evaluateNotEqualsStrict=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof Ht&&t instanceof Ht||n instanceof g&&t instanceof g||n instanceof be&&t instanceof be?!t.equals(n):t!==n},V1.prototype._evaluateConditional=function(e){const t=this._test.evaluate(e);if("boolean"!==typeof t)throw new ye["a"](`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)},V1.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))},V1.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))},V1.prototype._evaluateIsExactClass=function(e){return!!Object(r["a"])(e)&&e.isExactClass(this._left.evaluate(e))},V1.prototype._evaluateIsClass=function(e){return!!Object(r["a"])(e)&&e.isClass(this._left.evaluate(e))},V1.prototype._evaluateGetExactClassName=function(e){if(Object(r["a"])(e))return e.getExactClassName()},V1.prototype._evaluateBooleanConversion=function(e){return Boolean(this._left.evaluate(e))},V1.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))},V1.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))},V1.prototype._evaluateRegExp=function(e){const t=this._value.evaluate(e);let n,i="";Object(r["a"])(this._left)&&(i=this._left.evaluate(e));try{n=new RegExp(t,i)}catch(o){throw new ye["a"](o)}return n},V1.prototype._evaluateRegExpTest=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&"string"===typeof n))throw new ye["a"](`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)},V1.prototype._evaluateRegExpMatch=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&"string"===typeof n)return t.test(n);if(n instanceof RegExp&&"string"===typeof t)return n.test(t);throw new ye["a"](`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateRegExpNotMatch=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&"string"===typeof n)return!t.test(n);if(n instanceof RegExp&&"string"===typeof t)return!n.test(t);throw new ye["a"](`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)},V1.prototype._evaluateRegExpExec=function(e){const t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&"string"===typeof n))throw new ye["a"](`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);const i=t.exec(n);return Object(r["a"])(i)?i[1]:null},V1.prototype._evaluateToString=function(e){const t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof Ht||t instanceof g||t instanceof be)return String(t);throw new ye["a"](`Unexpected function call "${this._value}".`)},y1.NULL_SENTINEL="czm_infinity",V1.prototype.getShaderExpression=function(e,t,n){let i,o,s,c;const l=this._type;let u,h,d,f=this._value;switch(Object(r["a"])(this._left)&&(o=Array.isArray(this._left)?_0(this._left,e,t,this):this._left.getShaderExpression(e,t,this)),Object(r["a"])(this._right)&&(s=this._right.getShaderExpression(e,t,this)),Object(r["a"])(this._test)&&(c=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(f=_0(this._value,e,t,this)),l){case b1.VARIABLE:if(u0(this))return;return g0(f,e);case b1.UNARY:if("Boolean"===f)return`bool(${o})`;if("Number"===f)return`float(${o})`;if("round"===f)return`floor(${o} + 0.5)`;if(Object(r["a"])(S1[f]))return`${f}(${o})`;if("isNaN"===f)return`(${o} != ${o})`;if("isFinite"===f)return`(abs(${o}) < czm_infinity)`;if("String"===f||"isExactClass"===f||"isClass"===f||"getExactClassName"===f)throw new ye["a"](`Error generating style shader: "${f}" is not supported.`);return f+o;case b1.BINARY:return"%"===f?`mod(${o}, ${s})`:"==="===f?`(${o} == ${s})`:"!=="===f?`(${o} != ${s})`:"atan2"===f?`atan(${o}, ${s})`:Object(r["a"])(I1[f])?`${f}(${o}, ${s})`:`(${o} ${f} ${s})`;case b1.TERNARY:if(Object(r["a"])(D1[f]))return`${f}(${o}, ${s}, ${c})`;break;case b1.CONDITIONAL:return`(${c} ? ${o} : ${s})`;case b1.MEMBER:return u0(this._left)?g0(s,e):"r"===s||"x"===s||"0.0"===s?o+"[0]":"g"===s||"y"===s||"1.0"===s?o+"[1]":"b"===s||"z"===s||"2.0"===s?o+"[2]":"a"===s||"w"===s||"3.0"===s?o+"[3]":`${o}[int(${s})]`;case b1.FUNCTION_CALL:throw new ye["a"](`Error generating style shader: "${f}" is not supported.`);case b1.ARRAY:if(4===f.length)return`vec4(${f[0]}, ${f[1]}, ${f[2]}, ${f[3]})`;if(3===f.length)return`vec3(${f[0]}, ${f[1]}, ${f[2]})`;if(2===f.length)return`vec2(${f[0]}, ${f[1]})`;throw new ye["a"]("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case b1.REGEX:throw new ye["a"]("Error generating style shader: Regular expressions are not supported.");case b1.VARIABLE_IN_STRING:throw new ye["a"]("Error generating style shader: Converting a variable to a string is not supported.");case b1.LITERAL_NULL:return y1.NULL_SENTINEL;case b1.LITERAL_BOOLEAN:return f?"true":"false";case b1.LITERAL_NUMBER:return f0(f);case b1.LITERAL_STRING:if(Object(r["a"])(n)&&n._type===b1.MEMBER&&("r"===f||"g"===f||"b"===f||"a"===f||"x"===f||"y"===f||"z"===f||"w"===f||u0(n._left)))return f;if(i=j_.fromCssColorString(f,x1),Object(r["a"])(i))return p0(i);throw new ye["a"]("Error generating style shader: String literals are not supported.");case b1.LITERAL_COLOR:if(u=o,"color"===f){if(!Object(r["a"])(u))return"vec4(1.0)";if(u.length>1){const e=u[0],n=u[1];return"1.0"!==n&&(t.translucent=!0),`vec4(${e}, ${n})`}return`vec4(${u[0]}, 1.0)`}if("rgb"===f)return i=d0(this),Object(r["a"])(i)?m0(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if("rgba"===f)return"1.0"!==u[3]&&(t.translucent=!0),i=d0(this),Object(r["a"])(i)?m0(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if("hsl"===f)return i=h0(this),Object(r["a"])(i)?m0(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if("hsla"===f)return i=h0(this),Object(r["a"])(i)?(1!==i.alpha&&(t.translucent=!0),m0(i)):("1.0"!==u[3]&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`);break;case b1.LITERAL_VECTOR:if(!Object(r["a"])(o))throw new a["a"]("left should always be defined for type ExpressionNodeType.LITERAL_VECTOR");h=o.length,d=f+"(";for(let e=0;e<h;++e)d+=o[e],e<h-1&&(d+=", ");return d+=")",d;case b1.LITERAL_REGEX:throw new ye["a"]("Error generating style shader: Regular expressions are not supported.");case b1.LITERAL_UNDEFINED:return y1.NULL_SENTINEL;case b1.BUILTIN_VARIABLE:if("tiles3d_tileset_time"===f)return"u_time"}},V1.prototype.getVariables=function(e,t){let n,i,o;const a=this._type,s=this._value;if(Object(r["a"])(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(Object(r["a"])(this._right)&&this._right.getVariables(e,this),Object(r["a"])(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let c;switch(a){case b1.VARIABLE:u0(this)||e.push(s);break;case b1.VARIABLE_IN_STRING:c=A1.exec(s);while(null!==c)e.push(c[1]),c=A1.exec(s);break;case b1.LITERAL_STRING:Object(r["a"])(t)&&t._type===b1.MEMBER&&u0(t._left)&&e.push(s);break}};var b0=y1;function y0(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=Object(o["a"])(e.center,g.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=j_.clone(j_.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=Object(o["a"])(e.classificationType,wG.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};const t=this._batchIds.length;for(let n=0;n<t;++n){const e=this._batchIds[n];this._batchIdLookUp[e]=n}}Object.defineProperties(y0.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});const v0={position:0,a_batchId:1};function O0(e,t){if(Object(r["a"])(e._va))return;const n=SG.createVertexBuffer({context:t,typedArray:e._positions,usage:EG.STATIC_DRAW}),i=SG.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:EG.STATIC_DRAW}),o=SG.createIndexBuffer({context:t,typedArray:e._indices,usage:EG.DYNAMIC_DRAW,indexDatatype:2===e._indices.BYTES_PER_ELEMENT?uu.UNSIGNED_SHORT:uu.UNSIGNED_INT}),a=[{index:0,vertexBuffer:n,componentDatatype:$c.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:$c.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new BG({context:t,attributes:a,indexBuffer:o}),t.webgl2&&(e._vaSwap=new BG({context:t,attributes:a,indexBuffer:SG.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:EG.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._verticesPromise=void 0}function w0(e,t){if(Object(r["a"])(e._sp))return;const n=e._batchTable,i=Object(o["a"])(e._attributeLocations,v0);let a=e._pickId;const s=e._vertexShaderSource;let c=e._fragmentShaderSource;if(Object(r["a"])(s))return e._sp=IU.fromCache({context:t,vertexShaderSource:s,fragmentShaderSource:c,attributeLocations:i}),e._spStencil=e._sp,c=bG.replaceMain(c,"czm_non_pick_main"),c=c+"void main() \n{ \n czm_non_pick_main(); \n"+` gl_FragColor = ${a}; \n} \n`,void(e._spPick=IU.fromCache({context:t,vertexShaderSource:s,fragmentShaderSource:c,attributeLocations:i}));const l=n.getVertexShaderCallback(!1,"a_batchId",void 0)(p1);let u=n.getFragmentShaderCallback(!1,void 0,!0)(vG);a=n.getPickId();let h=new bG({sources:[l]}),d=new bG({defines:["VECTOR_TILE"],sources:[u]});e._sp=IU.fromCache({context:t,vertexShaderSource:h,fragmentShaderSource:d,attributeLocations:i}),h=new bG({sources:[p1]}),d=new bG({defines:["VECTOR_TILE"],sources:[vG]}),e._spStencil=IU.fromCache({context:t,vertexShaderSource:h,fragmentShaderSource:d,attributeLocations:i}),u=bG.replaceMain(u,"czm_non_pick_main"),u=u+"\nvoid main() \n{ \n czm_non_pick_main(); \n"+` gl_FragColor = ${a}; \n} \n`;const f=new bG({sources:[l]}),p=new bG({defines:["VECTOR_TILE"],sources:[u]});e._spPick=IU.fromCache({context:t,vertexShaderSource:f,fragmentShaderSource:p,attributeLocations:i})}function A0(e){const t=e?JW.EQUAL:JW.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:$W.KEEP,zFail:$W.DECREMENT_WRAP,zPass:$W.KEEP},backFunction:t,backOperation:{fail:$W.KEEP,zFail:$W.INCREMENT_WRAP,zPass:$W.KEEP},reference:eY.CESIUM_3D_TILE_MASK,mask:eY.CESIUM_3D_TILE_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:TG.LESS_OR_EQUAL},depthMask:!1}}const T0={stencilTest:{enabled:!0,frontFunction:JW.NOT_EQUAL,frontOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},backFunction:JW.NOT_EQUAL,backOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},reference:0,mask:eY.CLASSIFICATION_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:MF.PRE_MULTIPLIED_ALPHA_BLEND},C0={stencilTest:{enabled:!0,frontFunction:JW.NOT_EQUAL,frontOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},backFunction:JW.NOT_EQUAL,backOperation:{fail:$W.ZERO,zFail:$W.ZERO,zPass:$W.ZERO},reference:0,mask:eY.CLASSIFICATION_MASK},stencilMask:eY.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function E0(e){Object(r["a"])(e._rsStencilDepthPass)||(e._rsStencilDepthPass=Mz.fromCache(A0(!1)),e._rsStencilDepthPass3DTiles=Mz.fromCache(A0(!0)),e._rsColorPass=Mz.fromCache(T0),e._rsPickPass=Mz.fromCache(C0))}const x0=new Ne,S0=new g;function I0(e,t){if(Object(r["a"])(e._uniformMap))return;const n={u_modifiedModelViewProjection:function(){const n=t.uniformState.view,i=t.uniformState.projection;return Ne.clone(n,x0),Ne.multiplyByPoint(x0,e._center,S0),Ne.setTranslation(x0,S0,x0),Ne.multiply(i,x0,x0),x0},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function D0(e,t,n,i,o,r,a){const s=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let l=0;l<c;++l){const c=r[l],u=a[c],h=i[u],d=o[u],f=new e.constructor(e.buffer,s*h,d);t.set(f,n),i[u]=n,n+=d}return n}function j0(e,t){const n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,a=new n.constructor(n.length);let s=t.pop();const c=[s];let l=D0(n,a,0,i,o,s.batchIds,r);s.offset=0,s.count=l;while(t.length>0){const e=t.pop();if(j_.equals(e.color,s.color))l=D0(n,a,l,i,o,e.batchIds,r),s.batchIds=s.batchIds.concat(e.batchIds),s.count=l-s.offset;else{const t=l;l=D0(n,a,l,i,o,e.batchIds,r),e.offset=t,e.count=l-t,c.push(e),s=e}}e._va.indexBuffer.copyFromArrayView(a),e._indices=a,e._batchedIndices=c}function P0(e,t,n,i,o,r,a){const s=e.bytesPerIndex,c=r.length;for(let l=0;l<c;++l){const c=r[l],u=a[c],h=i[u],d=o[u];t.copyFromBuffer(e,h*s,n*s,d*s),i[u]=n,n+=d}return n}function R0(e,t){const n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp;let r=t.pop();const a=[r],s=e._va.indexBuffer,c=e._vaSwap.indexBuffer;let l=P0(s,c,0,n,i,r.batchIds,o);r.offset=0,r.count=l;while(t.length>0){const e=t.pop();if(j_.equals(e.color,r.color))l=P0(s,c,l,n,i,e.batchIds,o),r.batchIds=r.batchIds.concat(e.batchIds),r.count=l-r.offset;else{const t=l;l=P0(s,c,l,n,i,e.batchIds,o),e.offset=t,e.count=l-t,a.push(e),r=e}}const u=e._va;e._va=e._vaSwap,e._vaSwap=u,e._batchedIndices=a}function M0(e,t){return t.color.toRgba()-e.color.toRgba()}function N0(e,t){if(!e._batchDirty)return!1;const n=e._batchedIndices,i=n.length;let o=!1;const a={};for(let s=0;s<i;++s){const e=n[s].color,t=e.toRgba();if(Object(r["a"])(a[t])){o=!0;break}a[t]=!0}return o?o&&!e.forceRebatch&&e._framesSinceLastRebatch<120?void++e._framesSinceLastRebatch:(n.sort(M0),t.webgl2?R0(e,n):j0(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0):(e._batchDirty=!1,!1)}function L0(e,t){const n=N0(e,t),i=e._commands,a=e._batchedIndices,s=a.length,c=2*s;if(Object(r["a"])(i)&&!n&&i.length===c)return;i.length=c;const l=e._va,u=e._sp,h=Object(o["a"])(e._modelMatrix,Ne.IDENTITY),d=e._uniformMap,f=e._boundingVolume;for(let o=0;o<s;++o){const t=a[o].offset,n=a[o].count;let s=i[2*o];Object(r["a"])(s)||(s=i[2*o]=new nz({owner:e})),s.vertexArray=l,s.modelMatrix=h,s.offset=t,s.count=n,s.renderState=e._rsStencilDepthPass,s.shaderProgram=u,s.uniformMap=d,s.boundingVolume=f,s.cull=!1,s.pass=oz.TERRAIN_CLASSIFICATION;const c=nz.shallowClone(s,s.derivedCommands.tileset);c.renderState=e._rsStencilDepthPass3DTiles,c.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,s.derivedCommands.tileset=c;let p=i[2*o+1];Object(r["a"])(p)||(p=i[2*o+1]=new nz({owner:e})),p.vertexArray=l,p.modelMatrix=h,p.offset=t,p.count=n,p.renderState=e._rsColorPass,p.shaderProgram=u,p.uniformMap=d,p.boundingVolume=f,p.cull=!1,p.pass=oz.TERRAIN_CLASSIFICATION;const m=nz.shallowClone(p,p.derivedCommands.tileset);m.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=m}e._commandsDirty=!0}function B0(e,t){if(e.classificationType===wG.TERRAIN||!t.invertClassification||Object(r["a"])(e._commandsIgnoreShow)&&!e._commandsDirty)return;const n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,a=n.length,s=i.length=a/2;let c=0;for(let r=0;r<s;++r){const e=i[r]=nz.shallowClone(n[c],i[r]);e.shaderProgram=o,e.pass=oz.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,c+=2}e._commandsDirty=!1}function F0(e){if(!e._pickCommandsDirty)return;const t=e._indexOffsets.length,n=e._pickCommands;n.length=2*t;const i=e._va,a=e._spStencil,s=e._spPick,c=Object(o["a"])(e._modelMatrix,Ne.IDENTITY),l=e._uniformMap;for(let o=0;o<t;++o){const t=e._indexOffsets[o],u=e._indexCounts[o],h=Object(r["a"])(e._boundingVolumes)?e._boundingVolumes[o]:e.boundingVolume;let d=n[2*o];Object(r["a"])(d)||(d=n[2*o]=new nz({owner:e,pickOnly:!0})),d.vertexArray=i,d.modelMatrix=c,d.offset=t,d.count=u,d.renderState=e._rsStencilDepthPass,d.shaderProgram=a,d.uniformMap=l,d.boundingVolume=h,d.pass=oz.TERRAIN_CLASSIFICATION;const f=nz.shallowClone(d,d.derivedCommands.tileset);f.renderState=e._rsStencilDepthPass3DTiles,f.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,d.derivedCommands.tileset=f;let p=n[2*o+1];Object(r["a"])(p)||(p=n[2*o+1]=new nz({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=c,p.offset=t,p.count=u,p.renderState=e._rsPickPass,p.shaderProgram=s,p.uniformMap=l,p.boundingVolume=h,p.pass=oz.TERRAIN_CLASSIFICATION;const m=nz.shallowClone(p,p.derivedCommands.tileset);m.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=m}e._pickCommandsDirty=!1}function k0(e,t){e._updatingAllCommands=!0;const n=e._batchIds;let i,o=n.length;for(i=0;i<o;++i){const e=n[i],o=t[e];o.show=!0,o.color=j_.WHITE}const r=e._batchedIndices;for(o=r.length,i=0;i<o;++i)r[i].color=j_.clone(j_.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}y0.prototype.createFeatures=function(e,t){const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o];t[i]=new SZ(e,i)}},y0.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};const z0=new j_,U0=j_.WHITE,V0=!0,H0=/\$/;function G0(e,t,n,i){const o=e.classificationType,a=o!==wG.CESIUM_3D_TILE,s=o!==wG.TERRAIN,c=t.commandList;let l,u,h=n.length;for(u=0;u<h;++u)a&&(l=n[u],l.pass=oz.TERRAIN_CLASSIFICATION,c.push(l)),s&&(l=n[u].derivedCommands.tileset,l.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,c.push(l));if(t.invertClassification&&Object(r["a"])(i))for(h=i.length,u=0;u<h;++u)c.push(i[u])}function q0(e,t){const n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){const e=t[o+1];e.pass=oz.OPAQUE,n.push(e)}}function W0(e){let t,n,i=e.debugWireframe===e._debugWireframe;if(i=i&&!(e.debugWireframe&&e._wireframeDirty),i)return;Object(r["a"])(e._rsWireframe)||(e._rsWireframe=Mz.fromCache({})),e.debugWireframe?(t=e._rsWireframe,n=xh.LINES):(t=e._rsColorPass,n=xh.TRIANGLES);const o=e._commands,a=o.length;for(let r=0;r<a;r+=2){const e=o[r+1];e.renderState=t,e.primitiveType=n}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}y0.prototype.applyStyle=function(e,t){if(!Object(r["a"])(e))return void k0(this,t);const n=e.color,i=n instanceof b0&&!H0.test(n.expression);this._updatingAllCommands=i;const o=this._batchIds;let a,s=o.length;for(a=0;a<s;++a){const n=o[a],i=t[n];i.color=Object(r["a"])(e.color)?e.color.evaluateColor(i,z0):U0,i.show=Object(r["a"])(e.show)?e.show.evaluate(i):V0}if(i){const e=this._batchedIndices;for(s=e.length,a=0;a<s;++a)e[a].color=j_.clone(j_.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}},y0.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;const n=this._batchIdLookUp,i=n[e];if(!Object(r["a"])(i))return;const o=this._indexOffsets,a=this._indexCounts,s=o[i],c=a[i],l=this._batchedIndices,u=l.length;let h;for(h=0;h<u;++h){const e=l[h].offset,t=l[h].count;if(s>=e&&s<e+t)break}l.push(new f1({color:j_.clone(t),offset:s,count:c,batchIds:[e]}));const d=[],f=[],p=l[h].batchIds,m=p.length;for(let r=0;r<m;++r){const t=p[r];if(t===e)continue;const i=n[t];o[i]<s?d.push(t):f.push(t)}0!==f.length&&l.push(new f1({color:j_.clone(l[h].color),offset:s+c,count:l[h].offset+l[h].count-(s+c),batchIds:f})),0!==d.length?(l[h].count=s-l[h].offset,l[h].batchIds=d):l.splice(h,1),this._batchDirty=!0},y0.prototype.update=function(e){const t=e.context;O0(this,t),w0(this,t),E0(this),I0(this,t);const n=e.passes;n.render&&(L0(this,t),B0(this,e),W0(this),this._debugWireframe?q0(e,this._commands):G0(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(F0(this),G0(this,e,this._pickCommands))},y0.prototype.isDestroyed=function(){return!1},y0.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),Wl(this)};var Y0=y0;const X0=new g,K0=XQ.ModelState;function J0(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.gltf;if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),!(t instanceof Uint8Array))throw new ye["a"]("Only binary glTF is supported as a classifier.");t=r$(t),bQ(t),WZ(t),t1(t),h1(t),FZ.buffer(t,(function(e){if(!Object(r["a"])(e.extras._pipeline.source))throw new ye["a"]("Buffer data must be embedded in the binary gltf.")}));const n=t.nodes,i=t.meshes,a=n[0],s=a.mesh;if(1!==n.length||!Object(r["a"])(s))throw new ye["a"]("Only one node is supported for classification and it must have a mesh.");if(1!==i.length)throw new ye["a"]("Only one mesh is supported when using b3dm for classification.");const c=i[0].primitives;if(1!==c.length)throw new ye["a"]("Only one primitive per mesh is supported when using b3dm for classification.");const l=c[0].attributes.POSITION;if(!Object(r["a"])(l))throw new ye["a"]("The mesh must have a position attribute.");const u=c[0].attributes._BATCHID;if(!Object(r["a"])(u))throw new ye["a"]("The mesh must have a batch id attribute.");this._gltf=t,this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(this.modelMatrix),this._ready=!1,this._readyPromise=Object(xr["a"])(),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=Object(o["a"])(e.debugWireframe,!1),this._debugWireframe=!1,this._classificationType=e.classificationType,this._vertexShaderLoaded=e.vertexShaderLoaded,this._classificationShaderLoaded=e.classificationShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._pickIdLoaded=e.pickIdLoaded,this._ignoreCommands=Object(o["a"])(e.ignoreCommands,!1),this._upAxis=Object(o["a"])(e.upAxis,vJ.Y),this._batchTable=e.batchTable,this._computedModelMatrix=new Ne,this._initialRadius=void 0,this._boundingSphere=void 0,this._scaledBoundingSphere=new Tt,this._state=K0.NEEDS_LOAD,this._loadResources=void 0,this._mode=void 0,this._dirty=!1,this._nodeMatrix=new Ne,this._primitive=void 0,this._extensionsUsed=void 0,this._extensionsRequired=void 0,this._quantizedUniforms=void 0,this._buffers={},this._vertexArray=void 0,this._shaderProgram=void 0,this._uniformMap=void 0,this._geometryByteLength=0,this._trianglesLength=0,this._rtcCenter=void 0,this._rtcCenterEye=void 0,this._rtcCenter3D=void 0,this._rtcCenter2D=void 0}function Z0(e){const t=e.gltf,n=e._loadResources;FZ.buffer(t,(function(e,t){n.buffers[t]=e.extras._pipeline.source}))}function $0(e){const t=e.gltf.bufferViews,n=e._loadResources.vertexBuffersToCreate;FZ.bufferView(e.gltf,(function(e,t){e.target===Jc.ARRAY_BUFFER&&n.enqueue(t)}));const i=e._loadResources.indexBuffersToCreate,o={};FZ.accessor(e.gltf,(function(e){const n=e.bufferView,a=t[n];a.target!==Jc.ELEMENT_ARRAY_BUFFER||Object(r["a"])(o[n])||(o[n]=!0,i.enqueue({id:n,componentType:e.componentType}))}))}function Q0(e,t){const n=t._loadResources,i=t.gltf.bufferViews,o=i[e],r=n.getBuffer(o);t._buffers[e]=r,t._geometryByteLength+=r.byteLength}function e2(e,t,n){const i=n._loadResources,o=n.gltf.bufferViews,r=o[e],a={typedArray:i.getBuffer(r),indexDatatype:t};n._buffers[e]=a,n._geometryByteLength+=a.typedArray.byteLength}function t2(e){const t=e._loadResources;if(0!==t.pendingBufferLoads)return;const n=t.vertexBuffersToCreate,i=t.indexBuffersToCreate;while(n.length>0)Q0(n.dequeue(),e);while(i.length>0){const t=i.dequeue();e2(t.id,t.componentType,e)}}function n2(e,t){const n=t.gltf.meshes[0].primitives[0],i=XQ.modifyShaderForQuantizedAttributes(t.gltf,n,e);return t._quantizedUniforms=i.uniforms,i.shader}function i2(e,t){return Object(r["a"])(t)&&(e=t(e)),e}function o2(e){const t=e.gltf,n=XQ.getAttributeOrUniformBySemantic(t,"POSITION"),i=XQ.getAttributeOrUniformBySemantic(t,"_BATCHID"),o={};o[n]=0,o[i]=1;const a=XQ.getAttributeOrUniformBySemantic(t,"MODELVIEWPROJECTION");let s,c;if(Object(r["a"])(a))s=`uniform mat4 ${a};\n`,c=`${a} * vec4(${n}, 1.0)`;else{const e=XQ.getAttributeOrUniformBySemantic(t,"PROJECTION");let i=XQ.getAttributeOrUniformBySemantic(t,"MODELVIEW");Object(r["a"])(i)||(i=XQ.getAttributeOrUniformBySemantic(t,"CESIUM_RTC_MODELVIEW")),s=`uniform mat4 ${i};\nuniform mat4 ${e};\n`,c=`${e} * ${i} * vec4(${n}, 1.0)`}const l=` vec4 positionInClipCoords = ${c};\n`;let u=`attribute vec3 ${n};\nattribute float ${i};\n${s}void main() {\n${l} gl_Position = czm_depthClamp(positionInClipCoords);\n}\n`;const h="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\nvoid main() \n{ \n gl_FragColor = vec4(1.0); \n czm_writeDepthClamp();\n}\n";e.extensionsUsed.WEB3D_quantized_attributes&&(u=n2(u,e));const d=i2(u,e._vertexShaderLoaded),f=i2(h,e._classificationShaderLoaded);e._shaderProgram={vertexShaderSource:d,fragmentShaderSource:f,attributeLocations:o}}function r2(){return{POSITION:0,_BATCHID:1}}function a2(e){const t=e._loadResources;if(!t.finishedBuffersCreation()||Object(r["a"])(e._vertexArray))return;const n=e._buffers,i=e.gltf,o=i.accessors,a=i.meshes,s=a[0].primitives,c=s[0],l=r2(),u={};let h;if(FZ.meshPrimitiveAttribute(c,(function(e,t){const a=l[t];if(Object(r["a"])(a)){const r=o[e];u[t]={index:a,vertexBuffer:n[r.bufferView],componentsPerAttribute:zZ(r.type),componentDatatype:r.componentType,offsetInBytes:r.byteOffset,strideInBytes:VZ(i,r)}}})),Object(r["a"])(c.indices)){const e=o[c.indices];h=n[e.bufferView]}e._vertexArray={attributes:u,indexBuffer:h}}Object.defineProperties(J0.prototype,{gltf:{get:function(){return this._gltf}},gltfInternal:{get:function(){return this._gltf}},boundingSphere:{get:function(){if(this._state!==K0.LOADED)throw new a["a"]("The model is not loaded. Use ClassificationModel.readyPromise or wait for ClassificationModel.ready to be true.");const e=this.modelMatrix,t=Ne.getScale(e,X0),n=this._scaledBoundingSphere;return n.center=g.multiplyComponents(this._boundingSphere.center,t,n.center),n.radius=g.maximumComponent(t)*this._initialRadius,Object(r["a"])(this._rtcCenter)&&g.add(this._rtcCenter,n.center,n.center),n}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},dirty:{get:function(){return this._dirty}},extensionsUsed:{get:function(){return Object(r["a"])(this._extensionsUsed)||(this._extensionsUsed=XQ.getUsedExtensions(this.gltf)),this._extensionsUsed}},extensionsRequired:{get:function(){return Object(r["a"])(this._extensionsRequired)||(this._extensionsRequired=XQ.getRequiredExtensions(this.gltf)),this._extensionsRequired}},upAxis:{get:function(){return this._upAxis}},trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},texturesByteLength:{get:function(){return 0}},classificationType:{get:function(){return this._classificationType}}});const s2={PROJECTION:function(e,t){return XQ.getGltfSemanticUniforms().PROJECTION(e,t)},MODELVIEW:function(e,t){return XQ.getGltfSemanticUniforms().MODELVIEW(e,t)},CESIUM_RTC_MODELVIEW:function(e,t){return XQ.getGltfSemanticUniforms().CESIUM_RTC_MODELVIEW(e,t)},MODELVIEWPROJECTION:function(e,t){return XQ.getGltfSemanticUniforms().MODELVIEWPROJECTION(e,t)}};function c2(e,t){if(Object(r["a"])(e._uniformMap))return;const n={};FZ.technique(e.gltf,(function(i){FZ.techniqueUniform(i,(function(i,o){Object(r["a"])(i.semantic)&&Object(r["a"])(s2[i.semantic])&&(n[o]=s2[i.semantic](t.uniformState,e))}))})),e._uniformMap=n}function l2(e,t){return XQ.createUniformsForQuantizedAttributes(e.gltf,t,e._quantizedUniforms)}function u2(e,t){switch(e.mode){case xh.TRIANGLES:return t/3;case xh.TRIANGLE_STRIP:case xh.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function h2(e){const t=e._batchTable;let n=e._uniformMap;const i=e._vertexArray,o=e.gltf,a=o.accessors,s=o.meshes,c=s[0].primitives[0],l=a[c.indices],u=c.attributes.POSITION,h=XQ.getAccessorMinMax(o,u),d=Tt.fromCornerPoints(g.fromArray(h.min),g.fromArray(h.max));let f,p;if(Object(r["a"])(l))p=l.count,f=l.byteOffset/uu.getSizeInBytes(l.componentType);else{const e=a[c.attributes.POSITION];p=e.count,f=0}if(e._trianglesLength+=u2(c,p),Object(r["a"])(e._uniformMapLoaded)&&(n=e._uniformMapLoaded(n)),e.extensionsUsed.WEB3D_quantized_attributes){const t=l2(e,c);n=Object(xS["a"])(n,t)}let m=i.attributes.POSITION,_=m.componentDatatype,b=m.vertexBuffer,y=b.byteOffset,v=b.byteLength/$c.getSizeInBytes(_),O=$c.createArrayBufferView(_,b.buffer,y,v);m=i.attributes._BATCHID,_=m.componentDatatype,b=m.vertexBuffer,y=b.byteOffset,v=b.byteLength/$c.getSizeInBytes(_);let w=$c.createArrayBufferView(_,b.buffer,y,v);const A=i.indexBuffer.typedArray;let T;T=i.indexBuffer.indexDatatype===uu.UNSIGNED_SHORT?new Uint16Array(A.buffer,A.byteOffset,A.byteLength/Uint16Array.BYTES_PER_ELEMENT):new Uint32Array(A.buffer,A.byteOffset,A.byteLength/Uint32Array.BYTES_PER_ELEMENT),O=xL(O),w=xL(w),T=xL(T,f,f+p);const C=[],E=[],x=[],S=[];let I,D,j,P=w[T[0]];C.push(P),x.push(0);const R=T.length;for(let r=1;r<R;++r)I=w[T[r]],I!==P&&(D=x[x.length-1],j=r-D,C.push(I),E.push(j),x.push(r),S.push(new f1({offset:D,count:j,batchIds:[P],color:j_.WHITE})),P=I);D=x[x.length-1],j=R-D,E.push(j),S.push(new f1({offset:D,count:j,batchIds:[P],color:j_.WHITE}));const M=e._shaderProgram,N=M.vertexShaderSource,L=M.fragmentShaderSource,B=M.attributeLocations,F=Object(r["a"])(e._pickIdLoaded)?e._pickIdLoaded():void 0;e._primitive=new Y0({classificationType:e._classificationType,positions:O,indices:T,indexOffsets:x,indexCounts:E,batchIds:C,vertexBatchIds:w,batchedIndices:S,batchTable:t,boundingVolume:new Tt,_vertexShaderSource:N,_fragmentShaderSource:L,_attributeLocations:B,_uniformMap:n,_pickId:F,_modelMatrix:new Ne,_boundingSphere:d}),e._buffers=void 0,e._vertexArray=void 0,e._shaderProgram=void 0,e._uniformMap=void 0}function d2(e){const t=e._loadResources;if(!t.finished())return;if(Object(r["a"])(e._primitive))return;const n=e.gltf,i=n.nodes,o=i[0];e._nodeMatrix=XQ.getTransform(o,e._nodeMatrix),h2(e)}function f2(e,t){const n=t.context;XQ.checkSupportedGlExtensions(e.gltf.glExtensionsUsed,n),t2(e),o2(e),a2(e),c2(e,n),d2(e)}const p2=new be,m2=new Ne;function _2(e,t,n,i){let o=e._computedModelMatrix;if(e._mode!==vq.SCENE3D&&!e._ignoreCommands){const t=Ne.getColumn(o,3,p2);if(be.equals(t,be.UNIT_W)){const t=e.boundingSphereInternal.center,n=Hs.wgs84To2DModelMatrix(i,t,m2);o=Ne.multiply(n,o,m2),Object(r["a"])(e._rtcCenter)&&(Ne.setTranslation(o,be.UNIT_W,o),e._rtcCenter=e._rtcCenter2D)}else o=Hs.basisTo2D(i,o,m2),e._rtcCenter=e._rtcCenter3D}const a=e._primitive;(t||n)&&(Ne.multiplyTransformation(o,e._nodeMatrix,a._modelMatrix),Tt.transform(a._boundingSphere,a._modelMatrix,a._boundingVolume),Object(r["a"])(e._rtcCenter)&&g.add(e._rtcCenter,a._boundingVolume.center,a._boundingVolume.center))}J0.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},J0.prototype.update=function(e){if(e.mode===vq.MORPHING)return;if(!Ta.supportsWebP.initialized)return void Ta.supportsWebP.initialize();const t=Ta.supportsWebP();if(this._state===K0.NEEDS_LOAD&&Object(r["a"])(this.gltf)&&(this._state=K0.LOADING,this._state!==K0.FAILED)){const t=this.gltf.extensions;if(Object(r["a"])(t)&&Object(r["a"])(t.CESIUM_RTC)){const n=g.fromArray(t.CESIUM_RTC.center);if(!g.equals(n,g.ZERO)){this._rtcCenter3D=n;const t=e.mapProjection,i=t.ellipsoid,o=i.cartesianToCartographic(this._rtcCenter3D),r=t.project(o);g.fromElements(r.z,r.x,r.y,r),this._rtcCenter2D=r,this._rtcCenterEye=new g,this._rtcCenter=this._rtcCenter3D}}this._loadResources=new OQ,XQ.parseBuffers(this)}const n=this._loadResources;let i=!1;this._state===K0.LOADING&&(0===n.pendingBufferLoads&&(XQ.checkSupportedExtensions(this.extensionsRequired,t),Z0(this),$0(this),this._boundingSphere=XQ.computeBoundingSphere(this),this._initialRadius=this._boundingSphere.radius,f2(this,e)),n.finished()&&(this._state=K0.LOADED,i=!0)),Object(r["a"])(n)&&this._state===K0.LOADED&&(i||f2(this,e),n.finished()&&(this._loadResources=void 0));const o=this.show;if(o&&this._state===K0.LOADED||i){this._dirty=!1;const t=this.modelMatrix,n=e.mode!==this._mode;this._mode=e.mode;const o=!Ne.equals(this._modelMatrix,t)||n;if(o||i){Ne.clone(t,this._modelMatrix);const e=this._computedModelMatrix;Ne.clone(t,e),this._upAxis===vJ.Y?Ne.multiplyTransformation(e,vJ.Y_UP_TO_Z_UP,e):this._upAxis===vJ.X&&Ne.multiplyTransformation(e,vJ.X_UP_TO_Z_UP,e)}(o||i)&&(_2(this,o,i,e.mapProjection),this._dirty=!0)}if(i){const t=this;e.afterRender.push((function(){t._ready=!0,t._readyPromise.resolve(t)}))}else o&&!this._ignoreCommands&&(this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.debugWireframe=this.debugWireframe,this._primitive.update(e))},J0.prototype.isDestroyed=function(){return!1},J0.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Wl(this)};var g2=J0;function b2(e,t){i["a"].typeOf.object("normal",e),i["a"].typeOf.number("distance",t),this._distance=t,this._normal=new y2(e,this),this.onChangeCallback=void 0,this.index=-1}function y2(e,t){this._clippingPlane=t,this._cartesian3=g.clone(e)}Object.defineProperties(b2.prototype,{distance:{get:function(){return this._distance},set:function(e){i["a"].typeOf.number("value",e),Object(r["a"])(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){i["a"].typeOf.object("value",e),Object(r["a"])(this.onChangeCallback)&&!g.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),g.clone(e,this._normal._cartesian3)}}}),b2.fromPlane=function(e,t){return i["a"].typeOf.object("plane",e),Object(r["a"])(t)?(t.normal=e.normal,t.distance=e.distance):t=new b2(e.normal,e.distance),t},b2.clone=function(e,t){return Object(r["a"])(t)?(t.normal=e.normal,t.distance=e.distance,t):new b2(e.normal,e.distance)},Object.defineProperties(y2.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){i["a"].typeOf.number("value",e),Object(r["a"])(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){i["a"].typeOf.number("value",e),Object(r["a"])(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){i["a"].typeOf.number("value",e),Object(r["a"])(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var v2=b2;function O2(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=Object(o["a"])(e.enabled,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this.edgeColor=j_.clone(Object(o["a"])(e.edgeColor,j_.WHITE)),this.edgeWidth=Object(o["a"])(e.edgeWidth,0),this.planeAdded=new pi["a"],this.planeRemoved=new pi["a"],this._owner=void 0;const t=Object(o["a"])(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?w2:A2,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;const n=e.planes;if(Object(r["a"])(n)){const e=n.length;for(let t=0;t<e;++t)this.add(n[t])}}function w2(e){return e===G.OUTSIDE}function A2(e){return e===G.INSIDE}function T2(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||-1!==e._dirtyIndex&&e._dirtyIndex!==t,e._dirtyIndex=t}function C2(e,t){const n=e.length;for(let i=0;i<n;++i)if(No.equals(e[i],t))return i;return-1}Object.defineProperties(O2.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?w2:A2)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}}),O2.prototype.add=function(e){const t=this._planes.length,n=this;e.onChangeCallback=function(e){T2(n,e)},e.index=t,T2(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)},O2.prototype.get=function(e){return i["a"].typeOf.number("index",e),this._planes[e]},O2.prototype.contains=function(e){return-1!==C2(this._planes,e)},O2.prototype.remove=function(e){const t=this._planes,n=C2(t,e);if(-1===n)return!1;e instanceof v2&&(e.onChangeCallback=void 0,e.index=-1);const i=t.length-1;for(let o=n;o<i;++o){const e=t[o+1];t[o]=e,e instanceof v2&&(e.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0},O2.prototype.removeAll=function(){const e=this._planes,t=e.length;for(let n=0;n<t;++n){const t=e[n];t instanceof v2&&(t.onChangeCallback=void 0,t.index=-1),this.planeRemoved.raiseEvent(t,n)}this._multipleDirtyPlanes=!0,this._planes=[]};const E2=new be,x2=new be;function S2(e,t,n){const i=e._uint8View,o=e._planes;let r=0;for(let a=t;a<n;++a){const e=o[a],t=gl.octEncodeToCartesian4(e.normal,x2);i[r]=t.x,i[r+1]=t.y,i[r+2]=t.z,i[r+3]=t.w;const n=be.packFloat(e.distance,E2);i[r+4]=n.x,i[r+5]=n.y,i[r+6]=n.z,i[r+7]=n.w,r+=8}}function I2(e,t,n){const i=e._float32View,o=e._planes;let r=0;for(let a=t;a<n;++a){const e=o[a],t=e.normal;i[r]=t.x,i[r+1]=t.y,i[r+2]=t.z,i[r+3]=e.distance,r+=4}}function D2(e,t){const n=zF.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}const j2=new Ht;O2.prototype.update=function(e){let t=this._clippingPlanesTexture;const n=e.context,i=O2.useFloatTexture(n),o=i?this.length:2*this.length;if(Object(r["a"])(t)){const e=t.width*t.height;(e<o||o<.25*e)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(0===this.length)return;if(!Object(r["a"])(t)){const e=D2(o,j2);e.y*=2,i?(t=new nk({context:n,width:e.x,height:e.y,pixelFormat:XS.RGBA,pixelDatatype:WS.FLOAT,sampler:$F.NEAREST,flipY:!1}),this._float32View=new Float32Array(e.x*e.y*4)):(t=new nk({context:n,width:e.x,height:e.y,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,sampler:$F.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(e.x*e.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}const a=this._dirtyIndex;if(this._multipleDirtyPlanes||-1!==a){if(this._multipleDirtyPlanes)i?(I2(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(S2(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let e=0,n=0;i?(n=Math.floor(a/t.width),e=Math.floor(a-n*t.width),I2(this,a,a+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:e,yOffset:n})):(n=Math.floor(2*a/t.width),e=Math.floor(2*a-n*t.width),S2(this,a,a+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:e,yOffset:n}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};const P2=new Ne,R2=new No(g.UNIT_X,0);O2.prototype.computeIntersectionWithBoundingVolume=function(e,t){const n=this._planes,i=n.length;let o=this.modelMatrix;Object(r["a"])(t)&&(o=Ne.multiply(t,o,P2));let a=G.INSIDE;!this.unionClippingRegions&&i>0&&(a=G.OUTSIDE);for(let r=0;r<i;++r){const t=n[r];No.transform(t,o,R2);const i=e.intersectPlane(R2);if(i===G.INTERSECTING)a=i;else if(this._testIntersection(i))return i}return a},O2.setOwner=function(e,t,n){if(e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),Object(r["a"])(e))){if(Object(r["a"])(e._owner))throw new a["a"]("ClippingPlaneCollection should only be assigned to one object");e._owner=t,t[n]=e}},O2.useFloatTexture=function(e){return e.floatingPointTexture},O2.getTextureResolution=function(e,t,n){const i=e.texture;if(Object(r["a"])(i))return n.x=i.width,n.y=i.height,n;const o=O2.useFloatTexture(t)?e.length:2*e.length,a=D2(o,n);return a.y*=2,a},O2.prototype.isDestroyed=function(){return!1},O2.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),Wl(this)};var M2=O2;const N2={HIGHLIGHT:0,REPLACE:1,MIX:2,getColorBlend:function(e,t){return e===N2.HIGHLIGHT?0:e===N2.REPLACE?1:e===N2.MIX?s["a"].clamp(t,s["a"].EPSILON4,1):void 0}};var L2=Object.freeze(N2);function B2(){}function F2(e,t){const n="runtime."+Object.keys(e.createdBufferViews).length,i=e.buffers,o=Object.keys(i).length;return i[o]=t,e.createdBufferViews[n]={buffer:o,byteOffset:0,byteLength:t.byteLength},n}function k2(e,t,n){const i=t._loadResources,o=F2(i,e);return i.vertexBuffersToCreate.enqueue(o),o}function z2(e,t,n){const i=e.typedArray,o=t._loadResources,r=F2(o,i);return o.indexBuffersToCreate.enqueue({id:r,componentType:$c.fromTypedArray(i)}),{bufferViewId:r,numberOfIndices:e.numberOfIndices}}function U2(e,t,n,i){if(!B2._taskProcessorReady)return;const o=n.primitivesToDecode.peek();if(!Object(r["a"])(o))return;const a=e.scheduleTask(o,[o.array.buffer]);return Object(r["a"])(a)?(n.activeDecodingTasks++,n.primitivesToDecode.dequeue(),a.then((function(e){n.activeDecodingTasks--;const r=z2(e.indexArray,t,i),a={},s=e.attributeData;for(const n in s)if(s.hasOwnProperty(n)){const e=s[n],o=e.array,r=k2(o,t,i),c=e.data;c.bufferView=r,a[n]=c}t._decodedData[`${o.mesh}.primitive.${o.primitive}`]={bufferView:r.bufferViewId,numberOfIndices:r.numberOfIndices,attributes:a}}))):void 0}B2._maxDecodingConcurrency=Math.max(Ta.hardwareConcurrency-1,1),B2._decoderTaskProcessor=void 0,B2._taskProcessorReady=!1,B2._getDecoderTaskProcessor=function(){if(!Object(r["a"])(B2._decoderTaskProcessor)){const e=new ou("decodeDraco",B2._maxDecodingConcurrency);e.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then((function(){B2._taskProcessorReady=!0})),B2._decoderTaskProcessor=e}return B2._decoderTaskProcessor},B2.hasExtension=function(e){return Object(r["a"])(e.extensionsRequired.KHR_draco_mesh_compression)||Object(r["a"])(e.extensionsUsed.KHR_draco_mesh_compression)},B2._decodedModelResourceCache=void 0,B2.parse=function(e,t){if(!B2.hasExtension(e))return;const n=e._loadResources,i=e.cacheKey;if(Object(r["a"])(i)){Object(r["a"])(B2._decodedModelResourceCache)||(Object(r["a"])(t.cache.modelDecodingCache)||(t.cache.modelDecodingCache={}),B2._decodedModelResourceCache=t.cache.modelDecodingCache);const e=B2._decodedModelResourceCache[i];if(Object(r["a"])(e))return e.count++,void(n.pendingDecodingCache=!0)}const o=e._dequantizeInShader,a=e.gltfInternal;FZ.mesh(a,(function(e,t){FZ.meshPrimitive(e,(function(e,i){if(!Object(r["a"])(e.extensions))return;const s=e.extensions.KHR_draco_mesh_compression;if(!Object(r["a"])(s))return;const c=a.bufferViews[s.bufferView],l=xL(a.buffers[c.buffer].extras._pipeline.source,c.byteOffset,c.byteOffset+c.byteLength);n.primitivesToDecode.enqueue({mesh:t,primitive:i,array:l,bufferView:c,compressedAttributes:s.attributes,dequantizeInShader:o})}))}))},B2.decodeModel=function(e,t){if(!B2.hasExtension(e))return Promise.resolve();const n=e._loadResources,i=e.cacheKey;if(Object(r["a"])(i)&&Object(r["a"])(B2._decodedModelResourceCache)){const t=B2._decodedModelResourceCache[i];if(Object(r["a"])(t)&&n.pendingDecodingCache)return Promise.resolve(t.ready).then((function(){e._decodedData=t.data,n.pendingDecodingCache=!1}));B2._decodedModelResourceCache[i]={ready:!1,count:1,data:void 0}}if(0===n.primitivesToDecode.length)return Promise.resolve();const o=B2._getDecoderTaskProcessor(),a=[];let s=U2(o,e,n,t);while(Object(r["a"])(s))a.push(s),s=U2(o,e,n,t);return Promise.all(a)},B2.decodePointCloud=function(e){const t=B2._getDecoderTaskProcessor();if(B2._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])},B2.decodeBufferView=function(e){const t=B2._getDecoderTaskProcessor();if(B2._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])},B2.cacheDataForModel=function(e){const t=e.cacheKey;if(Object(r["a"])(t)&&Object(r["a"])(B2._decodedModelResourceCache)){const n=B2._decodedModelResourceCache[t];Object(r["a"])(n)&&(n.ready=!0,n.data=e._decodedData)}},B2.destroyCachedDataForModel=function(e){const t=e.cacheKey;if(Object(r["a"])(t)&&Object(r["a"])(B2._decodedModelResourceCache)){const e=B2._decodedModelResourceCache[t];Object(r["a"])(e)&&0===--e.count&&delete B2._decodedModelResourceCache[t]}};var V2=B2;function H2(e,t,n){i["a"].typeOf.string("samplerUniformName",e),i["a"].typeOf.string("matrixUniformName",t),i["a"].typeOf.string("styleUniformName",n);const o=` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); \n vec4 clippingPlanesEdgeColor = vec4(1.0); \n clippingPlanesEdgeColor.rgb = ${n}.rgb; \n float clippingPlanesEdgeWidth = ${n}.a; \n if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n { \n gl_FragColor = clippingPlanesEdgeColor;\n } \n`;return o}var G2=H2;const q2=new Ht;function W2(e,t){i["a"].typeOf.object("clippingPlaneCollection",e),i["a"].typeOf.object("context",t);const n=e.unionClippingRegions,o=e.length,r=M2.useFloatTexture(t),a=M2.getTextureResolution(e,t,q2),s=a.x,c=a.y;let l=r?K2(s,c):J2(s,c);return l+="\n",l+=n?Y2(o):X2(o),l}function Y2(e){const t=`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n{\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n vec3 clipPosition = vec3(0.0);\n float clipAmount;\n float pixelWidth = czm_metersPerPixel(position);\n bool breakAndDiscard = false;\n for (int i = 0; i < ${e}; ++i)\n {\n vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);\n clipNormal = clippingPlane.xyz;\n clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount));\n if (amount <= 0.0)\n {\n breakAndDiscard = true;\n break;\n }\n }\n if (breakAndDiscard) {\n discard;\n }\n return clipAmount;\n}\n`;return t}function X2(e){const t=`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n{\n bool clipped = true;\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n vec3 clipPosition = vec3(0.0);\n float clipAmount = 0.0;\n float pixelWidth = czm_metersPerPixel(position);\n for (int i = 0; i < ${e}; ++i)\n {\n vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);\n clipNormal = clippingPlane.xyz;\n clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n clipAmount = max(amount, clipAmount);\n clipped = clipped && (amount <= 0.0);\n }\n if (clipped)\n {\n discard;\n }\n return clipAmount;\n}\n`;return t}function K2(e,t){const n=1/e,i=1/t;let o=""+n;-1===o.indexOf(".")&&(o+=".0");let r=""+i;-1===r.indexOf(".")&&(r+=".0");const a=`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)\n{\n int pixY = clippingPlaneNumber / ${e};\n int pixX = clippingPlaneNumber - (pixY * ${e});\n float u = (float(pixX) + 0.5) * ${o};\n float v = (float(pixY) + 0.5) * ${r};\n vec4 plane = texture2D(packedClippingPlanes, vec2(u, v));\n return czm_transformPlane(plane, transform);\n}\n`;return a}function J2(e,t){const n=1/e,i=1/t;let o=""+n;-1===o.indexOf(".")&&(o+=".0");let r=""+i;-1===r.indexOf(".")&&(r+=".0");const a=`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)\n{\n int clippingPlaneStartIndex = clippingPlaneNumber * 2;\n int pixY = clippingPlaneStartIndex / ${e};\n int pixX = clippingPlaneStartIndex - (pixY * ${e});\n float u = (float(pixX) + 0.5) * ${o};\n float v = (float(pixY) + 0.5) * ${r};\n vec4 oct32 = texture2D(packedClippingPlanes, vec2(u, v)) * 255.0;\n vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);\n vec4 plane;\n plane.xyz = czm_octDecode(oct, 65535.0);\n plane.w = czm_unpackFloat(texture2D(packedClippingPlanes, vec2(u + ${o}, v)));\n return czm_transformPlane(plane, transform);\n}\n`;return a}var Z2=W2;const $2={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3};var Q2=Object.freeze($2);function e3(){}const t3=/^data\:/i;function n3(e,t){const n=e.gltfInternal,i=n.buffers,o=n.bufferViews,r=o[t.bufferView],a=i[r.buffer],s=r.byteOffset+t.byteOffset,c=t.count*zZ(t.type),l=t3.test(a.uri)?"":a.uri;return`${e.cacheKey}//${l}/${s}/${c}`}const i3={};e3.getAnimationParameterValues=function(e,t){const n=n3(e,t);let i=i3[n];if(!Object(r["a"])(i)){const a=e.gltfInternal,s=a.buffers,c=a.bufferViews,l=c[t.bufferView],u=l.buffer,h=s[u],d=h.extras._pipeline.source,f=t.componentType,p=t.type,m=zZ(p),_=t.count,b=VZ(a,t);i=new Array(_);const y=Object(o["a"])(t.byteOffset,0);let v=l.byteOffset+y;for(let e=0;e<_;e++){const t=$c.createArrayBufferView(f,d.buffer,d.byteOffset+v,m);"SCALAR"===p?i[e]=t[0]:"VEC3"===p?i[e]=g.fromArray(t):"VEC4"===p&&(i[e]=$a.unpack(t)),v+=b}Object(r["a"])(e.cacheKey)&&(i3[n]=i)}return i};const o3={};function r3(e,t,n){return`${e.cacheKey}//${t}/${n}`}function a3(e){this._spline=e,this._lastTimeIndex=0}a3.prototype.findTimeInterval=hd.prototype.findTimeInterval,a3.prototype.evaluate=function(e,t){const n=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),i=this._spline.times,o=e>=i[n+1]?i[n+1]:i[n];return this._spline.evaluate(o,t)},Object.defineProperties(a3.prototype,{times:{get:function(){return this._spline.times}}}),a3.prototype.wrapTime=function(e){return this._spline.wrapTime(e)},a3.prototype.clampTime=function(e){return this._spline.clampTime(e)},e3.getAnimationSpline=function(e,t,n,i,o,a,s,c){const l=r3(e,t,i);let u=o3[l];if(!Object(r["a"])(u)){const t=a,n=c;1===t.length&&1===n.length?u=new B_(n[0]):"LINEAR"!==o.interpolation&&"STEP"!==o.interpolation||("translation"===s||"scale"===s?u=new fd({times:t,points:n}):"rotation"===s?u=new TD({times:t,points:n}):"weights"===s&&(u=new eS({times:t,weights:n})),Object(r["a"])(u)&&"STEP"===o.interpolation&&(u=new a3(u))),Object(r["a"])(e.cacheKey)&&(o3[l]=u)}return u};const s3={};e3.getSkinInverseBindMatrices=function(e,t){const n=n3(e,t);let i=s3[n];if(!Object(r["a"])(i)){const o=e.gltfInternal,r=o.buffers,a=o.bufferViews,s=t.bufferView,c=a[s],l=c.buffer,u=r[l],h=u.extras._pipeline.source,d=t.componentType,f=t.type,p=t.count,m=VZ(o,t);let _=c.byteOffset+t.byteOffset;const g=zZ(f);if(i=new Array(p),d===Jc.FLOAT&&f===cl.MAT4)for(let e=0;e<p;++e){const t=$c.createArrayBufferView(d,h.buffer,h.byteOffset+_,g);i[e]=Ne.fromArray(t),_+=m}s3[n]=i}return i};var c3=e3;const l3={NONE:0,REPEAT:1,MIRRORED_REPEAT:2};var u3=Object.freeze(l3),h3=Object.freeze({STOPPED:0,ANIMATING:1});function d3(e,t,n){this._name=n.name,this._startTime=gr.clone(e.startTime),this._delay=Object(o["a"])(e.delay,0),this._stopTime=e.stopTime,this.removeOnStop=Object(o["a"])(e.removeOnStop,!1),this._multiplier=Object(o["a"])(e.multiplier,1),this._reverse=Object(o["a"])(e.reverse,!1),this._loop=Object(o["a"])(e.loop,u3.NONE),this._animationTime=e.animationTime,this._prevAnimationDelta=void 0,this.start=new pi["a"],this.update=new pi["a"],this.stop=new pi["a"],this._state=h3.STOPPED,this._runtimeAnimation=n,this._computedStartTime=void 0,this._duration=void 0;const i=this;this._raiseStartEvent=function(){i.start.raiseEvent(t,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(t,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(t,i)}}Object.defineProperties(d3.prototype,{name:{get:function(){return this._name}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});var f3=d3;function p3(e){this.animationAdded=new pi["a"],this.animationRemoved=new pi["a"],this.animateWhilePaused=!1,this._model=e,this._scheduledAnimations=[],this._previousTime=void 0}function m3(e,t,n){const i=e._model,o=i._runtime.animations,r=o[t],a=new f3(n,i,r);return e._scheduledAnimations.push(a),e.animationAdded.raiseEvent(i,a),a}function _3(e,t){const n=e.channelEvaluators,i=n.length;for(let o=0;o<i;++o)n[o](t)}Object.defineProperties(p3.prototype,{length:{get:function(){return this._scheduledAnimations.length}}}),p3.prototype.add=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=this._model,n=t._runtime.animations;if(!Object(r["a"])(n))throw new a["a"]("Animations are not loaded. Wait for Model.readyPromise to resolve.");if(!Object(r["a"])(e.name)&&!Object(r["a"])(e.index))throw new a["a"]("Either options.name or options.index must be defined.");if(Object(r["a"])(e.multiplier)&&e.multiplier<=0)throw new a["a"]("options.multiplier must be greater than zero.");if(Object(r["a"])(e.index)&&(e.index>=n.length||e.index<0))throw new a["a"]("options.index must be a valid animation index.");if(Object(r["a"])(e.index))return m3(this,e.index,e);let i;const s=n.length;for(let o=0;o<s;++o)if(n[o].name===e.name){i=o;break}if(!Object(r["a"])(i))throw new a["a"]("options.name must be a valid animation name.");return m3(this,i,e)},p3.prototype.addAll=function(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(this._model._runtime.animations))throw new a["a"]("Animations are not loaded. Wait for Model.readyPromise to resolve.");if(Object(r["a"])(e.multiplier)&&e.multiplier<=0)throw new a["a"]("options.multiplier must be greater than zero.");const t=[],n=this._model,i=n._runtime.animations,s=i.length;for(let o=0;o<s;++o)t.push(m3(this,o,e));return t},p3.prototype.remove=function(e){if(Object(r["a"])(e)){const t=this._scheduledAnimations,n=t.indexOf(e);if(-1!==n)return t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0}return!1},p3.prototype.removeAll=function(){const e=this._model,t=this._scheduledAnimations,n=t.length;this._scheduledAnimations=[];for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])},p3.prototype.contains=function(e){return!!Object(r["a"])(e)&&-1!==this._scheduledAnimations.indexOf(e)},p3.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._scheduledAnimations[e]};const g3=[];function b3(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}p3.prototype.update=function(e){const t=this._scheduledAnimations;let n=t.length;if(0===n)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&gr.equals(e.time,this._previousTime))return!1;this._previousTime=gr.clone(e.time,this._previousTime);let i=!1;const a=e.time,c=this._model;for(let l=0;l<n;++l){const n=t[l],c=n._runtimeAnimation;Object(r["a"])(n._computedStartTime)||(n._computedStartTime=gr.addSeconds(Object(o["a"])(n.startTime,a),n.delay,new gr)),Object(r["a"])(n._duration)||(n._duration=c.stopTime*(1/n.multiplier));const u=n._computedStartTime,h=n._duration,d=n.stopTime,f=gr.lessThanOrEquals(u,a),p=Object(r["a"])(d)&&gr.greaterThan(a,d);let m=0;if(0!==h){const e=gr.secondsDifference(p?d:a,u);m=Object(r["a"])(n._animationTime)?n._animationTime(h,e):e/h}const _=n.loop===u3.REPEAT||n.loop===u3.MIRRORED_REPEAT,g=(f||_&&!Object(r["a"])(n.startTime))&&(m<=1||_)&&!p;if(m===n._prevAnimationDelta){const e=n._state===h3.STOPPED;if(g!==e)continue}if(n._prevAnimationDelta=m,g||n._state===h3.ANIMATING){if(g&&n._state===h3.STOPPED&&(n._state=h3.ANIMATING,n.start.numberOfListeners>0&&e.afterRender.push(n._raiseStartEvent)),n.loop===u3.REPEAT)m-=Math.floor(m);else if(n.loop===u3.MIRRORED_REPEAT){const e=Math.floor(m),t=m-e;m=e%2===1?1-t:t}n.reverse&&(m=1-m);let t=m*h*n.multiplier;t=s["a"].clamp(t,c.startTime,c.stopTime),_3(c,t),n.update.numberOfListeners>0&&(n._updateEventTime=t,e.afterRender.push(n._raiseUpdateEvent)),i=!0,g||(n._state=h3.STOPPED,n.stop.numberOfListeners>0&&e.afterRender.push(n._raiseStopEvent),n.removeOnStop&&g3.push(n))}}n=g3.length;for(let o=0;o<n;++o){const n=g3[o];t.splice(t.indexOf(n),1),e.afterRender.push(b3(this,c,n))}return g3.length=0,i};var y3=p3;function v3(e,t,n){this._name=t.name,this._id=n,this._uniformMap=e._uniformMaps[n],this._technique=void 0,this._program=void 0,this._values=void 0}Object.defineProperties(v3.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}}}),v3.prototype.setValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("name is required.");const n="u_"+e,i=this._uniformMap.values[n];if(!Object(r["a"])(i))throw new a["a"]("name must match a parameter name in the material's technique that is targetable and not optimized out.");i.value=i.clone(t,i.value)},v3.prototype.getValue=function(e){if(!Object(r["a"])(e))throw new a["a"]("name is required.");const t="u_"+e,n=this._uniformMap.values[t];if(Object(r["a"])(n))return n.value};var O3=v3;function w3(e,t,n){const i=[],o=e.primitives,r=o.length;for(let a=0;a<r;++a){const e=o[a];i[a]=t[e.material]}this._name=e.name,this._materials=i,this._id=n}Object.defineProperties(w3.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},materials:{get:function(){return this._materials}}});var A3=w3;function T3(e,t,n,i,o){this._model=e,this._runtimeNode=n,this._name=t.name,this._id=i,this.useMatrix=!1,this._show=!0,this._matrix=Ne.clone(o),this._originalMatrix=Ne.clone(o)}Object.defineProperties(T3.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,this._model._perNodeShowDirty=!0)}},matrix:{get:function(){return this._matrix},set:function(e){this._matrix=Ne.clone(e,this._matrix),this.useMatrix=!0;const t=this._model;t._cesiumAnimationsDirty=!0,this._runtimeNode.dirtyNumber=t._maxDirtyNumber}},originalMatrix:{get:function(){return this._originalMatrix}}}),T3.prototype.setMatrix=function(e){Ne.clone(e,this._matrix)};var C3=T3;const E3=65534;function x3(){}function S3(e,t,n,i,o){const a=o.vertexCopies,s=o.extraVertices,c=o.outlineCoordinates,l=e.gltfInternal,u=l.meshes[t],h=u.primitives[n],d=l.accessors,f=l.bufferViews;let p;for(const x in h.attributes)if(h.attributes.hasOwnProperty(x)){const e=h.attributes[x],t=d[e];if(Object(r["a"])(t)){p=t.count;break}}if(!Object(r["a"])(p))return;const m=d[h.indices],_=f[m.bufferView],g=d[i],b=f[g.bufferView],y=e._loadResources,v=y.getBuffer(_),O=y.getBuffer(b);let w=5123===m.componentType?new Uint16Array(v.buffer,v.byteOffset+m.byteOffset,m.count):new Uint32Array(v.buffer,v.byteOffset+m.byteOffset,m.count);const A=5123===g.componentType?new Uint16Array(O.buffer,O.byteOffset+g.byteOffset,g.count):new Uint32Array(O.buffer,O.byteOffset+g.byteOffset,g.count),T=p,C=[T];let E;for(E=0;E<A.length;E+=2){const e=A[E],t=A[E+1],n=Math.min(e,t),i=Math.max(e,t);C[n*T+i]=1}for(E=0;E<w.length;E+=3){let t=w[E],n=w[E+1],i=w[E+2];const o=!1,u=o||P3(C,t,n),h=o||P3(C,n,i),d=o||P3(C,i,t);let f=j3(c,t,n,i,u,h,d);while(f>=0){let o;if(o=f===t?a[t]:f===n?a[n]:a[i],void 0===o){o=p+s.length;let e=f;while(e>=p)e=s[e-p];s.push(e),a[f]=o}o>E3&&w instanceof Uint16Array&&(w=new Uint32Array(w),m.componentType=5125,_.buffer=l.buffers.push({byteLength:w.byteLength,extras:{_pipeline:{source:w.buffer}}})-1,_.byteLength=w.byteLength,_.byteOffset=0,e._loadResources.buffers[_.buffer]=new Uint8Array(w.buffer,0,w.byteLength),y.indexBuffersToCreate._array.forEach((function(e){e.id===m.bufferView&&(e.componentType=m.componentType)}))),f===t?(t=o,w[E]=o):f===n?(n=o,w[E+1]=o):(i=o,w[E+2]=o),Object(r["a"])(m.max)&&(m.max[0]=Math.max(m.max[0],o)),f=j3(c,t,n,i,u,h,d)}}}function I3(e,t,n,i,o){const r=3*t,a=e[r],s=e[r+1],c=e[r+2];return void 0===a?63:((a===n&&s===i&&c===o)<<0)+((a===n&&s===o&&c===i)<<1)+((a===i&&s===n&&c===o)<<2)+((a===i&&s===o&&c===n)<<3)+((a===o&&s===n&&c===i)<<4)+((a===o&&s===i&&c===n)<<5)}function D3(e){return(1&e)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}function j3(e,t,n,i,o,r,a){const s=a?1:0,c=o?1:0,l=0,u=I3(e,t,s,c,l);if(0===u)return t;const h=0,d=o?1:0,f=r?1:0,p=I3(e,n,h,d,f);if(0===p)return n;const m=a?1:0,_=0,g=r?1:0,b=I3(e,i,m,_,g);if(0===b)return i;const y=u&p&b;let v,O,w;if(1&y)v=0,O=1,w=2;else if(2&y)v=0,w=1,O=2;else if(4&y)O=0,v=1,w=2;else if(8&y)O=0,w=1,v=2;else if(16&y)w=0,v=1,O=2;else{if(!(32&y)){const e=D3(u),o=D3(p),r=D3(b);return e<o&&e<r?t:o<r?n:i}w=0,O=1,v=2}const A=3*t;e[A+v]=s,e[A+O]=c,e[A+w]=l;const T=3*n;e[T+v]=h,e[T+O]=d,e[T+w]=f;const C=3*i;return e[C+v]=m,e[C+O]=_,e[C+w]=g,-1}function P3(e,t,n){const i=e[0],o=Math.min(t,n)*i+Math.max(t,n);return 1===e[o]}function R3(e){const t=new Uint8Array(e);return t[e-1]=192,8===e?t[e-1]=96:4===e?t[e-1]=48:2===e?t[e-1]=24:1===e&&(t[e-1]=12),t}function M3(e,t){const n=e.gltfInternal,i=e._loadResources;let o,r;for(o=0;o<t.length;++o){const a=t[o],s=a.extras._pipeline.vertexNumberingScope;a.extras._pipeline.vertexNumberingScope=void 0;const c=s.extraVertices,l=i.getBuffer(a),u=a.byteStride||4,h=c.length,d=new Uint8Array(l.byteLength+h*u);for(d.set(l),r=0;r<h;++r){const e=c[r]*u,t=l.length+r*u;for(let n=0;n<u;++n)d[t+n]=d[e+n]}a.byteOffset=0,a.byteLength=d.byteLength;const f=n.buffers.push({byteLength:d.byteLength,extras:{_pipeline:{source:d.buffer}}})-1;a.buffer=f,i.buffers[f]=d;const p=s.accessors;for(r=0;r<p.length;++r){const e=p[r];n.accessors[e].count+=h}if(!s.createdOutlines){const t=s.outlineCoordinates,n=new Float32Array(t),o=e.gltfInternal.buffers.push({byteLength:n.byteLength,extras:{_pipeline:{source:n.buffer}}})-1;i.buffers[o]=new Uint8Array(n.buffer,0,n.byteLength);const a=e.gltfInternal.bufferViews.push({buffer:o,byteLength:n.byteLength,byteOffset:0,byteStride:3*Float32Array.BYTES_PER_ELEMENT,target:34962})-1,c=e.gltfInternal.accessors.push({bufferView:a,byteOffset:0,componentType:5126,count:n.length/3,type:"VEC3",min:[0,0,0],max:[1,1,1]})-1,l=s.primitives;for(r=0;r<l.length;++r)l[r].attributes._OUTLINE_COORDINATES=c;i.vertexBuffersToCreate.enqueue(a),s.createdOutlines=!0}}}function N3(e){const t=e.gltfInternal,n=e._loadResources;let i;for(i=0;i<t.buffers.length;++i){const e=t.buffers[i],o=t.bufferViews.filter(L3.bind(void 0,i)),r=o.reduce((function(e,t){return e+t.byteLength}),0);if(r===e.byteLength)continue;const a=new Uint8Array(r);let s=0;for(let t=0;t<o.length;++t){const e=o[t],i=n.getBuffer(e);a.set(i,s),e.byteOffset=s,s+=i.byteLength}n.buffers[i]=a,e.extras._pipeline.source=a.buffer,e.byteLength=r}}function L3(e,t){return t.buffer===e}function B3(e,t){const n=t.attributes;if(void 0===n)return;const i=e.gltfInternal;let o;for(const a in n){if(!n.hasOwnProperty(a))continue;const e=n[a],t=i.accessors[e],s=t.bufferView,c=i.bufferViews[s];if(Object(r["a"])(c.extras)||(c.extras={}),Object(r["a"])(c.extras._pipeline)||(c.extras._pipeline={}),Object(r["a"])(c.extras._pipeline.vertexNumberingScope)){if(void 0!==o&&c.extras._pipeline.vertexNumberingScope!==o)return}else c.extras._pipeline.vertexNumberingScope=o||{vertexCopies:[],extraVertices:[],outlineCoordinates:[],accessors:[],bufferViews:[],primitives:[],createdOutlines:!1};o=c.extras._pipeline.vertexNumberingScope,o.bufferViews.indexOf(c)<0&&o.bufferViews.push(c),o.accessors.indexOf(e)<0&&o.accessors.push(e)}return o.primitives.push(t),o}x3.hasExtension=function(e){return Object(r["a"])(e.extensionsRequired.CESIUM_primitive_outline)||Object(r["a"])(e.extensionsUsed.CESIUM_primitive_outline)},x3.outlinePrimitives=function(e){if(!x3.hasExtension(e))return;const t=e.gltfInternal,n=[];FZ.mesh(t,(function(t,i){FZ.meshPrimitive(t,(function(t,o){if(!Object(r["a"])(t.extensions))return;const a=t.extensions.CESIUM_primitive_outline;if(!Object(r["a"])(a))return;const s=B3(e,t);void 0!==s&&(n.indexOf(s)<0&&n.push(s),S3(e,i,o,a.indices,s))}))}));for(let i=0;i<n.length;++i)M3(e,n[i].bufferViews);N3(e)},x3.createTexture=function(e,t){let n=t.cache.modelOutliningCache;if(Object(r["a"])(n)||(n=t.cache.modelOutliningCache={}),Object(r["a"])(n.outlineTexture))return n.outlineTexture;const i=Math.min(4096,zF.maximumTextureSize);let o=i;const a=R3(o),s=[];while(o>1)o>>=1,s.push(R3(o));const c=new nk({context:t,source:{arrayBufferView:a,mipLevels:s},width:i,height:1,pixelFormat:XS.LUMINANCE,sampler:new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.LINEAR_MIPMAP_LINEAR,magnificationFilter:WF.LINEAR})});return n.outlineTexture=c,c};var F3=x3;const k3={LEFT:-1,NONE:0,RIGHT:1};var z3=Object.freeze(k3);const U3={modifyFragmentShader:function(e){return e=bG.replaceMain(e,"czm_splitter_main"),e+="uniform float czm_splitDirection; \nvoid main() \n{ \n#ifndef SHADOW_MAP\n if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; \n if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; \n#endif\n czm_splitter_main(); \n} \n",e},addUniforms:function(e,t){t.czm_splitDirection=function(){return e.splitDirection}}};var V3=U3;const H3=new g,G3=XQ.ModelState,q3="model/gltf-binary,model/gltf+json;q=0.8,application/json;q=0.2,*/*;q=0.01",W3=s["a"].EPSILON16;function Y3(e,t){e._cachedGltf=t}function X3(e){this._gltf=e.gltf,this.ready=e.ready,this.modelsToLoad=[],this.count=0}Object.defineProperties(X3.prototype,{gltf:{set:function(e){this._gltf=e},get:function(){return this._gltf}}}),X3.prototype.makeReady=function(e){this.gltf=e;const t=this.modelsToLoad,n=t.length;for(let i=0;i<n;++i){const e=t[i];e.isDestroyed()||Y3(e,this)}this.modelsToLoad=void 0,this.ready=!0};const K3={},J3={};function Z3(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.cacheKey;let n;if(this._cacheKey=t,this._cachedGltf=void 0,this._releaseGltfJson=Object(o["a"])(e.releaseGltfJson,!1),Object(r["a"])(t)&&Object(r["a"])(K3[t])&&K3[t].ready)n=K3[t],++n.count;else{let i=e.gltf;if(Object(r["a"])(i)){if(i instanceof ArrayBuffer&&(i=new Uint8Array(i)),i instanceof Uint8Array){const e=r$(i);n=new X3({gltf:e,ready:!0})}else n=new X3({gltf:e.gltf,ready:!0});n.count=1,Object(r["a"])(t)&&(K3[t]=n)}}Y3(this,n);const i=Object(o["a"])(e.basePath,"");this._resource=Et["a"].createIfNeeded(i);let a=e.credit;"string"===typeof a&&(a=new fi(a)),this._credit=a,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=Object(o["a"])(e.showCreditsOnScreen,!1),this.show=Object(o["a"])(e.show,!0),this.silhouetteColor=Object(o["a"])(e.silhouetteColor,j_.RED),this._silhouetteColor=new j_,this._silhouetteColorPreviousAlpha=1,this._normalAttributeName=void 0,this.silhouetteSize=Object(o["a"])(e.silhouetteSize,0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(this.modelMatrix),this._clampedModelMatrix=void 0,this.scale=Object(o["a"])(e.scale,1),this._scale=this.scale,this.minimumPixelSize=Object(o["a"])(e.minimumPixelSize,0),this._minimumPixelSize=this.minimumPixelSize,this.maximumScale=e.maximumScale,this._maximumScale=this.maximumScale,this.id=e.id,this._id=e.id,this.heightReference=Object(o["a"])(e.heightReference,qB.NONE),this._heightReference=this.heightReference,this._heightChanged=!1,this._removeUpdateHeightCallback=void 0;const s=e.scene;this._scene=s,Object(r["a"])(s)&&Object(r["a"])(s.terrainProviderChanged)&&(this._terrainProviderChangedCallback=s.terrainProviderChanged.addEventListener((function(){this._heightChanged=!0}),this)),this._pickObject=e.pickObject,this._allowPicking=Object(o["a"])(e.allowPicking,!0),this._ready=!1,this._readyPromise=Object(xr["a"])(),this.activeAnimations=new y3(this),this.clampAnimations=Object(o["a"])(e.clampAnimations,!0),this._defaultTexture=void 0,this._incrementallyLoadTextures=Object(o["a"])(e.incrementallyLoadTextures,!0),this._asynchronous=Object(o["a"])(e.asynchronous,!0),this.shadows=Object(o["a"])(e.shadows,wq.ENABLED),this._shadows=this.shadows,this.color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this._colorPreviousAlpha=1,this.colorBlendMode=Object(o["a"])(e.colorBlendMode,L2.HIGHLIGHT),this.colorBlendAmount=Object(o["a"])(e.colorBlendAmount,.5),this._colorShadingEnabled=!1,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._clippingPlanesState=0,this.referenceMatrix=void 0,this.backFaceCulling=Object(o["a"])(e.backFaceCulling,!0),this.showOutline=Object(o["a"])(e.showOutline,!0),this.splitDirection=Object(o["a"])(e.splitDirection,z3.NONE),this._splittingEnabled=!1,this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=Object(o["a"])(e.debugWireframe,!1),this._debugWireframe=!1,this._distanceDisplayCondition=e.distanceDisplayCondition,this._addBatchIdToGeneratedShaders=e.addBatchIdToGeneratedShaders,this._precreatedAttributes=e.precreatedAttributes,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._pickIdLoaded=e.pickIdLoaded,this._ignoreCommands=Object(o["a"])(e.ignoreCommands,!1),this._requestType=e.requestType,this._upAxis=Object(o["a"])(e.upAxis,vJ.Y),this._gltfForwardAxis=vJ.Z,this._forwardAxis=e.forwardAxis,this.cull=Object(o["a"])(e.cull,!0),this.opaquePass=Object(o["a"])(e.opaquePass,oz.OPAQUE),this._computedModelMatrix=new Ne,this._clippingPlanesMatrix=Ne.clone(Ne.IDENTITY),this._iblReferenceFrameMatrix=ce.clone(ce.IDENTITY),this._initialRadius=void 0,this._boundingSphere=void 0,this._scaledBoundingSphere=new Tt,this._state=G3.NEEDS_LOAD,this._loadResources=void 0,this._mode=void 0,this._perNodeShowDirty=!1,this._cesiumAnimationsDirty=!1,this._dirty=!1,this._maxDirtyNumber=0,this._runtime={animations:void 0,articulationsByName:void 0,articulationsByStageKey:void 0,stagesByKey:void 0,rootNodes:void 0,nodes:void 0,nodesByName:void 0,skinnedNodes:void 0,meshesByName:void 0,materialsByName:void 0,materialsById:void 0},this._uniformMaps={},this._extensionsUsed=void 0,this._extensionsRequired=void 0,this._quantizedUniforms={},this._programPrimitives={},this._rendererResources={buffers:{},vertexArrays:{},programs:{},sourceShaders:{},silhouettePrograms:{},textures:{},samplers:{},renderStates:{}},this._cachedRendererResources=void 0,this._loadRendererResourcesFromCache=!1,e.dequantizeInShader&&WL("Model.dequantizeInShader","The Model dequantizeInShader constructor parameter was deprecated in CesiumJS 1.94 and will be removed in 1.95"),this._dequantizeInShader=Object(o["a"])(e.dequantizeInShader,!0),this._decodedData={},this._cachedGeometryByteLength=0,this._cachedTexturesByteLength=0,this._geometryByteLength=0,this._texturesByteLength=0,this._trianglesLength=0,this._pointsLength=0,this._sourceTechniques={},this._sourcePrograms={},this._quantizedVertexShaders={},this._nodeCommands=[],this._pickIds=[],this._rtcCenter=void 0,this._rtcCenterEye=void 0,this._rtcCenter3D=void 0,this._rtcCenter2D=void 0,this._sourceVersion=void 0,this._sourceKHRTechniquesWebGL=void 0,this._lightColor=g.clone(e.lightColor),Object(r["a"])(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new mJ,this._shouldDestroyImageBasedLighting=!0),this._shouldRegenerateShaders=!1}function $3(e){return e.stencilBuffer}function Q3(e){return!j_.equals(e.color,j_.WHITE)||e.colorBlendMode!==L2.HIGHLIGHT}function e4(e){const t=e._clippingPlanes;return Object(r["a"])(t)&&t.enabled&&0!==t.length}function t4(e){const t=$L(e);return"glTF"===t}function n4(e,t,n){if(e._state!==G3.LOADED)throw new a["a"]("The model is not loaded. Use Model.readyPromise or wait for Model.ready to be true.");if(!Object(r["a"])(n))throw new a["a"]("name is required.");return e._runtime[t][n]}Object.defineProperties(Z3.prototype,{gltf:{get:function(){return WL("Model.gltf","Model.gltf getter was deprecated in CesiumJS 1.94 and will be removed in 1.95"),this.gltfInternal}},gltfInternal:{get:function(){return Object(r["a"])(this._cachedGltf)?this._cachedGltf.gltf:void 0}},releaseGltfJson:{get:function(){return this._releaseGltfJson}},cacheKey:{get:function(){return this._cacheKey}},basePath:{get:function(){return WL("model.basePath","Model.basePath getter is deprecated in CesiumJS 1.94. It will be removed in CesiumJS 1.95"),this.basePathInternal}},basePathInternal:{get:function(){return this._resource.url}},boundingSphere:{get:function(){return WL("model.boundingSphere","Model.boundingSphere currently returns results in model space. In CesiumJS 1.95, model.boundingSphere will be changed to return results in world space. The calling code will no longer need to multiply the bounding sphere by the model matrix"),this.boundingSphereInternal}},boundingSphereInternal:{get:function(){if(this._state!==G3.LOADED)throw new a["a"]("The model is not loaded. Use Model.readyPromise or wait for Model.ready to be true.");let e=this.modelMatrix;this.heightReference!==qB.NONE&&this._clampedModelMatrix&&(e=this._clampedModelMatrix);const t=Ne.getScale(e,H3),n=Object(r["a"])(this.maximumScale)?Math.min(this.maximumScale,this.scale):this.scale;g.multiplyByScalar(t,n,t);const i=this._scaledBoundingSphere;return i.center=g.multiplyComponents(this._boundingSphere.center,t,i.center),i.radius=g.maximumComponent(t)*this._initialRadius,Object(r["a"])(this._rtcCenter)&&g.add(this._rtcCenter,i.center,i.center),i}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},asynchronous:{get:function(){return this._asynchronous}},allowPicking:{get:function(){return this._allowPicking}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},pendingTextureLoads:{get:function(){return WL("Model.pendingTextureLoads","The Model.pendingTextureLoads getter was deprecated in CesiumJS 1.94 and will be removed in CesiumJS 1.95"),this.pendingTextureLoadsInternal}},pendingTextureLoadsInternal:{get:function(){return Object(r["a"])(this._loadResources)?this._loadResources.pendingTextureLoads:0}},dirty:{get:function(){return this._dirty}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far must be greater than near");this._distanceDisplayCondition=sw.clone(e,this._distanceDisplayCondition)}},extensionsUsed:{get:function(){return Object(r["a"])(this._extensionsUsed)||(this._extensionsUsed=XQ.getUsedExtensions(this.gltfInternal)),this._extensionsUsed}},extensionsRequired:{get:function(){return Object(r["a"])(this._extensionsRequired)||(this._extensionsRequired=XQ.getRequiredExtensions(this.gltfInternal)),this._extensionsRequired}},upAxis:{get:function(){return this._upAxis}},forwardAxis:{get:function(){return Object(r["a"])(this._forwardAxis)?this._forwardAxis:this._gltfForwardAxis}},trianglesLength:{get:function(){return this._trianglesLength}},pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},texturesByteLength:{get:function(){return this._texturesByteLength}},cachedGeometryByteLength:{get:function(){return this._cachedGeometryByteLength}},cachedTexturesByteLength:{get:function(){return this._cachedTexturesByteLength}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&M2.setOwner(e,this,"_clippingPlanes")}},pickIds:{get:function(){return this._pickIds}},lightColor:{get:function(){return this._lightColor},set:function(e){const t=this._lightColor;e===t||g.equals(e,t)||(this._shouldRegenerateShaders=this._shouldRegenerateShaders||Object(r["a"])(t)&&!Object(r["a"])(e)||Object(r["a"])(e)&&!Object(r["a"])(t),this._lightColor=g.clone(e,t))}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){i["a"].typeOf.object("imageBasedLighting",this._imageBasedLighting),e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this._shouldRegenerateShaders=!0)}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){if(this._showCreditsOnScreen!==e){Object(r["a"])(this._credit)&&(this._credit.showOnScreen=e);const t=this._resourceCredits.length;for(let i=0;i<t;i++)this._resourceCredits[i].showOnScreen=e;const n=this._gltfCredits.length;for(let i=0;i<n;i++)this._gltfCredits[i].showOnScreen=e}this._showCreditsOnScreen=e}}}),Z3.silhouetteSupported=function(e){return $3(e.context)},Z3.fromGltf=function(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.url))throw new a["a"]("options.url is required");const t=e.url;e=Object(jL["a"])(e);const n=Et["a"].createIfNeeded(t),i=Object(o["a"])(e.basePath,n.clone()),s=Et["a"].createIfNeeded(i);let c=Object(o["a"])(e.cacheKey,J3[Object(Ct["a"])(n.url)]);Object(r["a"])(c)||(c=RL(),J3[Object(Ct["a"])(n.url)]=c),Object(r["a"])(e.basePath)&&!Object(r["a"])(e.cacheKey)&&(c+=s.url),e.cacheKey=c,e.basePath=s;const l=new Z3(e);let u=K3[c];return Object(r["a"])(u)?u.ready||(++u.count,u.modelsToLoad.push(l)):(u=new X3({ready:!1}),u.count=1,u.modelsToLoad.push(l),Y3(l,u),K3[c]=u,Object(r["a"])(n.headers.Accept)||(n.headers.Accept=q3),n.fetchArrayBuffer().then((function(e){const t=new Uint8Array(e);if(t4(t)){const e=r$(t);u.makeReady(e)}else{const e=kd(t);u.makeReady(e)}const i=l._resourceCredits,o=n.credits;if(Object(r["a"])(o)){const e=o.length;for(let t=0;t<e;t++)i.push(o[t])}})).catch(XQ.getFailedLoadFunction(l,"model",n.url))),l},Z3._gltfCache=K3,Z3.prototype.getNode=function(e){const t=n4(this,"nodesByName",e);return Object(r["a"])(t)?t.publicNode:void 0},Z3.prototype.getMesh=function(e){return n4(this,"meshesByName",e)},Z3.prototype.getMaterial=function(e){return n4(this,"materialsByName",e)},Z3.prototype.setArticulationStage=function(e,t){i["a"].typeOf.number("value",t);const n=n4(this,"stagesByKey",e),o=n4(this,"articulationsByStageKey",e);Object(r["a"])(n)&&Object(r["a"])(o)&&(t=s["a"].clamp(t,n.minimumValue,n.maximumValue),s["a"].equalsEpsilon(n.currentValue,t,W3)||(n.currentValue=t,o.isDirty=!0))};const i4=new g,o4=new ce;function r4(e,t){i["a"].typeOf.object("stage",e),i["a"].typeOf.object("result",t);const n=e.currentValue,o=i4;let r;switch(e.type){case"xRotate":r=ce.fromRotationX(s["a"].toRadians(n),o4),Ne.multiplyByMatrix3(t,r,t);break;case"yRotate":r=ce.fromRotationY(s["a"].toRadians(n),o4),Ne.multiplyByMatrix3(t,r,t);break;case"zRotate":r=ce.fromRotationZ(s["a"].toRadians(n),o4),Ne.multiplyByMatrix3(t,r,t);break;case"xTranslate":o.x=n,o.y=0,o.z=0,Ne.multiplyByTranslation(t,o,t);break;case"yTranslate":o.x=0,o.y=n,o.z=0,Ne.multiplyByTranslation(t,o,t);break;case"zTranslate":o.x=0,o.y=0,o.z=n,Ne.multiplyByTranslation(t,o,t);break;case"xScale":o.x=n,o.y=1,o.z=1,Ne.multiplyByScale(t,o,t);break;case"yScale":o.x=1,o.y=n,o.z=1,Ne.multiplyByScale(t,o,t);break;case"zScale":o.x=1,o.y=1,o.z=n,Ne.multiplyByScale(t,o,t);break;case"uniformScale":Ne.multiplyByUniformScale(t,n,t);break;default:break}return t}const a4=new Ne;function s4(e){const t=e.gltfInternal,n=e._loadResources;FZ.buffer(t,(function(e,t){n.buffers[t]=e.extras._pipeline.source}))}function c4(e,t){return function(n){const i=e._loadResources,o=new Uint8Array(n);--i.pendingBufferLoads,e.gltfInternal.buffers[t].extras._pipeline.source=o}}function l4(e){const t=e.gltfInternal.bufferViews,n=e._loadResources.vertexBuffersToCreate;FZ.bufferView(e.gltfInternal,(function(e,t){e.target===Jc.ARRAY_BUFFER&&n.enqueue(t)}));const i=e._loadResources.indexBuffersToCreate,o={};FZ.accessor(e.gltfInternal,(function(e){const n=e.bufferView;if(!Object(r["a"])(n))return;const a=t[n];a.target!==Jc.ELEMENT_ARRAY_BUFFER||Object(r["a"])(o[n])||(o[n]=!0,i.enqueue({id:n,componentType:e.componentType}))}))}function u4(e){const t=e.gltfInternal;if(!LZ(t,"KHR_techniques_webgl"))return;const n=e._sourcePrograms,i=e._sourceTechniques,o=t.extensions.KHR_techniques_webgl.programs;FZ.technique(t,(function(e,t){i[t]=Object(jL["a"])(e);const a=e.program;Object(r["a"])(n[a])||(n[a]=Object(jL["a"])(o[a]))}))}function h4(e,t,n){return function(i){const o=e._loadResources;o.shaders[n]={source:i,type:t,bufferView:void 0},--o.pendingShaderLoads,e._rendererResources.sourceShaders[n]=i}}function d4(e){const t=e.gltfInternal,n=t.buffers,i=t.bufferViews,o=e._rendererResources.sourceShaders;FZ.shader(t,(function(t,a){if(Object(r["a"])(t.bufferView)){const e=t.bufferView,r=i[e],s=r.buffer,c=n[s],l=Bd(c.extras._pipeline.source,r.byteOffset,r.byteLength);o[a]=l}else if(Object(r["a"])(t.extras._pipeline.source))o[a]=t.extras._pipeline.source;else{++e._loadResources.pendingShaderLoads;const n=e._resource.getDerivedResource({url:t.uri});n.fetchText().then(h4(e,t.type,a)).catch(XQ.getFailedLoadFunction(e,"shader",n.url))}}))}function f4(e){const t=e._sourceTechniques;for(const n in t)if(t.hasOwnProperty(n)){const i=t[n];e._loadResources.programsToCreate.enqueue({programId:i.program,techniqueId:n})}}function p4(e){const t={},n={},i={};e._runtime.articulationsByName=t,e._runtime.articulationsByStageKey=n,e._runtime.stagesByKey=i;const o=e.gltfInternal;if(!LZ(o,"AGI_articulations")||!Object(r["a"])(o.extensions)||!Object(r["a"])(o.extensions.AGI_articulations))return;const a=o.extensions.AGI_articulations.articulations;if(!Object(r["a"])(a))return;const s=a.length;for(let r=0;r<s;++r){const e=Object(jL["a"])(a[r]);e.nodes=[],e.isDirty=!0,t[e.name]=e;const o=e.stages.length;for(let t=0;t<o;++t){const o=e.stages[t];o.currentValue=o.initialValue;const r=`${e.name} ${o.name}`;n[r]=e,i[r]=o}}}function m4(e,t){return function(n){const i=e._loadResources;let o;--i.pendingTextureLoads,Array.isArray(n)&&(o=n.slice(1,n.length).map((function(e){return e.bufferView})),n=n[0]),i.texturesToCreate.enqueue({id:t,image:n,bufferView:n.bufferView,width:n.width,height:n.height,internalFormat:n.internalFormat,mipLevels:o})}}Z3.prototype.applyArticulations=function(){const e=this._runtime.articulationsByName;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];if(n.isDirty){n.isDirty=!1;const e=n.nodes.length;for(let t=0;t<e;++t){const e=n.nodes[t];let i=Ne.clone(e.originalMatrix,a4);const o=n.stages.length;for(let t=0;t<o;++t){const e=n.stages[t];i=r4(e,i)}e.matrix=i}}}};const _4=/(^data:image\/ktx2)|(\.ktx2$)/i;function g4(e,t,n){const i=e.gltfInternal,o=i.images;let a;FZ.texture(i,(function(i,s){let c=i.source;Object(r["a"])(i.extensions)&&Object(r["a"])(i.extensions.EXT_texture_webp)&&n?c=i.extensions.EXT_texture_webp.source:Object(r["a"])(i.extensions)&&Object(r["a"])(i.extensions.KHR_texture_basisu)&&t.supportsBasis&&(c=i.extensions.KHR_texture_basisu.source);const l=o[c],u=l.bufferView,h=l.mimeType;if(a=l.uri,Object(r["a"])(u))e._loadResources.texturesToCreateFromBufferView.enqueue({id:s,image:void 0,bufferView:u,mimeType:h});else{++e._loadResources.pendingTextureLoads;const t=e._resource.getDerivedResource({url:a});let n;n=_4.test(a)?rB(t):t.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0}),n.then(m4(e,s,c)).catch(XQ.getFailedLoadFunction(e,"image",t.url))}}))}const b4=new Ne;function y4(e){const t={},n={},i=[],o=e._loadResources.skinnedNodesIds,a=e._runtime.articulationsByName;FZ.node(e.gltfInternal,(function(s,c){const l={matrix:void 0,translation:void 0,rotation:void 0,scale:void 0,computedShow:!0,transformToRoot:new Ne,computedMatrix:new Ne,dirtyNumber:0,commands:[],inverseBindMatrices:void 0,bindShapeMatrix:void 0,joints:[],computedJointMatrices:[],jointName:s.jointName,weights:[],children:[],parents:[],publicNode:void 0};if(l.publicNode=new C3(e,s,l,c,XQ.getTransform(s)),t[c]=l,n[s.name]=l,Object(r["a"])(s.skin)&&(o.push(c),i.push(l)),Object(r["a"])(s.extensions)&&Object(r["a"])(s.extensions.AGI_articulations)){const e=s.extensions.AGI_articulations.articulationName;if(Object(r["a"])(e)){let t=Ne.clone(l.publicNode.originalMatrix,b4);const n=a[e];n.nodes.push(l.publicNode);const i=n.stages.length;for(let e=0;e<i;++e){const i=n.stages[e];t=r4(i,t)}l.publicNode.matrix=t}}})),e._runtime.nodes=t,e._runtime.nodesByName=n,e._runtime.skinnedNodes=i}function v4(e){const t=e.gltfInternal,n=e._sourceTechniques,i={},o={},a=e._uniformMaps;FZ.material(t,(function(t,s){a[s]={uniformMap:void 0,values:void 0,jointMatrixUniformName:void 0,morphWeightsUniformName:void 0};const c=new O3(e,t,s);if(Object(r["a"])(t.extensions)&&Object(r["a"])(t.extensions.KHR_techniques_webgl)){const e=t.extensions.KHR_techniques_webgl.technique;c._technique=e,c._program=n[e].program,FZ.materialValue(t,(function(e,t){Object(r["a"])(c._values)||(c._values={}),c._values[t]=Object(jL["a"])(e)}))}i[t.name]=c,o[s]=c})),e._runtime.materialsByName=i,e._runtime.materialsById=o}function O4(e){const t={},n=e._runtime.materialsById;FZ.mesh(e.gltfInternal,(function(i,o){t[i.name]=new A3(i,n,o),(Object(r["a"])(e.extensionsUsed.WEB3D_quantized_attributes)||e._dequantizeInShader)&&FZ.meshPrimitive(i,(function(t,n){const i=D4(e,t);let a=e._programPrimitives[i];Object(r["a"])(a)||(a={},e._programPrimitives[i]=a),a[`${o}.primitive.${n}`]=t}))})),e._runtime.meshesByName=t}function w4(e){const t=e.gltfInternal.asset,n=t.copyright;if(!Object(r["a"])(n))return;const i=e._showCreditsOnScreen,o=n.split(";").map((function(e){return new fi(e.trim(),i)}));e._gltfCredits=o}const A4=function(){this.id=void 0,this.model=void 0,this.context=void 0};function T4(e,t,n){const i=t._loadResources,o=t.gltfInternal.bufferViews;let a=o[e];Object(r["a"])(a)||(a=i.createdBufferViews[e]);const s=SG.createVertexBuffer({context:n,typedArray:i.getBuffer(a),usage:EG.STATIC_DRAW});s.vertexArrayDestroyable=!1,t._rendererResources.buffers[e]=s,t._geometryByteLength+=s.sizeInBytes}A4.prototype.set=function(e,t,n){this.id=e,this.model=t,this.context=n},A4.prototype.execute=function(){T4(this.id,this.model,this.context)};const C4=function(){this.id=void 0,this.componentType=void 0,this.model=void 0,this.context=void 0};function E4(e,t,n,i){const o=n._loadResources,a=n.gltfInternal.bufferViews;let s=a[e];Object(r["a"])(s)||(s=o.createdBufferViews[e]);const c=SG.createIndexBuffer({context:i,typedArray:o.getBuffer(s),usage:EG.STATIC_DRAW,indexDatatype:t});c.vertexArrayDestroyable=!1,n._rendererResources.buffers[e]=c,n._geometryByteLength+=c.sizeInBytes}C4.prototype.set=function(e,t,n,i){this.id=e,this.componentType=t,this.model=n,this.context=i},C4.prototype.execute=function(){E4(this.id,this.componentType,this.model,this.context)};const x4=new A4,S4=new C4;function I4(e,t){const n=e._loadResources;if(0!==n.pendingBufferLoads)return;const i=t.context,o=n.vertexBuffersToCreate,r=n.indexBuffersToCreate;let a;if(e.asynchronous){while(o.length>0){if(x4.set(o.peek(),e,i),!t.jobScheduler.execute(x4,Q2.BUFFER))break;o.dequeue()}while(r.length>0){if(a=r.peek(),S4.set(a.id,a.componentType,e,i),!t.jobScheduler.execute(S4,Q2.BUFFER))break;r.dequeue()}}else{while(o.length>0)T4(o.dequeue(),e,i);while(r.length>0)a=r.dequeue(),E4(a.id,a.componentType,e,i)}}function D4(e,t){const n=e._runtime.materialsById[t.material];if(Object(r["a"])(n))return n._program}function j4(e,t,n){let i;const o=n._programPrimitives[t];if(!Object(r["a"])(o))return e;let a,s;for(a in o)if(o.hasOwnProperty(a)&&(i=o[a],D4(n,i)===t))break;if(n._programPrimitives[t]=void 0,n.extensionsUsed.WEB3D_quantized_attributes)s=XQ.modifyShaderForQuantizedAttributes(n.gltfInternal,i,e),n._quantizedUniforms[t]=s.uniforms;else{const t=n._decodedData[a];if(!Object(r["a"])(t))return e;s=XQ.modifyShaderForDracoQuantizedAttributes(n.gltfInternal,i,e,t.attributes)}return s.shader}function P4(e){return e=bG.replaceMain(e,"gltf_blend_main"),e+="uniform vec4 gltf_color; \nuniform float gltf_colorBlend; \nvoid main() \n{ \n gltf_blend_main(); \n gl_FragColor.rgb = mix(gl_FragColor.rgb, gltf_color.rgb, gltf_colorBlend); \n float highlight = ceil(gltf_colorBlend); \n gl_FragColor.rgb *= mix(gltf_color.rgb, vec3(1.0), highlight); \n gl_FragColor.a *= gltf_color.a; \n} \n",e}function R4(e,t,n){return Object(r["a"])(n)&&(e=n(e,t)),e}const M4=function(){this.programToCreate=void 0,this.model=void 0,this.context=void 0};function N4(e,t,n){const i=e.programId,o=e.techniqueId,a=t._sourcePrograms[i],s=t._rendererResources.sourceShaders;let c=s[a.vertexShader];const l=s[a.fragmentShader],u=t._quantizedVertexShaders;if(t.extensionsUsed.WEB3D_quantized_attributes||t._dequantizeInShader){let e=u[i];Object(r["a"])(e)||(e=j4(c,i,t),u[i]=e),c=e}const h=R4(c,i,t._vertexShaderLoaded);let d=R4(l,i,t._fragmentShaderLoaded);Object(r["a"])(t._uniformMapLoaded)||(d="uniform vec4 czm_pickColor;\n"+d);const f=t._imageBasedLighting,p=f.enabled;if(p&&(d="#define USE_IBL_LIGHTING \n\n"+d),Object(r["a"])(t._lightColor)&&(d="#define USE_CUSTOM_LIGHT_COLOR \n\n"+d),("2.0"!==t._sourceVersion||t._sourceKHRTechniquesWebGL)&&(d=bG.replaceMain(d,"non_gamma_corrected_main"),d+="\nvoid main() { \n non_gamma_corrected_main(); \n gl_FragColor = czm_gammaCorrect(gl_FragColor); \n} \n"),pJ.isSupported(n)){const e=f.useSphericalHarmonicCoefficients,t=f.useSpecularEnvironmentMaps,n=e||t||p;n&&(d="uniform mat3 gltf_iblReferenceFrameMatrix; \n"+d),Object(r["a"])(f.sphericalHarmonicCoefficients)?d="#define DIFFUSE_IBL \n#define CUSTOM_SPHERICAL_HARMONICS \nuniform vec3 gltf_sphericalHarmonicCoefficients[9]; \n"+d:f.useDefaultSphericalHarmonics&&(d="#define DIFFUSE_IBL \n"+d),Object(r["a"])(f.specularEnvironmentMapAtlas)&&f.specularEnvironmentMapAtlas.ready?d="#define SPECULAR_IBL \n#define CUSTOM_SPECULAR_IBL \nuniform sampler2D gltf_specularMap; \nuniform vec2 gltf_specularMapSize; \nuniform float gltf_maxSpecularLOD; \n"+d:f.useDefaultSpecularMaps&&(d="#define SPECULAR_IBL \n"+d)}Object(r["a"])(f.luminanceAtZenith)&&(d="#define USE_SUN_LUMINANCE \nuniform float gltf_luminanceAtZenith;\n"+d),B4(i,o,d,h,t,n)}function L4(e,t,n){const i=e.programId,o=e.techniqueId,a=t._sourcePrograms[i],s=t._rendererResources.sourceShaders,c=t._quantizedVertexShaders,l=t.clippingPlanes,u=e4(t);let h=s[a.vertexShader];const d=s[a.fragmentShader];(t.extensionsUsed.WEB3D_quantized_attributes||t._dequantizeInShader)&&(h=c[i]);let f=d;Q3(t)&&(f=Z3._modifyShaderForColor(f)),u&&(f=o6(f,l,n)),t.splitDirection!==z3.NONE&&(f=V3.modifyFragmentShader(f));const p=R4(h,i,t._vertexShaderLoaded);let m=R4(f,i,t._fragmentShaderLoaded);Object(r["a"])(t._uniformMapLoaded)||(m="uniform vec4 czm_pickColor;\n"+m);const _=t._imageBasedLighting,g=_.enabled;if(g&&(m="#define USE_IBL_LIGHTING \n\n"+m),Object(r["a"])(t._lightColor)&&(m="#define USE_CUSTOM_LIGHT_COLOR \n\n"+m),("2.0"!==t._sourceVersion||t._sourceKHRTechniquesWebGL)&&(m=bG.replaceMain(m,"non_gamma_corrected_main"),m+="\nvoid main() { \n non_gamma_corrected_main(); \n gl_FragColor = czm_gammaCorrect(gl_FragColor); \n} \n"),pJ.isSupported(n)){const e=_.useSphericalHarmonicCoefficients,t=_.useSpecularEnvironmentMaps,n=e||t||g;n&&(m="uniform mat3 gltf_iblReferenceFrameMatrix; \n"+m),Object(r["a"])(_.sphericalHarmonicCoefficients)?m="#define DIFFUSE_IBL \n#define CUSTOM_SPHERICAL_HARMONICS \nuniform vec3 gltf_sphericalHarmonicCoefficients[9]; \n"+m:_.useDefaultSphericalHarmonics&&(m="#define DIFFUSE_IBL \n"+m),Object(r["a"])(_.specularEnvironmentMapAtlas)&&_.specularEnvironmentMapAtlas.ready?m="#define SPECULAR_IBL \n#define CUSTOM_SPECULAR_IBL \nuniform sampler2D gltf_specularMap; \nuniform vec2 gltf_specularMapSize; \nuniform float gltf_maxSpecularLOD; \n"+m:_.useDefaultSpecularMaps&&(m="#define SPECULAR_IBL \n"+m)}Object(r["a"])(_.luminanceAtZenith)&&(m="#define USE_SUN_LUMINANCE \nuniform float gltf_luminanceAtZenith;\n"+m),B4(i,o,m,p,t,n)}function B4(e,t,n,i,o,r){const a=o._sourceTechniques[t],s=XQ.createAttributeLocations(a,o._precreatedAttributes);o._rendererResources.programs[e]=IU.fromCache({context:r,vertexShaderSource:i,fragmentShaderSource:n,attributeLocations:s})}M4.prototype.set=function(e,t,n){this.programToCreate=e,this.model=t,this.context=n},M4.prototype.execute=function(){N4(this.programToCreate,this.model,this.context)};const F4=new M4;function k4(e,t){const n=e._loadResources,i=n.programsToCreate;if(0!==n.pendingShaderLoads)return;if(0!==n.pendingBufferLoads)return;const o=t.context;if(e.asynchronous)while(i.length>0){if(F4.set(i.peek(),e,o),!t.jobScheduler.execute(F4,Q2.PROGRAM))break;i.dequeue()}else while(i.length>0)N4(i.dequeue(),e,o)}function z4(e,t){return function(n){e.texturesToCreate.enqueue({id:t.id,image:n,bufferView:void 0}),--e.pendingBufferViewToImage}}function U4(e){const t=e._loadResources;if(0===t.pendingBufferLoads)while(t.texturesToCreateFromBufferView.length>0){const n=t.texturesToCreateFromBufferView.dequeue(),i=e.gltfInternal,o=i.bufferViews[n.bufferView],r=i.textures[n.id].source,a=XQ.getFailedLoadFunction(e,"image",`id: ${n.id}, bufferView: ${n.bufferView}`);if("image/ktx2"===n.mimeType){const i=new Uint8Array(t.getBuffer(o));rB(i).then(m4(e,n.id,r)).catch(a),++e._loadResources.pendingTextureLoads}else{const e=z4(t,n);nB({uint8Array:t.getBuffer(o),format:n.mimeType,flipY:!1,skipColorSpaceConversion:!0}).then(e).catch(a),++t.pendingBufferViewToImage}}}function V4(e){const t=e._loadResources;if(t.createSamplers){t.createSamplers=!1;const n=e._rendererResources.samplers;FZ.sampler(e.gltfInternal,(function(e,t){n[t]=new $F({wrapS:e.wrapS,wrapT:e.wrapT,minificationFilter:e.minFilter,magnificationFilter:e.magFilter})}))}}const H4=function(){this.gltfTexture=void 0,this.model=void 0,this.context=void 0};function G4(e,t,n){const i=t.gltfInternal.textures,o=i[e.id],a=t._rendererResources.samplers;let c=a[o.sampler];Object(r["a"])(c)||(c=new $F({wrapS:JF.REPEAT,wrapT:JF.REPEAT}));let l=!1;const u=t.gltfInternal.materials,h=u.length;for(let s=0;s<h;++s){const t=u[s];if(Object(r["a"])(t.extensions)&&Object(r["a"])(t.extensions.KHR_techniques_webgl)){const n=t.extensions.KHR_techniques_webgl.values;for(const t in n)if(n.hasOwnProperty(t)&&-1!==t.indexOf("Texture")){const i=n[t];if(i.index===e.id&&Object(r["a"])(i.extensions)&&Object(r["a"])(i.extensions.KHR_texture_transform)){l=!0;break}}}if(l)break}const d=c.wrapS,f=c.wrapT;let p=c.minificationFilter;l&&p!==XF.LINEAR&&p!==XF.NEAREST&&(p=p===XF.NEAREST_MIPMAP_NEAREST||p===XF.NEAREST_MIPMAP_LINEAR?XF.NEAREST:XF.LINEAR,c=new $F({wrapS:c.wrapS,wrapT:c.wrapT,minificationFilter:p,magnificationFilter:c.magnificationFilter}));const m=e.internalFormat,_=!(Object(r["a"])(m)&&XS.isCompressedFormat(m))&&(p===XF.NEAREST_MIPMAP_NEAREST||p===XF.NEAREST_MIPMAP_LINEAR||p===XF.LINEAR_MIPMAP_NEAREST||p===XF.LINEAR_MIPMAP_LINEAR),g=_||d===JF.REPEAT||d===JF.MIRRORED_REPEAT||f===JF.REPEAT||f===JF.MIRRORED_REPEAT;let b,y,v=e.image;if(Object(r["a"])(m)){b=!s["a"].isPowerOfTwo(e.width)||!s["a"].isPowerOfTwo(e.height),!n.webgl2&&XS.isCompressedFormat(m)&&b&&g&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly. See the Model.js constructor documentation for more information.");let t=c.minificationFilter;Object(r["a"])(e.mipLevels)||p!==XF.NEAREST_MIPMAP_NEAREST&&p!==XF.NEAREST_MIPMAP_LINEAR?Object(r["a"])(e.mipLevels)||p!==XF.LINEAR_MIPMAP_NEAREST&&p!==XF.LINEAR_MIPMAP_LINEAR||(t=XF.LINEAR):t=XF.NEAREST,c=new $F({wrapS:c.wrapS,wrapT:c.wrapT,minificationFilter:t,magnificationFilter:c.magnificationFilter}),y=new nk({context:n,source:{arrayBufferView:e.bufferView,mipLevels:e.mipLevels},width:e.width,height:e.height,pixelFormat:m,sampler:c})}else if(Object(r["a"])(v)){if(b=!s["a"].isPowerOfTwo(v.width)||!s["a"].isPowerOfTwo(v.height),g&&b){const e=document.createElement("canvas");e.width=s["a"].nextPowerOfTwo(v.width),e.height=s["a"].nextPowerOfTwo(v.height);const t=e.getContext("2d");t.drawImage(v,0,0,v.width,v.height,0,0,e.width,e.height),v=e}y=new nk({context:n,source:v,pixelFormat:o.internalFormat,pixelDatatype:o.type,sampler:c,flipY:!1,skipColorSpaceConversion:!0}),_&&y.generateMipmap()}Object(r["a"])(y)&&(t._rendererResources.textures[e.id]=y,t._texturesByteLength+=y.sizeInBytes)}H4.prototype.set=function(e,t,n){this.gltfTexture=e,this.model=t,this.context=n},H4.prototype.execute=function(){G4(this.gltfTexture,this.model,this.context)};const q4=new H4;function W4(e,t){const n=t.context,i=e._loadResources.texturesToCreate;if(e.asynchronous)while(i.length>0){if(q4.set(i.peek(),e,n),!t.jobScheduler.execute(q4,Q2.TEXTURE))break;i.dequeue()}else while(i.length>0)G4(i.dequeue(),e,n)}function Y4(e,t){const n=e._sourceTechniques,i={};let o,a;const s=e._runtime.materialsById[t.material];if(!Object(r["a"])(s))return i;const c=n[s._technique];if(!Object(r["a"])(c))return i;const l=c.attributes,u=e._rendererResources.programs[c.program],h=u._attributeLocations;for(o in h)if(h.hasOwnProperty(o)){const e=l[o];Object(r["a"])(e)&&(a=h[o],i[e.semantic]=a)}const d=e._precreatedAttributes;if(Object(r["a"])(d))for(o in d)d.hasOwnProperty(o)&&(a=h[o],i[o]=a);return i}function X4(e,t){const n=e.gltfInternal,i=n.skins,o=n.nodes,r=e._runtime.nodes,a=e._loadResources.skinnedNodesIds,s=a.length;for(let c=0;c<s;++c){const e=a[c],n=r[e],s=o[e],l=t[s.skin];n.inverseBindMatrices=l.inverseBindMatrices,n.bindShapeMatrix=l.bindShapeMatrix;const u=i[s.skin].joints,h=u.length;for(let t=0;t<h;++t){const e=u[t],i=r[e];n.joints.push(i)}}}function K4(e){const t=e._loadResources;if(0!==t.pendingBufferLoads)return;if(!t.createSkins)return;t.createSkins=!1;const n=e.gltfInternal,i=n.accessors,o={};FZ.skin(n,(function(t,n){const r=i[t.inverseBindMatrices];let a;Ne.equals(t.bindShapeMatrix,Ne.IDENTITY)||(a=Ne.clone(t.bindShapeMatrix)),o[n]={inverseBindMatrices:c3.getSkinInverseBindMatrices(e,r),bindShapeMatrix:a}})),X4(e,o)}function J4(e,t,n,i){return function(o){Object(r["a"])(i)&&(o=e.clampAnimations?i.clampTime(o):i.wrapTime(o),t[n]=i.evaluate(o,t[n]),t.dirtyNumber=e._maxDirtyNumber)}}function Z4(e){const t=e._loadResources;if(!t.finishedPendingBufferLoads())return;if(!t.createRuntimeAnimations)return;t.createRuntimeAnimations=!1,e._runtime.animations=[];const n=e._runtime.nodes,i=e.gltfInternal.accessors;FZ.animation(e.gltfInternal,(function(t,o){const r=t.channels,a=t.samplers;let s=Number.MAX_VALUE,c=-Number.MAX_VALUE;const l=r.length,u=new Array(l);for(let h=0;h<l;++h){const l=r[h],d=l.target,f=d.path,p=a[l.sampler],m=c3.getAnimationParameterValues(e,i[p.input]),_=c3.getAnimationParameterValues(e,i[p.output]);s=Math.min(s,m[0]),c=Math.max(c,m[m.length-1]);const g=c3.getAnimationSpline(e,o,t,l.sampler,p,m,f,_);u[h]=J4(e,n[d.node],d.path,g)}e._runtime.animations[o]={name:t.name,startTime:s,stopTime:c,channelEvaluators:u}}))}function $4(e,t){const n=e._loadResources;if(!n.finishedBuffersCreation()||!n.finishedProgramCreation()||!n.createVertexArrays)return;n.createVertexArrays=!1;const i=e._rendererResources.buffers,o=e._rendererResources.vertexArrays,a=e.gltfInternal,s=a.accessors;FZ.mesh(a,(function(n,c){FZ.meshPrimitive(n,(function(n,l){const u=[];let h;const d=Y4(e,n),f=e._decodedData[`${c}.primitive.${l}`];let p,m;FZ.meshPrimitiveAttribute(n,(function(e,t){if(h=d[t],Object(r["a"])(h)){if(Object(r["a"])(f)){const e=f.attributes;if(e.hasOwnProperty(t)){const n=e[t];return void u.push({index:h,vertexBuffer:i[n.bufferView],componentsPerAttribute:n.componentsPerAttribute,componentDatatype:n.componentDatatype,normalize:n.normalized,offsetInBytes:n.byteOffset,strideInBytes:n.byteStride})}}const n=s[e],o=Object(r["a"])(n.normalized)&&n.normalized;u.push({index:h,vertexBuffer:i[n.bufferView],componentsPerAttribute:zZ(n.type),componentDatatype:n.componentType,normalize:o,offsetInBytes:n.byteOffset,strideInBytes:VZ(a,n)})}}));const _=e._precreatedAttributes;if(Object(r["a"])(_))for(m in _)_.hasOwnProperty(m)&&(h=d[m],Object(r["a"])(h)&&(p=_[m],p.index=h,u.push(p)));let g;if(Object(r["a"])(n.indices)){const e=s[n.indices];let t=e.bufferView;Object(r["a"])(f)&&(t=f.bufferView),g=i[t]}o[`${c}.primitive.${l}`]=new BG({context:t,attributes:u,indexBuffer:g})}))}))}function Q4(e){const t=e._loadResources;t.createRenderStates&&(t.createRenderStates=!1,FZ.material(e.gltfInternal,(function(t,n){e5(e,t,n)})))}function e5(e,t,n){const i=e._rendererResources.renderStates;let o=[Jc.FUNC_ADD,Jc.FUNC_ADD],a=[Jc.ONE,Jc.ONE_MINUS_SRC_ALPHA,Jc.ONE,Jc.ONE_MINUS_SRC_ALPHA];Object(r["a"])(t.extensions)&&Object(r["a"])(t.extensions.KHR_blend)&&(o=t.extensions.KHR_blend.blendEquation,a=t.extensions.KHR_blend.blendFactors);const s=!t.doubleSided,c="BLEND"===t.alphaMode;i[n]=Mz.fromCache({cull:{enabled:s},depthTest:{enabled:!0,func:TG.LESS_OR_EQUAL},depthMask:!c,blending:{enabled:c,equationRgb:o[0],equationAlpha:o[1],functionSourceRgb:a[0],functionDestinationRgb:a[1],functionSourceAlpha:a[2],functionDestinationAlpha:a[3]}})}const t5={MODEL:function(e,t,n){return function(){return n.computedMatrix}},VIEW:function(e,t,n){return function(){return e.view}},PROJECTION:function(e,t,n){return function(){return e.projection}},MODELVIEW:function(e,t,n){const i=new Ne;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i)}},CESIUM_RTC_MODELVIEW:function(e,t,n){const i=new Ne;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i),Ne.setTranslation(i,t._rtcCenterEye,i)}},MODELVIEWPROJECTION:function(e,t,n){const i=new Ne;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i),Ne.multiply(e._projection,i,i)}},MODELINVERSE:function(e,t,n){const i=new Ne;return function(){return Ne.inverse(n.computedMatrix,i)}},VIEWINVERSE:function(e,t){return function(){return e.inverseView}},PROJECTIONINVERSE:function(e,t,n){return function(){return e.inverseProjection}},MODELVIEWINVERSE:function(e,t,n){const i=new Ne,o=new Ne;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i),Ne.inverse(i,o)}},MODELVIEWPROJECTIONINVERSE:function(e,t,n){const i=new Ne,o=new Ne;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i),Ne.multiply(e._projection,i,i),Ne.inverse(i,o)}},MODELINVERSETRANSPOSE:function(e,t,n){const i=new Ne,o=new ce;return function(){return Ne.inverse(n.computedMatrix,i),Ne.getMatrix3(i,o),ce.transpose(o,o)}},MODELVIEWINVERSETRANSPOSE:function(e,t,n){const i=new Ne,o=new Ne,r=new ce;return function(){return Ne.multiplyTransformation(e.view,n.computedMatrix,i),Ne.inverse(i,o),Ne.getMatrix3(o,r),ce.transpose(r,r)}},VIEWPORT:function(e,t,n){return function(){return e.viewportCartesian4}}};function n5(e,t,n,i){const o=t._runtime.nodes[e];return t5[n](i,t,o)}function i5(e,t,n,i,a,s,c){const l={},u={};let h,d;return FZ.techniqueUniform(n,(function(n,f){let p;if(Object(r["a"])(i)&&Object(r["a"])(i[f]))p=XQ.createUniformFunction(n.type,i[f],s,c),l[f]=p.func,u[f]=p;else if(Object(r["a"])(n.node))l[f]=n5(n.node,e,n.semantic,a.uniformState);else if(Object(r["a"])(n.semantic))if("JOINTMATRIX"===n.semantic)h=f;else if("MORPHWEIGHTS"===n.semantic)d=f;else if("ALPHACUTOFF"===n.semantic){const e=t.alphaMode;if(Object(r["a"])(e)&&"MASK"===e){const e=Object(o["a"])(t.alphaCutoff,.5);p=XQ.createUniformFunction(n.type,e,s,c),l[f]=p.func,u[f]=p}}else l[f]=XQ.getGltfSemanticUniforms()[n.semantic](a.uniformState,e);else if(Object(r["a"])(n.value)){const e=XQ.createUniformFunction(n.type,n.value,s,c);l[f]=e.func,u[f]=e}})),{map:l,values:u,jointMatrixUniformName:h,morphWeightsUniformName:d}}function o5(e,t){const n=e._loadResources;if(!n.finishedProgramCreation())return;if(!n.createUniformMaps)return;n.createUniformMaps=!1;const i=e.gltfInternal,o=e._sourceTechniques,a=e._uniformMaps,s=e._rendererResources.textures,c=e._defaultTexture;FZ.material(i,(function(n,i){const l=e._runtime.materialsById[i],u=o[l._technique],h=l._values,d=i5(e,n,u,h,t,s,c),f=a[i];if(f.uniformMap=d.map,f.values=d.values,f.jointMatrixUniformName=d.jointMatrixUniformName,f.morphWeightsUniformName=d.morphWeightsUniformName,Object(r["a"])(u.attributes.a_outlineCoordinates)){const n=F3.createTexture(e,t);f.uniformMap.u_outlineTexture=function(){return n}}}))}function r5(e){return XQ.createUniformsForDracoQuantizedAttributes(e.attributes)}function a5(e,t){const n=D4(e,t),i=e._quantizedUniforms[n];return XQ.createUniformsForQuantizedAttributes(e.gltfInternal,t,i)}function s5(e){return function(){return e}}function c5(e){return function(){return e.computedJointMatrices}}function l5(e){return function(){return e.weights}}function u5(e){return function(){return e.silhouetteColor}}function h5(e){return function(){return e.silhouetteSize}}function d5(e){return function(){return e.color}}function f5(e){return function(){return e._clippingPlanesMatrix}}function p5(e){return function(){return e._iblReferenceFrameMatrix}}function m5(e){return function(){const t=e.clippingPlanes;return Object(r["a"])(t)&&t.enabled?t.texture:e._defaultTexture}}function _5(e){return function(){const t=e.clippingPlanes;if(!Object(r["a"])(t))return j_.WHITE.withAlpha(0);const n=j_.clone(t.edgeColor);return n.alpha=t.edgeWidth,n}}function g5(e){return function(){return L2.getColorBlend(e.colorBlendMode,e.colorBlendAmount)}}function b5(e){return function(){return e._imageBasedLighting.imageBasedLightingFactor}}function y5(e){return function(){return e._lightColor}}function v5(e){return function(){return e._imageBasedLighting.luminanceAtZenith}}function O5(e){return function(){return e._imageBasedLighting.sphericalHarmonicCoefficients}}function w5(e){return function(){return e._imageBasedLighting.specularEnvironmentMapAtlas.texture}}function A5(e){return function(){return e._imageBasedLighting.specularEnvironmentMapAtlas.texture.dimensions}}function T5(e){return function(){return e._imageBasedLighting.specularEnvironmentMapAtlas.maximumMipmapLevel}}function C5(e,t){switch(e.mode){case xh.TRIANGLES:return t/3;case xh.TRIANGLE_STRIP:case xh.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function E5(e,t,n,i,o){const a=e._nodeCommands,s=e._pickIds,c=e.allowPicking,l=e._runtime.meshesByName,u=e._rendererResources,h=u.vertexArrays,d=u.programs,f=u.renderStates,p=e._uniformMaps,m=e.gltfInternal,_=m.accessors,b=m.meshes,y=t.mesh,v=b[y],O=v.primitives,w=O.length;for(let A=0;A<w;++A){const t=O[A],u=_[t.indices],b=e._runtime.materialsById[t.material],w=b._program,T=e._decodedData[`${y}.primitive.${A}`];let C;const E=t.attributes.POSITION;if(Object(r["a"])(E)){const e=XQ.getAccessorMinMax(m,E);C=Tt.fromCornerPoints(g.fromArray(e.min),g.fromArray(e.max))}const x=h[`${y}.primitive.${A}`];let S,I;if(Object(r["a"])(T))I=T.numberOfIndices,S=0;else if(Object(r["a"])(u))I=u.count,S=u.byteOffset/uu.getSizeInBytes(u.componentType);else{const e=_[t.attributes.POSITION];I=e.count,S=0}e._trianglesLength+=C5(t,I),t.mode===xh.POINTS&&(e._pointsLength+=I);const D=p[t.material];let j=D.uniformMap;if(Object(r["a"])(D.jointMatrixUniformName)){const e={};e[D.jointMatrixUniformName]=c5(n),j=Object(xS["a"])(j,e)}if(Object(r["a"])(D.morphWeightsUniformName)){const e={};e[D.morphWeightsUniformName]=l5(n),j=Object(xS["a"])(j,e)}j=Object(xS["a"])(j,{gltf_color:d5(e),gltf_colorBlend:g5(e),gltf_clippingPlanes:m5(e),gltf_clippingPlanesEdgeStyle:_5(e),gltf_clippingPlanesMatrix:f5(e),gltf_iblReferenceFrameMatrix:p5(e),gltf_iblFactor:b5(e),gltf_lightColor:y5(e),gltf_sphericalHarmonicCoefficients:O5(e),gltf_specularMap:w5(e),gltf_specularMapSize:A5(e),gltf_maxSpecularLOD:T5(e),gltf_luminanceAtZenith:v5(e)}),V3.addUniforms(e,j),Object(r["a"])(e._uniformMapLoaded)&&(j=e._uniformMapLoaded(j,w,n));let P={};e.extensionsUsed.WEB3D_quantized_attributes?P=a5(e,t):e._dequantizeInShader&&Object(r["a"])(T)&&(P=r5(T)),j=Object(xS["a"])(j,P);const R=f[t.material],M=R.blending.enabled;let N=e._pickObject;Object(r["a"])(N)||(N={primitive:e,id:e.id,node:n.publicNode,mesh:l[v.name]});const L=wq.castShadows(e._shadows),B=wq.receiveShadows(e._shadows);let F;if(c&&!Object(r["a"])(e._uniformMapLoaded)){F=i.createPickId(N),s.push(F);const e={czm_pickColor:s5(F.color)};j=Object(xS["a"])(j,e)}c&&(F=Object(r["a"])(e._pickIdLoaded)&&Object(r["a"])(e._uniformMapLoaded)?e._pickIdLoaded():"czm_pickColor");const k=new nz({boundingVolume:new Tt,cull:e.cull,modelMatrix:new Ne,primitiveType:t.mode,vertexArray:x,count:I,offset:S,shaderProgram:d[w],castShadows:L,receiveShadows:B,uniformMap:j,renderState:R,owner:N,pass:M?oz.TRANSLUCENT:e.opaquePass,pickId:F});let z;o||(z=nz.shallowClone(k),z.boundingVolume=new Tt,z.modelMatrix=new Ne);const U={show:!0,boundingSphere:C,command:k,command2D:z,silhouetteModelCommand:void 0,silhouetteModelCommand2D:void 0,silhouetteColorCommand:void 0,silhouetteColorCommand2D:void 0,translucentCommand:void 0,translucentCommand2D:void 0,disableCullingCommand:void 0,disableCullingCommand2D:void 0,programId:w};n.commands.push(U),a.push(U)}}function x5(e,t,n){const i=e._loadResources;if(!i.finishedEverythingButTextureCreation())return;if(!i.createRuntimeNodes)return;i.createRuntimeNodes=!1;const o=[],a=e._runtime.nodes,s=e.gltfInternal,c=s.nodes,l=s.scenes[s.scene],u=l.nodes,h=u.length,d=[],f={};for(let p=0;p<h;++p){d.push({parentRuntimeNode:void 0,gltfNode:c[u[p]],id:u[p]});while(d.length>0){const i=d.pop();f[i.id]=!0;const s=i.parentRuntimeNode,l=i.gltfNode,u=a[i.id];if(0===u.parents.length)if(Object(r["a"])(l.matrix))u.matrix=Ne.fromColumnMajorArray(l.matrix);else{const e=l.rotation;u.translation=g.fromArray(l.translation),u.rotation=$a.unpack(e),u.scale=g.fromArray(l.scale)}Object(r["a"])(s)?(s.children.push(u),u.parents.push(s)):o.push(u),Object(r["a"])(l.mesh)&&E5(e,l,u,t,n);const h=l.children;if(Object(r["a"])(h)){const e=h.length;for(let t=0;t<e;t++){const e=h[t];f[e]||d.push({parentRuntimeNode:u,gltfNode:c[e],id:h[t]})}}}}e._runtime.rootNodes=o,e._runtime.nodes=a}function S5(e){let t=0;for(const n in e)e.hasOwnProperty(n)&&(t+=e[n].sizeInBytes);return t}function I5(e){let t=0;for(const n in e)e.hasOwnProperty(n)&&(t+=e[n].sizeInBytes);return t}function D5(e,t){const n=t.context,i=t.scene3DOnly,o=e._quantizedVertexShaders,a=e._sourceTechniques,s=e._sourcePrograms,c=e._rendererResources;let l=c.sourceShaders;e._loadRendererResourcesFromCache&&(l=c.sourceShaders=e._cachedRendererResources.sourceShaders);for(const u in a)if(a.hasOwnProperty(u)){const t=a[u].program,i=s[t];let c=l[i.vertexShader];if(XQ.checkSupportedGlExtensions(i.glExtensions,n),e.extensionsUsed.WEB3D_quantized_attributes||e._dequantizeInShader){let n=o[t];Object(r["a"])(n)||(n=j4(c,t,e),o[t]=n),c=n}c=R4(c,t,e._vertexShaderLoaded)}if(e._loadRendererResourcesFromCache){const t=e._cachedRendererResources;c.buffers=t.buffers,c.vertexArrays=t.vertexArrays,c.programs=t.programs,c.silhouettePrograms=t.silhouettePrograms,c.textures=t.textures,c.samplers=t.samplers,c.renderStates=t.renderStates,Object(r["a"])(e._precreatedAttributes)&&$4(e,n),e._cachedGeometryByteLength+=S5(t.buffers),e._cachedTexturesByteLength+=I5(t.textures)}else I4(e,t),k4(e,t),V4(e,n),U4(e),W4(e,t);K4(e),Z4(e),e._loadRendererResourcesFromCache||($4(e,n),Q4(e)),o5(e,n),x5(e,n,i)}function j5(e,t){const n=e.publicNode,i=n.matrix;n.useMatrix&&Object(r["a"])(i)?Ne.clone(i,t):Object(r["a"])(e.matrix)?Ne.clone(e.matrix,t):(Ne.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t),n.setMatrix(t))}const P5=[],R5=new be,M5=new Ne;function N5(e,t,n,i){const o=e._maxDirtyNumber,a=e._runtime.rootNodes,c=a.length,l=P5;let u=e._computedModelMatrix;if(e._mode!==vq.SCENE3D&&!e._ignoreCommands){const t=Ne.getColumn(u,3,R5);if(be.equals(t,be.UNIT_W)){const t=e.boundingSphereInternal.center,n=Hs.wgs84To2DModelMatrix(i,t,M5);u=Ne.multiply(n,u,M5),Object(r["a"])(e._rtcCenter)&&(Ne.setTranslation(u,be.UNIT_W,u),e._rtcCenter=e._rtcCenter2D)}else u=Hs.basisTo2D(i,u,M5),e._rtcCenter=e._rtcCenter3D}for(let h=0;h<c;++h){let c=a[h];j5(c,c.transformToRoot),l.push(c);while(l.length>0){c=l.pop();const a=c.transformToRoot,h=c.commands;if(c.dirtyNumber===o||t||n){const t=Ne.multiplyTransformation(u,a,c.computedMatrix),n=h.length;if(n>0)for(let o=0;o<n;++o){const n=h[o];let a=n.command;Ne.clone(t,a.modelMatrix),Tt.transform(n.boundingSphere,a.modelMatrix,a.boundingVolume),Object(r["a"])(e._rtcCenter)&&g.add(e._rtcCenter,a.boundingVolume.center,a.boundingVolume.center),a=n.command2D,Object(r["a"])(a)&&e._mode===vq.SCENE2D&&(Ne.clone(t,a.modelMatrix),a.modelMatrix[13]-=2*s["a"].sign(a.modelMatrix[13])*s["a"].PI*i.ellipsoid.maximumRadius,Tt.transform(n.boundingSphere,a.modelMatrix,a.boundingVolume))}}const d=c.children;if(Object(r["a"])(d)){const e=d.length;for(let t=0;t<e;++t){const e=d[t];e.dirtyNumber=Math.max(e.dirtyNumber,c.dirtyNumber),(e.dirtyNumber===o||n)&&(j5(e,e.transformToRoot),Ne.multiplyTransformation(a,e.transformToRoot,e.transformToRoot)),l.push(e)}}}}++e._maxDirtyNumber}let L5=new Ne;function B5(e){const t=e._runtime.skinnedNodes,n=t.length;for(let i=0;i<n;++i){const e=t[i];L5=Ne.inverseTransformation(e.transformToRoot,L5);const n=e.computedJointMatrices,o=e.joints,a=e.bindShapeMatrix,s=e.inverseBindMatrices,c=s.length;for(let t=0;t<c;++t)Object(r["a"])(n[t])||(n[t]=new Ne),n[t]=Ne.multiplyTransformation(L5,o[t].transformToRoot,n[t]),n[t]=Ne.multiplyTransformation(n[t],s[t],n[t]),Object(r["a"])(a)&&(n[t]=Ne.multiplyTransformation(n[t],a,n[t]))}}function F5(e){const t=e._runtime.rootNodes,n=t.length,i=P5;for(let o=0;o<n;++o){let e=t[o];e.computedShow=e.publicNode.show,i.push(e);while(i.length>0){e=i.pop();const t=e.computedShow,n=e.commands,o=n.length;for(let e=0;e<o;++e)n[e].show=t;const a=e.children;if(Object(r["a"])(a)){const e=a.length;for(let n=0;n<e;++n){const e=a[n];e.computedShow=t&&e.publicNode.show,i.push(e)}}}}}function k5(e,t){const n=e.id;if(e._id!==n){e._id=n;const t=e._pickIds,i=t.length;for(let e=0;e<i;++e)t[e].object.id=n}}function z5(e){if(e._debugWireframe!==e.debugWireframe){e._debugWireframe=e.debugWireframe;const t=e.debugWireframe?xh.LINES:xh.TRIANGLES,n=e._nodeCommands,i=n.length;for(let e=0;e<i;++e)n[e].command.primitiveType=t}}function U5(e){if(e.debugShowBoundingVolume!==e._debugShowBoundingVolume){e._debugShowBoundingVolume=e.debugShowBoundingVolume;const t=e.debugShowBoundingVolume,n=e._nodeCommands,i=n.length;for(let e=0;e<i;++e)n[e].command.debugShowBoundingVolume=t}}function V5(e){if(e.shadows!==e._shadows){e._shadows=e.shadows;const t=wq.castShadows(e.shadows),n=wq.receiveShadows(e.shadows),i=e._nodeCommands,o=i.length;for(let e=0;e<o;e++){const o=i[e];o.command.castShadows=t,o.command.receiveShadows=n}}}function H5(e,t){const n=Object(jL["a"])(t,!0);return n.cull.enabled=!1,n.depthTest.enabled=!0,n.depthMask=!1,n.blending=MF.ALPHA_BLEND,e.opaquePass===oz.CESIUM_3D_TILE&&(n.stencilTest=eY.setCesium3DTileBit(),n.stencilMask=eY.CESIUM_3D_TILE_MASK),Mz.fromCache(n)}function G5(e,t){const n=nz.shallowClone(t);return n.pass=oz.TRANSLUCENT,n.renderState=H5(e,t.renderState),n}function q5(e,t,n){const i=t.scene3DOnly,o=e.color.alpha;if(o>0&&o<1){const t=e._nodeCommands,o=t.length;if(o>0&&(!Object(r["a"])(t[0].translucentCommand)||n))for(let n=0;n<o;++n){const o=t[n],r=o.command;if(o.translucentCommand=G5(e,r),!i){const t=o.command2D;o.translucentCommand2D=G5(e,t)}}}}function W5(e){const t=Object(jL["a"])(e,!0);return t.cull.enabled=!1,Mz.fromCache(t)}function Y5(e){const t=nz.shallowClone(e);return t.renderState=W5(e.renderState),t}function X5(e,t,n){const i=t.scene3DOnly,o=e.backFaceCulling;if(!o){const t=e._nodeCommands,o=t.length;if(o>0&&(!Object(r["a"])(t[0].disableCullingCommand)||n))for(let e=0;e<o;++e){const n=t[e],o=n.command;if(n.disableCullingCommand=Y5(o),!i){const e=n.command2D;n.disableCullingCommand2D=Y5(e)}}}}function K5(e,t){const n=e._rendererResources.programs;for(const i in n)if(n.hasOwnProperty(i)&&n[i]===t)return i}function J5(e,t,n){let i=t.vertexShaderSource.sources[0];const o=t._attributeLocations,r=e._normalAttributeName;i=bG.replaceMain(i,"gltf_silhouette_main"),i+=`uniform float gltf_silhouetteSize; \nvoid main() \n{ \n gltf_silhouette_main(); \n vec3 n = normalize(czm_normal3D * ${r}); \n n.x *= czm_projection[0][0]; \n n.y *= czm_projection[1][1]; \n vec4 clip = gl_Position; \n clip.xy += n.xy * clip.w * gltf_silhouetteSize * czm_pixelRatio / czm_viewport.z; \n gl_Position = clip; \n}`;const a="uniform vec4 gltf_silhouetteColor; \nvoid main() \n{ \n gl_FragColor = czm_gammaCorrect(gltf_silhouetteColor); \n}";return IU.fromCache({context:n.context,vertexShaderSource:i,fragmentShaderSource:a,attributeLocations:o})}function Z5(e,t){return $3(t.context)&&e.silhouetteSize>0&&e.silhouetteColor.alpha>0&&Object(r["a"])(e._normalAttributeName)}function $5(e){const t=e._nodeCommands,n=t.length;for(let i=0;i<n;++i){const e=t[i],n=e.command;if(n.pass===oz.TRANSLUCENT)return!0}return!1}function Q5(e){return e.color.alpha>0&&e.color.alpha<1}function e6(e){return 0===e.color.alpha}function t6(e,t){return Math.floor(e)!==Math.floor(t)||Math.ceil(e)!==Math.ceil(t)}let n6=0;function i6(e,t){const n=++n6%255,i=$5(e)||Q5(e)||e.silhouetteColor.alpha<1,o=e._rendererResources.silhouettePrograms,a=t.scene3DOnly,s=e._nodeCommands,c=s.length;for(let l=0;l<c;++l){const c=s[l],u=c.command,h=Q5(e)?c.translucentCommand:u,d=nz.shallowClone(h);let f=Object(jL["a"])(h.renderState);f.stencilTest={enabled:!0,frontFunction:Jc.ALWAYS,backFunction:Jc.ALWAYS,reference:n,mask:-1,frontOperation:{fail:Jc.KEEP,zFail:Jc.KEEP,zPass:Jc.REPLACE},backOperation:{fail:Jc.KEEP,zFail:Jc.KEEP,zPass:Jc.REPLACE}},e6(e)&&(f.colorMask={red:!1,green:!1,blue:!1,alpha:!1},f.depthMask=!1),f=Mz.fromCache(f),d.renderState=f,c.silhouetteModelCommand=d;const p=nz.shallowClone(u);f=Object(jL["a"])(u.renderState,!0),f.depthTest.enabled=!0,f.cull.enabled=!1,i&&(p.pass=oz.TRANSLUCENT,f.depthMask=!1,f.blending=MF.ALPHA_BLEND),f.stencilTest={enabled:!0,frontFunction:Jc.NOTEQUAL,backFunction:Jc.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:Jc.KEEP,zFail:Jc.KEEP,zPass:Jc.KEEP},backOperation:{fail:Jc.KEEP,zFail:Jc.KEEP,zPass:Jc.KEEP}},f=Mz.fromCache(f);const m=u.shaderProgram,_=K5(e,m);let g=o[_];Object(r["a"])(g)||(g=J5(e,m,t),o[_]=g);const b=Object(xS["a"])(u.uniformMap,{gltf_silhouetteColor:u5(e),gltf_silhouetteSize:h5(e)});if(p.renderState=f,p.shaderProgram=g,p.uniformMap=b,p.castShadows=!1,p.receiveShadows=!1,c.silhouetteColorCommand=p,!a){const e=c.command2D,t=nz.shallowClone(d);t.boundingVolume=e.boundingVolume,t.modelMatrix=e.modelMatrix,c.silhouetteModelCommand2D=t;const n=nz.shallowClone(p);t.boundingVolume=e.boundingVolume,t.modelMatrix=e.modelMatrix,c.silhouetteColorCommand2D=n}}}function o6(e,t,n){return e=bG.replaceMain(e,"gltf_clip_main"),e+=Z3._getClippingFunction(t,n)+"\n",e+=`uniform highp sampler2D gltf_clippingPlanes; \nuniform mat4 gltf_clippingPlanesMatrix; \nuniform vec4 gltf_clippingPlanesEdgeStyle; \nvoid main() \n{ \n gltf_clip_main(); \n${G2("gltf_clippingPlanes","gltf_clippingPlanesMatrix","gltf_clippingPlanesEdgeStyle")}} \n`,e}function r6(e,t,n){if(!Z5(e,t))return;const i=e._nodeCommands,o=i.length>0&&(t6(e.color.alpha,e._colorPreviousAlpha)||t6(e.silhouetteColor.alpha,e._silhouetteColorPreviousAlpha)||!Object(r["a"])(i[0].silhouetteModelCommand));e._colorPreviousAlpha=e.color.alpha,e._silhouetteColorPreviousAlpha=e.silhouetteColor.alpha,(o||n)&&i6(e,t)}function a6(e,t){const n=e._clippingPlanes;Object(r["a"])(n)&&n.owner===e&&n.enabled&&n.update(t)}const s6=new Tt;function c6(e,t,n){return s6.center=e,s6.radius=t,n.camera.getPixelSize(s6,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}const l6=new g,u6=new I;function h6(e,t){let n=e.scale;if(0!==e.minimumPixelSize){const i=t.context,o=Math.max(i.drawingBufferWidth,i.drawingBufferHeight),a=Object(r["a"])(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;if(l6.x=a[12],l6.y=a[13],l6.z=a[14],Object(r["a"])(e._rtcCenter)&&g.add(e._rtcCenter,l6,l6),e._mode!==vq.SCENE3D){const e=t.mapProjection,n=e.ellipsoid.cartesianToCartographic(l6,u6);e.project(n,l6),g.fromElements(l6.z,l6.x,l6.y,l6)}const s=e.boundingSphereInternal.radius,c=c6(l6,s,t),l=1/c,u=Math.min(l*(2*s),o);u<e.minimumPixelSize&&(n=e.minimumPixelSize*c/(2*e._initialRadius))}return Object(r["a"])(e.maximumScale)?Math.min(e.maximumScale,n):n}function d6(e){Object(r["a"])(e._cacheKey)&&Object(r["a"])(e._cachedGltf)&&0===--e._cachedGltf.count&&delete K3[e._cacheKey],e._cachedGltf=void 0}function f6(e,t){this.buffers=void 0,this.vertexArrays=void 0,this.programs=void 0,this.sourceShaders=void 0,this.silhouettePrograms=void 0,this.textures=void 0,this.samplers=void 0,this.renderStates=void 0,this.ready=!1,this.context=e,this.cacheKey=t,this.count=0}function p6(e){for(const t in e)e.hasOwnProperty(t)&&e[t].destroy()}function m6(e){p6(e.buffers),p6(e.vertexArrays),p6(e.programs),p6(e.silhouettePrograms),p6(e.textures)}function _6(e,t,n){return function(i){if(e.heightReference===qB.RELATIVE_TO_GROUND){const e=t.cartesianToCartographic(i,u6);e.height+=n.height,t.cartographicToCartesian(e,i)}const o=e._clampedModelMatrix;Ne.clone(e.modelMatrix,o),o[12]=i.x,o[13]=i.y,o[14]=i.z,e._heightChanged=!0}}function g6(e){Object(r["a"])(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);const t=e._scene;if(!Object(r["a"])(t)||!Object(r["a"])(t.globe)||e.heightReference===qB.NONE){if(e.heightReference!==qB.NONE)throw new a["a"]("Height reference is not supported without a scene and globe.");return void(e._clampedModelMatrix=void 0)}const n=t.globe,i=n.ellipsoid,o=e.modelMatrix;l6.x=o[12],l6.y=o[13],l6.z=o[14];const s=i.cartesianToCartographic(l6);Object(r["a"])(e._clampedModelMatrix)||(e._clampedModelMatrix=Ne.clone(o,new Ne));const c=n._surface;e._removeUpdateHeightCallback=c.updateHeight(s,_6(e,i,s));const l=n.getHeight(s);if(Object(r["a"])(l)){const t=_6(e,i,s);I.clone(s,u6),u6.height=l,i.cartographicToCartesian(u6,l6),t(l6)}}f6.prototype.release=function(){if(0===--this.count)return Object(r["a"])(this.cacheKey)&&delete this.context.cache.modelRendererResourceCache[this.cacheKey],m6(this),Wl(this)};const b6=new g,y6=new I;function v6(e,t){let n;const i=e.distanceDisplayCondition,o=i.near*i.near,r=i.far*i.far;if(t.mode===vq.SCENE2D){const e=t.camera.frustum.right-t.camera.frustum.left;n=.5*e,n*=n}else{let i=Ne.getTranslation(e.modelMatrix,b6);if(t.mode===vq.COLUMBUS_VIEW){const e=t.mapProjection,n=e.ellipsoid,o=n.cartesianToCartographic(i,y6);i=e.project(o,i),g.fromElements(i.z,i.x,i.y,i)}n=g.distanceSquared(i,t.camera.positionWC)}return n>=o&&n<=r}const O6=new Ne,w6=new ce,A6=new Ne;function T6(e,t){e.programs!==t.programs&&p6(e.programs),e.silhouettePrograms!==t.silhouettePrograms&&p6(e.silhouettePrograms)}function C6(e,t){const n=e._rendererResources,i=e._cachedRendererResources;let o;if(T6(n,i),e4(e)||Q3(e)||e.splitDirection!==z3.NONE||e._shouldRegenerateShaders){e._shouldRegenerateShaders=!1,n.programs={},n.silhouettePrograms={};const i={},r=e._sourceTechniques;let a;for(const n in r)r.hasOwnProperty(n)&&(a=r[n],o=a.program,i[o]||(i[o]=!0,L4({programId:o,techniqueId:n},e,t.context)))}else n.programs=i.programs,n.silhouettePrograms=i.silhouettePrograms;const a=n.programs,s=e._nodeCommands,c=s.length;for(let l=0;l<c;++l){const e=s[l];o=e.programId;const t=a[o];e.command.shaderProgram=t,Object(r["a"])(e.command2D)&&(e.command2D.shaderProgram=t)}q5(e,t,!0),X5(e,t,!0),r6(e,t,!0)}Z3.prototype.update=function(e){if(e.mode===vq.MORPHING)return;if(!Ta.supportsWebP.initialized)return void Ta.supportsWebP.initialize();const t=e.context;this._defaultTexture=t.defaultTexture;const n=Ta.supportsWebP();if(this._state===G3.NEEDS_LOAD&&Object(r["a"])(this.gltfInternal)){let n;const i=this.cacheKey;if(Object(r["a"])(i)){t.cache.modelRendererResourceCache=Object(o["a"])(t.cache.modelRendererResourceCache,{});const e=t.cache.modelRendererResourceCache;if(n=e[this.cacheKey],Object(r["a"])(n)){if(!n.ready)return;++n.count,this._loadRendererResourcesFromCache=!0}else n=new f6(t,i),n.count=1,e[this.cacheKey]=n;this._cachedRendererResources=n}else n=new f6(t),n.count=1,this._cachedRendererResources=n;if(this._state=G3.LOADING,this._state!==G3.FAILED){const t=this.gltfInternal.extensions;if(Object(r["a"])(t)&&Object(r["a"])(t.CESIUM_RTC)){const n=g.fromArray(t.CESIUM_RTC.center);if(!g.equals(n,g.ZERO)){this._rtcCenter3D=n;const t=e.mapProjection,i=t.ellipsoid,o=i.cartesianToCartographic(this._rtcCenter3D),r=t.project(o);g.fromElements(r.z,r.x,r.y,r),this._rtcCenter2D=r,this._rtcCenterEye=new g,this._rtcCenter=this._rtcCenter3D}}KZ(this.gltfInternal),this._loadResources=new OQ,this._loadRendererResourcesFromCache||XQ.parseBuffers(this,c4)}}const i=this._loadResources,a=this._incrementallyLoadTextures;let c=!1;if(this._state===G3.LOADING){if(0===i.pendingBufferLoads){if(!i.initialized){if(e.brdfLutGenerator.update(e),XQ.checkSupportedExtensions(this.extensionsRequired,n),XQ.updateForwardAxis(this),!Object(r["a"])(this.gltfInternal.extras.sourceVersion)){const e=this.gltfInternal,t=XQ.getAssetVersion(e),n=Object(r["a"])(XQ.getUsedExtensions(e).KHR_techniques_webgl);"2.0"!==t&&WL("gltf-1.0","glTF 1.0 assets were deprecated in CesiumJS 1.94. They will be removed in 1.95. Please convert any glTF 1.0 assets to glTF 2.0."),n&&WL("KHR_techniques_webgl","Support for glTF 1.0 techniques and the KHR_techniques_webgl glTF extension were deprecated in CesiumJS 1.94. It will be removed in 1.95. If custom GLSL shaders are needed, use CustomShader instead."),e.extras.sourceVersion=t,e.extras.sourceKHRTechniquesWebGL=n,this._sourceVersion=t,this._sourceKHRTechniquesWebGL=n,bQ(e),WZ(e);const i={addBatchIdToGeneratedShaders:this._addBatchIdToGeneratedShaders};t1(e,i),h1(e,i)}this._sourceVersion=this.gltfInternal.extras.sourceVersion,this._sourceKHRTechniquesWebGL=this.gltfInternal.extras.sourceKHRTechniquesWebGL,this._dequantizeInShader=this._dequantizeInShader&&V2.hasExtension(this),s4(this),p4(this),u4(this),this._loadRendererResourcesFromCache||(l4(this),d4(this),f4(this),g4(this,t,n)),v4(this),O4(this),y4(this),w4(this),V2.parse(this,t),i.initialized=!0}i.finishedDecoding()||V2.decodeModel(this,t).catch(XQ.getFailedLoadFunction(this,"model",this.basePathInternal)),i.finishedDecoding()&&!i.resourcesParsed&&(this._boundingSphere=XQ.computeBoundingSphere(this),this._initialRadius=this._boundingSphere.radius,V2.cacheDataForModel(this),i.resourcesParsed=!0),i.resourcesParsed&&0===i.pendingShaderLoads&&(this.showOutline&&F3.outlinePrimitives(this),D5(this,e))}(i.finished()||a&&i.finishedEverythingButTextureCreation())&&(this._state=G3.LOADED,c=!0)}if(Object(r["a"])(i)&&this._state===G3.LOADED&&(a&&!c&&D5(this,e),i.finished())){this._loadResources=void 0;const e=this._rendererResources,t=this._cachedRendererResources;t.buffers=e.buffers,t.vertexArrays=e.vertexArrays,t.programs=e.programs,t.sourceShaders=e.sourceShaders,t.silhouettePrograms=e.silhouettePrograms,t.textures=e.textures,t.samplers=e.samplers,t.renderStates=e.renderStates,t.ready=!0,this._normalAttributeName=XQ.getAttributeOrUniformBySemantic(this.gltfInternal,"NORMAL"),Object(r["a"])(this._precreatedAttributes)&&(t.vertexArrays={}),this.releaseGltfJson&&d6(this)}const l=Z5(this,e),u=Q5(this),h=e6(this),d=this.backFaceCulling,f=!Object(r["a"])(this.distanceDisplayCondition)||v6(this,e),p=this.show&&f&&0!==this.scale&&(!h||l);if(this._imageBasedLighting.update(e),p&&this._state===G3.LOADED||c){const n=this.activeAnimations.update(e)||this._cesiumAnimationsDirty;this._cesiumAnimationsDirty=!1,this._dirty=!1;let i=this.modelMatrix;const a=e.mode!==this._mode;this._mode=e.mode;const s=!Ne.equals(this._modelMatrix,i)||this._scale!==this.scale||this._minimumPixelSize!==this.minimumPixelSize||0!==this.minimumPixelSize||this._maximumScale!==this.maximumScale||this._heightReference!==this.heightReference||this._heightChanged||a;if(s||c){Ne.clone(i,this._modelMatrix),g6(this),Object(r["a"])(this._clampedModelMatrix)&&(i=this._clampedModelMatrix),this._scale=this.scale,this._minimumPixelSize=this.minimumPixelSize,this._maximumScale=this.maximumScale,this._heightReference=this.heightReference,this._heightChanged=!1;const t=h6(this,e),n=this._computedModelMatrix;Ne.multiplyByUniformScale(i,t,n),this._upAxis===vJ.Y?Ne.multiplyTransformation(n,vJ.Y_UP_TO_Z_UP,n):this._upAxis===vJ.X&&Ne.multiplyTransformation(n,vJ.X_UP_TO_Z_UP,n),this.forwardAxis===vJ.Z&&Ne.multiplyTransformation(n,vJ.Z_UP_TO_X_UP,n)}(n||s||c)&&(N5(this,s,c,e.mapProjection),this._dirty=!0,(n||c)&&B5(this)),this._perNodeShowDirty&&(this._perNodeShowDirty=!1,F5(this)),k5(this,t),z5(this),U5(this),V5(this),a6(this,e);const l=this._clippingPlanes;let u=0;const h=Object(o["a"])(this.referenceMatrix,i);if(this._imageBasedLighting.useSphericalHarmonicCoefficients||this._imageBasedLighting.useSpecularEnvironmentMaps){let e=w6,n=O6;n=Ne.multiply(t.uniformState.view3D,h,n),e=Ne.getMatrix3(n,e),e=ce.getRotation(e,e),this._iblReferenceFrameMatrix=ce.transpose(e,this._iblReferenceFrameMatrix)}if(this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._imageBasedLighting.shouldRegenerateShaders,e4(this)){let e=A6;e=Ne.multiply(t.uniformState.view3D,h,e),e=Ne.multiply(e,l.modelMatrix,e),this._clippingPlanesMatrix=Ne.inverseTranspose(e,this._clippingPlanesMatrix),u=l.clippingPlanesState}this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._clippingPlanesState!==u,this._clippingPlanesState=u;const d=Q3(this);d!==this._colorShadingEnabled&&(this._colorShadingEnabled=d,this._shouldRegenerateShaders=!0);const f=this.splitDirection!==z3.NONE;this._splittingEnabled!==f&&(this._splittingEnabled=f,this._shouldRegenerateShaders=!0),this._shouldRegenerateShaders?C6(this,e):(q5(this,e,!1),X5(this,e,!1),r6(this,e,!1))}if(c){const t=this;return void e.afterRender.push((function(){t._ready=!0,t._readyPromise.resolve(t)}))}if(p&&!this._ignoreCommands){const t=e.commandList,n=e.passes,i=this._nodeCommands,o=i.length;let r,a;const c=e.mapProjection.ellipsoid.maximumRadius*s["a"].PI;let h;if(n.render||n.pick&&this.allowPicking){for(r=0;r<o;++r)if(a=i[r],a.show){let n=a.command;l?n=a.silhouetteModelCommand:u?n=a.translucentCommand:d||(n=a.disableCullingCommand),t.push(n),h=a.command.boundingVolume;const i=h.center.y-h.radius,o=h.center.y+h.radius,r=i<c&&o>c||i<-c&&o>-c;if(e.mode===vq.SCENE2D&&r){let e=a.command2D;l?e=a.silhouetteModelCommand2D:u?e=a.translucentCommand2D:d||(e=a.disableCullingCommand2D),t.push(e)}}if(l&&!n.pick)for(r=0;r<o;++r)if(a=i[r],a.show){t.push(a.silhouetteColorCommand),h=a.command.boundingVolume;const n=h.center.y-h.radius,i=h.center.y+h.radius,o=n<c&&i>c||n<-c&&i>-c;e.mode===vq.SCENE2D&&o&&t.push(a.silhouetteColorCommand2D)}}}const m=this._credit;Object(r["a"])(m)&&e.creditDisplay.addCredit(m);const _=this._resourceCredits,b=_.length;for(let o=0;o<b;o++)e.creditDisplay.addCredit(_[o]);const y=this._gltfCredits,v=y.length;for(let o=0;o<v;o++)e.creditDisplay.addCredit(y[o])},Z3.prototype.isDestroyed=function(){return!1},Z3.prototype.destroy=function(){Object(r["a"])(this._precreatedAttributes)&&p6(this._rendererResources.vertexArrays),Object(r["a"])(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),Object(r["a"])(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0),Object(r["a"])(this._cachedRendererResources)&&T6(this._rendererResources,this._cachedRendererResources),this._rendererResources=void 0,this._cachedRendererResources=this._cachedRendererResources&&this._cachedRendererResources.release(),V2.destroyCachedDataForModel(this);const e=this._pickIds,t=e.length;for(let i=0;i<t;++i)e[i].destroy();d6(this),this._quantizedVertexShaders=void 0;const n=this._clippingPlanes;return Object(r["a"])(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,Wl(this)},Z3._getClippingFunction=Z2,Z3._modifyShaderForColor=P4;var E6=Z3;function x6(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._batchTable=void 0,this._features=void 0,this._classificationType=e.vectorClassificationOnly?void 0:e.classificationType,this._metadata=void 0,this._batchIdAttributeName=void 0,this._diffuseAttributeOrUniformName={},this._rtcCenterTransform=void 0,this._contentModelMatrix=void 0,this.featurePropertiesDirty=!1,this._group=void 0,M6(this,i,o)}function S6(e){let t=XQ.getAttributeOrUniformBySemantic(e,"_BATCHID");return Object(r["a"])(t)||(t=XQ.getAttributeOrUniformBySemantic(e,"BATCHID"),Object(r["a"])(t)&&x6._deprecationWarning("b3dm-legacy-batchid","The glTF in this b3dm uses the semantic `BATCHID`. Application-specific semantics should be prefixed with an underscore: `_BATCHID`.")),t}function I6(e){return function(t,n){const i=e._batchTable,o=!Object(r["a"])(e._classificationType),a=e._model.gltfInternal;Object(r["a"])(a)&&(e._batchIdAttributeName=S6(a),e._diffuseAttributeOrUniformName[n]=XQ.getDiffuseAttributeOrUniform(a,n));const s=i.getVertexShaderCallback(o,e._batchIdAttributeName,e._diffuseAttributeOrUniformName[n]);return Object(r["a"])(s)?s(t):t}}function D6(e){return function(t,n){const i=e._batchTable,o=!Object(r["a"])(e._classificationType),a=e._model.gltfInternal;Object(r["a"])(a)&&(e._diffuseAttributeOrUniformName[n]=XQ.getDiffuseAttributeOrUniform(a,n));const s=i.getFragmentShaderCallback(o,e._diffuseAttributeOrUniformName[n],!1);return Object(r["a"])(s)?s(t):t}}function j6(e){return function(){return e._batchTable.getPickId()}}function P6(e){return function(t){const n=e._batchTable,i=n.getClassificationFragmentShaderCallback();return Object(r["a"])(i)?i(t):t}}function R6(e){return function(t,n){e._model.updateCommands(t,n)}}function M6(e,t,n){const i=e._tileset,o=e._tile,a=e._resource,s=TJ.parse(t,n);let c=s.batchLength;const l=s.featureTableJson,u=s.featureTableBinary,h=new PZ(l,u);c=h.getGlobalProperty("BATCH_LENGTH"),h.featuresLength=c;const d=s.batchTableJson,f=s.batchTableBinary;let p;Object(r["a"])(e._classificationType)&&(p=R6(e));const m=new EZ(e,c,d,f,p);e._batchTable=m;const _=s.gltf,b={content:e,primitive:i};e._rtcCenterTransform=Ne.IDENTITY;const y=h.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(y)&&(e._rtcCenterTransform=Ne.fromTranslation(g.fromArray(y))),e._contentModelMatrix=Ne.multiply(o.computedTransform,e._rtcCenterTransform,new Ne),Object(r["a"])(e._classificationType)?e._model=new g2({gltf:_,cull:!1,basePath:a,requestType:ju["a"].TILES3D,modelMatrix:e._contentModelMatrix,upAxis:i._gltfUpAxis,forwardAxis:vJ.X,debugWireframe:i.debugWireframe,vertexShaderLoaded:I6(e),classificationShaderLoaded:P6(e),uniformMapLoaded:m.getUniformMapCallback(),pickIdLoaded:j6(e),classificationType:e._classificationType,batchTable:m}):(e._model=new E6({gltf:_,cull:!1,releaseGltfJson:!0,opaquePass:oz.CESIUM_3D_TILE,basePath:a,requestType:ju["a"].TILES3D,modelMatrix:e._contentModelMatrix,upAxis:i._gltfUpAxis,forwardAxis:vJ.X,shadows:i.shadows,debugWireframe:i.debugWireframe,incrementallyLoadTextures:!1,vertexShaderLoaded:I6(e),fragmentShaderLoaded:D6(e),uniformMapLoaded:m.getUniformMapCallback(),pickIdLoaded:j6(e),addBatchIdToGeneratedShaders:c>0,pickObject:b,lightColor:i.lightColor,imageBasedLighting:i.imageBasedLighting,backFaceCulling:i.backFaceCulling,showOutline:i.showOutline,showCreditsOnScreen:i.showCreditsOnScreen}),e._model.readyPromise.then((function(e){e.activeAnimations.addAll({loop:u3.REPEAT})})))}function N6(e){const t=e.featuresLength;if(!Object(r["a"])(e._features)&&t>0){const n=new Array(t);for(let i=0;i<t;++i)n[i]=new SZ(e,i);e._features=n}}x6._deprecationWarning=WL,Object.defineProperties(x6.prototype,{featuresLength:{get:function(){return this.batchTable.featuresLength}},pointsLength:{get:function(){return this._model.pointsLength}},trianglesLength:{get:function(){return this._model.trianglesLength}},geometryByteLength:{get:function(){return this._model.geometryByteLength}},texturesByteLength:{get:function(){return this._model.texturesByteLength}},batchTableByteLength:{get:function(){return this.batchTable.memorySizeInBytes}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._model.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}}),x6.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},x6.prototype.getFeature=function(e){const t=this.featuresLength;if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"](`batchId is required and between zero and featuresLength - 1 (${t-1}).`);return N6(this),this._features[e]},x6.prototype.applyDebugSettings=function(e,t){t=e?t:j_.WHITE,0===this.featuresLength?this._model.color=t:this._batchTable.setAllColor(t)},x6.prototype.applyStyle=function(e){if(0===this.featuresLength){const t=Object(r["a"])(e)&&Object(r["a"])(e.color),n=Object(r["a"])(e)&&Object(r["a"])(e.show);this._model.color=t?e.color.evaluateColor(void 0,this._model.color):j_.clone(j_.WHITE,this._model.color),this._model.show=!n||e.show.evaluate(void 0)}else this._batchTable.applyStyle(e)},x6.prototype.update=function(e,t){const n=t.commandList.length,i=this._model,o=this._tile,a=this._batchTable;a.update(e,t),this._contentModelMatrix=Ne.multiply(o.computedTransform,this._rtcCenterTransform,this._contentModelMatrix),i.modelMatrix=this._contentModelMatrix,i.shadows=e.shadows,i.lightColor=e.lightColor,i.imageBasedLighting=e.imageBasedLighting,i.backFaceCulling=e.backFaceCulling,i.debugWireframe=e.debugWireframe,i.showCreditsOnScreen=e.showCreditsOnScreen,i.splitDirection=e.splitDirection;const s=e.clippingPlanes;i.referenceMatrix=e.clippingPlanesOriginMatrix,Object(r["a"])(s)&&o.clippingPlanesDirty&&(i._clippingPlanes=s.enabled&&o._isClipped?s:void 0),Object(r["a"])(s)&&Object(r["a"])(i._clippingPlanes)&&i._clippingPlanes!==s&&(i._clippingPlanes=s),i.update(t);const c=t.commandList.length;n<c&&(t.passes.render||t.passes.pick)&&!Object(r["a"])(this._classificationType)&&a.addDerivedCommands(t,n)},x6.prototype.isDestroyed=function(){return!1},x6.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};var L6=x6;function B6(e,t,n,i,o,r){this._tileset=e,this._tile=t,this._resource=n,this._contents=[],this._metadata=void 0,this._group=void 0,this._readyPromise=k6(this,i,o,r)}Object.defineProperties(B6.prototype,{featurePropertiesDirty:{get:function(){const e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});const F6=Uint32Array.BYTES_PER_ELEMENT;function k6(e,t,n,i){n=Object(o["a"])(n,0);const a=new Uint8Array(t),s=new DataView(t);n+=F6;const c=s.getUint32(n,!0);if(1!==c)throw new ye["a"](`Only Composite Tile version 1 is supported. Version ${c} is not.`);n+=F6,n+=F6;const l=s.getUint32(n,!0);n+=F6;const u=[];for(let o=0;o<l;++o){const o=$L(a,n),c=s.getUint32(n+2*F6,!0),l=i[o];if(!Object(r["a"])(l))throw new ye["a"](`Unknown tile content type, ${o}, inside Composite tile`);{const i=l(e._tileset,e._tile,e._resource,t,n);e._contents.push(i),u.push(i.readyPromise)}n+=c}return Promise.all(u).then((function(){return e}))}B6.prototype.hasProperty=function(e,t){return!1},B6.prototype.getFeature=function(e){},B6.prototype.applyDebugSettings=function(e,t){const n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)},B6.prototype.applyStyle=function(e){const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)},B6.prototype.update=function(e,t){const n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)},B6.prototype.isDestroyed=function(){return!1},B6.prototype.destroy=function(){const e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return Wl(this)};var z6=B6;function U6(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,Object(r["a"])(this._center)||(Object(r["a"])(this._boundingVolume)?this._center=g.clone(this._boundingVolume.center):this._center=g.clone(g.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(e,t){},this._readyPromise=X6(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=wG.BOTH}function V6(e){const t=new Float64Array(Ne.packedLength+g.packedLength);let n=0;return g.pack(e._center,t,n),n+=g.packedLength,Ne.pack(e._modelMatrix,t,n),t}function H6(e,t){let n=0;const i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=Tt.unpack(t,n),n+=Tt.packedLength;const a=t[n++],s=e._batchedIndices=new Array(a);for(let c=0;c<a;++c){const e=j_.unpack(t,n);n+=j_.packedLength;const i=t[n++],o=t[n++],r=t[n++],a=new Array(r);for(let s=0;s<r;++s)a[s]=t[n++];s[c]=new f1({color:e,offset:i,count:o,batchIds:a})}return i}Object.defineProperties(U6.prototype,{trianglesLength:{get:function(){return Object(r["a"])(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return Object(r["a"])(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}}),U6.packedBoxLength=Ne.packedLength+g.packedLength,U6.packedCylinderLength=Ne.packedLength+2,U6.packedEllipsoidLength=Ne.packedLength+g.packedLength,U6.packedSphereLength=g.packedLength+1;const G6=new ou("createVectorTileGeometries",5),q6=new j_;function W6(e){if(!Object(r["a"])(e._primitive)&&!Object(r["a"])(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,a=e._ellipsoids,s=e._ellipsoidBatchIds,c=e._spheres,l=e._sphereBatchIds,u=e._batchTableColors,h=e._packedBuffer;if(!Object(r["a"])(u)){let d=0;Object(r["a"])(e._boxes)&&(t=e._boxes=xL(t),n=e._boxBatchIds=xL(n),d+=n.length),Object(r["a"])(e._cylinders)&&(i=e._cylinders=xL(i),o=e._cylinderBatchIds=xL(o),d+=o.length),Object(r["a"])(e._ellipsoids)&&(a=e._ellipsoids=xL(a),s=e._ellipsoidBatchIds=xL(s),d+=s.length),Object(r["a"])(e._spheres)&&(c=e._sphere=xL(c),l=e._sphereBatchIds=xL(l),d+=l.length),u=e._batchTableColors=new Uint32Array(d);const f=e._batchTable;for(let e=0;e<d;++e){const t=f.getColor(e,q6);u[e]=t.toRgba()}h=e._packedBuffer=V6(e)}const d=[];Object(r["a"])(t)&&d.push(t.buffer,n.buffer),Object(r["a"])(i)&&d.push(i.buffer,o.buffer),Object(r["a"])(a)&&d.push(a.buffer,s.buffer),Object(r["a"])(c)&&d.push(c.buffer,l.buffer),d.push(u.buffer,h.buffer);const f={boxes:Object(r["a"])(t)?t.buffer:void 0,boxBatchIds:Object(r["a"])(t)?n.buffer:void 0,cylinders:Object(r["a"])(i)?i.buffer:void 0,cylinderBatchIds:Object(r["a"])(i)?o.buffer:void 0,ellipsoids:Object(r["a"])(a)?a.buffer:void 0,ellipsoidBatchIds:Object(r["a"])(a)?s.buffer:void 0,spheres:Object(r["a"])(c)?c.buffer:void 0,sphereBatchIds:Object(r["a"])(c)?l.buffer:void 0,batchTableColors:u.buffer,packedBuffer:h.buffer},p=e._verticesPromise=G6.scheduleTask(f,d);if(!Object(r["a"])(p))return;return p.then((function(t){const n=new Float64Array(t.packedBuffer),i=H6(e,n);e._indices=2===i?new Uint16Array(t.indices):new Uint32Array(t.indices),e._indexOffsets=new Uint32Array(t.indexOffsets),e._indexCounts=new Uint32Array(t.indexCounts),e._positions=new Float32Array(t.positions),e._vertexBatchIds=new Uint16Array(t.vertexBatchIds),e._batchIds=new Uint16Array(t.batchIds),e._ready=!0}))}}function Y6(e){e._ready&&!Object(r["a"])(e._primitive)&&(e._primitive=new Y0({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:Object(o["a"])(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}function X6(e){return new Promise((function(t,n){e._update=function(e,i){const o=W6(e);e._ready&&(e._primitive.debugWireframe=e.debugWireframe,e._primitive.forceRebatch=e.forceRebatch,e._primitive.classificationType=e.classificationType,e._primitive.update(i)),Object(r["a"])(o)&&o.then((function(){Y6(e),t(e)})).catch((function(e){n(e)}))}}))}U6.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)},U6.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)},U6.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)},U6.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},U6.prototype.update=function(e){this._update(this,e)},U6.prototype.isDestroyed=function(){return!1},U6.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Wl(this)};var K6=U6;function J6(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._readyPromise=e7(this,i,o)}function Z6(e){return function(t,n){Object(r["a"])(e._geometries)&&e._geometries.updateCommands(t,n)}}function $6(e,t){let n,i,a,s,c;const l=Object(o["a"])(e.BOXES_LENGTH,0),u=Object(o["a"])(e.CYLINDERS_LENGTH,0),h=Object(o["a"])(e.ELLIPSOIDS_LENGTH,0),d=Object(o["a"])(e.SPHERES_LENGTH,0);if(l>0&&Object(r["a"])(e.BOX_BATCH_IDS)){const i=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,i,l)}if(u>0&&Object(r["a"])(e.CYLINDER_BATCH_IDS)){const n=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,n,u)}if(h>0&&Object(r["a"])(e.ELLIPSOID_BATCH_IDS)){const n=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;a=new Uint16Array(t.buffer,n,h)}if(d>0&&Object(r["a"])(e.SPHERE_BATCH_IDS)){const n=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;s=new Uint16Array(t.buffer,n,d)}const f=Object(r["a"])(n)||Object(r["a"])(i)||Object(r["a"])(a)||Object(r["a"])(s),p=l>0&&!Object(r["a"])(n)||u>0&&!Object(r["a"])(i)||h>0&&!Object(r["a"])(a)||d>0&&!Object(r["a"])(s);if(f&&p)throw new ye["a"]("If one group of batch ids is defined, then all batch ids must be defined.");const m=!Object(r["a"])(n)&&!Object(r["a"])(i)&&!Object(r["a"])(a)&&!Object(r["a"])(s);if(m){let e=0;if(!Object(r["a"])(n)&&l>0)for(n=new Uint16Array(l),c=0;c<l;++c)n[c]=e++;if(!Object(r["a"])(i)&&u>0)for(i=new Uint16Array(u),c=0;c<u;++c)i[c]=e++;if(!Object(r["a"])(a)&&h>0)for(a=new Uint16Array(h),c=0;c<h;++c)a[c]=e++;if(!Object(r["a"])(s)&&d>0)for(s=new Uint16Array(d),c=0;c<d;++c)s[c]=e++}return{boxes:n,cylinders:i,ellipsoids:a,spheres:s}}Object.defineProperties(J6.prototype,{featuresLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return Object(r["a"])(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return Object(r["a"])(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});const Q6=Uint32Array.BYTES_PER_ELEMENT;function e7(e,t,n){n=Object(o["a"])(n,0);const i=new Uint8Array(t),a=new DataView(t);n+=Q6;const s=a.getUint32(n,!0);if(1!==s)throw new ye["a"](`Only Geometry tile version 1 is supported. Version ${s} is not.`);n+=Q6;const c=a.getUint32(n,!0);if(n+=Q6,0===c)return void e._readyPromise.resolve(e);const l=a.getUint32(n,!0);if(n+=Q6,0===l)throw new ye["a"]("Feature table must have a byte length greater than zero");const u=a.getUint32(n,!0);n+=Q6;const h=a.getUint32(n,!0);n+=Q6;const d=a.getUint32(n,!0);n+=Q6;const f=kd(i,n,l);n+=l;const p=new Uint8Array(t,n,u);let m,_;n+=u,h>0&&(m=kd(i,n,h),n+=h,d>0&&(_=new Uint8Array(t,n,d),_=new Uint8Array(_)));const b=Object(o["a"])(f.BOXES_LENGTH,0),y=Object(o["a"])(f.CYLINDERS_LENGTH,0),v=Object(o["a"])(f.ELLIPSOIDS_LENGTH,0),O=Object(o["a"])(f.SPHERES_LENGTH,0),w=b+y+v+O,A=new EZ(e,w,m,_,Z6(e));if(e._batchTable=A,0===w)return;const T=e.tile.computedTransform;let C;Object(r["a"])(f.RTC_CENTER)&&(C=g.unpack(f.RTC_CENTER),Ne.multiplyByPoint(T,C,C));const E=$6(f,p);if(b>0||y>0||v>0||O>0){let t,n,i,o;if(b>0){const e=p.byteOffset+f.BOXES.byteOffset;t=new Float32Array(p.buffer,e,K6.packedBoxLength*b)}if(y>0){const e=p.byteOffset+f.CYLINDERS.byteOffset;n=new Float32Array(p.buffer,e,K6.packedCylinderLength*y)}if(v>0){const e=p.byteOffset+f.ELLIPSOIDS.byteOffset;i=new Float32Array(p.buffer,e,K6.packedEllipsoidLength*v)}if(O>0){const e=p.byteOffset+f.SPHERES.byteOffset;o=new Float32Array(p.buffer,e,K6.packedSphereLength*O)}return e._geometries=new K6({boxes:t,boxBatchIds:E.boxes,cylinders:n,cylinderBatchIds:E.cylinders,ellipsoids:i,ellipsoidBatchIds:E.ellipsoids,spheres:o,sphereBatchIds:E.spheres,center:C,modelMatrix:T,batchTable:A,boundingVolume:e.tile.boundingVolume.boundingVolume}),e._geometries.readyPromise.then((function(){return e}))}return Promise.resolve(e)}function t7(e){const t=e.featuresLength;if(!Object(r["a"])(e._features)&&t>0){const n=new Array(t);Object(r["a"])(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}J6.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},J6.prototype.getFeature=function(e){const t=this.featuresLength;if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"](`batchId is required and between zero and featuresLength - 1 (${t-1}).`);return t7(this),this._features[e]},J6.prototype.applyDebugSettings=function(e,t){Object(r["a"])(this._geometries)&&this._geometries.applyDebugSettings(e,t)},J6.prototype.applyStyle=function(e){t7(this),Object(r["a"])(this._geometries)&&this._geometries.applyStyle(e,this._features)},J6.prototype.update=function(e,t){Object(r["a"])(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),Object(r["a"])(this._batchTable)&&this._geometries._ready&&this._batchTable.update(e,t)},J6.prototype.isDestroyed=function(){return!1},J6.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};var n7=J6;function i7(e,t){return Object(r["a"])(e)&&Object(r["a"])(e.extensions)&&Object(r["a"])(e.extensions[t])}function o7(e){const t=e.lengthBits;let n=e.availableCount;i["a"].typeOf.number("options.lengthBits",t);const a=e.constant,s=e.bitstream;if(Object(r["a"])(a))n=t;else{const i=Math.ceil(t/8);if(s.length!==i)throw new ye["a"](`Availability bitstream must be exactly ${i} bytes long to store ${t} bits. Actual bitstream was ${s.length} bytes long.`);const a=Object(o["a"])(e.computeAvailableCountEnabled,!1);!Object(r["a"])(n)&&a&&(n=r7(s,t))}this._lengthBits=t,this._availableCount=n,this._constant=a,this._bitstream=s}function r7(e,t){let n=0;for(let i=0;i<t;i++){const t=i>>3,o=i%8;n+=e[t]>>o&1}return n}function a7(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.metadataTable,n=e.class,r=e.entityId,a=e.propertyTableJson;i["a"].typeOf.object("options.metadataTable",t),i["a"].typeOf.object("options.class",n),i["a"].typeOf.number("options.entityId",r),i["a"].typeOf.object("options.propertyTableJson",a),this._class=n,this._metadataTable=t,this._entityId=r,this._extensions=a.extensions,this._extras=a.extras}Object.defineProperties(o7.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}}),o7.prototype.getBit=function(e){if(e<0||e>=this._lengthBits)throw new a["a"]("Bit index out of bounds.");if(Object(r["a"])(this._constant))return this._constant;const t=e>>3,n=e%8;return 1===(this._bitstream[t]>>n&1)},Object.defineProperties(a7.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),a7.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)},a7.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)},a7.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)},a7.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)},a7.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)},a7.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)},a7.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};const s7={QUADTREE:"QUADTREE",OCTREE:"OCTREE",getBranchingFactor:function(e){switch(e){case s7.OCTREE:return 8;case s7.QUADTREE:return 4;default:throw new a["a"]("subdivisionScheme is not a valid value.")}}};var c7=Object.freeze(s7);function l7(){}Object.defineProperties(l7.prototype,{class:{get:function(){a["a"].throwInstantiationError()}}}),l7.prototype.hasProperty=function(e){a["a"].throwInstantiationError()},l7.prototype.hasPropertyBySemantic=function(e){a["a"].throwInstantiationError()},l7.prototype.getPropertyIds=function(e){a["a"].throwInstantiationError()},l7.prototype.getProperty=function(e){a["a"].throwInstantiationError()},l7.prototype.setProperty=function(e,t){a["a"].throwInstantiationError()},l7.prototype.getPropertyBySemantic=function(e){a["a"].throwInstantiationError()},l7.prototype.setPropertyBySemantic=function(e,t){a["a"].throwInstantiationError()},l7.hasProperty=function(e,t,n){if(i["a"].typeOf.string("propertyId",e),i["a"].typeOf.object("properties",t),i["a"].typeOf.object("classDefinition",n),Object(r["a"])(t[e]))return!0;const o=n.properties;if(!Object(r["a"])(o))return!1;const a=o[e];return!(!Object(r["a"])(a)||!Object(r["a"])(a.default))},l7.hasPropertyBySemantic=function(e,t,n){i["a"].typeOf.string("semantic",e),i["a"].typeOf.object("properties",t),i["a"].typeOf.object("classDefinition",n);const o=n.propertiesBySemantic;if(!Object(r["a"])(o))return!1;const a=o[e];return Object(r["a"])(a)},l7.getPropertyIds=function(e,t,n){i["a"].typeOf.object("properties",e),i["a"].typeOf.object("classDefinition",t),n=Object(r["a"])(n)?n:[],n.length=0;for(const i in e)e.hasOwnProperty(i)&&Object(r["a"])(e[i])&&n.push(i);const o=t.properties;if(Object(r["a"])(o))for(const i in o)o.hasOwnProperty(i)&&!Object(r["a"])(e[i])&&Object(r["a"])(o[i].default)&&n.push(i);return n},l7.getProperty=function(e,t,n){if(i["a"].typeOf.string("propertyId",e),i["a"].typeOf.object("properties",t),i["a"].typeOf.object("classDefinition",n),!Object(r["a"])(n.properties[e]))throw new a["a"]("Class definition missing property "+e);const o=n.properties[e];let s=t[e];Array.isArray(s)&&(s=s.slice());const c=!0;return s=o.handleNoData(s),!Object(r["a"])(s)&&Object(r["a"])(o.default)?(s=Object(jL["a"])(o.default,!0),o.unpackVectorAndMatrixTypes(s,c)):Object(r["a"])(s)?(s=o.normalize(s),s=o.applyValueTransform(s),o.unpackVectorAndMatrixTypes(s,c)):void 0},l7.setProperty=function(e,t,n,o){if(i["a"].typeOf.string("propertyId",e),i["a"].defined("value",t),i["a"].typeOf.object("properties",n),i["a"].typeOf.object("classDefinition",o),!Object(r["a"])(n[e]))return!1;let a;Array.isArray(t)&&(t=t.slice());const s=o.properties;Object(r["a"])(s)&&(a=s[e]);const c=!0;return Object(r["a"])(a)&&(t=a.packVectorAndMatrixTypes(t,c),t=a.unapplyValueTransform(t),t=a.unnormalize(t)),n[e]=t,!0},l7.getPropertyBySemantic=function(e,t,n){i["a"].typeOf.string("semantic",e),i["a"].typeOf.object("properties",t),i["a"].typeOf.object("classDefinition",n);const o=n.propertiesBySemantic;if(!Object(r["a"])(o))return;const a=o[e];return Object(r["a"])(a)?l7.getProperty(a.id,t,n):void 0},l7.setPropertyBySemantic=function(e,t,n,o){i["a"].typeOf.string("semantic",e),i["a"].defined("value",t),i["a"].typeOf.object("properties",n),i["a"].typeOf.object("classDefinition",o);const a=o.propertiesBySemantic;if(!Object(r["a"])(a))return!1;const s=o.propertiesBySemantic[e];return!!Object(r["a"])(s)&&l7.setProperty(s.id,t,n,o)};var u7=l7;function h7(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.subtreeMetadata,n=e.class;i["a"].typeOf.object("options.subtreeMetadata",t),i["a"].typeOf.object("options.class",n);const a=Object(r["a"])(t.properties)?t.properties:{};this._class=n,this._properties=a,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(h7.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),h7.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},h7.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},h7.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},h7.prototype.getProperty=function(e){return u7.getProperty(e,this._properties,this._class)},h7.prototype.setProperty=function(e,t){return u7.setProperty(e,t,this._properties,this._class)},h7.prototype.getPropertyBySemantic=function(e){return u7.getPropertyBySemantic(e,this._properties,this._class)},h7.prototype.setPropertyBySemantic=function(e,t){return u7.setPropertyBySemantic(e,t,this._properties,this._class)};var d7=h7;const f7={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64",getMinimum:function(e){if(!f7.isNumericType(e))throw new a["a"]("type must be a numeric type");switch(e){case f7.INT8:return-128;case f7.UINT8:return 0;case f7.INT16:return-32768;case f7.UINT16:return 0;case f7.INT32:return-2147483648;case f7.UINT32:return 0;case f7.INT64:return Ta.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case f7.UINT64:return Ta.supportsBigInt()?BigInt(0):0;case f7.FLOAT32:return-34028234663852886e22;case f7.FLOAT64:return-Number.MAX_VALUE}},getMaximum:function(e){if(!f7.isNumericType(e))throw new a["a"]("type must be a numeric type");switch(e){case f7.INT8:return 127;case f7.UINT8:return 255;case f7.INT16:return 32767;case f7.UINT16:return 65535;case f7.INT32:return 2147483647;case f7.UINT32:return 4294967295;case f7.INT64:return Ta.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case f7.UINT64:return Ta.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case f7.FLOAT32:return 34028234663852886e22;case f7.FLOAT64:return Number.MAX_VALUE}},isNumericType:function(e){switch(i["a"].typeOf.string("type",e),e){case f7.INT8:case f7.UINT8:case f7.INT16:case f7.UINT16:case f7.INT32:case f7.UINT32:case f7.INT64:case f7.UINT64:case f7.FLOAT32:case f7.FLOAT64:return!0;default:return!1}},isIntegerType:function(e){switch(i["a"].typeOf.string("type",e),e){case f7.INT8:case f7.UINT8:case f7.INT16:case f7.UINT16:case f7.INT32:case f7.UINT32:case f7.INT64:case f7.UINT64:return!0;default:return!1}},isUnsignedIntegerType:function(e){switch(i["a"].typeOf.string("type",e),e){case f7.UINT8:case f7.UINT16:case f7.UINT32:case f7.UINT64:return!0;default:return!1}},isVectorCompatible:function(e){switch(i["a"].typeOf.string("type",e),e){case f7.INT8:case f7.UINT8:case f7.INT16:case f7.UINT16:case f7.INT32:case f7.UINT32:case f7.FLOAT32:case f7.FLOAT64:return!0;default:return!1}},normalize:function(e,t){if("number"!==typeof e&&"bigint"!==typeof e)throw new a["a"]("value must be a number or a BigInt");if(!f7.isIntegerType(t))throw new a["a"]("type must be an integer type");return Math.max(Number(e)/Number(f7.getMaximum(t)),-1)},unnormalize:function(e,t){if(i["a"].typeOf.number("value",e),!f7.isIntegerType(t))throw new a["a"]("type must be an integer type");const n=f7.getMaximum(t),o=f7.isUnsignedIntegerType(t)?0:-n;return e=s["a"].sign(e)*Math.round(Math.abs(e)*Number(n)),t!==f7.INT64&&t!==f7.UINT64||!Ta.supportsBigInt()||(e=BigInt(e)),e>n?n:e<o?o:e},applyValueTransform:function(e,t,n){return n*e+t},unapplyValueTransform:function(e,t,n){return 0===n?0:(e-t)/n},getSizeInBytes:function(e){if(!f7.isNumericType(e))throw new a["a"]("type must be a numeric type");switch(e){case f7.INT8:case f7.UINT8:return 1;case f7.INT16:case f7.UINT16:return 2;case f7.INT32:case f7.UINT32:return 4;case f7.INT64:case f7.UINT64:return 8;case f7.FLOAT32:return 4;case f7.FLOAT64:return 8}}};var p7=Object.freeze(f7);const m7={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM",isVectorType:function(e){switch(i["a"].typeOf.string("type",e),e){case m7.VEC2:case m7.VEC3:case m7.VEC4:return!0;default:return!1}},isMatrixType:function(e){switch(i["a"].typeOf.string("type",e),e){case m7.MAT2:case m7.MAT3:case m7.MAT4:return!0;default:return!1}},getComponentCount:function(e){switch(i["a"].typeOf.string("type",e),e){case m7.SCALAR:case m7.STRING:case m7.ENUM:case m7.BOOLEAN:return 1;case m7.VEC2:return 2;case m7.VEC3:return 3;case m7.VEC4:return 4;case m7.MAT2:return 4;case m7.MAT3:return 9;case m7.MAT4:return 16;default:throw new a["a"]("Invalid metadata type "+e)}},getMathType:function(e){switch(e){case m7.VEC2:return Ht;case m7.VEC3:return g;case m7.VEC4:return be;case m7.MAT2:return al;case m7.MAT3:return ce;case m7.MAT4:return Ne;default:return}}};var _7=Object.freeze(m7);function g7(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.id,n=e.property;i["a"].typeOf.string("options.id",t),i["a"].typeOf.object("options.property",n),i["a"].typeOf.string("options.property.type",n.type);const a=b7(n),s=y7(n,e.enums),c=s.componentType,l=Object(r["a"])(c)&&p7.isIntegerType(c)&&Object(o["a"])(n.normalized,!1);this._id=t,this._name=n.name,this._description=n.description,this._semantic=n.semantic,this._isLegacyExtension=a,this._type=s.type,this._componentType=c,this._enumType=s.enumType,this._valueType=s.valueType,this._isArray=s.isArray,this._isVariableLengthArray=s.isVariableLengthArray,this._arrayLength=s.arrayLength,this._min=n.min,this._max=n.max,this._normalized=l;let u=n.offset,h=n.scale;const d=Object(r["a"])(u)||Object(r["a"])(h),f=!0;let p;Object(r["a"])(u)||(u=this.expandConstant(0,f)),Object(r["a"])(h)||(h=this.expandConstant(1,f)),this._offset=u,this._scale=h,this._hasValueTransform=d,this._noData=n.noData,this._default=n.default,p=!!Object(r["a"])(a)&&(a?!Object(r["a"])(n.optional)||!n.optional:Object(o["a"])(n.required,!1)),this._required=p,this._extras=n.extras,this._extensions=n.extensions}function b7(e){if("ARRAY"===e.type)return!0;const t=e.type;return t!==_7.SCALAR&&!_7.isMatrixType(t)&&!_7.isVectorType(t)&&(!!p7.isNumericType(t)||!(Object(r["a"])(e.noData)||Object(r["a"])(e.scale)||Object(r["a"])(e.offset)||Object(r["a"])(e.required)||Object(r["a"])(e.count)||Object(r["a"])(e.array))&&(!Object(r["a"])(e.optional)&&void 0))}function y7(e,t){const n=e.type,i=e.componentType,o="ARRAY"===n;let s,c,l,u;if(o?(s=!0,c=e.componentCount,l=!Object(r["a"])(c)):e.array?(s=!0,c=e.count,l=!Object(r["a"])(e.count)):(s=!1,c=void 0,l=!1),Object(r["a"])(e.enumType)&&(u=t[e.enumType]),n===_7.ENUM)return{type:n,componentType:void 0,enumType:u,valueType:u.valueType,isArray:s,isVariableLengthArray:l,arrayLength:c};if(o&&i===_7.ENUM)return{type:i,componentType:void 0,enumType:u,valueType:u.valueType,isArray:s,isVariableLengthArray:l,arrayLength:c};if(n===_7.SCALAR||_7.isMatrixType(n)||_7.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:s,isVariableLengthArray:l,arrayLength:c};if(n===_7.BOOLEAN||n===_7.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:s,isVariableLengthArray:l,arrayLength:c};if(o&&(i===_7.BOOLEAN||i===_7.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:s,isVariableLengthArray:l,arrayLength:c};if(Object(r["a"])(i)&&p7.isNumericType(i))return{type:_7.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:s,isVariableLengthArray:l,arrayLength:c};if(p7.isNumericType(n))return{type:_7.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:s,isVariableLengthArray:l,arrayLength:c};throw new a["a"](`unknown metadata type {type: ${n}, componentType: ${i})`)}function v7(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!v7(e[n],t[n]))return!1;return!0}function O7(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;const n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){const n=w7(e,t[i]);if(Object(r["a"])(n))return n}}function w7(e,t){const n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return _7.isVectorType(n)?A7(t,n,i):_7.isMatrixType(n)?T7(t,n,i):n===_7.STRING?C7(t):n===_7.BOOLEAN?E7(t):n===_7.ENUM?x7(t,o):S7(t,i,r)}function A7(e,t,n){return p7.isVectorCompatible(n)?t!==_7.VEC2||e instanceof Ht?t!==_7.VEC3||e instanceof g?t!==_7.VEC4||e instanceof be?void 0:`vector value ${e} must be a Cartesian4`:`vector value ${e} must be a Cartesian3`:`vector value ${e} must be a Cartesian2`:`componentType ${n} is incompatible with vector type ${t}`}function T7(e,t,n){return p7.isVectorCompatible(n)?t!==_7.MAT2||e instanceof al?t!==_7.MAT3||e instanceof ce?t!==_7.MAT4||e instanceof Ne?void 0:`matrix value ${e} must be a Matrix4`:`matrix value ${e} must be a Matrix3`:`matrix value ${e} must be a Matrix2`:`componentType ${n} is incompatible with matrix type ${t}`}function C7(e){if("string"!==typeof e)return I7(e,_7.STRING)}function E7(e){if("boolean"!==typeof e)return I7(e,_7.BOOLEAN)}function x7(e,t){const n=typeof e;if(Object(r["a"])(t))return"string"===n&&Object(r["a"])(t.valuesByName[e])?void 0:`value ${e} is not a valid enum name for ${t.id}`}function S7(e,t,n){const i=typeof e;switch(t){case p7.INT8:case p7.UINT8:case p7.INT16:case p7.UINT16:case p7.INT32:case p7.UINT32:case p7.FLOAT32:case p7.FLOAT64:return"number"!==i?I7(e,t):isFinite(e)?j7(e,t,n):P7(e,t);case p7.INT64:case p7.UINT64:return"number"!==i&&"bigint"!==i?I7(e,t):"number"!==i||isFinite(e)?j7(e,t,n):P7(e,t)}}function I7(e,t){return`value ${e} does not match type ${t}`}function D7(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function j7(e,t,n){if(n){const i=p7.isUnsignedIntegerType(t)?0:-1,o=1;return e<i||e>o?D7(e,t,n):void 0}if(e<p7.getMinimum(t)||e>p7.getMaximum(t))return D7(e,t,n)}function P7(e,t){return`value ${e} of type ${t} must be finite`}function R7(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=R7(e[i],t,n);return e}Object.defineProperties(g7.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),g7.prototype.normalize=function(e){return this._normalized?R7(e,this._valueType,p7.normalize):e},g7.prototype.unnormalize=function(e){return this._normalized?R7(e,this._valueType,p7.unnormalize):e},g7.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:g7.valueTransformInPlace(e,this._offset,this._scale,p7.applyValueTransform)},g7.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:g7.valueTransformInPlace(e,this._offset,this._scale,p7.unapplyValueTransform)},g7.prototype.expandConstant=function(e,t){t=Object(o["a"])(t,!1);const n=this._isArray,i=this._arrayLength,r=_7.getComponentCount(this._type),a=n&&r>1;if(!n&&1===r)return e;if(!n)return new Array(r).fill(e);if(!a)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*r).fill(e);const s=new Array(r).fill(e);return new Array(this._arrayLength).fill(s)},g7.prototype.handleNoData=function(e){const t=this._noData;return Object(r["a"])(t)&&v7(e,t)?void 0:e},g7.prototype.unpackVectorAndMatrixTypes=function(e,t){t=Object(o["a"])(t,!1);const n=_7.getMathType(this._type),i=this._isArray,a=_7.getComponentCount(this._type),s=i&&a>1;return Object(r["a"])(n)?t&&s?e.map((function(e){return n.unpack(e)})):i?n.unpackArray(e):n.unpack(e):e},g7.prototype.packVectorAndMatrixTypes=function(e,t){t=Object(o["a"])(t,!1);const n=_7.getMathType(this._type),i=this._isArray,a=_7.getComponentCount(this._type),s=i&&a>1;return Object(r["a"])(n)?t&&s?e.map((function(e){return n.pack(e,[])})):i?n.packArray(e,[]):n.pack(e,[]):e},g7.prototype.validate=function(e){if(Object(r["a"])(e)||!Object(r["a"])(this._default))return this._required&&!Object(r["a"])(e)?"required property must have a value":this._isArray?O7(this,e):w7(this,e)},g7.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=g7.valueTransformInPlace(e[o],t[o],n[o],i);return e};var M7=g7;function N7(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.count,n=e.property,a=e.classProperty,s=e.bufferViews;i["a"].typeOf.number.greaterThan("options.count",t,0),i["a"].typeOf.object("options.property",n),i["a"].typeOf.object("options.classProperty",a),i["a"].typeOf.object("options.bufferViews",s);const c=a.type,l=a.isArray,u=a.isVariableLengthArray;let h=a.valueType;const d=a.enumType,f=c===_7.STRING,p=c===_7.BOOLEAN;let m;if(u){let e=Object(o["a"])(n.arrayOffsetType,n.offsetType);e=Object(o["a"])(p7[e],p7.UINT32);const i=Object(o["a"])(n.arrayOffsets,n.arrayOffsetBufferView);m=new t8(s[i],e,t+1)}const _=_7.getComponentCount(c);let g;g=u?m.get(t)-m.get(0):l?t*a.arrayLength:t;const b=_*g;let y,v;if(f){let e=Object(o["a"])(n.stringOffsetType,n.offsetType);e=Object(o["a"])(p7[e],p7.UINT32);const t=Object(o["a"])(n.stringOffsets,n.stringOffsetBufferView);y=new t8(s[t],e,b+1)}(f||p)&&(h=p7.UINT8),v=f?y.get(b)-y.get(0):p?Math.ceil(b/8):b;const O=Object(o["a"])(n.values,n.bufferView),w=new t8(s[O],h,v);let A=n.offset,T=n.scale;const C=a.hasValueTransform||Object(r["a"])(A)||Object(r["a"])(T);let E,x;A=Object(o["a"])(A,a.offset),T=Object(o["a"])(T,a.scale),A=L7(A),T=L7(T);const S=this;f?E=function(e){return U7(e,S._values,S._stringOffsets)}:p?(E=function(e){return V7(e,S._values)},x=function(e,t){H7(e,S._values,t)}):Object(r["a"])(d)?(E=function(e){const t=S._values.get(e);return d.namesByValue[t]},x=function(e,t){const n=d.valuesByName[t];S._values.set(e,n)}):(E=function(e){return S._values.get(e)},x=function(e,t){S._values.set(e,t)}),this._arrayOffsets=m,this._stringOffsets=y,this._values=w,this._classProperty=a,this._count=t,this._vectorComponentCount=_,this._min=n.min,this._max=n.max,this._offset=A,this._scale=T,this._hasValueTransform=C,this._getValue=E,this._setValue=x,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions}function L7(e){if(!Array.isArray(e))return e;const t=[];for(let n=0;n<e.length;n++){const i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function B7(e,t){const n=e._count;if(!Object(r["a"])(t)||t<0||t>=n){const e=n-1;throw new a["a"]("index is required and between zero and count - 1. Actual value: "+e)}}function F7(e,t){K7(e)&&Z7(e);const n=e._classProperty,i=n.isArray,o=n.type,a=_7.getComponentCount(o);if(Object(r["a"])(e._unpackedValues)){const n=e._unpackedValues[t];return i?Object(jL["a"])(n,!0):n}return i||1!==a?k7(e,n,t):e._getValue(t)}function k7(e,t,n){let i,r;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),r=e._arrayOffsets.get(n+1)-i;const o=_7.getComponentCount(t.type);i*=o,r*=o}else{const a=Object(o["a"])(t.arrayLength,1),s=a*e._vectorComponentCount;i=n*s,r=s}const a=new Array(r);for(let o=0;o<r;o++)a[o]=e._getValue(i+o);return a}function z7(e,t,n){J7(e,t,n)&&Z7(e);const i=e._classProperty,a=i.isArray,s=i.type,c=_7.getComponentCount(s);if(Object(r["a"])(e._unpackedValues))return i.isArray&&(n=Object(jL["a"])(n,!0)),void(e._unpackedValues[t]=n);if(!a&&1===c)return void e._setValue(t,n);let l,u;if(i.isVariableLengthArray)l=e._arrayOffsets.get(t),u=e._arrayOffsets.get(t+1)-l;else{const n=Object(o["a"])(i.arrayLength,1),r=n*e._vectorComponentCount;l=t*r,u=r}for(let o=0;o<u;++o)e._setValue(l+o,n[o])}function U7(e,t,n){const i=n.get(e),o=n.get(e+1)-i;return Bd(t.typedArray,i,o)}function V7(e,t){const n=e>>3,i=e%8;return 1===(t.typedArray[n]>>i&1)}function H7(e,t,n){const i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function G7(e,t){const n=t.dataView,i=8*e;let o=0;const r=(128&n.getUint8(i+7))>0;let a=!0;for(let s=0;s<8;++s){let e=n.getUint8(i+s);r&&(a?0!==e&&(e=255&~(e-1),a=!1):e=255&~e),o+=e*Math.pow(256,s)}return r&&(o=-o),o}function q7(e,t){const n=t.dataView,i=8*e;let o=BigInt(0);const r=(128&n.getUint8(i+7))>0;let a=!0;for(let s=0;s<8;++s){let e=n.getUint8(i+s);r&&(a?0!==e&&(e=255&~(e-1),a=!1):e=255&~e),o+=BigInt(e)*(BigInt(1)<<BigInt(8*s))}return r&&(o=-o),o}function W7(e,t){const n=t.dataView,i=8*e,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0),a=o+4294967296*r;return a}function Y7(e,t){const n=t.dataView,i=8*e,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0)),a=o+BigInt(4294967296)*r;return a}function X7(e){switch(e){case p7.INT8:return $c.BYTE;case p7.UINT8:return $c.UNSIGNED_BYTE;case p7.INT16:return $c.SHORT;case p7.UINT16:return $c.UNSIGNED_SHORT;case p7.INT32:return $c.INT;case p7.UINT32:return $c.UNSIGNED_INT;case p7.FLOAT32:return $c.FLOAT;case p7.FLOAT64:return $c.DOUBLE}}function K7(e){if(Object(r["a"])(e._unpackedValues))return!1;const t=e._classProperty,n=t.type,i=t.valueType;return n===_7.STRING||(i===p7.INT64&&!Ta.supportsBigInt64Array()||i===p7.UINT64&&!Ta.supportsBigUint64Array())}function J7(e,t,n){if(K7(e))return!0;const i=e._arrayOffsets;if(Object(r["a"])(i)){const e=i.get(t+1)-i.get(t),o=n.length;if(e!==o)return!0}return!1}function Z7(e){e._unpackedValues=$7(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function $7(e){const t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,a=_7.getComponentCount(r);if(!o&&1===a){for(let i=0;i<t;++i)n[i]=e._getValue(i);return n}for(let s=0;s<t;s++)n[s]=k7(e,i,s);return n}function Q7(e,t){const n=e._classProperty,i=n.isVariableLengthArray;return!e._hasValueTransform||i?t:M7.valueTransformInPlace(t,e._offset,e._scale,p7.applyValueTransform)}function e8(e,t){const n=e._classProperty,i=n.isVariableLengthArray;return!e._hasValueTransform||i?t:M7.valueTransformInPlace(t,e._offset,e._scale,p7.unapplyValueTransform)}function t8(e,t,n){const i=this;let o,a,s;if(t===p7.INT64)Ta.supportsBigInt()?Ta.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(e,t){i.typedArray[e]=BigInt(t)}):(o=new Uint8Array(e.buffer,e.byteOffset,8*n),a=function(e){return q7(e,i)}):(ky("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,8*n),a=function(e){return G7(e,i)});else if(t===p7.UINT64)Ta.supportsBigInt()?Ta.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(e,t){i.typedArray[e]=BigInt(t)}):(o=new Uint8Array(e.buffer,e.byteOffset,8*n),a=function(e){return Y7(e,i)}):(ky("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,8*n),a=function(e){return W7(e,i)});else{const r=X7(t);o=$c.createArrayBufferView(r,e.buffer,e.byteOffset,n),s=function(e,t){i.typedArray[e]=t}}Object(r["a"])(a)||(a=function(e){return i.typedArray[e]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=a,this.set=s,this._componentType=t}Object.defineProperties(N7.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),N7.prototype.get=function(e){B7(this,e);let t=F7(this,e);return t=this._classProperty.handleNoData(t),Object(r["a"])(t)?(t=this._classProperty.normalize(t),t=Q7(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))},N7.prototype.set=function(e,t){const n=this._classProperty;i["a"].defined("value",t),B7(this,e);const o=n.validate(t);if(Object(r["a"])(o))throw new a["a"](o);t=n.packVectorAndMatrixTypes(t),t=e8(this,t),t=n.unnormalize(t),z7(this,e,t)},N7.prototype.getTypedArray=function(){if(Object(r["a"])(this._values))return this._values.typedArray};var n8=N7;function i8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.count,n=e.class;i["a"].typeOf.number.greaterThan("options.count",t,0),i["a"].typeOf.object("options.class",n);const a={};if(Object(r["a"])(e.properties))for(const i in e.properties)e.properties.hasOwnProperty(i)&&(a[i]=new n8({count:t,property:e.properties[i],classProperty:n.properties[i],bufferViews:e.bufferViews}));this._count=t,this._class=n,this._properties=a}function o8(e,t){const n=e.properties;if(!Object(r["a"])(n))return;const i=n[t];if(Object(r["a"])(i)&&Object(r["a"])(i.default)){let e=i.default;return i.isArray&&(e=Object(jL["a"])(e,!0)),e=i.normalize(e),i.unpackVectorAndMatrixTypes(e)}}Object.defineProperties(i8.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}}}),i8.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},i8.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},i8.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},i8.prototype.getProperty=function(e,t){i["a"].typeOf.string("propertyId",t);const n=this._properties[t];let o;return o=Object(r["a"])(n)?n.get(e):o8(this._class,t),o},i8.prototype.setProperty=function(e,t,n){i["a"].typeOf.string("propertyId",t);const o=this._properties[t];return!!Object(r["a"])(o)&&(o.set(e,n),!0)},i8.prototype.getPropertyBySemantic=function(e,t){let n;i["a"].typeOf.string("semantic",t);const o=this._class.propertiesBySemantic;if(Object(r["a"])(o)&&(n=o[t]),Object(r["a"])(n))return this.getProperty(e,n.id)},i8.prototype.setPropertyBySemantic=function(e,t,n){let o;i["a"].typeOf.string("semantic",t);const a=this._class.propertiesBySemantic;return Object(r["a"])(a)&&(o=a[t]),!!Object(r["a"])(o)&&this.setProperty(e,o.id,n)},i8.prototype.getPropertyTypedArray=function(e){i["a"].typeOf.string("propertyId",e);const t=this._properties[e];if(Object(r["a"])(t))return t.getTypedArray()},i8.prototype.getPropertyTypedArrayBySemantic=function(e){let t;i["a"].typeOf.string("semantic",e);const n=this._class.propertiesBySemantic;if(Object(r["a"])(n)&&(t=n[e]),Object(r["a"])(t))return this.getPropertyTypedArray(t.id)};var r8=i8;function a8(){}Object.defineProperties(a8.prototype,{promise:{get:function(){a["a"].throwInstantiationError()}},cacheKey:{get:function(){a["a"].throwInstantiationError()}}}),a8.prototype.load=function(){a["a"].throwInstantiationError()},a8.prototype.unload=function(){},a8.prototype.process=function(e){},a8.prototype.getError=function(e,t){return i["a"].typeOf.string("errorMessage",e),Object(r["a"])(t)&&(e+="\n"+t.message),new ye["a"](e)},a8.prototype.isDestroyed=function(){return!1},a8.prototype.destroy=function(){return this.unload(),Wl(this)};const s8={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4};var c8=Object.freeze(s8);function l8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.typedArray,n=e.resource,i=e.cacheKey;if(Object(r["a"])(t)===Object(r["a"])(n))throw new a["a"]("One of options.typedArray and options.resource must be defined.");this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=c8.UNLOADED,this._promise=void 0}function u8(e){const t=e._resource;return e._state=c8.LOADING,l8._fetchArrayBuffer(t).then((function(t){if(!e.isDestroyed())return e._typedArray=new Uint8Array(t),e._state=c8.READY,e})).catch((function(n){if(e.isDestroyed())return;e._state=c8.FAILED;const i="Failed to load external buffer: "+t.url;return Promise.reject(e.getError(i,n))}))}Object(r["a"])(Object.create)&&(l8.prototype=Object.create(a8.prototype),l8.prototype.constructor=l8),Object.defineProperties(l8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}}),l8.prototype.load=function(){return Object(r["a"])(this._typedArray)?this._promise=Promise.resolve(this):this._promise=u8(this),this._promise},l8._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()},l8.prototype.unload=function(){this._typedArray=void 0},function(){var e,t="B9h79tEBBBENQ9gEUEU9gEUB9gBB9gVUUUUUEU9gDUUEU9gLUUUUEU9gIUUUEU9gVUUUUUB9gLUUUUB9gD99UE99Ie8aDILEVOLEVLRRRRRWWVBOOBEdddLVE9wEIIVIEBEOWEUEC+Q/KEKR/QIhO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwvBE8f9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwv9C9v919u9kBDe9tw79o9v9wT9fw9u9j9v9kw9WwvTw949Wwv79p9v9uBIy9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwvBL8e9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwv9C9v919u9kBO8a9tw79o9v9wT9fw9u9j9v9kw69u9kw949Wwv79p9v9uBRe9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jwBWA9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jw9C9v919u9kBdl9tw79o9v9wT9fw9u9j9v9kws9p2Twv9P9jTBQk9tw79o9v9wT9fw9u9j9v9kws9p2Twv9R919hTBKl9tw79o9v9wT9fw9u9j9v9kws9p2Twvt949wBXe9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9owBSA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9ow9TTv9p9wBZA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94swT9j9o9Sw9t9h9wBhL79iv9rBodWEBCEKDqxQ+f9Q8aDBK/EpE8jU8jJJJJBCJO9rGV8kJJJJBCBHODNALCEFAE0MBABCBrBJ+KJJBC+gEv86BBAVCJDFCBCJDZnJJJB8aDNAItMBAVCJDFADALZ+TJJJB8aKABAEFHRABCEFHEAVALFCBCBCJDAL9rALCfE0eZnJJJB8aAVAVCJDFALZ+TJJJBHWCJ/ABAL9uHODNAItMBAOC/wfBgGOCJDAOCJD6eHdCBHQINAWCJLFCBCJDZnJJJB8aAdAIAQ9rAQAdFAI6eHKADAQAL2FHXDNALtMBAKCSFGOC9wgHMAOCL4CIFCD4HpCBHSAXHZAEHhINDNAKtMBAWASFrBBHoCBHEAZHOINAWCJLFAEFAOrBBGaAo9rGoCETAoCkTCk91CR4786BBAOALFHOAaHoAECEFGEAK9HMBKKDNARAh9rAp6MBAhCBApZnJJJBGcApFHEDNAMtMBCBHxAWCJLFHqINARAE9rCk6MDAWCJLFAxFGlrBDHoCUHODNAlrBEGaAlrBBGkvCfEgMBCBHaAoCfEgMBCBHoDNAlrBIMBAlrBLMBAlrBVMBAlrBOMBAlrBRMBAlrBWMBAlrBdMBAlrBQMBAlrBKMBAlrBXMBAlrBMMBCBHaAlrBpMECBHoCUCBAlrBSeHOKCBHaKDNDNDNDNCLCDCECWAOCZ6GheAkCfEgGkCD0CLvAaCfEgGaCD0FAoCfEgGoCD0FAlrBIGyCD0FAlrBLG8aCD0FAlrBVGeCD0FAlrBOG3CD0FAlrBRG5CD0FAlrBWG8eCD0FAlrBdG8fCD0FAlrBQGACD0FAlrBKGHCD0FAlrBXGGCD0FAlrBMG8jCD0FAlrBpG8kCD0FAlrBSG8lCD0FG8mAOCZAheG8n6GOeAkCp0CWvAaCp0FAoCp0FAyCp0FA8aCp0FAeCp0FA3Cp0FA5Cp0FA8eCp0FA8fCp0FAACp0FAHCp0FAGCp0FA8jCp0FA8kCp0FA8lCp0FA8mA8nAOe6GoeGyCUFpDIEBKAcAxCO4FGaAarBBCDCIAoeAxCI4COgTv86BBAyCW9HMEAEAl8pBB83BBAECWFAlCWF8pBB83BBAECZFHEXDKAcAxCO4FGaAarBBCEAxCI4COgTv86BBKCDCLCWCEAheAOeAoeH8aCUAyTCU7HaCBH5AqHeINAEH3A8aHoAeHECBHOINAErBBGhAaAhAaCfEgGk6eAOCfEgAyTvHOAECEFHEAoCUFGoMBKA3AO86BBAeA8aFHeA3CEFHEA5A8aFG5CZ6MBKDNAlrBBGOAk6MBA3AO86BEA3CDFHEKDNAlrBEGOAk6MBAEAO86BBAECEFHEKDNAlrBDGOAk6MBAEAO86BBAECEFHEKDNAlrBIGOAk6MBAEAO86BBAECEFHEKDNAlrBLGOAk6MBAEAO86BBAECEFHEKDNAlrBVGOAk6MBAEAO86BBAECEFHEKDNAlrBOGOAk6MBAEAO86BBAECEFHEKDNAlrBRGOAk6MBAEAO86BBAECEFHEKDNAlrBWGOAk6MBAEAO86BBAECEFHEKDNAlrBdGOAk6MBAEAO86BBAECEFHEKDNAlrBQGOAk6MBAEAO86BBAECEFHEKDNAlrBKGOAk6MBAEAO86BBAECEFHEKDNAlrBXGOAk6MBAEAO86BBAECEFHEKDNAlrBMGOAk6MBAEAO86BBAECEFHEKDNAlrBpGOAk6MBAEAO86BBAECEFHEKAlrBSGOAk6MBAEAO86BBAECEFHEKAqCZFHqAxCZFGxAM6MBKKAEtMBAZCEFHZAEHhASCEFGSALsMDXEKKCBHOXIKAWAXAKCUFAL2FALZ+TJJJB8aAKAQFGQAI6MBKKCBHOARAE9rCAALALCA6e6MBDNALC8f0MBAECBCAAL9rGOZnJJJBAOFHEKAEAWCJDFALZ+TJJJBALFAB9rHOKAVCJOF8kJJJJBAOK9HEEUAECAAECA0eABCJ/ABAE9uC/wfBgGDCJDADCJD6eGDFCUFAD9uAE2ADCL4CIFCD4ADv2FCEFKMBCBABbDJ+KJJBK/pSEeU8jJJJJBC/AE9rGL8kJJJJBCBHVDNAICI9uGOChFAE0MBABCBYD+E+KJJBGRC/gEv86BBALC/ABFCfECJEZnJJJB8aALCuFGW9CU83IBALC8wFGd9CU83IBALCYFGQ9CU83IBALCAFGK9CU83IBALCkFGX9CU83IBALCZFGM9CU83IBAL9CU83IWAL9CU83IBABAEFC9wFGpABCEFGSAOFGE6HODNAItMBCMCSARCB9KeHZCBHhCBHoCBHaCBHcCBHxINDNAOCEgtMBCBHVXIKCDHqADAaCDTFGOYDBHlAOCWFYDBHkAOCLFYDBHyCBH8aCBHODNDNDNDNDNDNDNDNDNINALC/ABFAOCU7AxFCSgCITFGVYDLHeDNAVYDBGVAl9HMBAeAy9HMBAqC9+FHqXDKDNAVAy9HMBAeAk9HMBAqCUFHqXDKDNAVAk9HMBAeAlsMDKAqCLFHqA8aCZFH8aAOCEFGOCZ9HMBXDKKAqC870MBADAqCIgCX2GVC+E1JJBFYDBAaFCDTFYDBHqADAVCJ1JJBFYDBAaFCDTFYDBHyALADAVC11JJBFYDBAaFCDTFYDBGVAcZ+FJJJBGeCBCSAVAhsGkeAeCB9KAeAZ9IgGleHeAkAlCE7gHkDNARCE9IMBAeCS9HMBAVAVAoAVCEFAosGeeGoCEFsMDCMCSAeeHeKASAeA8av86BBAeCS9HMDAVAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAVHoXIKADCEAkAhsCETAyAhseCX2GOC11JJBFYDBAaFCDTFYDBHqADAOC+E1JJBFYDBAaFCDTFYDBHeADAOCJ1JJBFYDBAaFCDTFYDBHVCBHlDNARCE9IMBAhtMBAVMBAeCE9HMBAqCD9HMBAW9CU83IBAd9CU83IBAQ9CU83IBAK9CU83IBAX9CU83IBAM9CU83IBAL9CU83IWAL9CU83IBCBHhCEHlKAhAVAhsGOFH8aALAeAcZ+FJJJBHyALAqAcZ+FJJJBHkAyCM0MLAyCEFHyXVKCpHeASAOCLTCpv86BBAVHoKAetMBAeAZ9IMEKALAcCDTFAVbDBAcCEFCSgHcKAhAkFHhALC/ABFAxCITFGOAqbDLAOAVbDBALC/ABFAxCEFCSgGOCITFGeAVbDLAeAybDBAOCEFHVXDKCBCSAeA8asG3eHyA8aA3FH8aKDNDNAkCM0MBAkCEFHkXEKCBCSAqA8asG3eHkA8aA3FH8aKDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNAkAyCLTvG3CfEgG5C+qUFp9UISSSSSSSSSSSSSSWSLQMSSSSSSSSSSSSESVSSSSSSSSSSSSSRDSdSSSSSSSSSSSSSSKSSSSSSSSSSSSSSSSOBKC/wEH8eA5pDMKpKC/xEH8eXXKC/yEH8eXKKC/zEH8eXQKC/0EH8eXdKC/1EH8eXWKC/2EH8eXRKC/3EH8eXOKC/4EH8eXVKC/5EH8eXLKC/6EH8eXIKC/7EH8eXDKC/8EH8eXEKCPEH8eKAlAVAh9HvMBASA8e86BBXEKASC9+CUAOe86BBAEA386BBAECEFHEKDNAOMBAVAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAVHoKDNAyCS9HMBAeAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAeHoKDNAkCS9HMBAqAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAqHoKALAcCDTFAVbDBAcCEFCSgHODNDNAypZBEEEEEEEEEEEEEEBEKALAOCDTFAebDBAcCDFCSgHOKDNDNAkpZBEEEEEEEEEEEEEEBEKALAOCDTFAqbDBAOCEFCSgHOKALC/ABFAxCITFGyAVbDLAyAebDBALC/ABFAxCEFCSgCITFGyAebDLAyAqbDBALC/ABFAxCDFCSgCITFGeAqbDLAeAVbDBAxCIFHVAOHcA8aHhKApAE6HOASCEFHSAVCSgHxAaCIFGaAI6MBKKCBHVAOMBAE9C/lm+i/D+Z+g8a83BWAE9CJ/s+d+0/1+M/e/U+GU83BBAEAB9rCZFHVKALC/AEF8kJJJJBAVK+mIEEUCBHIDNABADCUFCSgCDTFYDBAEsMBCEHIABADCpFCSgCDTFYDBAEsMBCDHIABADCMFCSgCDTFYDBAEsMBCIHIABADCXFCSgCDTFYDBAEsMBCLHIABADCKFCSgCDTFYDBAEsMBCVHIABADCQFCSgCDTFYDBAEsMBCOHIABADCdFCSgCDTFYDBAEsMBCRHIABADCWFCSgCDTFYDBAEsMBCWHIABADCRFCSgCDTFYDBAEsMBCdHIABADCOFCSgCDTFYDBAEsMBCQHIABADCVFCSgCDTFYDBAEsMBCKHIABADCLFCSgCDTFYDBAEsMBCXHIABADCIFCSgCDTFYDBAEsMBCMHIABADCDFCSgCDTFYDBAEsMBCpHIABADCEFCSgCDTFYDBAEsMBCSCUABADCSgCDTFYDBAEseSKAIKjEIUCRHDDNINADCEFHIADC96FGLC8f0MEAIHDCEALTAE6MBKKAICR9uCI2CDFABCI9u2ChFKMBCBABbD+E+KJJBK+YDERU8jJJJJBCZ9rHLCBHVDNAICVFAE0MBCBHVABCBrB+E+KJJBC/QEv86BBAL9CB83IWABCEFHOABAEFC98FHRDNAItMBCBHWINDNARAO0MBCBSKAVADAWCDTFYDBGdALCWFAVCDTFYDB9rGEAEC8f91GEFAE7C59K7GVAdALCWFAVCDTFGQYDB9rGEC8f91CETAECDT7vHEINAOAECfB0CRTAECfBgv86BBAOCEFHOAECR4GEMBKAQAdbDBAWCEFGWAI9HMBKKCBHVARAO6MBAOCBbBBAOAB9rCLFHVKAVK86EIUCWHDDNINADCEFHIADC95FGLC8f0MEAIHDCEALTAE6MBKKAICR9uAB2CVFK+yWDEUO99DNAEtMBADCLsHVCUADCETCUFTCU7HDDNDNCUAICUFTCU7+yGOjBBBzmGR+LjBBB9P9dtMBAR+oHIXEKCJJJJ94HIKAD+yHWDNAVMBABCOFHDINALCLFiDBGRjBBBBjBBJzALiDBGd+LAR+LmALCWFiDBGQ+LmGR+VARjBBBB9beGRnHKAdARnHRALCXFiDBHdDNDNAQjBBBB9gtMBAKHQXEKjBBJzAR+L+TGQAQ+MAKjBBBB9geHQjBBJzAK+L+TGKAK+MARjBBBB9geHRKADC9+FAI87EBDNDNjBBBzjBBB+/AdjBBBB9geAdjBBJ+/AdjBBJ+/9geGdjBBJzAdjBBJz9feAWnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADAB87EBDNDNjBBBzjBBB+/AQjBBBB9geAQjBBJ+/AQjBBJ+/9geGdjBBJzAdjBBJz9feAOnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADC98FAB87EBDNDNjBBBzjBBB+/ARjBBBB9geARjBBJ+/ARjBBJ+/9geGRjBBJzARjBBJz9feAOnmGR+LjBBB9P9dtMBAR+oHBXEKCJJJJ94HBKADC96FAB87EBALCZFHLADCWFHDAECUFGEMBXDKKABCIFHDINALCLFiDBGRjBBBBjBBJzALiDBGd+LAR+LmALCWFiDBGQ+LmGR+VARjBBBB9beGRnHKAdARnHRALCXFiDBHdDNDNAQjBBBB9gtMBAKHQXEKjBBJzAR+L+TGQAQ+MAKjBBBB9geHQjBBJzAK+L+TGKAK+MARjBBBB9geHRKADCUFAI86BBDNDNjBBBzjBBB+/AdjBBBB9geAdjBBJ+/AdjBBJ+/9geGdjBBJzAdjBBJz9feAWnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADAB86BBDNDNjBBBzjBBB+/AQjBBBB9geAQjBBJ+/AQjBBJ+/9geGdjBBJzAdjBBJz9feAOnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADC9+FAB86BBDNDNjBBBzjBBB+/ARjBBBB9geARjBBJ+/ARjBBJ+/9geGRjBBJzARjBBJz9feAOnmGR+LjBBB9P9dtMBAR+oHBXEKCJJJJ94HBKADC99FAB86BBALCZFHLADCLFHDAECUFGEMBKKK/KLLD99EUE99EUDNAEtMBDNDNCUAICUFTCU7+yGVjBBBzmGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKAIC/8fIgHRINABCOFCICDALCLFiDB+LALiDB+L9eGIALCWFiDB+LALAICDTFiDB+L9eeGIALCXFiDB+LALAICDTFiDB+L9eeGIARv87EBDNDNjBBBzjBBB+/ALAICEFCIgCDTFiDBj/zL+1znjBBJ+/jBBJzALAICDTFiDBjBBBB9deGOnGWjBBBB9geAWjBBJ+/AWjBBJ+/9geGWjBBJzAWjBBJz9feAVnmGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKABAd87EBDNDNjBBBzjBBB+/AOALAICDFCIgCDTFiDBj/zL+1znnGWjBBBB9geAWjBBJ+/AWjBBJ+/9geGWjBBJzAWjBBJz9feAVnmGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKABCDFAd87EBDNDNjBBBzjBBB+/AOALAICUFCIgCDTFiDBj/zL+1znnGOjBBBB9geAOjBBJ+/AOjBBJ+/9geGOjBBJzAOjBBJz9feAVnmGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKABCLFAI87EBABCWFHBALCZFHLAECUFGEMBKKK+tDDWUE998jJJJJBCZ9rGV8kJJJJBDNAEtMBADCD4GOtMBCEAI9rHRAOCDTHWCBHdINC+cUHDALHIAOHQINAIiDBAVCXFZ+YJJJB8aAVYDXGKADADAK9IeHDAICLFHIAQCUFGQMBKARADFGICkTHKCBHDCBAI9rHXAOHIINDNDNALADFiDBGMAXZ+XJJJBjBBBzjBBB+/AMjBBBB9gemGM+LjBBB9P9dtMBAM+oHQXEKCJJJJ94HQKABADFAQCfffRgAKvbDBADCLFHDAICUFGIMBKABAWFHBALAWFHLAdCEFGdAE9HMBKKAVCZF8kJJJJBK+iMDlUI998jJJJJBC+QD9rGV8kJJJJBAVC+oEFCBC/kBZnJJJB8aCBHODNADtMBCBHOAItMBDNABAE9HMBAVCUADCDTGRADCffffI0eCBYD/4+JJJBhJJJJBBGEbD+oEAVCEbD1DAEABARZ+TJJJB8aKAVC+YEFCWFCBbDBAV9CB83I+YEAVC+YEFAEADAIAVC+oEFZ+OJJJBCUAICDTGWAICffffI0eGdCBYD/4+JJJBhJJJJBBHRAVC+oEFAVYD1DGOCDTFARbDBAVAOCEFGQbD1DARAVYD+YEGKAWZ+TJJJBHXAVC+oEFAQCDTFADCI9uGMCBYD/4+JJJBhJJJJBBGRbDBAVAOCDFGWbD1DARCBAMZnJJJBHpAVC+oEFAWCDTFAdCBYD/4+JJJBhJJJJBBGSbDBAVAOCIFGQbD1DAXHRASHWINAWALiDBALARYDBGdCWAdCW6eCDTFC/EBFiDBmuDBARCLFHRAWCLFHWAICUFGIMBKCBHIAVC+oEFAQCDTFCUAMCDTADCffff970eCBYD/4+JJJBhJJJJBBGQbDBAVAOCLFGObD1DDNADCI6MBAEHRAQHWINAWASARYDBCDTFiDBASARCLFYDBCDTFiDBmASARCWFYDBCDTFiDBmuDBARCXFHRAWCLFHWAICEFGIAM6MBKKAVC/MBFHZAVYD+cEHhAVYD+gEHoAVHRCBHdCBHWCBHaCEHcINARHxAEAWCX2FGqCWFGlYDBHDAqYDBHkABAaCX2FGRCLFAqCLFGyYDBG8abDBARAkbDBARCWFADbDBApAWFCE86BBAZADbDWAZA8abDLAZAkbDBAQAWCDTFCBbDBCIHeDNAdtMBAxHRINDNARYDBGIADsMBAIAksMBAIA8asMBAZAeCDTFAIbDBAeCEFHeKARCLFHRAdCUFGdMBKKAXAkCDTFGRARYDBCUFbDBAXA8aCDTFGRARYDBCUFbDBAXADCDTFGRARYDBCUFbDBAoAhAqYDBCDTGIFYDBCDTFGkHRAKAIFGDYDBGdHIDNAdtMBDNINARYDBAWsMEARCLFHRAICUFGItMDXBKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKAoAhAyYDBCDTGIFYDBCDTFGkHRAKAIFGDYDBGdHIDNAdtMBDNINARYDBAWsMEARCLFHRAICUFGIMBXDKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKDNAKAlYDBCDTGRFGDYDBGdtMBAoAhARFYDBCDTFGkHRAdHIDNINARYDBAWsMEARCLFHRAICUFGIMBXDKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKDNDNAetMBCUHWjBBBBH3CBHRINASAZARCDTFYDBCDTGIFGdiDBH5AdALCBARCEFGkARCS0eCDTFiDBALAXAIFYDBGRCWARCW6eCDTFC/EBFiDBmG8euDBDNAKAIFYDBGdtMBA8eA5+TH8eAoAhAIFYDBCDTFHRAdCDTHIINAQARYDBGdCDTFGDA8eADiDBmG5uDBA5A3A3A59dGDeH3AdAWADeHWARCLFHRAIC98FGIMBKKAkHRAkAe9HMBKAWCU9HMEKAcAM9PMDINDNApAcFrBBMBAcHWXDKAMAcCEFGc9HMBXIKKAaCEFHaAeCZAeCZ6eHdAZHRAxHZAWCU9HMBKKAOCDTAVC+oEFFC98FHRDNINAOtMEARYDBCBYD/0+JJJBh+BJJJBBARC98FHRAOCUFHOXBKKAVC+QDF8kJJJJBK/iLEVUCUAICDTGVAICffffI0eGOCBYD/4+JJJBhJJJJBBHRALALYD9gGWCDTFARbDBALAWCEFbD9gABARbDBAOCBYD/4+JJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDLCUADCDTADCffffI0eCBYD/4+JJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDWABYDBCBAVZnJJJB8aADCI9uHdDNADtMBABYDBHOAEHLADHRINAOALYDBCDTFGVAVYDBCEFbDBALCLFHLARCUFGRMBKKDNAItMBABYDBHLABYDLHRCBHVAIHOINARAVbDBARCLFHRALYDBAVFHVALCLFHLAOCUFGOMBKKDNADCI6MBABYDLHRABYDWHVCBHLINAECWFYDBHOAECLFYDBHDARAEYDBCDTFGWAWYDBGWCEFbDBAVAWCDTFALbDBARADCDTFGDADYDBGDCEFbDBAVADCDTFALbDBARAOCDTFGOAOYDBGOCEFbDBAVAOCDTFALbDBAECXFHEALCEFGLAd6MBKKDNAItMBABYDLHEABYDBHLINAEAEYDBALYDB9rbDBALCLFHLAECLFHEAICUFGIMBKKKqBABAEADAIC+k1JJBZ+NJJJBKqBABAEADAIC+M+JJJBZ+NJJJBK9dEEUABCfEAICDTZnJJJBHLCBHIDNADtMBINDNALAEYDBCDTFGBYDBCU9HMBABAIbDBAICEFHIKAECLFHEADCUFGDMBKKAIK9TEIUCBCBYD/8+JJJBGEABCIFC98gFGBbD/8+JJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABK9TEIUCBCBYD/8+JJJBGEABCIFC98gFGBbD/8+JJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK9+EIUzBHEDNDNCBYD/8+JJJBGDAECZTGI9NMBCUHEADAI9rCffIFCZ4NBCUsMEKADHEKCBABAE9rCIFC98gCBYD/8+JJJBFGDbD/8+JJJBDNADzBCZTGE9NMBADAE9rCffIFCZ4NB8aKKXBABAEZ+ZJJJBK+BEEIUDNAB+8GDCl4GICfEgGLCfEsMBDNALMBDNABjBBBB9cMBAECBbDBABSKABjBBJ9fnAEZ+YJJJBHBAEAEYDBCNFbDBABSKAEAICfEgC+CUFbDBADCfff+D94gCJJJ/4Iv++HBKABK+gEBDNDNAECJE9IMBABjBBBUnHBDNAECfE9OMBAEC+BUFHEXDKABjBBBUnHBAECPDAECPD9IeC+C9+FHEXEKAEC+BU9KMBABjBBJXnHBDNAEC+b9+9MMBAEC/mBFHEXEKABjBBJXnHBAEC+299AEC+2999KeC/MEFHEKABAEClTCJJJ/8IF++nKK+ODDBCJWK/0EBBBBEBBBDBBBEBBBDBBBBBBBDBBBBBBBEBBBBBBB+L29Hz/69+9Kz/n/76z/RG97z/Z/O9Xz8j/b85z/+/U9Yz/B/K9hz+2/z9dz9E+L9Mz59a8kz+R/t3z+a+Zyz79ohz/J4++8++y+d9v8+BBBB9S+49+z8r+Hbz9m9m/m8+l/Z/O8+/8+pg89Q/X+j878r+Hq8++m+b/E87BBBBBBJzBBJzBBJz+e/v/n8++y+dSz9I/h/68+XD/r8+/H0838+/w+nOzBBBB+wv9o8+UF888+9I/h/68+9C9g/l89/N/M9M89/d8kO8+BBBBF+8Tz9M836zs+2azl/Zpzz818ez9E+LXz/u98f8+819e/68+BC/0dKXEBBBDBBBZwBB",n=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!==typeof WebAssembly)return{supported:!1};var i=WebAssembly.instantiate(o(t),{}).then((function(t){e=t.instance,e.exports.__wasm_call_ctors(),e.exports.meshopt_encodeVertexVersion(0),e.exports.meshopt_encodeIndexVersion(1)}));function o(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;++i){var o=e.charCodeAt(i);t[i]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}var r=0;for(i=0;i<e.length;++i)t[r++]=t[i]<60?n[t[i]]:64*(t[i]-60)+t[++i];return t.buffer.slice(0,r)}function r(e){if(!e)throw new Error("Assertion failed")}function a(t,n,i){var o=e.exports.sbrk,r=o(4*t.length),a=o(4*n),s=new Uint8Array(e.exports.memory.buffer),c=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);s.set(c,r),i&&i(r,r,t.length,n);var l=e.exports.meshopt_optimizeVertexFetchRemap(a,r,t.length,n);new Uint8Array(e.exports.memory.buffer);var u=new Uint32Array(n);new Uint8Array(u.buffer).set(s.subarray(a,a+4*n)),c.set(s.subarray(r,r+4*t.length)),o(r-o(0));for(var h=0;h<t.length;++h)t[h]=u[t[h]];return[u,l]}function s(t,n,i,o,r){var a=e.exports.sbrk,s=a(n),c=a(o*r),l=new Uint8Array(e.exports.memory.buffer);l.set(new Uint8Array(i.buffer,i.byteOffset,i.byteLength),c);var u=t(s,n,c,o,r),h=new Uint8Array(u);return h.set(l.subarray(s,s+u)),a(s-a(0)),h}function c(e){for(var t=0,n=0;n<e.length;++n){var i=e[n];t<i?i:t}return t}function l(e,t){if(r(2==t||4==t),4==t)return new Uint32Array(e.buffer,e.byteOffset,e.byteLength/4);var n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2);return new Uint32Array(n)}function u(t,n,i,o,r,a){var s=e.exports.sbrk,c=s(i*o),l=s(i*a),u=new Uint8Array(e.exports.memory.buffer);u.set(new Uint8Array(n.buffer,n.byteOffset,n.byteLength),l),t(c,i,o,r,l);var h=new Uint8Array(i*o);return h.set(u.subarray(c,c+i*o)),s(c-s(0)),h}}();var h8=function(){var e="B9h79tEBBBE8fV9gBB9gVUUUUUEU9gIUUUB9gEUEU9gIUUUEUIKQBEEEDDDILLLVE9wEEEVIEBEOWEUEC+Q/IEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBEy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBDe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBIl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBLk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBOL79iv9rBRQ+x8yQDBK/qMEZU8jJJJJBCJ/EB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rADZ1JJJBHWCJ/ABAD9uC/wfBgGOCJDAOCJD6eHdAICEFHLCBHQDNINAQAE9PMEAdAEAQ9rAQAdFAE6eHKDNDNADtMBAKCSFGOC9wgHXAOCL4CIFCD4HMAWCJDFHpCBHSALHZINDNARAZ9rAM9PMBCBHLXIKAZAMFHLDNAXtMBCBHhCBHIINDNARAL9rCk9PMBCBHLXVKAWCJ/CBFAIFHODNDNDNDNDNAZAICO4FrBBAhCOg4CIgpLBEDIBKAO9CB83IBAOCWF9CB83IBXIKAOALrBLALrBBGoCO4GaAaCIsGae86BBAOCEFALCLFAaFGarBBAoCL4CIgGcAcCIsGce86BBAOCDFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCIFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCLFAaAoFGarBBALrBEGoCO4GcAcCIsGce86BBAOCVFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCOFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCRFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCWFAaAoFGarBBALrBDGoCO4GcAcCIsGce86BBAOCdFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCQFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCKFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCXFAaAoFGorBBALrBIGLCO4GaAaCIsGae86BBAOCMFAoAaFGorBBALCL4CIgGaAaCIsGae86BBAOCpFAoAaFGorBBALCD4CIgGaAaCIsGae86BBAOCSFAoAaFGOrBBALCIgGLALCIsGLe86BBAOALFHLXDKAOALrBWALrBBGoCL4GaAaCSsGae86BBAOCEFALCWFAaFGarBBAoCSgGoAoCSsGoe86BBAOCDFAaAoFGorBBALrBEGaCL4GcAcCSsGce86BBAOCIFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCLFAoAaFGorBBALrBDGaCL4GcAcCSsGce86BBAOCVFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCOFAoAaFGorBBALrBIGaCL4GcAcCSsGce86BBAOCRFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCWFAoAaFGorBBALrBLGaCL4GcAcCSsGce86BBAOCdFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCQFAoAaFGorBBALrBVGaCL4GcAcCSsGce86BBAOCKFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCXFAoAaFGorBBALrBOGaCL4GcAcCSsGce86BBAOCMFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCpFAoAaFGorBBALrBRGLCL4GaAaCSsGae86BBAOCSFAoAaFGOrBBALCSgGLALCSsGLe86BBAOALFHLXEKAOAL8pBB83BBAOCWFALCWF8pBB83BBALCZFHLKAhCDFHhAICZFGIAX6MBKKDNALMBCBHLXIKDNAKtMBAWASFrBBHhCBHOApHIINAIAWCJ/CBFAOFrBBGZCE4CBAZCEg9r7AhFGh86BBAIADFHIAOCEFGOAK9HMBKKApCEFHpALHZASCEFGSAD9HMBKKABAQAD2FAWCJDFAKAD2Z1JJJB8aAWAWCJDFAKCUFAD2FADZ1JJJB8aKAKCBALeAQFHQALMBKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/EBF8kJJJJBAOK+OoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJEZ+JJJJB8aAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK+lVOEUE99DUD99EUD99DNDNADCL9HMBAEtMEINDNDNjBBBzjBBB+/ABCDFGD8sBB+yAB8sBBGI+yGL+L+TABCEFGV8sBBGO+yGR+L+TGWjBBBB9gGdeAWjBB/+9CAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI86BBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD86BBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD86BBABCLFHBAECUFGEMBXDKKAEtMBINDNDNjBBBzjBBB+/ABCLFGD8uEB+yAB8uEBGI+yGL+L+TABCDFGV8uEBGO+yGR+L+TGWjBBBB9gGdeAWjB/+fsAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI87EBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD87EBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD87EBABCWFHBAECUFGEMBKKK/SILIUI99IUE99DNAEtMBCBHIABHLINDNDNj/zL81zALCOF8uEBGVCIv+y+VGOAL8uEB+ynGRjB/+fsnjBBBzjBBB+/ARjBBBB9gemGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKALCLF8uEBHQALCDF8uEBHKABAVCEFCIgAIvCETFAd87EBDNDNAOAK+ynGWjB/+fsnjBBBzjBBB+/AWjBBBB9gemGX+LjBBB9P9dtMBAX+oHKXEKCJJJJ94HKKABAVCDFCIgAIvCETFAK87EBDNDNAOAQ+ynGOjB/+fsnjBBBzjBBB+/AOjBBBB9gemGX+LjBBB9P9dtMBAX+oHQXEKCJJJJ94HQKABAVCUFCIgAIvCETFAQ87EBDNDNjBBJzARARn+TAWAWn+TAOAOn+TGRjBBBBARjBBBB9ge+RjB/+fsnjBBBzmGR+LjBBB9P9dtMBAR+oHQXEKCJJJJ94HQKABAVCIgAIvCETFAQ87EBALCWFHLAICLFHIAECUFGEMBKKK6BDNADCD4AE2GEtMBINABABYDBGDCWTCW91+yADCk91ClTCJJJ/8IF++nuDBABCLFHBAECUFGEMBKKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABKKKEBCJWKLZ9kBB",t="B9h79tEBBBE5V9gBB9gVUUUUUEU9gIUUUB9gDUUB9gEUEUIMXBBEBEEDIDIDLLVE9wEEEVIEBEOWEUEC+Q/aEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBDy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBLe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBOk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBWl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBQL79iv9rBKQ/j6XLBZIK9+EVU8jJJJJBCZ9rHBCBHEINCBHDCBHIINABCWFADFAICJUAEAD4CEgGLe86BBAIALFHIADCEFGDCW9HMBKAEC+Q+YJJBFAI86BBAECITC+Q1JJBFAB8pIW83IBAECEFGECJD9HMBKK1HLSUD97EUO978jJJJJBCJ/KB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rAD/8QBBCJ/ABAD9uC/wfBgGOCJDAOCJD6eHWAICEFHOCBHdDNINAdAE9PMEAWAEAd9rAdAWFAE6eHQDNDNADtMBAQCSFGLC9wgGKCI2HXAKCETHMALCL4CIFCD4HpCBHSINAOHZCBHhDNINDNARAZ9rAp9PMBCBHOXVKAVCJ/CBFAhAK2FHoAZApFHOCBHIDNAKC/AB6MBARAO9rC/gB6MBCBHLINAoALFHIDNDNDNDNDNAZALCO4FrBBGaCIgpLBEDIBKAICBPhPKLBXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLBAOCZFHOKDNDNDNDNDNAaCD4CIgpLBEDIBKAICBPhPKLZXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLZAOCZFHOKDNDNDNDNDNAaCL4CIgpLBEDIBKAICBPhPKLAXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLAAOCZFHOKDNDNDNDNDNAaCO4pLBEDIBKAICBPhPKL8wXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCLFAlPqBFAaC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCWFAlPqBFAaC+Q+YJJBFrBBFHOXEKAIAOPBBBPKL8wAOCZFHOKALC/ABFHIALCJEFAK0MEAIHLARAO9rC/fB0MBKKDNAIAK9PMBAICI4HLINDNARAO9rCk9PMBCBHOXRKAoAIFHaDNDNDNDNDNAZAICO4FrBBALCOg4CIgpLBEDIBKAaCBPhPKLBXIKAaAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAaAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAaAOPBBBPKLBAOCZFHOKALCDFHLAICZFGIAK6MBKKDNAOtMBAOHZAhCEFGhCLsMDXEKKCBHOXIKDNAKtMBAVCJDFASFHIAVASFPBDBHlCBHaINAIAVCJ/CBFAaFGLPBLBGxCEP9tAxCEPSGcP9OP9hP9RGxALAKFPBLBGkCEP9tAkAcP9OP9hP9RGkPMBZEhDoIaLcVxOqRlGyALAMFPBLBG8aCEP9tA8aAcP9OP9hP9RG8aALAXFPBLBGeCEP9tAeAcP9OP9hP9RGePMBZEhDoIaLcVxOqRlG3PMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIAlP9uGlPeBbDBAIADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAyA3PMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWkdyQ8aKeX3M5p8eS8fGxA8aAePMWkdyQ8aKeX3M5p8eS8fGkPMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFHIAaCZFGaAK6MBKKASCLFGSAD6MBKKABAdAD2FAVCJDFAQAD2/8QBBAVAVCJDFAQCUFAD2FAD/8QBBKAQCBAOeAdFHdAOMBKC9+HOXEKCBC99ARAO9rADCAADCA0eseHOKAVCJ/KBF8kJJJJBAOKWBZ+BJJJBK+KoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJE/8KBAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK/xVDIUO978jJJJJBCA9rGI8kJJJJBDNDNADCL9HMBDNAEC98gGLtMBABHDCBHVINADADPBBBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKBBADCZFHDAVCLFGVAL6MBKKALAE9PMEAIAECIgGVCDTGDvCBCZAD9r/8KBAIABALCDTFGLAD/8QBBDNAVtMBAIAIPBLBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKLBKALAIAD/8QBBXEKABAEC98gGDZ+HJJJBADAE9PMBAIAECIgGLCITGVFCBCAAV9r/8KBAIABADCITFGDAV/8QBBAIALZ+HJJJBADAIAV/8QBBKAICAF8kJJJJBK+yIDDUR97DNAEtMBCBHDINABCZFGIAIPBBBGLCBPhGVCJJ98P3ECJJ98P3IGOP9OABPBBBGRALPMLVORXMpScxql358e8fCffEPhP9OP/6EARALPMBEDIWdQKZhoaky8aeGLCZP+sEP/6EGWP/gEALCZP+rECZP+sEP/6EGdP/gEP/kEP/lEGLjB/+fsPaAdALAVP+2EGVAdCJJJJ94PhGQP9OP9RP/kEGdAdP/mEALALP/mEAWAVAWAQP9OP9RP/kEGLALP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGVP/kECZP+rEAdAWP/mEAVP/kECffIPhP9OP9QGdALAWP/mEAVP/kECUPSCBPlDCBPlICBPlOCBPlRCBPlQCBPlKCBPlpCBPlSP9OGLPMWdkyQK8aeXM35pS8e8fP9QPKBBABARAOP9OAdALPMBEZhDIoaLVcxORqlP9QPKBBABCAFHBADCLFGDAE6MBKKK94EIU8jJJJJBCA9rGI8kJJJJBABAEC98gGLZ+JJJJBDNALAE9PMBAIAECIgGVCITGEFCBCAAE9r/8KBAIABALCITFGBAE/8QBBAIAVZ+JJJJBABAIAE/8QBBKAICAF8kJJJJBK/hILDUE97EUV978jJJJJBCZ9rHDDNAEtMBCBHIINADABPBBBGLABCZFGVPBBBGOPMLVORXMpScxql358e8fGRCZP+sEGWCLP+rEPKLBABjBBJzPaj/zL81zPaAWCIPhP9QP/6EP/nEGWALAOPMBEDIWdQKZhoaky8aeGLCZP+rECZP+sEP/6EP/mEGOAOP/mEAWALCZP+sEP/6EP/mEGdAdP/mEAWARCZP+rECZP+sEP/6EP/mEGRARP/mEP/kEP/kEP/lECBPhP+4EP/jEjB/+fsPaGWP/mEjBBN0PaGLP/kECffIPhGQP9OAdAWP/mEALP/kECZP+rEP9QGdARAWP/mEALP/kECZP+rEAOAWP/mEALP/kEAQP9OP9QGWPMBEZhDIoaLVcxORqlGLP5BADPBLBPeB+t+J83IBABCWFALP5EADPBLBPeE+t+J83IBAVAdAWPMWdkyQK8aeXM35pS8e8fGWP5BADPBLBPeD+t+J83IBABCkFAWP5EADPBLBPeI+t+J83IBABCAFHBAICLFGIAE6MBKKK/3EDIUE978jJJJJBC/AB9rHIDNADCD4AE2GLC98gGVtMBCBHDABHEINAEAEPBBBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKBBAECZFHEADCLFGDAV6MBKKDNAVAL9PMBAIALCIgGDCDTGEvCBC/ABAE9r/8KBAIABAVCDTFGVAE/8QBBDNADtMBAIAIPBLBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKLBKAVAIAE/8QBBKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIKKKEBCJWKLZ9tBB",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!==typeof WebAssembly)return{supported:!1};var o,r=e;WebAssembly.validate(n)&&(r=t);var a=WebAssembly.instantiate(s(r),{}).then((function(e){o=e.instance,o.exports.__wasm_call_ctors()}));function s(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;++n){var o=e.charCodeAt(n);t[n]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}var r=0;for(n=0;n<e.length;++n)t[r++]=t[n]<60?i[t[n]]:64*(t[n]-60)+t[++n];return t.buffer.slice(0,r)}function c(e,t,n,i,r,a){var s=o.exports.sbrk,c=n+3&-4,l=s(c*i),u=s(r.length),h=new Uint8Array(o.exports.memory.buffer);h.set(r,u);var d=e(l,n,i,u,r.length);if(0==d&&a&&a(l,c,i),t.set(h.subarray(l,l+n*i)),s(l-s(0)),0!=d)throw new Error("Malformed buffer data: "+d)}var l={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},u={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:a,supported:!0,decodeVertexBuffer:function(e,t,n,i,r){c(o.exports.meshopt_decodeVertexBuffer,e,t,n,i,o.exports[l[r]])},decodeIndexBuffer:function(e,t,n,i){c(o.exports.meshopt_decodeIndexBuffer,e,t,n,i)},decodeIndexSequence:function(e,t,n,i){c(o.exports.meshopt_decodeIndexSequence,e,t,n,i)},decodeGltfBuffer:function(e,t,n,i,r,a){c(o.exports[u[r]],e,t,n,i,o.exports[l[a]])}}}();function d8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,r=e.bufferViewId,a=e.gltfResource,s=e.baseResource,c=e.cacheKey;i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.number("options.bufferViewId",r),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const l=n.bufferViews[r];let u,h,d,f,p=l.buffer,m=l.byteOffset,_=l.byteLength,g=!1;if(i7(l,"EXT_meshopt_compression")){const e=l.extensions.EXT_meshopt_compression;p=e.buffer,m=Object(o["a"])(e.byteOffset,0),_=e.byteLength,g=!0,u=e.byteStride,h=e.count,d=e.mode,f=Object(o["a"])(e.filter,"NONE")}const b=n.buffers[p];this._hasMeshopt=g,this._meshoptByteStride=u,this._meshoptCount=h,this._meshoptMode=d,this._meshoptFilter=f,this._resourceCache=t,this._gltfResource=a,this._baseResource=s,this._buffer=b,this._bufferId=p,this._byteOffset=m,this._byteLength=_,this._cacheKey=c,this._bufferLoader=void 0,this._typedArray=void 0,this._state=c8.UNLOADED,this._promise=void 0,this._process=function(e,t){}}function f8(e){const t=e._resourceCache,n=e._buffer;if(Object(r["a"])(n.uri)){const i=e._baseResource,o=i.getDerivedResource({url:n.uri});return t.loadExternalBuffer({resource:o})}return t.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:e._bufferId})}function p8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,r=e.draco,a=e.gltfResource,s=e.baseResource,c=e.cacheKey;i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.object("options.draco",r),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s),this._resourceCache=t,this._gltfResource=a,this._baseResource=s,this._gltf=n,this._draco=r,this._cacheKey=c,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=c8.UNLOADED,this._promise=void 0,this._process=function(e,t){}}function m8(e,t){e.unload(),e._state=c8.FAILED;const n="Failed to load Draco";return Promise.reject(e.getError(n,t))}function _8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,r=e.imageId,a=e.gltfResource,s=e.baseResource,c=e.cacheKey;i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.number("options.imageId",r),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const l=n.images[r],u=l.bufferView,h=l.uri;this._resourceCache=t,this._gltfResource=a,this._baseResource=s,this._gltf=n,this._bufferViewId=u,this._uri=h,this._cacheKey=c,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=c8.UNLOADED,this._promise=void 0}function g8(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map((function(e){return e.bufferView})),e=e[0]),{image:e,mipLevels:t}}function b8(e){const t=e._resourceCache,n=t.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,e._state=c8.LOADING,n.promise.then((function(){if(e.isDestroyed())return;const t=n.typedArray;return w8(t).then((function(t){if(e.isDestroyed())return;const n=g8(t);return e.unload(),e._image=n.image,e._mipLevels=n.mipLevels,e._state=c8.READY,e}))})).catch((function(t){if(!e.isDestroyed())return v8(e,t,"Failed to load embedded image")}))}function y8(e){const t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});return e._state=c8.LOADING,T8(i).then((function(t){if(e.isDestroyed())return;const n=g8(t);return e.unload(),e._image=n.image,e._mipLevels=n.mipLevels,e._state=c8.READY,e})).catch((function(t){if(!e.isDestroyed())return v8(e,t,"Failed to load image: "+n)}))}function v8(e,t,n){return e.unload(),e._state=c8.FAILED,Promise.reject(e.getError(n,t))}function O8(e){const t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(255===t[0]&&216===t[1])return"image/jpeg";if(137===t[0]&&80===t[1])return"image/png";if(171===t[0]&&75===t[1])return"image/ktx2";if(82===n[0]&&73===n[1]&&70===n[2]&&70===n[3]&&87===i[0]&&69===i[1]&&66===i[2]&&80===i[3])return"image/webp";throw new ye["a"]("Image format is not recognized")}function w8(e){const t=O8(e);if("image/ktx2"===t){const t=new Uint8Array(e);return rB(t)}return _8._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}Object(r["a"])(Object.create)&&(d8.prototype=Object.create(a8.prototype),d8.prototype.constructor=d8),Object.defineProperties(d8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}}),d8.prototype.load=function(){const e=f8(this);this._bufferLoader=e,this._state=c8.LOADING;const t=this,n=new Promise((function(e){t._process=function(t,n){if(!t._hasMeshopt)return;if(!Object(r["a"])(t._typedArray))return;if(t._state!==c8.PROCESSING)return;const i=t._meshoptCount,o=t._meshoptByteStride,a=new Uint8Array(i*o);h8.decodeGltfBuffer(a,i,o,t._typedArray,t._meshoptMode,t._meshoptFilter),t._typedArray=a,t._state=c8.READY,e(t)}}));return this._promise=e.promise.then((function(){if(t.isDestroyed())return;const i=e.typedArray,o=new Uint8Array(i.buffer,i.byteOffset+t._byteOffset,t._byteLength);return t.unload(),t._typedArray=o,t._hasMeshopt?(t._state=c8.PROCESSING,n):(t._state=c8.READY,t)})).catch((function(e){if(t.isDestroyed())return;t.unload(),t._state=c8.FAILED;const n="Failed to load buffer view";return Promise.reject(t.getError(n,e))})),this._promise},d8.prototype.process=function(e){return i["a"].typeOf.object("frameState",e),this._process(this,e)},d8.prototype.unload=function(){Object(r["a"])(this._bufferLoader)&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0},Object(r["a"])(Object.create)&&(p8.prototype=Object.create(a8.prototype),p8.prototype.constructor=p8),Object.defineProperties(p8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}}),p8.prototype.load=function(){const e=this._resourceCache,t=e.loadBufferView({gltf:this._gltf,bufferViewId:this._draco.bufferView,gltfResource:this._gltfResource,baseResource:this._baseResource});this._bufferViewLoader=t,this._state=c8.LOADING;const n=this,i=new Promise((function(e,t){n._process=function(n,i){if(!Object(r["a"])(n._bufferViewTypedArray))return;if(Object(r["a"])(n._decodePromise))return;const o=n._draco,a=n._gltf,s=a.bufferViews,c=o.bufferView,l=s[c],u=o.attributes,h={array:new Uint8Array(n._bufferViewTypedArray),bufferView:l,compressedAttributes:u,dequantizeInShader:!0},d=V2.decodeBufferView(h);Object(r["a"])(d)&&(n._decodePromise=d.then((function(t){n.isDestroyed()?e():(n.unload(),n._decodedData={indices:t.indexArray,vertexAttributes:t.attributeData},n._state=c8.READY,e(n))})).catch((function(i){n.isDestroyed()?e():t(i)})))}}));return this._promise=t.promise.then((function(){if(!n.isDestroyed())return n._bufferViewTypedArray=t.typedArray,n._state=c8.PROCESSING,i})).catch((function(e){if(!n.isDestroyed())return m8(n,e)})),this._promise},p8.prototype.process=function(e){return i["a"].typeOf.object("frameState",e),this._process(this,e)},p8.prototype.unload=function(){Object(r["a"])(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0},Object(r["a"])(Object.create)&&(_8.prototype=Object.create(a8.prototype),_8.prototype.constructor=_8),Object.defineProperties(_8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}}),_8.prototype.load=function(){return Object(r["a"])(this._bufferViewId)?(this._promise=b8(this),this._promise):(this._promise=y8(this),this._promise)};const A8=/(^data:image\/ktx2)|(\.ktx2$)/i;function T8(e){const t=e.url;return A8.test(t)?rB(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}function C8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,r=e.accessorId,s=e.gltfResource,c=e.baseResource,l=e.draco,u=e.cacheKey,h=Object(o["a"])(e.asynchronous,!0),d=Object(o["a"])(e.loadBuffer,!1),f=Object(o["a"])(e.loadTypedArray,!1);if(i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.number("options.accessorId",r),i["a"].typeOf.object("options.gltfResource",s),i["a"].typeOf.object("options.baseResource",c),!d&&!f)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");const p=n.accessors[r].componentType;this._resourceCache=t,this._gltfResource=s,this._baseResource=c,this._gltf=n,this._accessorId=r,this._indexDatatype=p,this._draco=l,this._cacheKey=u,this._asynchronous=h,this._loadBuffer=d,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=c8.UNLOADED,this._promise=void 0,this._process=function(e,t){}}_8.prototype.unload=function(){Object(r["a"])(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0},_8._loadImageFromTypedArray=nB,Object(r["a"])(Object.create)&&(C8.prototype=Object.create(a8.prototype),C8.prototype.constructor=C8),Object.defineProperties(C8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});const E8=new j8;function x8(e){const t=e._resourceCache,n=t.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=c8.LOADING,n.promise.then((function(){if(e.isDestroyed())return;const t=n.decodedData.indices.typedArray;return e._typedArray=t,e._indexDatatype=$c.fromTypedArray(t),e._state=c8.PROCESSING,e}))}function S8(e){const t=e._gltf,n=e._accessorId,i=t.accessors[n],o=i.bufferView,r=e._resourceCache,a=r.loadBufferView({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=c8.LOADING,e._bufferViewLoader=a,a.promise.then((function(){if(e.isDestroyed())return;const t=a.typedArray;return e._typedArray=I8(e,t),e._state=c8.PROCESSING,e}))}function I8(e,t){const n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,a=o.componentType,s=t.buffer,c=t.byteOffset+o.byteOffset;let l;return a===uu.UNSIGNED_BYTE?l=new Uint8Array(s,c,r):a===uu.UNSIGNED_SHORT?l=new Uint16Array(s,c,r):a===uu.UNSIGNED_INT&&(l=new Uint32Array(s,c,r)),l}function D8(e,t){e.unload(),e._state=c8.FAILED;const n="Failed to load index buffer";return t=e.getError(n,t),Promise.reject(t)}function j8(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}function P8(e,t,n){const i=SG.createIndexBuffer({typedArray:e,context:n,usage:EG.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}function R8(e){return FZ.shader(e,(function(e){M8(e)})),FZ.buffer(e,(function(e){M8(e)})),FZ.image(e,(function(e){M8(e)})),M8(e),e}function M8(e){Object(r["a"])(e.extras)&&(Object(r["a"])(e.extras._pipeline)&&delete e.extras._pipeline,0===Object.keys(e.extras).length&&delete e.extras)}C8.prototype.load=function(){let e;e=Object(r["a"])(this._draco)?x8(this):S8(this);const t=this,n=new Promise((function(e){t._process=function(t,n){if(t._state===c8.READY)return;const i=t._typedArray,o=t._indexDatatype;if(Object(r["a"])(t._dracoLoader)&&t._dracoLoader.process(n),Object(r["a"])(t._bufferViewLoader)&&t._bufferViewLoader.process(n),!Object(r["a"])(i))return;let a;if(t._loadBuffer&&t._asynchronous){const e=E8;e.set(i,o,n.context);const t=n.jobScheduler;if(!t.execute(e,Q2.BUFFER))return;a=e.buffer}else t._loadBuffer&&(a=P8(i,o,n.context));t.unload(),t._buffer=a,t._typedArray=t._loadTypedArray?i:void 0,t._state=c8.READY,e(t)}}));return this._promise=e.then((function(){if(!t.isDestroyed())return n})).catch((function(e){if(!t.isDestroyed())return D8(t,e)})),this._promise},j8.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n},j8.prototype.execute=function(){this.buffer=P8(this.typedArray,this.indexDatatype,this.context)},C8.prototype.process=function(e){return i["a"].typeOf.object("frameState",e),this._process(this,e)},C8.prototype.unload=function(){Object(r["a"])(this._buffer)&&this._buffer.destroy();const e=this._resourceCache;Object(r["a"])(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),Object(r["a"])(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var N8=R8;function L8(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltfResource,r=e.baseResource,a=e.typedArray,s=e.gltfJson,c=e.cacheKey;i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltfResource",n),i["a"].typeOf.object("options.baseResource",r),this._resourceCache=t,this._gltfResource=n,this._baseResource=r,this._typedArray=a,this._gltfJson=s,this._cacheKey=c,this._gltf=void 0,this._bufferLoaders=[],this._state=c8.UNLOADED,this._promise=void 0}function B8(e){return e._fetchGltf().then((function(t){if(e.isDestroyed())return;const n=new Uint8Array(t);return H8(e,n)}))}function F8(e,t){e.unload(),e._state=c8.FAILED;const n="Failed to load glTF: "+e._gltfResource.url;return Promise.reject(e.getError(n,t))}function k8(e,t){if("2.0"===t.asset.version)return Promise.resolve();const n=[];return FZ.buffer(t,(function(t){if(!Object(r["a"])(t.extras._pipeline.source)&&Object(r["a"])(t.uri)){const i=e._baseResource.getDerivedResource({url:t.uri}),o=e._resourceCache,r=o.loadExternalBuffer({resource:i});e._bufferLoaders.push(r),n.push(r.promise.then((function(e){t.extras._pipeline.source=e.typedArray})))}})),Promise.all(n).then((function(){bQ(t)}))}function z8(e){const t=[];return FZ.buffer(e,(function(e){const n=e.uri;!Object(r["a"])(e.extras._pipeline.source)&&Object(r["a"])(n)&&Object(eB["a"])(n)&&(delete e.uri,t.push(Et["a"].fetchArrayBuffer(n).then((function(t){e.extras._pipeline.source=new Uint8Array(t)}))))})),Promise.all(t)}function U8(e,t){const n=[];return FZ.buffer(t,(function(t,i){const o=t.extras._pipeline.source;if(Object(r["a"])(o)&&!Object(r["a"])(t.uri)){const t=e._resourceCache,r=t.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:i,typedArray:o});e._bufferLoaders.push(r),n.push(r.promise)}})),Promise.all(n)}function V8(e,t){return KZ(t),z8(t).then((function(){return k8(e,t)})).then((function(){return WZ(t),U8(e,t)})).then((function(){return N8(t),t}))}function H8(e,t){let n;return n="glTF"===$L(t)?r$(t):kd(t),V8(e,n)}Object(r["a"])(Object.create)&&(L8.prototype=Object.create(a8.prototype),L8.prototype.constructor=L8),Object.defineProperties(L8.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}}),L8.prototype.load=function(){let e;this._state=c8.LOADING,e=Object(r["a"])(this._gltfJson)?V8(this,this._gltfJson):Object(r["a"])(this._typedArray)?H8(this,this._typedArray):B8(this);const t=this;return this._promise=e.then((function(e){if(!t.isDestroyed())return t._gltf=e,t._state=c8.READY,t})).catch((function(e){if(!t.isDestroyed())return F8(t,e)})),this._promise},L8.prototype.unload=function(){const e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0},L8.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};const G8={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};var q8=Object.freeze(G8);const W8={};function Y8(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function X8(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.packedTypedArray=void 0,this.buffer=void 0,this.typedArray=void 0,this.byteOffset=0,this.byteStride=void 0}function K8(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function J8(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function Z8(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function $8(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function Q8(){this.attributes=[]}function e9(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[]}function t9(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function n9(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function i9(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[]}function o9(){this.nodes=[]}const r9={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function a9(){this.input=[],this.interpolation=void 0,this.output=[]}function s9(){this.node=void 0,this.path=void 0}function c9(){this.sampler=void 0,this.target=void 0}function l9(){this.name=void 0,this.samplers=[],this.channels=[]}function u9(){this.credits=[]}function h9(){this.asset=new u9,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=Ne.clone(Ne.IDENTITY)}function d9(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=ce.clone(ce.IDENTITY),this.channels=void 0}function f9(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=be.clone(f9.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=f9.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=f9.DEFAULT_ROUGHNESS_FACTOR}function p9(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=be.clone(p9.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=g.clone(p9.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=p9.DEFAULT_GLOSSINESS_FACTOR}function m9(){this.metallicRoughness=new f9,this.specularGlossiness=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=g.clone(m9.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=q8.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}f9.DEFAULT_BASE_COLOR_FACTOR=be.ONE,f9.DEFAULT_METALLIC_FACTOR=1,f9.DEFAULT_ROUGHNESS_FACTOR=1,p9.DEFAULT_DIFFUSE_FACTOR=be.ONE,p9.DEFAULT_SPECULAR_FACTOR=g.ONE,p9.DEFAULT_GLOSSINESS_FACTOR=1,m9.DEFAULT_EMISSIVE_FACTOR=g.ZERO,W8.Quantization=Y8,W8.Attribute=X8,W8.Indices=K8,W8.FeatureIdAttribute=J8,W8.FeatureIdTexture=$8,W8.FeatureIdImplicitRange=Z8,W8.MorphTarget=Q8,W8.Primitive=e9,W8.Instances=t9,W8.Skin=n9,W8.Node=i9,W8.Scene=o9,W8.AnimatedPropertyType=Object.freeze(r9),W8.AnimationSampler=a9,W8.AnimationTarget=s9,W8.AnimationChannel=c9,W8.Animation=l9,W8.Asset=u9,W8.Components=h9,W8.TextureReader=d9,W8.MetallicRoughness=f9,W8.SpecularGlossiness=p9,W8.Material=m9;var _9=W8;const g9={getImageIdFromTexture:function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.textureId,a=e.supportedImageFormats;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.textureId",n),i["a"].typeOf.object("options.supportedImageFormats",a);const s=t.textures[n],c=s.extensions;if(Object(r["a"])(c)){if(a.webp&&Object(r["a"])(c.EXT_texture_webp))return c.EXT_texture_webp.source;if(a.basis&&Object(r["a"])(c.KHR_texture_basisu))return c.KHR_texture_basisu.source}return s.source},createSampler:function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.textureInfo,a=Object(o["a"])(e.compressedTextureNoMipmap,!1);i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.textureInfo",n);let s=JF.REPEAT,c=JF.REPEAT,l=XF.LINEAR,u=WF.LINEAR;const h=n.index,d=t.textures[h],f=d.sampler;if(Object(r["a"])(f)){const e=t.samplers[f];s=Object(o["a"])(e.wrapS,s),c=Object(o["a"])(e.wrapT,c),l=Object(o["a"])(e.minFilter,l),u=Object(o["a"])(e.magFilter,u)}let p=!1;const m=n.extensions;return Object(r["a"])(m)&&Object(r["a"])(m.KHR_texture_transform)&&(p=!0),(a||p)&&l!==XF.LINEAR&&l!==XF.NEAREST&&(l=l===XF.NEAREST_MIPMAP_NEAREST||l===XF.NEAREST_MIPMAP_LINEAR?XF.NEAREST:XF.LINEAR),new $F({wrapS:s,wrapT:c,minificationFilter:l,magnificationFilter:u})}},b9=new Ht(1,1);g9.createModelTextureReader=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.textureInfo,n=e.channels,a=e.texture;i["a"].typeOf.object("options.textureInfo",t);let s,c=Object(o["a"])(t.texCoord,0);const l=Object(o["a"])(t.extensions,o["a"].EMPTY_OBJECT).KHR_texture_transform;if(Object(r["a"])(l)){c=Object(o["a"])(l.texCoord,c);const e=Object(r["a"])(l.offset)?Ht.unpack(l.offset):Ht.ZERO;let t=Object(o["a"])(l.rotation,0);const n=Object(r["a"])(l.scale)?Ht.unpack(l.scale):b9;t=-t,s=new ce(Math.cos(t)*n.x,-Math.sin(t)*n.y,e.x,Math.sin(t)*n.x,Math.cos(t)*n.y,e.y,0,0,1)}const u=new _9.TextureReader;return u.index=t.index,u.texture=a,u.texCoord=c,u.transform=s,u.channels=n,u};var y9=g9;function v9(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,r=e.textureInfo,a=e.gltfResource,s=e.baseResource,c=e.supportedImageFormats,l=e.cacheKey,u=Object(o["a"])(e.asynchronous,!0);i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.object("options.textureInfo",r),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s),i["a"].typeOf.object("options.supportedImageFormats",c);const h=r.index,d=y9.getImageIdFromTexture({gltf:n,textureId:h,supportedImageFormats:c});this._resourceCache=t,this._gltf=n,this._textureInfo=r,this._imageId=d,this._gltfResource=a,this._baseResource=s,this._cacheKey=l,this._asynchronous=u,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=c8.UNLOADED,this._promise=void 0,this._process=function(e,t){}}Object(r["a"])(Object.create)&&(v9.prototype=Object.create(a8.prototype),v9.prototype.constructor=v9),Object.defineProperties(v9.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});const O9=new w9;function w9(){this.gltf=void 0,this.textureInfo=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}function A9(e){const t=document.createElement("canvas");t.width=s["a"].nextPowerOfTwo(e.width),t.height=s["a"].nextPowerOfTwo(e.height);const n=t.getContext("2d");return n.drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}function T9(e,t,n,i,o){const a=n.internalFormat;let c=!1;XS.isCompressedFormat(a)&&!Object(r["a"])(i)&&(c=!0);const l=y9.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:c}),u=l.minificationFilter,h=l.wrapS,d=l.wrapT,f=u===XF.NEAREST_MIPMAP_NEAREST||u===XF.NEAREST_MIPMAP_LINEAR||u===XF.LINEAR_MIPMAP_NEAREST||u===XF.LINEAR_MIPMAP_LINEAR,p=!Object(r["a"])(a)&&f,m=p||h===JF.REPEAT||h===JF.MIRRORED_REPEAT||d===JF.REPEAT||d===JF.MIRRORED_REPEAT,_=!s["a"].isPowerOfTwo(n.width)||!s["a"].isPowerOfTwo(n.height),g=m&&_;let b;return Object(r["a"])(a)?(!o.webgl2&&XS.isCompressedFormat(a)&&_&&m&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),b=nk.create({context:o,source:{arrayBufferView:n.bufferView,mipLevels:i},width:n.width,height:n.height,pixelFormat:n.internalFormat,sampler:l})):(g&&(n=A9(n)),b=nk.create({context:o,source:n,sampler:l,flipY:!1,skipColorSpaceConversion:!0})),p&&b.generateMipmap(),b}function C9(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceCache,n=e.gltf,s=e.gltfResource,c=e.baseResource,l=e.bufferViewId,u=e.draco,h=e.attributeSemantic,d=e.accessorId,f=e.cacheKey,p=Object(o["a"])(e.asynchronous,!0),m=Object(o["a"])(e.dequantize,!1),_=Object(o["a"])(e.loadBuffer,!1),g=Object(o["a"])(e.loadTypedArray,!1);if(i["a"].typeOf.func("options.resourceCache",t),i["a"].typeOf.object("options.gltf",n),i["a"].typeOf.object("options.gltfResource",s),i["a"].typeOf.object("options.baseResource",c),!_&&!g)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");const b=Object(r["a"])(l),y=Object(r["a"])(u),v=Object(r["a"])(h),O=Object(r["a"])(d);if(b===y)throw new a["a"]("One of options.bufferViewId and options.draco must be defined.");if(y&&!v)throw new a["a"]("When options.draco is defined options.attributeSemantic must also be defined.");if(y&&!O)throw new a["a"]("When options.draco is defined options.accessorId must also be defined.");y&&(i["a"].typeOf.object("options.draco",u),i["a"].typeOf.string("options.attributeSemantic",h),i["a"].typeOf.number("options.accessorId",d)),this._resourceCache=t,this._gltfResource=s,this._baseResource=c,this._gltf=n,this._bufferViewId=l,this._draco=u,this._attributeSemantic=h,this._accessorId=d,this._cacheKey=f,this._asynchronous=p,this._dequantize=m,this._loadBuffer=_,this._loadTypedArray=g,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=c8.UNLOADED,this._promise=void 0,this._process=function(e,t){}}function E9(e,t,n,i){const o=e.quantizationBits,r=(1<<o)-1,a=1/r,s=new _9.Quantization;if(s.componentDatatype=t,s.octEncoded=e.octEncoded,s.octEncodedZXY=!0,s.type=i,s.octEncoded)s.type=cl.VEC2,s.normalizationRange=r;else{const t=cl.getMathType(i);if(t===Number){const t=e.range;s.quantizedVolumeOffset=e.minValues[0],s.quantizedVolumeDimensions=t,s.normalizationRange=r,s.quantizedVolumeStepSize=t*a}else{s.quantizedVolumeOffset=t.unpack(e.minValues),s.normalizationRange=t.unpack(Ah(new Array(n),r));const i=Ah(new Array(n),e.range);s.quantizedVolumeDimensions=t.unpack(i);const o=i.map((function(e){return e*a}));s.quantizedVolumeStepSize=t.unpack(o)}}return s}function x9(e){const t=e._resourceCache,n=t.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=c8.LOADING,n.promise.then((function(){if(e.isDestroyed())return;const t=n.decodedData.vertexAttributes,i=e._attributeSemantic,o=t[i],a=e._accessorId,s=e._gltf.accessors[a],c=s.type,l=o.array,u=o.data.quantization;return Object(r["a"])(u)&&(e._quantization=E9(u,o.data.componentDatatype,o.data.componentsPerAttribute,c)),e._typedArray=l,e._state=c8.PROCESSING,e}))}function S9(e){const t=e._resourceCache,n=t.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=c8.LOADING,e._bufferViewLoader=n,n.promise.then((function(){if(!e.isDestroyed())return e._typedArray=n.typedArray,e._state=c8.PROCESSING,e}))}function I9(e,t){e.unload(),e._state=c8.FAILED;const n="Failed to load vertex buffer";return t=e.getError(n,t),Promise.reject(t)}function D9(){this.typedArray=void 0,this.dequantize=void 0,this.componentType=void 0,this.type=void 0,this.count=void 0,this.context=void 0,this.buffer=void 0}function j9(e,t,n,i,o,r){t&&n!==$c.FLOAT&&(e=gl.dequantize(e,n,i,o));const a=SG.createVertexBuffer({typedArray:e,context:r,usage:EG.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}function P9(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.id,n=e.class;i["a"].typeOf.string("options.id",t),i["a"].typeOf.object("options.class",n);const a={},s={};for(const i in n.properties)if(n.properties.hasOwnProperty(i)){const t=new M7({id:i,property:n.properties[i],enums:e.enums});a[i]=t,Object(r["a"])(t.semantic)&&(s[t.semantic]=t)}this._properties=a,this._propertiesBySemantic=s,this._id=t,this._name=n.name,this._description=n.description,this._extras=n.extras,this._extensions=n.extensions}v9.prototype.load=function(){const e=this._resourceCache,t=e.loadImage({gltf:this._gltf,imageId:this._imageId,gltfResource:this._gltfResource,baseResource:this._baseResource});this._imageLoader=t,this._state=c8.LOADING;const n=this,i=new Promise((function(e){n._process=function(t,n){if(Object(r["a"])(t._texture))return;if(!Object(r["a"])(t._image))return;let i;if(t._asynchronous){const e=O9;e.set(t._gltf,t._textureInfo,t._image,t._mipLevels,n.context);const o=n.jobScheduler;if(!o.execute(e,Q2.TEXTURE))return;i=e.texture}else i=T9(t._gltf,t._textureInfo,t._image,t._mipLevels,n.context);t.unload(),t._texture=i,t._state=c8.READY,e(t)}}));return this._promise=t.promise.then((function(){if(!n.isDestroyed())return n._image=t.image,n._mipLevels=t.mipLevels,n._state=c8.PROCESSING,i})).catch((function(e){if(n.isDestroyed())return;n.unload(),n._state=c8.FAILED;const t="Failed to load texture";return Promise.reject(n.getError(t,e))})),this._promise},w9.prototype.set=function(e,t,n,i,o){this.gltf=e,this.textureInfo=t,this.image=n,this.mipLevels=i,this.context=o},w9.prototype.execute=function(){this.texture=T9(this.gltf,this.textureInfo,this.image,this.mipLevels,this.context)},v9.prototype.process=function(e){return i["a"].typeOf.object("frameState",e),this._process(this,e)},v9.prototype.unload=function(){Object(r["a"])(this._texture)&&this._texture.destroy(),Object(r["a"])(this._imageLoader)&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0},Object(r["a"])(Object.create)&&(C9.prototype=Object.create(a8.prototype),C9.prototype.constructor=C9),Object.defineProperties(C9.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}}),C9.prototype.load=function(){let e;e=Object(r["a"])(this._draco)?x9(this):S9(this);const t=this,n=new D9,i=new Promise((function(e){t._process=function(t,i){if(t._state===c8.READY)return;const o=t._typedArray,a=t._dequantize;if(Object(r["a"])(t._dracoLoader)&&t._dracoLoader.process(i),Object(r["a"])(t._bufferViewLoader)&&t._bufferViewLoader.process(i),!Object(r["a"])(o))return;const s=t._gltf.accessors[t._accessorId];let c;if(t._loadBuffer&&t._asynchronous){const e=n;e.set(o,a,s.componentType,s.type,s.count,i.context);const t=i.jobScheduler;if(!t.execute(e,Q2.BUFFER))return;c=e.buffer}else t._loadBuffer&&(c=j9(o,a,s.componentType,s.type,s.count,i.context));t.unload(),t._buffer=c,t._typedArray=t._loadTypedArray?o:void 0,t._state=c8.READY,e(t)}}));return this._promise=e.then((function(){if(!t.isDestroyed())return i})).catch((function(e){if(!t.isDestroyed())return I9(t,e)})),this._promise},D9.prototype.set=function(e,t,n,i,o,r){this.typedArray=e,this.dequantize=t,this.componentType=n,this.type=i,this.count=o,this.context=r},D9.prototype.execute=function(){this.buffer=j9(this.typedArray,this.dequantize,this.componentType,this.type,this.count,this.context)},C9.prototype.process=function(e){return i["a"].typeOf.object("frameState",e),this._process(this,e)},C9.prototype.unload=function(){Object(r["a"])(this._buffer)&&this._buffer.destroy();const e=this._resourceCache;Object(r["a"])(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),Object(r["a"])(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0},Object.defineProperties(P9.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),P9.BATCH_TABLE_CLASS_NAME="_batchTable";var R9=P9;function M9(e){i["a"].typeOf.object("value",e),this._value=e.value,this._name=e.name,this._description=e.description,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(M9.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var N9=M9;function L9(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.id,n=e.enum;i["a"].typeOf.string("options.id",t),i["a"].typeOf.object("options.enum",n);const r={},a={},s=n.values.map((function(e){return r[e.value]=e.name,a[e.name]=e.value,new N9(e)})),c=Object(o["a"])(p7[n.valueType],p7.UINT16);this._values=s,this._namesByValue=r,this._valuesByName=a,this._valueType=c,this._id=t,this._name=n.name,this._description=n.description,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(L9.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var B9=L9;function F9(e){i["a"].typeOf.object("schema",e);const t={};if(Object(r["a"])(e.enums))for(const i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=new B9({id:i,enum:e.enums[i]}));const n={};if(Object(r["a"])(e.classes))for(const i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=new R9({id:i,class:e.classes[i],enums:t}));this._classes=n,this._enums=t,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(F9.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var k9=F9;function z9(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.schema,n=e.resource,i=e.cacheKey;if(Object(r["a"])(t)===Object(r["a"])(n))throw new a["a"]("One of options.schema and options.resource must be defined.");this._schema=Object(r["a"])(t)?new k9(t):void 0,this._resource=n,this._cacheKey=i,this._state=c8.UNLOADED,this._promise=void 0}function U9(e){const t=e._resource;return e._state=c8.LOADING,t.fetchJson().then((function(t){if(!e.isDestroyed())return e._schema=new k9(t),e._state=c8.READY,e})).catch((function(n){if(e.isDestroyed())return;e._state=c8.FAILED;const i="Failed to load schema: "+t.url;return Promise.reject(e.getError(i,n))}))}Object(r["a"])(Object.create)&&(z9.prototype=Object.create(a8.prototype),z9.prototype.constructor=z9),Object.defineProperties(z9.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}}),z9.prototype.load=function(){return Object(r["a"])(this._schema)?this._promise=Promise.resolve(this):this._promise=U9(this),this._promise},z9.prototype.unload=function(){this._schema=void 0};const V9={};function H9(e){return Object(Ct["a"])(e.url)}function G9(e){let t=e.byteOffset,n=e.byteLength;if(i7(e,"EXT_meshopt_compression")){const i=e.extensions.EXT_meshopt_compression;t=Object(o["a"])(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function q9(e,t){const n=t.byteOffset+e.byteOffset,i=e.componentType,o=e.type,r=e.count;return`${n}-${i}-${o}-${r}`}function W9(e){return H9(e)}function Y9(e,t){const n=H9(e);return`${n}-buffer-id-${t}`}function X9(e,t,n,i){if(Object(r["a"])(e.uri)){const t=i.getDerivedResource({url:e.uri});return W9(t)}return Y9(n,t)}function K9(e,t,n,i){const o=t.bufferView,r=e.bufferViews[o],a=r.buffer,s=e.buffers[a],c=X9(s,a,n,i),l=G9(r);return`${c}-range-${l}`}function J9(e,t,n,i){const o=e.images[t],a=o.bufferView,s=o.uri;if(Object(r["a"])(s)){const e=i.getDerivedResource({url:s});return H9(e)}const c=e.bufferViews[a],l=c.buffer,u=e.buffers[l],h=X9(u,l,n,i),d=G9(c);return`${h}-range-${d}`}function Z9(e,t){const n=y9.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}V9.getSchemaCacheKey=function(e){const t=e.schema,n=e.resource;if(Object(r["a"])(t)===Object(r["a"])(n))throw new a["a"]("One of options.schema and options.resource must be defined.");return Object(r["a"])(t)?"embedded-schema:"+JSON.stringify(t):"external-schema:"+H9(n)},V9.getExternalBufferCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resource;return i["a"].typeOf.object("options.resource",t),"external-buffer:"+W9(t)},V9.getEmbeddedBufferCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.parentResource,n=e.bufferId;return i["a"].typeOf.object("options.parentResource",t),i["a"].typeOf.number("options.bufferId",n),"embedded-buffer:"+Y9(t,n)},V9.getGltfCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltfResource;return i["a"].typeOf.object("options.gltfResource",t),"gltf:"+H9(t)},V9.getBufferViewCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.bufferViewId,r=e.gltfResource,a=e.baseResource;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.bufferViewId",n),i["a"].typeOf.object("options.gltfResource",r),i["a"].typeOf.object("options.baseResource",a);const s=t.bufferViews[n];let c=s.buffer;const l=t.buffers[c];if(i7(s,"EXT_meshopt_compression")){const e=s.extensions.EXT_meshopt_compression;c=e.buffer}const u=X9(l,c,r,a),h=G9(s);return`buffer-view:${u}-range-${h}`},V9.getDracoCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.draco,r=e.gltfResource,a=e.baseResource;return i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.draco",n),i["a"].typeOf.object("options.gltfResource",r),i["a"].typeOf.object("options.baseResource",a),"draco:"+K9(t,n,r,a)},V9.getVertexBufferCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.gltfResource,s=e.baseResource,c=e.bufferViewId,l=e.draco,u=e.attributeSemantic,h=Object(o["a"])(e.dequantize,!1),d=Object(o["a"])(e.loadBuffer,!1),f=Object(o["a"])(e.loadTypedArray,!1);i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.gltfResource",n),i["a"].typeOf.object("options.baseResource",s);const p=Object(r["a"])(c),m=Object(r["a"])(l),_=Object(r["a"])(u);if(p===m)throw new a["a"]("One of options.bufferViewId and options.draco must be defined.");if(m&&!_)throw new a["a"]("When options.draco is defined options.attributeSemantic must also be defined.");if(m&&(i["a"].typeOf.object("options.draco",l),i["a"].typeOf.string("options.attributeSemantic",u)),!d&&!f)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");let g="";if(h&&(g+="-dequantize"),d&&(g+="-buffer"),f&&(g+="-typed-array"),Object(r["a"])(l)){const e=K9(t,l,n,s);return`vertex-buffer:${e}-draco-${u}${g}`}const b=t.bufferViews[c],y=b.buffer,v=t.buffers[y],O=X9(v,y,n,s),w=G9(b);return`vertex-buffer:${O}-range-${w}${g}`},V9.getIndexBufferCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.accessorId,s=e.gltfResource,c=e.baseResource,l=e.draco,u=Object(o["a"])(e.loadBuffer,!1),h=Object(o["a"])(e.loadTypedArray,!1);if(i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.accessorId",n),i["a"].typeOf.object("options.gltfResource",s),i["a"].typeOf.object("options.baseResource",c),!u&&!h)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");let d="";if(u&&(d+="-buffer"),h&&(d+="-typed-array"),Object(r["a"])(l)){const e=K9(t,l,s,c);return`index-buffer:${e}-draco${d}`}const f=t.accessors[n],p=f.bufferView,m=t.bufferViews[p],_=m.buffer,g=t.buffers[_],b=X9(g,_,s,c),y=q9(f,m);return`index-buffer:${b}-accessor-${y}${d}`},V9.getImageCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.imageId,r=e.gltfResource,a=e.baseResource;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.imageId",n),i["a"].typeOf.object("options.gltfResource",r),i["a"].typeOf.object("options.baseResource",a);const s=J9(t,n,r,a);return"image:"+s},V9.getTextureCacheKey=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.textureInfo,r=e.gltfResource,a=e.baseResource,s=e.supportedImageFormats;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.textureInfo",n),i["a"].typeOf.object("options.gltfResource",r),i["a"].typeOf.object("options.baseResource",a),i["a"].typeOf.object("options.supportedImageFormats",s);const c=n.index,l=y9.getImageIdFromTexture({gltf:t,textureId:c,supportedImageFormats:s}),u=J9(t,l,r,a),h=Z9(t,n);return`texture:${u}-sampler-${h}`};var $9=V9;function Q9(){}function eee(e){this.referenceCount=1,this.resourceLoader=e}Q9.cacheEntries={},Q9.get=function(e){i["a"].typeOf.string("cacheKey",e);const t=Q9.cacheEntries[e];if(Object(r["a"])(t))return++t.referenceCount,t.resourceLoader},Q9.load=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resourceLoader;i["a"].typeOf.object("options.resourceLoader",t);const n=t.cacheKey;if(i["a"].typeOf.string("options.resourceLoader.cacheKey",n),Object(r["a"])(Q9.cacheEntries[n]))throw new a["a"]("Resource with this cacheKey is already in the cache: "+n);Q9.cacheEntries[n]=new eee(t),t.load()},Q9.unload=function(e){i["a"].typeOf.object("resourceLoader",e);const t=e.cacheKey,n=Q9.cacheEntries[t];if(!Object(r["a"])(n))throw new a["a"]("Resource is not in the cache: "+t);--n.referenceCount,0===n.referenceCount&&(e.destroy(),delete Q9.cacheEntries[t])},Q9.loadSchema=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.schema,n=e.resource;if(Object(r["a"])(t)===Object(r["a"])(n))throw new a["a"]("One of options.schema and options.resource must be defined.");const i=$9.getSchemaCacheKey({schema:t,resource:n});let s=Q9.get(i);return Object(r["a"])(s)||(s=new z9({schema:t,resource:n,cacheKey:i}),Q9.load({resourceLoader:s})),s},Q9.loadEmbeddedBuffer=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.parentResource,n=e.bufferId,a=e.typedArray;i["a"].typeOf.object("options.parentResource",t),i["a"].typeOf.number("options.bufferId",n);const s=$9.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n});let c=Q9.get(s);return Object(r["a"])(c)||(i["a"].typeOf.object("options.typedArray",a),c=new l8({typedArray:a,cacheKey:s}),Q9.load({resourceLoader:c})),c},Q9.loadExternalBuffer=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.resource;i["a"].typeOf.object("options.resource",t);const n=$9.getExternalBufferCacheKey({resource:t});let a=Q9.get(n);return Object(r["a"])(a)||(a=new l8({resource:t,cacheKey:n}),Q9.load({resourceLoader:a})),a},Q9.loadGltfJson=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltfResource,n=e.baseResource,a=e.typedArray,s=e.gltfJson;i["a"].typeOf.object("options.gltfResource",t),i["a"].typeOf.object("options.baseResource",n);const c=$9.getGltfCacheKey({gltfResource:t});let l=Q9.get(c);return Object(r["a"])(l)||(l=new L8({resourceCache:Q9,gltfResource:t,baseResource:n,typedArray:a,gltfJson:s,cacheKey:c}),Q9.load({resourceLoader:l})),l},Q9.loadBufferView=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.bufferViewId,a=e.gltfResource,s=e.baseResource;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.bufferViewId",n),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const c=$9.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:a,baseResource:s});let l=Q9.get(c);return Object(r["a"])(l)||(l=new d8({resourceCache:Q9,gltf:t,bufferViewId:n,gltfResource:a,baseResource:s,cacheKey:c}),Q9.load({resourceLoader:l})),l},Q9.loadDraco=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.draco,a=e.gltfResource,s=e.baseResource;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.draco",n),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const c=$9.getDracoCacheKey({gltf:t,draco:n,gltfResource:a,baseResource:s});let l=Q9.get(c);return Object(r["a"])(l)||(l=new p8({resourceCache:Q9,gltf:t,draco:n,gltfResource:a,baseResource:s,cacheKey:c}),Q9.load({resourceLoader:l})),l},Q9.loadVertexBuffer=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.gltfResource,s=e.baseResource,c=e.bufferViewId,l=e.draco,u=e.attributeSemantic,h=e.accessorId,d=Object(o["a"])(e.asynchronous,!0),f=Object(o["a"])(e.dequantize,!1),p=Object(o["a"])(e.loadBuffer,!1),m=Object(o["a"])(e.loadTypedArray,!1);if(i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.gltfResource",n),i["a"].typeOf.object("options.baseResource",s),!p&&!m)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");const _=Object(r["a"])(c),g=Object(r["a"])(l),b=Object(r["a"])(u),y=Object(r["a"])(h);if(_===g)throw new a["a"]("One of options.bufferViewId and options.draco must be defined.");if(g&&!b)throw new a["a"]("When options.draco is defined options.attributeSemantic must also be defined.");if(g&&!y)throw new a["a"]("When options.draco is defined options.haAccessorId must also be defined.");g&&(i["a"].typeOf.object("options.draco",l),i["a"].typeOf.string("options.attributeSemantic",u),i["a"].typeOf.number("options.accessorId",h));const v=$9.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:s,bufferViewId:c,draco:l,attributeSemantic:u,dequantize:f,loadBuffer:p,loadTypedArray:m});let O=Q9.get(v);return Object(r["a"])(O)||(O=new C9({resourceCache:Q9,gltf:t,gltfResource:n,baseResource:s,bufferViewId:c,draco:l,attributeSemantic:u,accessorId:h,cacheKey:v,asynchronous:d,dequantize:f,loadBuffer:p,loadTypedArray:m}),Q9.load({resourceLoader:O})),O},Q9.loadIndexBuffer=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.accessorId,s=e.gltfResource,c=e.baseResource,l=e.draco,u=Object(o["a"])(e.asynchronous,!0),h=Object(o["a"])(e.loadBuffer,!1),d=Object(o["a"])(e.loadTypedArray,!1);if(i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.accessorId",n),i["a"].typeOf.object("options.gltfResource",s),i["a"].typeOf.object("options.baseResource",c),!h&&!d)throw new a["a"]("At least one of loadBuffer and loadTypedArray must be true.");const f=$9.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:s,baseResource:c,draco:l,loadBuffer:h,loadTypedArray:d});let p=Q9.get(f);return Object(r["a"])(p)||(p=new C8({resourceCache:Q9,gltf:t,accessorId:n,gltfResource:s,baseResource:c,draco:l,cacheKey:f,asynchronous:u,loadBuffer:h,loadTypedArray:d}),Q9.load({resourceLoader:p})),p},Q9.loadImage=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.imageId,a=e.gltfResource,s=e.baseResource;i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.number("options.imageId",n),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const c=$9.getImageCacheKey({gltf:t,imageId:n,gltfResource:a,baseResource:s});let l=Q9.get(c);return Object(r["a"])(l)||(l=new _8({resourceCache:Q9,gltf:t,imageId:n,gltfResource:a,baseResource:s,cacheKey:c}),Q9.load({resourceLoader:l})),l},Q9.loadTexture=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.textureInfo,a=e.gltfResource,s=e.baseResource,c=e.supportedImageFormats,l=Object(o["a"])(e.asynchronous,!0);i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.textureInfo",n),i["a"].typeOf.object("options.gltfResource",a),i["a"].typeOf.object("options.baseResource",s);const u=$9.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:a,baseResource:s,supportedImageFormats:c});let h=Q9.get(u);return Object(r["a"])(h)||(h=new v9({resourceCache:Q9,gltf:t,textureInfo:n,gltfResource:a,baseResource:s,supportedImageFormats:c,cacheKey:u,asynchronous:l}),Q9.load({resourceLoader:h})),h},Q9.clearForSpecs=function(){const e=[C9,C8,p8,v9,_8,d8,l8,z9,L8];let t;const n=Q9.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort((function(t,n){const i=e.indexOf(t.resourceLoader.constructor),o=e.indexOf(n.resourceLoader.constructor);return i-o}));const o=i.length;for(let a=0;a<o;++a){const e=i[a];t=e.resourceLoader.cacheKey,Object(r["a"])(n[t])&&(e.resourceLoader.destroy(),delete n[t])}};var tee=Q9;function nee(e,t,n,o,s){if(i["a"].typeOf.object("resource",e),Object(r["a"])(t)===Object(r["a"])(n))throw new a["a"]("One of json and subtreeView must be defined.");i["a"].typeOf.object("implicitTileset",o),i["a"].typeOf.object("implicitCoordinates",s),this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=s,this._subtreeLevels=o.subtreeLevels,this._subdivisionScheme=o.subdivisionScheme,this._branchingFactor=o.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._readyPromise=iee(this,t,n,o)}function iee(e,t,n,i){let a;a=Object(r["a"])(t)?{json:t,binary:void 0}:oee(n);const s=a.json;let c;if(e._subtreeJson=s,i7(s,"3DTILES_metadata"))c=s.extensions["3DTILES_metadata"];else if(Object(r["a"])(s.tileMetadata)){const e=s.tileMetadata;c=s.propertyTables[e]}const l=[];if(Object(r["a"])(s.contentMetadata)){const e=s.contentMetadata.length;for(let t=0;t<e;t++){const e=s.contentMetadata[t];l.push(s.propertyTables[e])}}let u;const h=i.metadataSchema,d=s.subtreeMetadata;if(Object(r["a"])(d)){const e=d.class,t=h.classes[e];u=new d7({subtreeMetadata:d,class:t})}e._metadata=u,e._tilePropertyTableJson=c,e._contentPropertyTableJsons=l;const f={constant:0};s.contentAvailabilityHeaders=[],i7(s,"3DTILES_multiple_contents")?s.contentAvailabilityHeaders=s.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(s.contentAvailability)?s.contentAvailabilityHeaders=s.contentAvailability:s.contentAvailabilityHeaders.push(Object(o["a"])(s.contentAvailability,f));const p=ree(s.buffers),m=aee(s.bufferViews,p);see(s,m),Object(r["a"])(c)&&cee(c,m);for(let o=0;o<l.length;o++){const e=l[o];cee(e,m)}return lee(e,p,a.binary).then((function(t){const n=hee(m,t);return dee(e,s,i,n),Object(r["a"])(c)&&(pee(e,i,n),gee(e)),mee(e,i,n),bee(e),e}))}function oee(e){const t=!0,n=new DataView(e.buffer,e.byteOffset);let i=8;const o=n.getUint32(i,t);i+=8;const r=n.getUint32(i,t);i+=8;const a=kd(e,i,o);i+=o;const s=e.subarray(i,i+r);return{json:a,binary:s}}function ree(e){e=Object(r["a"])(e)?e:[];for(let t=0;t<e.length;t++){const n=e[t];n.isExternal=Object(r["a"])(n.uri),n.isActive=!1}return e}function aee(e,t){e=Object(r["a"])(e)?e:[];for(let n=0;n<e.length;n++){const i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function see(e,t){let n;const i=e.tileAvailability;Object(r["a"])(i.bitstream)?n=t[i.bitstream]:Object(r["a"])(i.bufferView)&&(n=t[i.bufferView]),Object(r["a"])(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);const o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,Object(r["a"])(o[s].bitstream)?n=t[o[s].bitstream]:Object(r["a"])(o[s].bufferView)&&(n=t[o[s].bufferView]),Object(r["a"])(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;const a=e.childSubtreeAvailability;Object(r["a"])(a.bitstream)?n=t[a.bitstream]:Object(r["a"])(a.bufferView)&&(n=t[a.bufferView]),Object(r["a"])(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function cee(e,t){const n=e.properties;let i;for(const a in n)if(n.hasOwnProperty(a)){const e=n[a],s=Object(o["a"])(e.values,e.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;const c=Object(o["a"])(e.stringOffsets,e.stringOffsetBufferView);Object(r["a"])(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0);const l=Object(o["a"])(e.arrayOffsets,e.arrayOffsetBufferView);Object(r["a"])(l)&&(i=t[l],i.isActive=!0,i.bufferHeader.isActive=!0)}}function lee(e,t,n){const i=[];for(let o=0;o<t.length;o++){const r=t[o];if(r.isActive)if(r.isExternal){const t=uee(e,r);i.push(t)}else i.push(Promise.resolve(n));else i.push(Promise.resolve(void 0))}return Promise.all(i).then((function(e){const t={};for(let n=0;n<e.length;n++){const i=e[n];Object(r["a"])(i)&&(t[n]=i)}return t}))}function uee(e,t){const n=e._resource,i=n.getDerivedResource({url:t.uri}),o=tee.loadExternalBuffer({resource:i});return e._bufferLoader=o,o.promise.then((function(e){return e.typedArray}))}function hee(e,t){const n={};for(let i=0;i<e.length;i++){const o=e[i];if(!o.isActive)continue;const r=o.byteOffset,a=r+o.byteLength,s=t[o.buffer],c=s.subarray(r,a);n[i]=c}return n}function dee(e,t,n,i){const o=n.branchingFactor,a=n.subtreeLevels,s=(Math.pow(o,a)-1)/(o-1),c=Math.pow(o,a),l=i7(t,"3DTILES_metadata"),u=Object(r["a"])(e._tilePropertyTableJson);let h=l||u;e._tileAvailability=fee(t.tileAvailability,i,s,h);const d=e._contentPropertyTableJsons.length>0;h=h||d;for(let r=0;r<t.contentAvailabilityHeaders.length;r++){const n=fee(t.contentAvailabilityHeaders[r],i,s,h);e._contentAvailabilityBitstreams.push(n)}e._childSubtreeAvailability=fee(t.childSubtreeAvailability,i,c)}function fee(e,t,n,i){if(Object(r["a"])(e.constant))return new o7({constant:Boolean(e.constant),lengthBits:n,availableCount:e.availableCount});let o;return Object(r["a"])(e.bitstream)?o=t[e.bitstream]:Object(r["a"])(e.bufferView)&&(o=t[e.bufferView]),new o7({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function pee(e,t,n){const i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,a=i.class,s=r.classes[a];e._tileMetadataTable=new r8({class:s,count:o,properties:i.properties,bufferViews:n})}function mee(e,t,n){const i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,a=e._contentMetadataTables;for(let s=0;s<i.length;s++){const e=i[s],t=o[s],c=t.availableCount,l=e.class,u=r.classes[l],h=new r8({class:u,count:c,properties:e.properties,bufferViews:n});a.push(h)}}function _ee(e){let t=0;const n=e.lengthBits,i=e.availableCount;let o;o=i<256?new Uint8Array(n):i<65536?new Uint16Array(n):new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function gee(e){const t=_ee(e._tileAvailability);e._tileJumpBuffer=t}function bee(e){const t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){const e=n[i],o=_ee(e);t.push(o)}}function yee(e,t){if(!Object(r["a"])(e._tileMetadataTable))return;const n=e.getTileIndex(t);return e._tileAvailability.getBit(n)?e._tileJumpBuffer[n]:void 0}function vee(e,t,n){const i=e._contentMetadataTables;if(!Object(r["a"])(i))return;const o=i[n];if(!Object(r["a"])(o))return;const a=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(a.getBit(s)){const t=e._contentJumpBuffers[n];return t[s]}}Object.defineProperties(nee.prototype,{readyPromise:{get:function(){return this._readyPromise}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}}),nee.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)},nee.prototype.tileIsAvailableAtCoordinates=function(e){const t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)},nee.prototype.contentIsAvailableAtIndex=function(e,t){if(t=Object(o["a"])(t,0),t<0||t>=this._contentAvailabilityBitstreams.length)throw new a["a"]("contentIndex out of bounds.");return this._contentAvailabilityBitstreams[t].getBit(e)},nee.prototype.contentIsAvailableAtCoordinates=function(e,t){const n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)},nee.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)},nee.prototype.childSubtreeIsAvailableAtCoordinates=function(e){const t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)},nee.prototype.getLevelOffset=function(e){const t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)},nee.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===c7.OCTREE&&(t=3),e>>t},nee.prototype.getTileIndex=function(e){const t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new ye["a"]("level is out of bounds for this subtree");const n=e.getSubtreeCoordinates(),i=n.getOffsetCoordinates(e),o=i.tileIndex;return o},nee.prototype.getChildSubtreeIndex=function(e){const t=e.level-this._implicitCoordinates.level;if(t!==this._implicitCoordinates.subtreeLevels)throw new ye["a"]("level is out of bounds for this subtree");const n=e.getParentSubtreeCoordinates(),i=n.getOffsetCoordinates(e),o=i.mortonIndex;return o},nee.prototype.getTileMetadataView=function(e){const t=yee(this,e);if(!Object(r["a"])(t))return;const n=this._tileMetadataTable;return new a7({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})},nee.prototype.getContentMetadataView=function(e,t){const n=vee(this,e,t);if(!Object(r["a"])(n))return;const i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new a7({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})},nee.prototype.isDestroyed=function(){return!1},nee.prototype.destroy=function(){return Object(r["a"])(this._bufferLoader)&&tee.unload(this._bufferLoader),Wl(this)};const Oee={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"};var wee=Object.freeze(Oee);function Aee(e){return i["a"].typeOf.object("tileMetadata",e),{tile:{boundingVolume:Tee("TILE",e),minimumHeight:Cee("TILE",e),maximumHeight:Eee("TILE",e)},content:{boundingVolume:Tee("CONTENT",e),minimumHeight:Cee("CONTENT",e),maximumHeight:Eee("CONTENT",e)}}}function Tee(e,t){const n=e+"_BOUNDING_BOX",i=t.getPropertyBySemantic(n);if(Object(r["a"])(i))return{box:i};const o=e+"_BOUNDING_REGION",a=t.getPropertyBySemantic(o);if(Object(r["a"])(a))return{region:a};const s=e+"_BOUNDING_SPHERE",c=t.getPropertyBySemantic(s);return Object(r["a"])(c)?{sphere:c}:void 0}function Cee(e,t){const n=e+"_MINIMUM_HEIGHT";return t.getPropertyBySemantic(n)}function Eee(e,t){const n=e+"_MAXIMUM_HEIGHT";return t.getPropertyBySemantic(n)}function xee(e,t,n,o,s,c){if(i["a"].defined("tile.implicitTileset",t.implicitTileset),i["a"].defined("tile.implicitCoordinates",t.implicitCoordinates),Object(r["a"])(o)===Object(r["a"])(s))throw new a["a"]("One of json and arrayBuffer must be defined.");const l=t.implicitTileset,u=t.implicitCoordinates;this._implicitTileset=l,this._implicitCoordinates=u,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;const h=u.getTemplateValues(),d=l.subtreeUriTemplate.getDerivedResource({templateValues:h});this._url=d.getUrlComponent(!0),this._readyPromise=See(this,o,s,c)}function See(e,t,n,i){let a;i=Object(o["a"])(i,0),Object(r["a"])(n)&&(a=new Uint8Array(n,i));const s=new nee(e._resource,t,a,e._implicitTileset,e._implicitCoordinates);return e._implicitSubtree=s,s.readyPromise.then((function(){return Iee(e,s),e}))}function Iee(e,t){const n=e._tile,i=e._implicitCoordinates.childIndex,o=jee(e,t,n,i);n.children.push(o.rootTile);const r=Dee(e,t,o.bottomRow);for(let a=0;a<r.length;a++){const t=r[a],n=t.tile,i=Kee(e,n,t.childIndex);n.children.push(i)}}function Dee(e,t,n){const i=[],o=e._implicitTileset.branchingFactor;for(let a=0;a<n.length;a++){const e=n[a];if(Object(r["a"])(e))for(let n=0;n<o;n++){const r=a*o+n;t.childSubtreeIsAvailableAtIndex(r)&&i.push({tile:e,childIndex:n})}}return i}function jee(e,t,n,i){const o=0,r=!0,a=Ree(e,t,n,i,o,r);let s=[a],c=[];const l=e._implicitTileset;for(let u=1;u<l.subtreeLevels;u++){const n=t.getLevelOffset(u),i=l.branchingFactor*s.length;for(let o=0;o<i;o++){const i=n+o;if(!t.tileIsAvailableAtIndex(i)){c.push(void 0);continue}const r=t.getParentMortonIndex(o),a=s[r],u=o%l.branchingFactor,h=Ree(e,t,a,u,i);a.children.push(h),c.push(h)}s=c,c=[]}return{rootTile:a,bottomRow:s}}function Pee(e,t,n){const i=wee.TILE_GEOMETRIC_ERROR;return Object(r["a"])(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Ree(e,t,n,i,a,s){const c=e._implicitTileset;let l,u,h,d;if(l=Object(o["a"])(s,!1)?n.implicitCoordinates:n.implicitCoordinates.getChildCoordinates(i),Object(r["a"])(t.tilePropertyTableJson)){u=t.getTileMetadataView(l);const e=Aee(u);h=e.tile,d=e.content}const f=t.contentPropertyTableJsons,p=f.length;let m=!1;for(let o=0;o<p;o++)if(t.contentIsAvailableAtCoordinates(l,o)){m=!0;break}const _=Fee(c,l,i,s,n,h),g=[];for(let o=0;o<c.contentCount;o++){if(!t.contentIsAvailableAtIndex(a,o))continue;const e=c.contentUriTemplates[o],n=e.getDerivedResource({templateValues:l.getTemplateValues()}).url,i={uri:n},s=kee(_,d);Object(r["a"])(s)&&(i.boundingVolume=s),g.push(Object(xS["a"])(i,c.contentHeaders[o]))}const b=Pee(u,c,l),y={boundingVolume:_,geometricError:b,refine:c.refine,contents:g},v=!0,O=Object(jL["a"])(c.tileHeader,v);delete O.boundingVolume,delete O.transform;const w=Object(xS["a"])(y,O,v),A=Jee(e,c.baseResource,w,n);return A.implicitCoordinates=l,A.implicitSubtree=t,A.metadata=u,A.hasImplicitContentMetadata=m,A}function Mee(e,t){return Object(r["a"])(e)&&Object(r["a"])(t)&&(Object(r["a"])(t.minimumHeight)||Object(r["a"])(t.maximumHeight))&&(i7(e,"3DTILES_bounding_volume_S2")||Object(r["a"])(e.region))}function Nee(e,t){Object(r["a"])(t)&&(i7(e,"3DTILES_bounding_volume_S2")?Bee(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):Object(r["a"])(e.region)&&Lee(e.region,t.minimumHeight,t.maximumHeight))}function Lee(e,t,n){Object(r["a"])(t)&&(e[4]=t),Object(r["a"])(n)&&(e[5]=n)}function Bee(e,t,n){Object(r["a"])(t)&&(e.minimumHeight=t),Object(r["a"])(n)&&(e.maximumHeight=n)}function Fee(e,t,n,i,a,s){let c;return c=!Object(r["a"])(s)||!Object(r["a"])(s.boundingVolume)||!Mee(s.boundingVolume,s)&&Mee(e.boundingVolume,s)?zee(e,t,n,Object(o["a"])(i,!1),a):s.boundingVolume,Nee(c,s),c}function kee(e,t){let n;return Object(r["a"])(t)&&(n=t.boundingVolume),Mee(n,t)?Nee(n,t):Mee(e,t)&&(n=Object(jL["a"])(e,!0),Nee(n,t)),n}function zee(e,t,n,i,o){const a=e.boundingVolume;if(i7(a,"3DTILES_bounding_volume_S2"))return Uee(i,o,n,t.level,t.x,t.y,t.z);if(Object(r["a"])(a.region)){const e=Xee(a.region,t.level,t.x,t.y,t.z);return{region:e}}const s=Wee(a.box,t.level,t.x,t.y,t.z);return{box:s}}function Uee(e,t,n,o,a,s,c){i["a"].typeOf.bool("parentIsPlaceholderTile",e),i["a"].typeOf.object("parentTile",t),i["a"].typeOf.number("childIndex",n),i["a"].typeOf.number("level",o),i["a"].typeOf.number("x",a),i["a"].typeOf.number("y",s),Object(r["a"])(c)&&i["a"].typeOf.number("z",c);const l=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:RP.getTokenFromId(l.s2Cell._cellId),minimumHeight:l.minimumHeight,maximumHeight:l.maximumHeight}}};const u=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),h=u%2===0?VE.encode2D(o,a,s):VE.encode2D(o,s,a),d=RP.fromFacePositionLevel(u,BigInt(h),o);let f,p;if(Object(r["a"])(c)){const e=(l.maximumHeight+l.minimumHeight)/2;f=n<4?l.minimumHeight:e,p=n<4?e:l.maximumHeight}else f=l.minimumHeight,p=l.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:RP.getTokenFromId(d._cellId),minimumHeight:f,maximumHeight:p}}}}Object.defineProperties(xee.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){throw new a["a"]("Implicit3DTileContent cannot have metadata")}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});const Vee=new g,Hee=new g,Gee=new g,qee=new ce;function Wee(e,t,n,o,a){if(i["a"].typeOf.object("rootBox",e),i["a"].typeOf.number("level",t),i["a"].typeOf.number("x",n),i["a"].typeOf.number("y",o),Object(r["a"])(a)&&i["a"].typeOf.number("z",a),0===t)return e;const s=g.unpack(e,0,Hee),c=ce.unpack(e,3,qee),l=Math.pow(2,-t),u=(2*n+1)*l-1,h=(2*o+1)*l-1;let d=0;const f=g.fromElements(l,l,1,Vee);Object(r["a"])(a)&&(d=(2*a+1)*l-1,f.z=l);let p=g.fromElements(u,h,d,Gee);p=ce.multiplyByVector(c,p,Gee),p=g.add(p,s,Gee);let m=ce.clone(c);m=ce.multiplyByScale(m,f,m);const _=new Array(12);return g.pack(p,_),ce.pack(m,_,3),_}const Yee=new Fe;function Xee(e,t,n,o,a){if(i["a"].typeOf.object("rootRegion",e),i["a"].typeOf.number("level",t),i["a"].typeOf.number("x",n),i["a"].typeOf.number("y",o),Object(r["a"])(a)&&i["a"].typeOf.number("z",a),0===t)return e.slice();const c=Fe.unpack(e,0,Yee),l=e[4],u=e[5],h=Math.pow(2,-t),d=h*c.width,f=s["a"].negativePiToPi(c.west+n*d),p=s["a"].negativePiToPi(f+d),m=h*c.height,_=s["a"].negativePiToPi(c.south+o*m),g=s["a"].negativePiToPi(_+m);let b=l,y=u;if(Object(r["a"])(a)){const e=h*(u-l);b+=a*e,y=b+e}return[f,_,p,g,b,y]}function Kee(e,t,n){const i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=zee(i,o,n,!1,t),a=Pee(void 0,i,o),s=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:a,refine:i.refine,contents:[{uri:s}]},l=Jee(e,i.baseResource,c,t);return l.implicitTileset=i,l.implicitCoordinates=o,l}function Jee(e,t,n,i){const o=e._tile.constructor;return new o(e._tileset,t,n,i)}xee.prototype.hasProperty=function(e,t){return!1},xee.prototype.getFeature=function(e){},xee.prototype.applyDebugSettings=function(e,t){},xee.prototype.applyStyle=function(e){},xee.prototype.update=function(e,t){},xee.prototype.isDestroyed=function(){return!1},xee.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),Wl(this)},xee._deriveBoundingBox=Wee,xee._deriveBoundingRegion=Xee,xee._deriveBoundingVolumeS2=Uee;const Zee={};Zee._deprecationWarning=WL;const $ee=Uint32Array.BYTES_PER_ELEMENT;Zee.parse=function(e,t){i["a"].defined("arrayBuffer",e);const n=Object(o["a"])(t,0);t=n;const r=new Uint8Array(e),a=new DataView(e);t+=$ee;const s=a.getUint32(t,!0);if(1!==s)throw new ye["a"](`Only Instanced 3D Model version 1 is supported. Version ${s} is not.`);t+=$ee;const c=a.getUint32(t,!0);t+=$ee;const l=a.getUint32(t,!0);if(0===l)throw new ye["a"]("featureTableJsonByteLength is zero, the feature table must be defined.");t+=$ee;const u=a.getUint32(t,!0);t+=$ee;const h=a.getUint32(t,!0);t+=$ee;const d=a.getUint32(t,!0);t+=$ee;const f=a.getUint32(t,!0);if(1!==f&&0!==f)throw new ye["a"](`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${f} is not.`);t+=$ee;const p=kd(r,t,l);t+=l;const m=new Uint8Array(e,t,u);let _,g;t+=u,h>0&&(_=kd(r,t,h),t+=h,d>0&&(g=new Uint8Array(e,t,d),g=new Uint8Array(g),t+=d));const b=n+c-t;if(0===b)throw new ye["a"]("glTF byte length must be greater than 0.");let y;return t%4===0?y=new Uint8Array(e,t,b):(Zee._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),y=new Uint8Array(r.subarray(t,t+b))),{gltfFormat:f,featureTableJson:p,featureTableBinary:m,batchTableJson:_,batchTableBinary:g,gltf:y}};var Qee=Zee;function ete(e,t,n){this.primitive=e,this._modelMatrix=Ne.clone(t),this._instanceId=n}Object.defineProperties(ete.prototype,{instanceId:{get:function(){return this._instanceId}},model:{get:function(){return this.primitive._model}},modelMatrix:{get:function(){return Ne.clone(this._modelMatrix)},set:function(e){Ne.clone(e,this._modelMatrix),this.primitive.expandBoundingSphere(this._modelMatrix),this.primitive._dirty=!0}}});var tte=ete;const nte={NEEDS_LOAD:0,LOADING:1,LOADED:2,FAILED:3};function ite(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.gltf)&&!Object(r["a"])(e.url))throw new a["a"]("Either options.gltf or options.url is required.");if(Object(r["a"])(e.gltf)&&Object(r["a"])(e.url))throw new a["a"]("Cannot pass in both options.gltf and options.url.");this.show=Object(o["a"])(e.show,!0),this._instancingSupported=!1,this._dynamic=Object(o["a"])(e.dynamic,!1),this._allowPicking=Object(o["a"])(e.allowPicking,!0),this._ready=!1,this._readyPromise=Object(xr["a"])(),this._state=nte.NEEDS_LOAD,this._dirty=!1,this._cull=Object(o["a"])(e.cull,!0),this._opaquePass=Object(o["a"])(e.opaquePass,oz.OPAQUE),this._instances=ote(this,e.instances),this._batchTable=e.batchTable,this._model=void 0,this._vertexBufferTypedArray=void 0,this._vertexBuffer=void 0,this._batchIdBuffer=void 0,this._instancedUniformsByProgram=void 0,this._drawCommands=[],this._modelCommands=void 0,this._renderStates=void 0,this._disableCullingRenderStates=void 0,this._boundingSphere=rte(this),this._center=g.clone(this._boundingSphere.center),this._rtcTransform=new Ne,this._rtcModelView=new Ne,this._mode=void 0,this.modelMatrix=Ne.clone(Ne.IDENTITY),this._modelMatrix=Ne.clone(this.modelMatrix),this._url=Et["a"].createIfNeeded(e.url),this._requestType=e.requestType,this._gltf=e.gltf,this._basePath=Et["a"].createIfNeeded(e.basePath),this._asynchronous=e.asynchronous,this._incrementallyLoadTextures=e.incrementallyLoadTextures,this._upAxis=e.upAxis,this._forwardAxis=e.forwardAxis,this.shadows=Object(o["a"])(e.shadows,wq.ENABLED),this._shadows=this.shadows,this._pickIdLoaded=e.pickIdLoaded,this.splitDirection=Object(o["a"])(e.splitDirection,z3.NONE),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=Object(o["a"])(e.debugWireframe,!1),this._debugWireframe=!1,Object(r["a"])(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new mJ,this._shouldDestroyImageBasedLighting=!0),this.backFaceCulling=Object(o["a"])(e.backFaceCulling,!0),this._backFaceCulling=this.backFaceCulling,this.showCreditsOnScreen=Object(o["a"])(e.showCreditsOnScreen,!1)}function ote(e,t){t=Object(o["a"])(t,[]);const n=t.length,i=new Array(n);for(let r=0;r<n;++r){const n=t[r],a=n.modelMatrix,s=Object(o["a"])(n.batchId,r);i[r]=new tte(e,a,s)}return i}function rte(e){const t=e.length,n=new Array(t);for(let i=0;i<t;++i)n[i]=Ne.getTranslation(e._instances[i]._modelMatrix,new g);return Tt.fromPoints(n)}Object.defineProperties(ite.prototype,{allowPicking:{get:function(){return this._allowPicking}},length:{get:function(){return this._instances.length}},activeAnimations:{get:function(){return this._model.activeAnimations}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}}});const ate=new g,ste=new Ne;function cte(e,t,n,i){return function(o,a){const s=o.semantic;if(Object(r["a"])(s)&&e.indexOf(s)>-1){if(!(t.indexOf(s)>-1))throw new ye["a"](`Shader program cannot be optimized for instancing. Uniform "${a}" in program "${n}" uses unsupported semantic "${s}"`);i[a]=s}}}function lte(e,t){if(Object(r["a"])(e._instancedUniformsByProgram))return e._instancedUniformsByProgram[t];const n={};e._instancedUniformsByProgram=n;const i=["MODEL","MODELVIEW","CESIUM_RTC_MODELVIEW","MODELVIEWPROJECTION","MODELINVERSE","MODELVIEWINVERSE","MODELVIEWPROJECTIONINVERSE","MODELINVERSETRANSPOSE","MODELVIEWINVERSETRANSPOSE"],o=["MODELVIEW","CESIUM_RTC_MODELVIEW","MODELVIEWPROJECTION","MODELVIEWINVERSETRANSPOSE"],a=e._model._sourceTechniques;for(const s in a)if(a.hasOwnProperty(s)){const e=a[s],c=e.program;if(!Object(r["a"])(n[c])){const r={};n[c]=r,FZ.techniqueUniform(e,cte(i,o,t,r))}}return n[t]}function ute(e){return function(t,n){const i=lte(e,n),o=Object(r["a"])(e._batchTable);let a=bG.replaceMain(t,"czm_instancing_main"),s="",c="";for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];let n;"MODELVIEW"===t||"CESIUM_RTC_MODELVIEW"===t?n="czm_instanced_modelView":"MODELVIEWPROJECTION"===t?(n="czm_instanced_modelViewProjection",s+="mat4 czm_instanced_modelViewProjection;\n",c+="czm_instanced_modelViewProjection = czm_projection * czm_instanced_modelView;\n"):"MODELVIEWINVERSETRANSPOSE"===t&&(n="czm_instanced_modelViewInverseTranspose",s+="mat3 czm_instanced_modelViewInverseTranspose;\n",c+="czm_instanced_modelViewInverseTranspose = mat3(czm_instanced_modelView);\n");let o=new RegExp(`uniform.*${e}.*`);a=a.replace(o,""),o=new RegExp(e+"\\b","g"),a=a.replace(o,n)}const l="uniform mat4 czm_instanced_modifiedModelView;\nuniform mat4 czm_instanced_nodeTransform;\n";let u,h,d;o?(u="attribute float a_batchId;\n",h="",d=""):(u="",h="attribute vec4 pickColor;\nvarying vec4 v_pickColor;\n",d=" v_pickColor = pickColor;\n");let f=l+s+"mat4 czm_instanced_modelView;\nattribute vec4 czm_modelMatrixRow0;\nattribute vec4 czm_modelMatrixRow1;\n"+`attribute vec4 czm_modelMatrixRow2;\n${u}${h}${a}void main()\n{\n mat4 czm_instanced_model = mat4(czm_modelMatrixRow0.x, czm_modelMatrixRow1.x, czm_modelMatrixRow2.x, 0.0, czm_modelMatrixRow0.y, czm_modelMatrixRow1.y, czm_modelMatrixRow2.y, 0.0, czm_modelMatrixRow0.z, czm_modelMatrixRow1.z, czm_modelMatrixRow2.z, 0.0, czm_modelMatrixRow0.w, czm_modelMatrixRow1.w, czm_modelMatrixRow2.w, 1.0);\n`+` czm_instanced_modelView = czm_instanced_modifiedModelView * czm_instanced_model * czm_instanced_nodeTransform;\n${c} czm_instancing_main();\n${d}}\n`;if(o){const t=e._model.gltfInternal,i=XQ.getDiffuseAttributeOrUniform(t,n);f=e._batchTable.getVertexShaderCallback(!0,"a_batchId",i)(f)}return f}}function hte(e){return function(t,n){const i=e._batchTable;if(Object(r["a"])(i)){const o=e._model.gltfInternal,r=XQ.getDiffuseAttributeOrUniform(o,n);t=i.getFragmentShaderCallback(!0,r,!1)(t)}else t="varying vec4 v_pickColor;\n"+t;return t}}function dte(e,t){return function(){return Ne.multiply(t.uniformState.view,e._rtcTransform,e._rtcModelView)}}function fte(e){return function(){return e.computedMatrix}}function pte(e,t){return function(n,i,o){n=Object(jL["a"])(n),n.czm_instanced_modifiedModelView=dte(e,t),n.czm_instanced_nodeTransform=fte(o);const a=lte(e,i);for(const e in a)a.hasOwnProperty(e)&&delete n[e];return Object(r["a"])(e._batchTable)&&(n=e._batchTable.getUniformMapCallback()(n)),n}}function mte(e){return function(t,n){if(Object(r["a"])(e._batchTable)){const i=e._model.gltfInternal,o=XQ.getDiffuseAttributeOrUniform(i,n);t=e._batchTable.getVertexShaderCallback(!0,"a_batchId",o)(t),t="uniform float a_batchId\n;"+t}return t}}function _te(e){return function(t,n){const i=e._batchTable;if(Object(r["a"])(i)){const o=e._model.gltfInternal,r=XQ.getDiffuseAttributeOrUniform(o,n);t=i.getFragmentShaderCallback(!0,r,!1)(t)}else t="uniform vec4 czm_pickColor;\n"+t;return t}}function gte(e){return function(t){return Object(r["a"])(e._batchTable)&&(t=e._batchTable.getUniformMapCallback()(t)),t}}function bte(e){const t=e._instances,n=e.length,i=e._center,o=12;let a=e._vertexBufferTypedArray;Object(r["a"])(a)||(a=new Float32Array(n*o)),e._dynamic&&(e._vertexBufferTypedArray=a);for(let r=0;r<n;++r){const e=t[r]._modelMatrix,n=Ne.clone(e,ste);n[12]-=i.x,n[13]-=i.y,n[14]-=i.z;const s=r*o;a[s+0]=n[0],a[s+1]=n[4],a[s+2]=n[8],a[s+3]=n[12],a[s+4]=n[1],a[s+5]=n[5],a[s+6]=n[9],a[s+7]=n[13],a[s+8]=n[2],a[s+9]=n[6],a[s+10]=n[10],a[s+11]=n[14]}return a}function yte(e,t){let n;const i=e._instances,o=e.length,a=e._dynamic,s=Object(r["a"])(e._batchTable);if(s){const r=new Uint16Array(o);for(n=0;n<o;++n)r[n]=i[n]._instanceId;e._batchIdBuffer=SG.createVertexBuffer({context:t,typedArray:r,usage:EG.STATIC_DRAW})}if(!s){const i=new Uint8Array(4*o);for(n=0;n<o;++n){const t=e._pickIds[n],o=t.color,r=4*n;i[r]=j_.floatToByte(o.red),i[r+1]=j_.floatToByte(o.green),i[r+2]=j_.floatToByte(o.blue),i[r+3]=j_.floatToByte(o.alpha)}e._pickIdBuffer=SG.createVertexBuffer({context:t,typedArray:i,usage:EG.STATIC_DRAW})}const c=bte(e);e._vertexBuffer=SG.createVertexBuffer({context:t,typedArray:c,usage:a?EG.STREAM_DRAW:EG.STATIC_DRAW})}function vte(e){const t=bte(e);e._vertexBuffer.copyFromArrayView(t)}function Ote(e,t){const n=e._instances,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createPickId(n[r]);return o}function wte(e,t){const n=e._instancingSupported,i=Object(r["a"])(e._batchTable),o=e._allowPicking,a={url:e._url,requestType:e._requestType,gltf:e._gltf,basePath:e._basePath,shadows:e._shadows,cacheKey:void 0,asynchronous:e._asynchronous,allowPicking:o,incrementallyLoadTextures:e._incrementallyLoadTextures,upAxis:e._upAxis,forwardAxis:e._forwardAxis,precreatedAttributes:void 0,vertexShaderLoaded:void 0,fragmentShaderLoaded:void 0,uniformMapLoaded:void 0,pickIdLoaded:e._pickIdLoaded,ignoreCommands:!0,opaquePass:e._opaquePass,imageBasedLighting:e._imageBasedLighting,showOutline:e.showOutline,showCreditsOnScreen:e.showCreditsOnScreen};if(i||(e._pickIds=Ote(e,t)),n){yte(e,t);const n=12,o=$c.getSizeInBytes($c.FLOAT),s={czm_modelMatrixRow0:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:o*n,instanceDivisor:1},czm_modelMatrixRow1:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:4*o,strideInBytes:o*n,instanceDivisor:1},czm_modelMatrixRow2:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:8*o,strideInBytes:o*n,instanceDivisor:1}};i&&(s.a_batchId={index:0,vertexBuffer:e._batchIdBuffer,componentsPerAttribute:1,componentDatatype:$c.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0,instanceDivisor:1}),i||(s.pickColor={index:0,vertexBuffer:e._pickIdBuffer,componentsPerAttribute:4,componentDatatype:$c.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1}),a.precreatedAttributes=s,a.vertexShaderLoaded=ute(e),a.fragmentShaderLoaded=hte(e),a.uniformMapLoaded=pte(e,t),Object(r["a"])(e._url)&&(a.cacheKey=e._url.getUrlComponent()+"#instanced")}else a.vertexShaderLoaded=mte(e),a.fragmentShaderLoaded=_te(e),a.uniformMapLoaded=gte(e,t);Object(r["a"])(e._url)?e._model=E6.fromGltf(a):e._model=new E6(a)}function Ate(e,t){if(e._debugWireframe!==e.debugWireframe||t){e._debugWireframe=e.debugWireframe;const t=e.debugWireframe?xh.LINES:xh.TRIANGLES,n=e._drawCommands,i=n.length;for(let e=0;e<i;++e)n[e].primitiveType=t}}function Tte(e){const t=Object(jL["a"])(e,!0);return t.cull.enabled=!1,Mz.fromCache(t)}function Cte(e,t){if(e._backFaceCulling!==e.backFaceCulling||t){e._backFaceCulling=e.backFaceCulling;const t=e._drawCommands,n=t.length;let i;if(!Object(r["a"])(e._disableCullingRenderStates))for(e._disableCullingRenderStates=new Array(n),e._renderStates=new Array(n),i=0;i<n;++i){const n=t[i].renderState,o=Tte(n);e._disableCullingRenderStates[i]=o,e._renderStates[i]=n}for(i=0;i<n;++i)t[i].renderState=e._backFaceCulling?e._renderStates[i]:e._disableCullingRenderStates[i]}}function Ete(e,t){if(e.debugShowBoundingVolume!==e._debugShowBoundingVolume||t){e._debugShowBoundingVolume=e.debugShowBoundingVolume;const t=e._drawCommands,n=t.length;for(let i=0;i<n;++i)t[i].debugShowBoundingVolume=e.debugShowBoundingVolume}}function xte(e,t){const n=t.length,i=e.length,o=e._boundingSphere,a=e._cull;for(let s=0;s<n;++s){const n=nz.shallowClone(t[s]);n.instanceCount=i,n.boundingVolume=o,n.cull=a,Object(r["a"])(e._batchTable)?n.pickId=e._batchTable.getPickId():n.pickId="v_pickColor",e._drawCommands.push(n)}}function Ste(e){return function(){return e}}function Ite(e){return function(){return e}}function Dte(e,t){const n=e._instances,i=t.length,o=e.length,a=e._batchTable,s=Object(r["a"])(a),c=e._cull;for(let r=0;r<i;++r)for(let i=0;i<o;++i){const o=nz.shallowClone(t[r]);if(o.modelMatrix=new Ne,o.boundingVolume=new Tt,o.cull=c,o.uniformMap=Object(jL["a"])(o.uniformMap),s)o.uniformMap.a_batchId=Ste(n[i]._instanceId);else{const t=e._pickIds[i];o.uniformMap.czm_pickColor=Ite(t.color)}e._drawCommands.push(o)}}function jte(e){const t=e._modelCommands,n=t.length,i=e.length,o=e._rtcTransform,r=e._center;for(let a=0;a<n;++a){const n=t[a];for(let t=0;t<i;++t){const s=a*i+t,c=e._drawCommands[s];let l=Ne.clone(e._instances[t]._modelMatrix,ste);l[12]-=r.x,l[13]-=r.y,l[14]-=r.z,l=Ne.multiply(o,l,ste);const u=n.modelMatrix,h=c.modelMatrix;Ne.multiply(l,u,h);const d=n.boundingVolume,f=c.boundingVolume;Tt.transform(d,l,f)}}}function Pte(e){const t=e._nodeCommands,n=t.length,i=[];for(let o=0;o<n;++o){const e=t[o];e.show&&i.push(e.command)}return i}function Rte(e){const t=e._nodeCommands,n=t.length;let i=!1;for(let o=0;o<n;o++){const e=t[o];e.command.dirty&&(e.command.dirty=!1,i=!0)}return i}function Mte(e,t){e._drawCommands=[];const n=Pte(e._model);t?xte(e,n):(Dte(e,n),jte(e))}function Nte(e,t){if(e.shadows!==e._shadows||t){e._shadows=e.shadows;const t=wq.castShadows(e.shadows),n=wq.receiveShadows(e.shadows),i=e._drawCommands,o=i.length;for(let e=0;e<o;++e){const o=i[e];o.castShadows=t,o.receiveShadows=n}}}ite.prototype.expandBoundingSphere=function(e){const t=Ne.getTranslation(e,ate);Tt.expand(this._boundingSphere,t,this._boundingSphere)},ite.prototype.update=function(e){if(e.mode===vq.MORPHING)return;if(!this.show)return;if(0===this.length)return;const t=e.context;if(this._state===nte.NEEDS_LOAD){this._state=nte.LOADING,this._instancingSupported=t.instancedArrays,wte(this,t);const e=this;this._model.readyPromise.catch((function(t){e._state=nte.FAILED,e._readyPromise.reject(t)}))}const n=this._instancingSupported,i=this._model;if(i.imageBasedLighting=this._imageBasedLighting,i.showCreditsOnScreen=this.showCreditsOnScreen,i.splitDirection=this.splitDirection,i.update(e),i.ready&&this._state===nte.LOADING){this._state=nte.LOADED,this._ready=!0;const e=i.boundingSphereInternal.radius+g.magnitude(i.boundingSphereInternal.center);return this._boundingSphere.radius+=e,this._modelCommands=Pte(i),Mte(this,n),void this._readyPromise.resolve(this)}if(this._state!==nte.LOADED)return;const o=e.mode!==this._mode,r=this.modelMatrix,a=!Ne.equals(this._modelMatrix,r);if(o||a){this._mode=e.mode,Ne.clone(r,this._modelMatrix);let t=Ne.multiplyByTranslation(this._modelMatrix,this._center,this._rtcTransform);this._mode!==vq.SCENE3D&&(t=Hs.basisTo2D(e.mapProjection,t,t)),Ne.getTranslation(t,this._boundingSphere.center)}n&&this._dirty&&(this._dynamic=!0,this._dirty=!1,vte(this));const s=Rte(i);s&&Mte(this,n),!n&&(i.dirty||this._dirty||o||a)&&jte(this),Nte(this,s),Ate(this,s),Cte(this,s),Ete(this,s);const c=e.passes;if(!c.render&&!c.pick)return;const l=e.commandList,u=this._drawCommands,h=u.length;for(let d=0;d<h;++d)l.push(u[d])},ite.prototype.isDestroyed=function(){return!1},ite.prototype.destroy=function(){this._model=this._model&&this._model.destroy();const e=this._pickIds;if(Object(r["a"])(e)){const t=e.length;for(let n=0;n<t;++n)e[n].destroy()}return this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,Wl(this)};var Lte=ite;function Bte(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._modelInstanceCollection=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,Ute(this,i,o)}function Fte(e){return function(){return e._batchTable.getPickId()}}Bte._deprecationWarning=WL,Object.defineProperties(Bte.prototype,{featuresLength:{get:function(){return this._batchTable.featuresLength}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){const e=this._modelInstanceCollection._model;return Object(r["a"])(e)?e.trianglesLength:0}},geometryByteLength:{get:function(){const e=this._modelInstanceCollection._model;return Object(r["a"])(e)?e.geometryByteLength:0}},texturesByteLength:{get:function(){const e=this._modelInstanceCollection._model;return Object(r["a"])(e)?e.texturesByteLength:0}},batchTableByteLength:{get:function(){return this._batchTable.memorySizeInBytes}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._modelInstanceCollection.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});const kte=new Array(4),zte=new Array(4);function Ute(e,t,n){const i=Qee.parse(t,n),o=i.gltfFormat,a=i.gltf,s=i.featureTableJson,c=i.featureTableBinary,l=i.batchTableJson,u=i.batchTableBinary,h=new PZ(s,c),d=h.getGlobalProperty("INSTANCES_LENGTH");if(h.featuresLength=d,!Object(r["a"])(d))throw new ye["a"]("Feature table global property: INSTANCES_LENGTH must be defined");e._batchTable=new EZ(e,d,l,u);const f=e._tileset,p={instances:new Array(d),batchTable:e._batchTable,cull:!1,url:void 0,requestType:ju["a"].TILES3D,gltf:void 0,basePath:void 0,incrementallyLoadTextures:!1,upAxis:f._gltfUpAxis,forwardAxis:vJ.X,opaquePass:oz.CESIUM_3D_TILE,pickIdLoaded:Fte(e),imageBasedLighting:f.imageBasedLighting,backFaceCulling:f.backFaceCulling,showOutline:f.showOutline,showCreditsOnScreen:f.showCreditsOnScreen};if(0===o){let t=Bd(a);t=t.replace(/[\s\0]+$/,""),p.url=e._resource.getDerivedResource({url:t})}else p.gltf=a,p.basePath=e._resource.clone();const m=h.getGlobalProperty("EAST_NORTH_UP");let _;const b=h.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(b)&&(_=g.unpack(b));const y=p.instances,v=new g,O=new Array(3),w=new g,A=new g,T=new g,C=new ce,E=new $a;let x=new g;const S=new DN,I=new Ne;for(let D=0;D<d;D++){let e=h.getProperty("POSITION",$c.FLOAT,3,D,kte);if(!Object(r["a"])(e)){e=O;const t=h.getProperty("POSITION_QUANTIZED",$c.UNSIGNED_SHORT,3,D,kte);if(!Object(r["a"])(t))throw new ye["a"]("Either POSITION or POSITION_QUANTIZED must be defined for each instance.");const n=h.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",$c.FLOAT,3);if(!Object(r["a"])(n))throw new ye["a"]("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");const i=h.getGlobalProperty("QUANTIZED_VOLUME_SCALE",$c.FLOAT,3);if(!Object(r["a"])(i))throw new ye["a"]("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");for(let o=0;o<3;o++)e[o]=t[o]/65535*i[o]+n[o]}g.unpack(e,0,v),Object(r["a"])(_)&&g.add(v,_,v),S.translation=v;const t=h.getProperty("NORMAL_UP",$c.FLOAT,3,D,kte),n=h.getProperty("NORMAL_RIGHT",$c.FLOAT,3,D,zte);let i=!1;if(Object(r["a"])(t)){if(!Object(r["a"])(n))throw new ye["a"]("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");g.unpack(t,0,A),g.unpack(n,0,w),i=!0}else{const e=h.getProperty("NORMAL_UP_OCT32P",$c.UNSIGNED_SHORT,2,D,kte),t=h.getProperty("NORMAL_RIGHT_OCT32P",$c.UNSIGNED_SHORT,2,D,zte);if(Object(r["a"])(e)){if(!Object(r["a"])(t))throw new ye["a"]("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");gl.octDecodeInRange(e[0],e[1],65535,A),gl.octDecodeInRange(t[0],t[1],65535,w),i=!0}else m?(Hs.eastNorthUpToFixedFrame(v,z.WGS84,I),Ne.getMatrix3(I,C)):ce.clone(ce.IDENTITY,C)}i&&(g.cross(w,A,T),g.normalize(T,T),ce.setColumn(C,0,w,C),ce.setColumn(C,1,A,C),ce.setColumn(C,2,T,C)),$a.fromRotationMatrix(C,E),S.rotation=E,x=g.fromElements(1,1,1,x);const o=h.getProperty("SCALE",$c.FLOAT,1,D);Object(r["a"])(o)&&g.multiplyByScalar(x,o,x);const a=h.getProperty("SCALE_NON_UNIFORM",$c.FLOAT,3,D,kte);Object(r["a"])(a)&&(x.x*=a[0],x.y*=a[1],x.z*=a[2]),S.scale=x;let s=h.getProperty("BATCH_ID",$c.UNSIGNED_SHORT,1,D);Object(r["a"])(s)||(s=D),Ne.fromTranslationRotationScale(S,I);const c=I.clone();y[D]={modelMatrix:c,batchId:s}}e._modelInstanceCollection=new Lte(p),e._modelInstanceCollection.readyPromise.catch((function(){})).then((function(t){e._modelInstanceCollection.ready&&t.activeAnimations.addAll({loop:u3.REPEAT})}))}function Vte(e){const t=e.featuresLength;if(!Object(r["a"])(e._features)&&t>0){const n=new Array(t);for(let i=0;i<t;++i)n[i]=new SZ(e,i);e._features=n}}Bte.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},Bte.prototype.getFeature=function(e){const t=this.featuresLength;if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"](`batchId is required and between zero and featuresLength - 1 (${t-1}).`);return Vte(this),this._features[e]},Bte.prototype.applyDebugSettings=function(e,t){t=e?t:j_.WHITE,this._batchTable.setAllColor(t)},Bte.prototype.applyStyle=function(e){this._batchTable.applyStyle(e)},Bte.prototype.update=function(e,t){const n=t.commandList.length;this._batchTable.update(e,t),this._modelInstanceCollection.modelMatrix=this._tile.computedTransform,this._modelInstanceCollection.shadows=this._tileset.shadows,this._modelInstanceCollection.lightColor=this._tileset.lightColor,this._modelInstanceCollection.imageBasedLighting=this._tileset.imageBasedLighting,this._modelInstanceCollection.backFaceCulling=this._tileset.backFaceCulling,this._modelInstanceCollection.debugWireframe=this._tileset.debugWireframe,this._modelInstanceCollection.showCreditsOnScreen=this._tileset.showCreditsOnScreen,this._modelInstanceCollection.splitDirection=this._tileset.splitDirection;const i=this._modelInstanceCollection._model;if(Object(r["a"])(i)){const e=this._tileset.clippingPlanes;i.referenceMatrix=this._tileset.clippingPlanesOriginMatrix,Object(r["a"])(e)&&this._tile.clippingPlanesDirty&&(i._clippingPlanes=e.enabled&&this._tile._isClipped?e:void 0),Object(r["a"])(e)&&Object(r["a"])(i._clippingPlanes)&&i._clippingPlanes!==e&&(i._clippingPlanes=e)}this._modelInstanceCollection.update(t);const o=t.commandList.length;n<o&&(t.passes.render||t.passes.pick)&&this._batchTable.addDerivedCommands(t,n,!1)},Bte.prototype.isDestroyed=function(){return!1},Bte.prototype.destroy=function(){return this._modelInstanceCollection=this._modelInstanceCollection&&this._modelInstanceCollection.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};var Hte=Bte;const Gte={ADD:0,REPLACE:1};var qte=Object.freeze(Gte),Wte=n("7aae");const Yte={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function Xte(e){switch(e){case Yte.POSITION:return"positionMC";case Yte.NORMAL:return"normalMC";case Yte.TANGENT:return"tangentMC";case Yte.TEXCOORD:return"texCoord";case Yte.COLOR:return"color";case Yte.JOINTS:return"joints";case Yte.WEIGHTS:return"weights";case Yte.FEATURE_ID:return"featureId";default:throw new a["a"]("semantic is not a valid value.")}}Yte.hasSetIndex=function(e){switch(i["a"].typeOf.string("semantic",e),e){case Yte.POSITION:case Yte.NORMAL:case Yte.TANGENT:return!1;case Yte.TEXCOORD:case Yte.COLOR:case Yte.JOINTS:case Yte.WEIGHTS:case Yte.FEATURE_ID:return!0;default:throw new a["a"]("semantic is not a valid value.")}},Yte.fromGltfSemantic=function(e){i["a"].typeOf.string("gltfSemantic",e);let t=e;const n=/^(\w+)_\d+$/,o=n.exec(e);switch(null!==o&&(t=o[1]),t){case"POSITION":return Yte.POSITION;case"NORMAL":return Yte.NORMAL;case"TANGENT":return Yte.TANGENT;case"TEXCOORD":return Yte.TEXCOORD;case"COLOR":return Yte.COLOR;case"JOINTS":return Yte.JOINTS;case"WEIGHTS":return Yte.WEIGHTS;case"_FEATURE_ID":return Yte.FEATURE_ID}},Yte.fromPntsSemantic=function(e){switch(i["a"].typeOf.string("pntsSemantic",e),e){case"POSITION":case"POSITION_QUANTIZED":return Yte.POSITION;case"RGBA":case"RGB":case"RGB565":return Yte.COLOR;case"NORMAL":case"NORMAL_OCT16P":return Yte.NORMAL;case"BATCH_ID":return Yte.FEATURE_ID;default:throw new a["a"]("pntsSemantic is not a valid value.")}},Yte.getGlslType=function(e){switch(i["a"].typeOf.string("semantic",e),e){case Yte.POSITION:case Yte.NORMAL:case Yte.TANGENT:return"vec3";case Yte.TEXCOORD:return"vec2";case Yte.COLOR:return"vec4";case Yte.JOINTS:return"ivec4";case Yte.WEIGHTS:return"vec4";case Yte.FEATURE_ID:return"int";default:throw new a["a"]("semantic is not a valid value.")}},Yte.getVariableName=function(e,t){i["a"].typeOf.string("semantic",e);let n=Xte(e);return Object(r["a"])(t)&&(n+="_"+t),n};var Kte=Object.freeze(Yte);const Jte={},Zte=Uint32Array.BYTES_PER_ELEMENT;function $te(e,t){const n=e.json;let i,o,a;const s=Object(r["a"])(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,c=Object(r["a"])(t)&&Object(r["a"])(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;let l,u,h,d,f,p;if(Object(r["a"])(c)&&(a=c.properties),Object(r["a"])(s)){o=s.properties;const t=s.byteOffset,n=s.byteLength;if(!Object(r["a"])(o)||!Object(r["a"])(t)||!Object(r["a"])(n))throw new ye["a"]("Draco properties, byteOffset, and byteLength must be defined");i=xL(e.buffer,t,t+n),l=Object(r["a"])(o.POSITION),u=Object(r["a"])(o.RGB)||Object(r["a"])(o.RGBA),h=Object(r["a"])(o.NORMAL),d=Object(r["a"])(o.BATCH_ID),f=Object(r["a"])(o.RGBA)}return Object(r["a"])(i)&&(p={buffer:i,featureTableProperties:o,batchTableProperties:a,properties:Object(xS["a"])(o,a),dequantizeInShader:!0}),{draco:p,hasPositions:l,hasColors:u,isTranslucent:f,hasNormals:h,hasBatchIds:d}}function Qte(e){const t=e.json;let n;if(Object(r["a"])(t.POSITION))return n=e.getPropertyArray("POSITION",$c.FLOAT,3),{name:Kte.POSITION,semantic:Kte.POSITION,typedArray:n,isQuantized:!1,componentDatatype:$c.FLOAT,type:cl.VEC3};if(Object(r["a"])(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",$c.UNSIGNED_SHORT,3);const t=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",$c.FLOAT,3);if(!Object(r["a"])(t))throw new ye["a"]("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");const i=65535,o=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",$c.FLOAT,3);if(!Object(r["a"])(o))throw new ye["a"]("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Kte.POSITION,semantic:Kte.POSITION,typedArray:n,isQuantized:!0,componentDatatype:$c.FLOAT,type:cl.VEC3,quantizedRange:i,quantizedVolumeOffset:g.unpack(o),quantizedVolumeScale:g.unpack(t),quantizedComponentDatatype:$c.UNSIGNED_SHORT,quantizedType:cl.VEC3}}}function ene(e){const t=e.json;let n;if(Object(r["a"])(t.RGBA))return n=e.getPropertyArray("RGBA",$c.UNSIGNED_BYTE,4),{name:Kte.COLOR,semantic:Kte.COLOR,setIndex:0,typedArray:n,componentDatatype:$c.UNSIGNED_BYTE,type:cl.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(Object(r["a"])(t.RGB))return n=e.getPropertyArray("RGB",$c.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Kte.COLOR,setIndex:0,typedArray:n,componentDatatype:$c.UNSIGNED_BYTE,type:cl.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(Object(r["a"])(t.RGB565))return n=e.getPropertyArray("RGB565",$c.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Kte.COLOR,setIndex:0,typedArray:n,componentDatatype:$c.FLOAT,type:cl.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(Object(r["a"])(t.CONSTANT_RGBA)){const t=e.getGlobalProperty("CONSTANT_RGBA",$c.UNSIGNED_BYTE,4),n=t[3],i=j_.fromBytes(t[0],t[1],t[2],n),o=n<255;return{name:Kte.COLOR,semantic:Kte.COLOR,setIndex:0,constantColor:i,componentDatatype:$c.FLOAT,type:cl.VEC4,isQuantized:!1,isTranslucent:o}}}function tne(e){const t=e.json;let n;if(Object(r["a"])(t.NORMAL))return n=e.getPropertyArray("NORMAL",$c.FLOAT,3),{name:Kte.NORMAL,semantic:Kte.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:$c.FLOAT,type:cl.VEC3};if(Object(r["a"])(t.NORMAL_OCT16P)){n=e.getPropertyArray("NORMAL_OCT16P",$c.UNSIGNED_BYTE,2);const t=8;return{name:Kte.NORMAL,semantic:Kte.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<t)-1,quantizedType:cl.VEC2,quantizedComponentDatatype:$c.UNSIGNED_BYTE,componentDatatype:$c.FLOAT,type:cl.VEC3}}}function nne(e){const t=e.json;if(Object(r["a"])(t.BATCH_ID)){const t=e.getPropertyArray("BATCH_ID",$c.UNSIGNED_SHORT,1);return{name:Kte.FEATURE_ID,semantic:Kte.FEATURE_ID,setIndex:0,typedArray:t,componentDatatype:$c.fromTypedArray(t),type:cl.SCALAR}}}Jte.parse=function(e,t){t=Object(o["a"])(t,0),i["a"].defined("arrayBuffer",e);const n=new Uint8Array(e),a=new DataView(e);t+=Zte;const s=a.getUint32(t,!0);if(1!==s)throw new ye["a"](`Only Point Cloud tile version 1 is supported. Version ${s} is not.`);t+=Zte,t+=Zte;const c=a.getUint32(t,!0);if(0===c)throw new ye["a"]("Feature table must have a byte length greater than zero");t+=Zte;const l=a.getUint32(t,!0);t+=Zte;const u=a.getUint32(t,!0);t+=Zte;const h=a.getUint32(t,!0);t+=Zte;const d=kd(n,t,c);t+=c;const f=new Uint8Array(e,t,l);let p,m;t+=l,u>0&&(p=kd(n,t,u),t+=u,h>0&&(m=new Uint8Array(e,t,h),t+=h));const _=new PZ(d,f),b=_.getGlobalProperty("POINTS_LENGTH");if(_.featuresLength=b,!Object(r["a"])(b))throw new ye["a"]("Feature table global property: POINTS_LENGTH must be defined");let y=_.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(y)&&(y=g.unpack(y));const v=$te(_,p);if(v.rtcCenter=y,v.pointsLength=b,!v.hasPositions){const e=Qte(_);v.positions=e,v.hasPositions=v.hasPositions||Object(r["a"])(e)}if(!v.hasPositions)throw new ye["a"]("Either POSITION or POSITION_QUANTIZED must be defined.");if(!v.hasNormals){const e=tne(_);v.normals=e,v.hasNormals=v.hasNormals||Object(r["a"])(e)}if(!v.hasColors){const e=ene(_);v.colors=e,v.hasColors=v.hasColors||Object(r["a"])(e),v.hasConstantColor=Object(r["a"])(v.constantColor),v.isTranslucent=Object(r["a"])(e)&&e.isTranslucent}if(!v.hasBatchIds){const e=nne(_);v.batchIds=e,v.hasBatchIds=v.hasBatchIds||Object(r["a"])(e)}if(v.hasBatchIds){const e=_.getGlobalProperty("BATCH_LENGTH");if(!Object(r["a"])(e))throw new ye["a"]("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");v.batchLength=e}return Object(r["a"])(m)&&(m=new Uint8Array(m),v.batchTableJson=p,v.batchTableBinary=m),v};var ine=Jte;const one={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function rne(e){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.arrayBuffer",e.arrayBuffer),this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=j_.clone(j_.DARKGRAY),this._highlightColor=j_.clone(j_.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=one.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=Object(o["a"])(e.opaquePass,oz.OPAQUE),this._cull=Object(o["a"])(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=Ne.clone(Ne.IDENTITY),this._modelMatrix=Ne.clone(Ne.IDENTITY),this.time=0,this.shadows=wq.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=Object(o["a"])(e.splitDirection,z3.NONE),this._splittingEnabled=!1,this._resolveReadyPromise=void 0,this._rejectReadyPromise=void 0,this._readyPromise=ane(this,e)}function ane(e,t){const n=ine.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&Object(r["a"])(n.batchTableBinary)&&(n.styleableProperties=EZ.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),Object(r["a"])(n.draco)){const t=n.draco;e._decodingState=one.NEEDS_DECODE,t.dequantizeInShader=e._dequantizeInShader}const i=n.positions;Object(r["a"])(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);const o=n.normals;Object(r["a"])(o)&&(e._isOctEncoded16P=o.octEncoded);const a=n.colors;Object(r["a"])(a)&&(Object(r["a"])(a.constantColor)&&(e._constantColor=j_.clone(a.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=a.isRGB565);const s=n.batchIds;return Object(r["a"])(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength,new Promise((function(t,n){e._resolveReadyPromise=function(){e._ready=!0,t(e)},e._rejectReadyPromise=n}))}Object.defineProperties(rne.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},color:{get:function(){return j_.clone(this._highlightColor)},set:function(e){this._highlightColor=j_.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(Object(r["a"])(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=Tt.clone(e,this._boundingSphere)}}});const sne=new g,cne=new g,lne=new g;let une,hne;function dne(e){if(!Object(r["a"])(hne)){une=new Wte["a"](0),hne=new Array(e);for(let t=0;t<e;++t)hne[t]=une.random()}return hne}function fne(e){const t=20,n=e.length/3,i=Math.min(n,t),o=dne(t),r=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=g.fromElements(r,r,r,sne),l=g.fromElements(a,a,a,cne);for(let s=0;s<i;++s){const t=Math.floor(o[s]*n),i=g.unpack(e,3*t,lne);g.minimumByComponent(c,i,c),g.maximumByComponent(l,i,l)}const u=Tt.fromCornerPoints(c,l);return u.radius+=s["a"].EPSILON2,u}function pne(e,t){const n=$c.fromTypedArray(e);return n===$c.INT||n===$c.UNSIGNED_INT||n===$c.DOUBLE?(ky("Cast pnts property to floats",`Point cloud property "${t}" will be casted to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}const mne=new be,_ne=new be,gne=new j_,bne=0,yne=1,vne=2,One=3,wne=4,Ane=new Ne,Tne=new Ne;function Cne(e,t){const n=t.context,i=e._parsedContent,o=e._pointsLength,a=i.positions,s=i.colors,c=i.normals,l=i.batchIds,u=i.styleableProperties,h=Object(r["a"])(u),d=e._isQuantized,f=e._isQuantizedDraco,p=e._isOctEncoded16P,m=e._isOctEncodedDraco,_=e._quantizedRange,b=e._octEncodedRange,y=e._isRGB565,v=e._isTranslucent,O=e._hasColors,w=e._hasNormals,A=e._hasBatchIds;let T,C;const E=[],x={};if(e._styleableShaderAttributes=x,h){let t=wne;for(const i in u)if(u.hasOwnProperty(i)){const o=u[i],r=pne(o.typedArray,i);T=o.componentCount,C=$c.fromTypedArray(r);const a=SG.createVertexBuffer({context:n,typedArray:r,usage:EG.STATIC_DRAW});e._geometryByteLength+=a.sizeInBytes;const s={index:t,vertexBuffer:a,componentsPerAttribute:T,componentDatatype:C,normalize:!1,offsetInBytes:0,strideInBytes:0};E.push(s),x[i]={location:t,componentCount:T},++t}}const S=SG.createVertexBuffer({context:n,typedArray:a.typedArray,usage:EG.STATIC_DRAW});let I,D,j;e._geometryByteLength+=S.sizeInBytes,O&&(I=SG.createVertexBuffer({context:n,typedArray:s.typedArray,usage:EG.STATIC_DRAW}),e._geometryByteLength+=I.sizeInBytes),w&&(D=SG.createVertexBuffer({context:n,typedArray:c.typedArray,usage:EG.STATIC_DRAW}),e._geometryByteLength+=D.sizeInBytes),A&&(l.typedArray=pne(l.typedArray,"batchIds"),j=SG.createVertexBuffer({context:n,typedArray:l.typedArray,usage:EG.STATIC_DRAW}),e._geometryByteLength+=j.sizeInBytes);let P=[];if(C=d?$c.UNSIGNED_SHORT:f?_<=255?$c.UNSIGNED_BYTE:$c.UNSIGNED_SHORT:$c.FLOAT,P.push({index:bne,vertexBuffer:S,componentsPerAttribute:3,componentDatatype:C,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(e._boundingSphere=d||f?Tt.fromCornerPoints(g.ZERO,e._quantizedVolumeScale):fne(a.typedArray)),O)if(y)P.push({index:yne,vertexBuffer:I,componentsPerAttribute:1,componentDatatype:$c.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{const e=v?4:3;P.push({index:yne,vertexBuffer:I,componentsPerAttribute:e,componentDatatype:$c.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}w&&(p?(T=2,C=$c.UNSIGNED_BYTE):m?(T=2,C=b<=255?$c.UNSIGNED_BYTE:$c.UNSIGNED_SHORT):(T=3,C=$c.FLOAT),P.push({index:vne,vertexBuffer:D,componentsPerAttribute:T,componentDatatype:C,normalize:!1,offsetInBytes:0,strideInBytes:0})),A&&P.push({index:One,vertexBuffer:j,componentsPerAttribute:1,componentDatatype:$c.fromTypedArray(l.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),h&&(P=P.concat(E));const R=new BG({context:n,attributes:P}),M={depthTest:{enabled:!0}},N={depthTest:{enabled:!0},depthMask:!1,blending:MF.ALPHA_BLEND};e._opaquePass===oz.CESIUM_3D_TILE&&(M.stencilTest=eY.setCesium3DTileBit(),M.stencilMask=eY.CESIUM_3D_TILE_MASK,N.stencilTest=eY.setCesium3DTileBit(),N.stencilMask=eY.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Mz.fromCache(M),e._translucentRenderState=Mz.fromCache(N),e._drawCommand=new nz({boundingVolume:new Tt,cull:e._cull,modelMatrix:new Ne,primitiveType:xh.POINTS,vertexArray:R,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:v?e._translucentRenderState:e._opaqueRenderState,pass:v?oz.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function Ene(e,t){const n=t.context,i=e._isQuantized,a=e._isQuantizedDraco,s=e._isOctEncodedDraco;let c={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){const i=mne;if(i.x=e._attenuation?e.maximumAttenuation:e._pointSize,i.x*=t.pixelRatio,i.y=e.time,e._attenuation){const o=t.camera.frustum;let r;r=t.mode===vq.SCENE2D||o instanceof uA?Number.POSITIVE_INFINITY:n.drawingBufferHeight/t.camera.frustum.sseDenominator,i.z=e.geometricError*e.geometricErrorScale,i.w=r}return i},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){const t=e.clippingPlanes,i=e.isClipped;return i?t.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){const t=e.clippingPlanes;if(!Object(r["a"])(t))return j_.TRANSPARENT;const n=j_.clone(t.edgeColor,gne);return n.alpha=t.edgeWidth,n},u_clippingPlanesMatrix:function(){const t=e.clippingPlanes;if(!Object(r["a"])(t))return Ne.IDENTITY;const i=Object(o["a"])(e.clippingPlanesOriginMatrix,e._modelMatrix);Ne.multiply(n.uniformState.view3D,i,Ane);const a=Ne.multiply(Ane,t.modelMatrix,Ane);return Ne.inverseTranspose(a,Tne)}};V3.addUniforms(e,c),(i||a||s)&&(c=Object(xS["a"])(c,{u_quantizedVolumeScaleAndOctEncodedRange:function(){const t=_ne;if(Object(r["a"])(e._quantizedVolumeScale)){const n=g.clone(e._quantizedVolumeScale,t);g.divideByScalar(n,e._quantizedRange,t)}return t.w=e._octEncodedRange,t}})),Object(r["a"])(e._uniformMapLoaded)&&(c=e._uniformMapLoaded(c)),e._drawCommand.uniformMap=c}function xne(e,t){const n=/czm_3dtiles_property_(\d+)/g;let i=n.exec(e);while(null!==i){const o=parseInt(i[1]);-1===t.indexOf(o)&&t.push(o),i=n.exec(e)}}function Sne(e,t){e=e.slice(e.indexOf("\n"));const n=/czm_3dtiles_builtin_property_(\w+)/g;let i=n.exec(e);while(null!==i){const o=i[1];-1===t.indexOf(o)&&t.push(o),i=n.exec(e)}}function Ine(e,t){const n=e.numberOfAttributes;for(let i=0;i<n;++i){const n=e.getAttribute(i);if(n.index===t)return n}}const Dne={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function jne(e,t,n){let i,o,a;const s=t.context,c=Object(r["a"])(n),l=e._isQuantized,u=e._isQuantizedDraco,h=e._isOctEncoded16P,d=e._isOctEncodedDraco,f=e._isRGB565,p=e._isTranslucent,m=e._hasColors,_=e._hasNormals,g=e._hasBatchIds,b=e._backFaceCulling,y=e._normalShading,v=e._drawCommand.vertexArray,O=e.clippingPlanes,w=e._attenuation;let A,T,C,E=p;const x=Object(jL["a"])(Dne),S={},I=e._styleableShaderAttributes;for(o in I)I.hasOwnProperty(o)&&(a=I[o],x[o]="czm_3dtiles_property_"+a.location,S[a.location]=a);if(c){const e={translucent:!1},t="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";A=n.getColorShaderFunction("getColorFromStyle"+t,x,e),T=n.getShowShaderFunction("getShowFromStyle"+t,x,e),C=n.getPointSizeShaderFunction("getPointSizeFromStyle"+t,x,e),Object(r["a"])(A)&&e.translucent&&(E=!0)}e._styleTranslucent=E;const D=Object(r["a"])(A),j=Object(r["a"])(T),P=Object(r["a"])(C),R=e.isClipped,M=[],N=[];D&&(xne(A,M),Sne(A,N)),j&&(xne(T,M),Sne(T,N)),P&&(xne(C,M),Sne(C,N));const L=N.indexOf("COLOR")>=0,B=N.indexOf("NORMAL")>=0;if(B&&!_)throw new ye["a"]("Style references the NORMAL semantic but the point cloud does not have normals");for(o in I)if(I.hasOwnProperty(o)){a=I[o];const e=M.indexOf(a.location)>=0,t=Ine(v,a.location);t.enabled=e}const F=m&&(!D||L);if(m){const e=Ine(v,yne);e.enabled=F}const k=_&&(y||b||B);if(_){const e=Ine(v,vne);e.enabled=k}const z={a_position:bne};F&&(z.a_color=yne),k&&(z.a_normal=vne),g&&(z.a_batchId=One);let U="";const V=M.length;for(i=0;i<V;++i){const e=M[i];a=S[e];const t=a.componentCount,n="czm_3dtiles_property_"+e;let o;o=1===t?"float":"vec"+t,U+=`attribute ${o} ${n}; \n`,z[n]=a.location}Ene(e,t);let H="attribute vec3 a_position; \nvarying vec4 v_color; \nuniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; \nuniform vec4 u_constantColor; \nuniform vec4 u_highlightColor; \n";H+="float u_pointSize; \nfloat u_time; \n",w&&(H+="float u_geometricError; \nfloat u_depthMultiplier; \n"),H+=U,F&&(H+=p?"attribute vec4 a_color; \n":f?"attribute float a_color; \nconst float SHIFT_RIGHT_11 = 1.0 / 2048.0; \nconst float SHIFT_RIGHT_5 = 1.0 / 32.0; \nconst float SHIFT_LEFT_11 = 2048.0; \nconst float SHIFT_LEFT_5 = 32.0; \nconst float NORMALIZE_6 = 1.0 / 64.0; \nconst float NORMALIZE_5 = 1.0 / 32.0; \n":"attribute vec3 a_color; \n"),k&&(H+=h||d?"attribute vec2 a_normal; \n":"attribute vec3 a_normal; \n"),g&&(H+="attribute float a_batchId; \n"),(l||u||d)&&(H+="uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; \n"),D&&(H+=A),j&&(H+=T),P&&(H+=C),H+="void main() \n{ \n u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; \n u_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; \n",w&&(H+=" u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; \n u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; \n"),H+=F?p?" vec4 color = a_color; \n":f?" float compressed = a_color; \n float r = floor(compressed * SHIFT_RIGHT_11); \n compressed -= r * SHIFT_LEFT_11; \n float g = floor(compressed * SHIFT_RIGHT_5); \n compressed -= g * SHIFT_LEFT_5; \n float b = compressed; \n vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); \n vec4 color = vec4(rgb, 1.0); \n":" vec4 color = vec4(a_color, 1.0); \n":" vec4 color = u_constantColor; \n",H+=l||u?" vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; \n":" vec3 position = a_position; \n",H+=" vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); \n",k?(H+=h?" vec3 normal = czm_octDecode(a_normal); \n":d?" vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; \n":" vec3 normal = a_normal; \n",H+=" vec3 normalEC = czm_normal * normal; \n"):H+=" vec3 normal = vec3(1.0); \n",D&&(H+=" color = getColorFromStyle(position, position_absolute, color, normal); \n"),j&&(H+=" float show = float(getShowFromStyle(position, position_absolute, color, normal)); \n"),H+=P?" gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; \n":w?" vec4 positionEC = czm_modelView * vec4(position, 1.0); \n float depth = -positionEC.z; \n gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); \n":" gl_PointSize = u_pointSize; \n",H+=" color = color * u_highlightColor; \n",k&&y&&(H+=" float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); \n diffuseStrength = max(diffuseStrength, 0.4); \n color.xyz *= diffuseStrength * czm_lightColor; \n"),H+=" v_color = color; \n gl_Position = czm_modelViewProjection * vec4(position, 1.0); \n",k&&b&&(H+=" float visible = step(-normalEC.z, 0.0); \n gl_Position *= visible; \n gl_PointSize *= visible; \n"),j&&(H+=" gl_Position.w *= float(show); \n gl_PointSize *= float(show); \n"),H+="} \n";let G="varying vec4 v_color; \n";R&&(G+="uniform highp sampler2D u_clippingPlanes; \nuniform mat4 u_clippingPlanesMatrix; \nuniform vec4 u_clippingPlanesEdgeStyle; \n",G+="\n",G+=Z2(O,s),G+="\n"),G+="void main() \n{ \n gl_FragColor = czm_gammaCorrect(v_color); \n",R&&(G+=G2("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),G+="} \n",e.splitDirection!==z3.NONE&&(G=V3.modifyFragmentShader(G)),Object(r["a"])(e._vertexShaderLoaded)&&(H=e._vertexShaderLoaded(H)),Object(r["a"])(e._fragmentShaderLoaded)&&(G=e._fragmentShaderLoaded(G));const q=e._drawCommand;Object(r["a"])(q.shaderProgram)&&q.shaderProgram.destroy(),q.shaderProgram=IU.fromCache({context:s,vertexShaderSource:H,fragmentShaderSource:G,attributeLocations:z});try{q.shaderProgram._bind()}catch(W){throw new ye["a"]("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function Pne(e,t){if(e._decodingState===one.READY)return!1;if(e._decodingState===one.NEEDS_DECODE){const n=e._parsedContent,i=n.draco,a=V2.decodePointCloud(i,t);Object(r["a"])(a)&&(e._decodingState=one.DECODING,a.then((function(t){e._decodingState=one.READY;const a=Object(r["a"])(t.POSITION)?t.POSITION.array:void 0,s=Object(r["a"])(t.RGB)?t.RGB.array:void 0,c=Object(r["a"])(t.RGBA)?t.RGBA.array:void 0,l=Object(r["a"])(t.NORMAL)?t.NORMAL.array:void 0,u=Object(r["a"])(t.BATCH_ID)?t.BATCH_ID.array:void 0,h=Object(r["a"])(a)&&Object(r["a"])(t.POSITION.data.quantization),d=Object(r["a"])(l)&&Object(r["a"])(t.NORMAL.data.quantization);if(h){const n=t.POSITION.data.quantization,i=n.range;e._quantizedVolumeScale=g.fromElements(i,i,i),e._quantizedVolumeOffset=g.unpack(n.minValues),e._quantizedRange=(1<<n.quantizationBits)-1,e._isQuantizedDraco=!0}d&&(e._octEncodedRange=(1<<t.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let f=n.styleableProperties;const p=i.batchTableProperties;for(const e in p)if(p.hasOwnProperty(e)){const n=t[e];Object(r["a"])(f)||(f={}),f[e]={typedArray:n.array,componentCount:n.data.componentsPerAttribute}}Object(r["a"])(a)&&(n.positions={typedArray:a});const m=Object(o["a"])(c,s);Object(r["a"])(m)&&(n.colors={typedArray:m}),Object(r["a"])(l)&&(n.normals={typedArray:l}),Object(r["a"])(u)&&(n.batchIds={typedArray:u}),n.styleableProperties=f})).catch((function(t){e._decodingState=one.FAILED,e._rejectReadyPromise(t)})))}return!0}const Rne=new be,Mne=new g;rne.prototype.update=function(e){const t=e.context,n=Pne(this,t);if(n)return;let i=!1,o=!Ne.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),Object(r["a"])(this._drawCommand)||(Cne(this,e),o=!0,i=!0,this._resolveReadyPromise(),this._parsedContent=void 0),o){Ne.clone(this.modelMatrix,this._modelMatrix);const t=this._drawCommand.modelMatrix;if(Ne.clone(this._modelMatrix,t),Object(r["a"])(this._rtcCenter)&&Ne.multiplyByTranslation(t,this._rtcCenter,t),Object(r["a"])(this._quantizedVolumeOffset)&&Ne.multiplyByTranslation(t,this._quantizedVolumeOffset,t),e.mode!==vq.SCENE3D){const n=e.mapProjection,i=Ne.getColumn(t,3,Rne);be.equals(i,be.UNIT_W)||Hs.basisTo2D(n,t,t)}const n=this._drawCommand.boundingVolume;if(Tt.clone(this._boundingSphere,n),this._cull){const e=n.center;Ne.multiplyByPoint(t,e,e);const i=Ne.getScale(t,Mne);n.radius*=g.maximumComponent(i)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);const a=this.splitDirection!==z3.NONE;this._splittingEnabled!==a&&(this._splittingEnabled=a,i=!0),i&&jne(this,e,this._style),this._drawCommand.castShadows=wq.castShadows(this.shadows),this._drawCommand.receiveShadows=wq.receiveShadows(this.shadows);const s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?oz.TRANSLUCENT:this._opaquePass;const c=e.commandList,l=e.passes;(l.render||l.pick)&&c.push(this._drawCommand)},rne.prototype.isDestroyed=function(){return!1},rne.prototype.destroy=function(){const e=this._drawCommand;return Object(r["a"])(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),Wl(this)};var Nne=rne;function Lne(e,t,n){const i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function Bne(e,t,n){const i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function Fne(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.context;i["a"].defined("options.context",t);const n=t._gl,s=zF.maximumColorAttachments;if(this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=Object(o["a"])(e.destroyAttachments,!0),Object(r["a"])(e.colorTextures)&&Object(r["a"])(e.colorRenderbuffers))throw new a["a"]("Cannot have both color texture and color renderbuffer attachments.");if(Object(r["a"])(e.depthTexture)&&Object(r["a"])(e.depthRenderbuffer))throw new a["a"]("Cannot have both a depth texture and depth renderbuffer attachment.");if(Object(r["a"])(e.depthStencilTexture)&&Object(r["a"])(e.depthStencilRenderbuffer))throw new a["a"]("Cannot have both a depth-stencil texture and depth-stencil renderbuffer attachment.");const c=Object(r["a"])(e.depthTexture)||Object(r["a"])(e.depthRenderbuffer),l=Object(r["a"])(e.depthStencilTexture)||Object(r["a"])(e.depthStencilRenderbuffer);if(c&&l)throw new a["a"]("Cannot have both a depth and depth-stencil attachment.");if(Object(r["a"])(e.stencilRenderbuffer)&&l)throw new a["a"]("Cannot have both a stencil and depth-stencil attachment.");if(c&&Object(r["a"])(e.stencilRenderbuffer))throw new a["a"]("Cannot have both a depth and stencil attachment.");let u,h,d,f,p;if(this._bind(),Object(r["a"])(e.colorTextures)){const n=e.colorTextures;if(f=this._colorTextures.length=this._activeColorAttachments.length=n.length,f>s)throw new a["a"]("The number of color attachments exceeds the number supported.");for(d=0;d<f;++d){if(u=n[d],!XS.isColorFormat(u.pixelFormat))throw new a["a"]("The color-texture pixel-format must be a color format.");if(u.pixelDatatype===WS.FLOAT&&!t.colorBufferFloat)throw new a["a"]("The color texture pixel datatype is FLOAT and the WebGL implementation does not support the EXT_color_buffer_float or WEBGL_color_buffer_float extensions. See Context.colorBufferFloat.");if(u.pixelDatatype===WS.HALF_FLOAT&&!t.colorBufferHalfFloat)throw new a["a"]("The color texture pixel datatype is HALF_FLOAT and the WebGL implementation does not support the EXT_color_buffer_half_float extension. See Context.colorBufferHalfFloat.");p=this._gl.COLOR_ATTACHMENT0+d,Lne(this,p,u),this._activeColorAttachments[d]=p,this._colorTextures[d]=u}}if(Object(r["a"])(e.colorRenderbuffers)){const t=e.colorRenderbuffers;if(f=this._colorRenderbuffers.length=this._activeColorAttachments.length=t.length,f>s)throw new a["a"]("The number of color attachments exceeds the number supported.");for(d=0;d<f;++d)h=t[d],p=this._gl.COLOR_ATTACHMENT0+d,Bne(this,p,h),this._activeColorAttachments[d]=p,this._colorRenderbuffers[d]=h}if(Object(r["a"])(e.depthTexture)){if(u=e.depthTexture,u.pixelFormat!==XS.DEPTH_COMPONENT)throw new a["a"]("The depth-texture pixel-format must be DEPTH_COMPONENT.");Lne(this,this._gl.DEPTH_ATTACHMENT,u),this._depthTexture=u}if(Object(r["a"])(e.depthRenderbuffer)&&(h=e.depthRenderbuffer,Bne(this,this._gl.DEPTH_ATTACHMENT,h),this._depthRenderbuffer=h),Object(r["a"])(e.stencilRenderbuffer)&&(h=e.stencilRenderbuffer,Bne(this,this._gl.STENCIL_ATTACHMENT,h),this._stencilRenderbuffer=h),Object(r["a"])(e.depthStencilTexture)){if(u=e.depthStencilTexture,u.pixelFormat!==XS.DEPTH_STENCIL)throw new a["a"]("The depth-stencil pixel-format must be DEPTH_STENCIL.");Lne(this,this._gl.DEPTH_STENCIL_ATTACHMENT,u),this._depthStencilTexture=u}Object(r["a"])(e.depthStencilRenderbuffer)&&(h=e.depthStencilRenderbuffer,Bne(this,this._gl.DEPTH_STENCIL_ATTACHMENT,h),this._depthStencilRenderbuffer=h),this._unBind()}Object.defineProperties(Fne.prototype,{status:{get:function(){this._bind();const e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}}),Fne.prototype._bind=function(){const e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)},Fne.prototype._unBind=function(){const e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)},Fne.prototype.bindDraw=function(){const e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)},Fne.prototype.bindRead=function(){const e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)},Fne.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments},Fne.prototype.getColorTexture=function(e){if(!Object(r["a"])(e)||e<0||e>=this._colorTextures.length)throw new a["a"]("index is required, must be greater than or equal to zero and must be less than the number of color attachments.");return this._colorTextures[e]},Fne.prototype.getColorRenderbuffer=function(e){if(!Object(r["a"])(e)||e<0||e>=this._colorRenderbuffers.length)throw new a["a"]("index is required, must be greater than or equal to zero and must be less than the number of color attachments.");return this._colorRenderbuffers[e]},Fne.prototype.isDestroyed=function(){return!1},Fne.prototype.destroy=function(){if(this.destroyAttachments){let e=0;const t=this._colorTextures;let n=t.length;for(;e<n;++e){const n=t[e];Object(r["a"])(n)&&n.destroy()}const i=this._colorRenderbuffers;for(n=i.length,e=0;e<n;++e){const t=i[e];Object(r["a"])(t)&&t.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),Wl(this)};var kne=Fne;function zne(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.context,n=e.width,s=e.height;i["a"].defined("options.context",t),i["a"].defined("options.width",n),i["a"].defined("options.height",s),this._width=n,this._height=s;const c=e.colorRenderbuffers,l=e.colorTextures;if(Object(r["a"])(c)!==Object(r["a"])(l))throw new a["a"]("Both color renderbuffer and texture attachments must be provided.");const u=e.depthStencilRenderbuffer,h=e.depthStencilTexture;if(Object(r["a"])(u)!==Object(r["a"])(h))throw new a["a"]("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new kne({context:t,colorRenderbuffers:c,depthStencilRenderbuffer:u,destroyAttachments:e.destroyAttachments}),this._colorFramebuffer=new kne({context:t,colorTextures:l,depthStencilTexture:h,destroyAttachments:e.destroyAttachments})}zne.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer},zne.prototype.getColorFramebuffer=function(){return this._colorFramebuffer},zne.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();const n=e._gl;let i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),Object(r["a"])(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)},zne.prototype.isDestroyed=function(){return!1},zne.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),Wl(this)};var Une=zne;const Vne={RGBA4:Jc.RGBA4,RGBA8:Jc.RGBA8,RGBA16F:Jc.RGBA16F,RGBA32F:Jc.RGBA32F,RGB5_A1:Jc.RGB5_A1,RGB565:Jc.RGB565,DEPTH_COMPONENT16:Jc.DEPTH_COMPONENT16,STENCIL_INDEX8:Jc.STENCIL_INDEX8,DEPTH_STENCIL:Jc.DEPTH_STENCIL,DEPTH24_STENCIL8:Jc.DEPTH24_STENCIL8,validate:function(e){return e===Vne.RGBA4||e===Vne.RGBA8||e===Vne.RGBA16F||e===Vne.RGBA32F||e===Vne.RGB5_A1||e===Vne.RGB565||e===Vne.DEPTH_COMPONENT16||e===Vne.STENCIL_INDEX8||e===Vne.DEPTH_STENCIL||e===Vne.DEPTH24_STENCIL8},getColorFormat:function(e){return e===Jc.FLOAT?Vne.RGBA32F:e===Jc.HALF_FLOAT_OES?Vne.RGBA16F:Vne.RGBA8}};var Hne=Object.freeze(Vne);function Gne(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.context",e.context);const t=e.context,n=t._gl,s=zF.maximumRenderbufferSize,c=Object(o["a"])(e.format,Hne.RGBA4),l=Object(r["a"])(e.width)?e.width:n.drawingBufferWidth,u=Object(r["a"])(e.height)?e.height:n.drawingBufferHeight,h=Object(o["a"])(e.numSamples,1);if(!Hne.validate(c))throw new a["a"]("Invalid format.");if(i["a"].typeOf.number.greaterThan("width",l,0),l>s)throw new a["a"](`Width must be less than or equal to the maximum renderbuffer size (${s}). Check maximumRenderbufferSize.`);if(i["a"].typeOf.number.greaterThan("height",u,0),u>s)throw new a["a"](`Height must be less than or equal to the maximum renderbuffer size (${s}). Check maximumRenderbufferSize.`);this._gl=n,this._format=c,this._width=l,this._height=u,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),h>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,h,c,l,u):n.renderbufferStorage(n.RENDERBUFFER,c,l,u),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(Gne.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}}),Gne.prototype._getRenderbuffer=function(){return this._renderbuffer},Gne.prototype.isDestroyed=function(){return!1},Gne.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),Wl(this)};var qne=Gne;function Wne(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._numSamples=Object(o["a"])(e.numSamples,1),this._colorAttachmentsLength=Object(o["a"])(e.colorAttachmentsLength,1),this._color=Object(o["a"])(e.color,!0),this._depth=Object(o["a"])(e.depth,!1),this._depthStencil=Object(o["a"])(e.depthStencil,!1),this._supportsDepthTexture=Object(o["a"])(e.supportsDepthTexture,!1),!this._color&&!this._depth&&!this._depthStencil)throw new a["a"]("Must enable at least one type of framebuffer attachment.");if(this._depth&&this._depthStencil)throw new a["a"]("Cannot have both a depth and depth-stencil attachment.");this._createColorAttachments=Object(o["a"])(e.createColorAttachments,!0),this._createDepthAttachments=Object(o["a"])(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Wne.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}}),Wne.prototype.isDirty=function(e,t,n,i,a){n=Object(o["a"])(n,1);const s=this._width!==e||this._height!==t,c=this._numSamples!==n,l=Object(r["a"])(i)&&this._pixelDatatype!==i||Object(r["a"])(a)&&this._pixelFormat!==a,u=1===n?Object(r["a"])(this._framebuffer):Object(r["a"])(this._multisampleFramebuffer);return this._attachmentsDirty||s||c||l||!u||this._color&&!Object(r["a"])(this._colorTextures[0])},Wne.prototype.update=function(e,t,n,i,s,c){if(!Object(r["a"])(t)||!Object(r["a"])(n))throw new a["a"]("width and height must be defined.");if(i=e.msaa?Object(o["a"])(i,1):1,s=Object(o["a"])(s,this._color?Object(o["a"])(this._pixelDatatype,WS.UNSIGNED_BYTE):void 0),c=Object(o["a"])(c,this._color?Object(o["a"])(this._pixelFormat,XS.RGBA):void 0),this.isDirty(t,n,i,s,c)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=s,this._pixelFormat=c,this._attachmentsDirty=!1,this._color&&this._createColorAttachments)for(let i=0;i<this._colorAttachmentsLength;++i)if(this._colorTextures[i]=new nk({context:e,width:t,height:n,pixelFormat:c,pixelDatatype:s,sampler:$F.NEAREST}),this._numSamples>1){const o=Hne.getColorFormat(s);this._colorRenderbuffers[i]=new qne({context:e,width:t,height:n,format:o,numSamples:this._numSamples})}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new nk({context:e,width:t,height:n,pixelFormat:XS.DEPTH_STENCIL,pixelDatatype:WS.UNSIGNED_INT_24_8,sampler:$F.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new qne({context:e,width:t,height:n,format:Hne.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new qne({context:e,width:t,height:n,format:Hne.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new nk({context:e,width:t,height:n,pixelFormat:XS.DEPTH_COMPONENT,pixelDatatype:WS.UNSIGNED_INT,sampler:$F.NEAREST}):this._depthRenderbuffer=new qne({context:e,width:t,height:n,format:Hne.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new Une({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new kne({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}},Wne.prototype.getColorTexture=function(e){if(e=Object(o["a"])(e,0),e>=this._colorAttachmentsLength)throw new a["a"]("index must be smaller than total number of color attachments.");return this._colorTextures[e]},Wne.prototype.setColorTexture=function(e,t){if(t=Object(o["a"])(t,0),this._createColorAttachments)throw new a["a"]("createColorAttachments must be false if setColorTexture is called.");if(t>=this._colorAttachmentsLength)throw new a["a"]("index must be smaller than total number of color attachments.");this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e},Wne.prototype.getColorRenderbuffer=function(e){if(e=Object(o["a"])(e,0),e>=this._colorAttachmentsLength)throw new a["a"]("index must be smaller than total number of color attachments.");return this._colorRenderbuffers[e]},Wne.prototype.setColorRenderbuffer=function(e,t){if(t=Object(o["a"])(t,0),this._createColorAttachments)throw new a["a"]("createColorAttachments must be false if setColorRenderbuffer is called.");if(t>=this._colorAttachmentsLength)throw new a["a"]("index must be smaller than total number of color attachments.");this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e},Wne.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer},Wne.prototype.setDepthRenderbuffer=function(e){if(this._createDepthAttachments)throw new a["a"]("createDepthAttachments must be false if setDepthRenderbuffer is called.");this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e},Wne.prototype.getDepthTexture=function(){return this._depthTexture},Wne.prototype.setDepthTexture=function(e){if(this._createDepthAttachments)throw new a["a"]("createDepthAttachments must be false if setDepthTexture is called.");this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e},Wne.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer},Wne.prototype.setDepthStencilRenderbuffer=function(e){if(this._createDepthAttachments)throw new a["a"]("createDepthAttachments must be false if setDepthStencilRenderbuffer is called.");this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e},Wne.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture},Wne.prototype.setDepthStencilTexture=function(e){if(this._createDepthAttachments)throw new a["a"]("createDepthAttachments must be false if setDepthStencilTexture is called.");this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e},Wne.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)},Wne.prototype.clear=function(e,t,n){const i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i},Wne.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()},Wne.prototype.destroy=function(){if(this._color){let e;const t=this._colorTextures.length;for(e=0;e<t;++e){const t=this._colorTextures[e];this._createColorAttachments&&Object(r["a"])(t)&&!t.isDestroyed()&&(this._colorTextures[e].destroy(),this._colorTextures[e]=void 0),Object(r["a"])(t)&&t.isDestroyed()&&(this._colorTextures[e]=void 0);const n=this._colorRenderbuffers[e];this._createColorAttachments&&Object(r["a"])(n)&&!n.isDestroyed()&&(this._colorRenderbuffers[e].destroy(),this._colorRenderbuffers[e]=void 0),Object(r["a"])(n)&&n.isDestroyed()&&(this._colorRenderbuffers[e]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),Object(r["a"])(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),Object(r["a"])(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),Object(r["a"])(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),Object(r["a"])(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var Yne=Wne,Xne="#extension GL_EXT_frag_depth : enable\n\nuniform sampler2D u_pointCloud_colorGBuffer;\nuniform sampler2D u_pointCloud_depthGBuffer;\nuniform vec2 u_distanceAndEdlStrength;\nvarying vec2 v_textureCoordinates;\n\nvec2 neighborContribution(float log2Depth, vec2 offset)\n{\n float dist = u_distanceAndEdlStrength.x;\n vec2 texCoordOrig = v_textureCoordinates + offset * dist;\n vec2 texCoord0 = v_textureCoordinates + offset * floor(dist);\n vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist);\n\n float depthOrLogDepth0 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord0));\n float depthOrLogDepth1 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord1));\n\n // ignore depth values that are the clear depth\n if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) {\n return vec2(0.0);\n }\n\n // interpolate the two adjacent depth values\n float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist));\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix);\n return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0);\n}\n\nvoid main()\n{\n float depthOrLogDepth = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, v_textureCoordinates));\n\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth);\n eyeCoordinate /= eyeCoordinate.w;\n\n float log2Depth = log2(-eyeCoordinate.z);\n\n if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer\n {\n discard;\n }\n\n vec4 color = texture2D(u_pointCloud_colorGBuffer, v_textureCoordinates);\n\n // sample from neighbors left, right, down, up\n vec2 texelSize = 1.0 / czm_viewport.zw;\n\n vec2 responseAndCount = vec2(0.0);\n\n responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0));\n responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0));\n responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y));\n responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y));\n\n float response = responseAndCount.x / responseAndCount.y;\n float strength = u_distanceAndEdlStrength.y;\n float shade = exp(-response * 300.0 * strength);\n color.rgb *= shade;\n gl_FragColor = vec4(color);\n\n // Input and output depth are the same.\n gl_FragDepthEXT = depthOrLogDepth;\n}\n";function Kne(){this._framebuffer=new Yne({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}function Jne(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}Object.defineProperties(Kne.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});const Zne=new Ht;function $ne(e,t){const n=new bG({defines:["LOG_DEPTH_WRITE"],sources:[Xne]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return Zne.x=e._radius,Zne.y=e._strength,Zne}},o=Mz.fromCache({blending:MF.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:eY.setCesium3DTileBit(),stencilMask:eY.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:oz.CESIUM_3D_TILE,owner:e}),e._clearCommand=new bJ({framebuffer:e.framebuffer,color:new j_(0,0,0,0),depth:1,renderState:Mz.fromCache(),pass:oz.CESIUM_3D_TILE,owner:e})}function Qne(e,t){const n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),$ne(e,t)}function eie(e){return e.drawBuffers&&e.fragmentDepth}function tie(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!Object(r["a"])(n)){const i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources=o.sources.map((function(e){return e=bG.replaceMain(e,"czm_point_cloud_post_process_main"),e=e.replace(/gl_FragColor/g,"gl_FragData[0]"),e})),o.sources.unshift("#extension GL_EXT_draw_buffers : enable \n"),o.sources.push("void main() \n{ \n czm_point_cloud_post_process_main(); \n#ifdef LOG_DEPTH\n czm_writeLogDepth();\n gl_FragData[1] = czm_packDepth(gl_FragDepthEXT); \n#else\n gl_FragData[1] = czm_packDepth(gl_FragCoord.z);\n#endif\n}"),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}Kne.isSupported=eie,Kne.prototype.update=function(e,t,n,i){if(!eie(e.context))return;let o;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,Qne(this,e.context);const a=e.commandList,s=a.length;for(o=t;o<s;++o){const t=a[o];if(t.primitiveType!==xh.POINTS||t.pass===oz.TRANSLUCENT)continue;let n,i,s=t.derivedCommands.pointCloudProcessor;Object(r["a"])(s)&&(n=s.command,i=s.originalShaderProgram),Object(r["a"])(n)&&!t.dirty&&i===t.shaderProgram&&n.framebuffer===this.framebuffer||(n=nz.shallowClone(t,n),n.framebuffer=this.framebuffer,n.shaderProgram=tie(e.context,t.shaderProgram),n.castShadows=!1,n.receiveShadows=!1,Object(r["a"])(s)||(s={command:n,originalShaderProgram:t.shaderProgram},t.derivedCommands.pointCloudProcessor=s),s.originalShaderProgram=t.shaderProgram),a[o]=n}const c=this._clearCommand,l=this._drawCommand;l.boundingVolume=i,a.push(l),a.push(c)},Kne.prototype.isDestroyed=function(){return!1},Kne.prototype.destroy=function(){return Jne(this),Wl(this)};var nie=Kne;function iie(e){const t=Object(o["a"])(e,{});this.attenuation=Object(o["a"])(t.attenuation,!1),this.geometricErrorScale=Object(o["a"])(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=Object(o["a"])(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=Object(o["a"])(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=Object(o["a"])(t.eyeDomeLightingRadius,1),this.backFaceCulling=Object(o["a"])(t.backFaceCulling,!1),this.normalShading=Object(o["a"])(t.normalShading,!0)}iie.isSupported=function(e){return nie.isSupported(e.context)};var oie=iie;function rie(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this._pickId=void 0,this._batchTable=void 0,this._styleDirty=!1,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._pointCloud=new Nne({arrayBuffer:i,byteOffset:o,cull:!1,opaquePass:oz.CESIUM_3D_TILE,vertexShaderLoaded:aie(this),fragmentShaderLoaded:sie(this),uniformMapLoaded:cie(this),batchTableLoaded:lie(this),pickIdLoaded:uie(this)})}function aie(e){return function(t){return Object(r["a"])(e._batchTable)?e._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(t):t}}function sie(e){return function(t){return Object(r["a"])(e._batchTable)?e._batchTable.getFragmentShaderCallback(!1,void 0,!1)(t):"uniform vec4 czm_pickColor;\n"+t}}function cie(e){return function(t){return Object(r["a"])(e._batchTable)?e._batchTable.getUniformMapCallback()(t):Object(xS["a"])(t,{czm_pickColor:function(){return e._pickId.color}})}}function lie(e){return function(t,n,i){e._batchTable=new EZ(e,t,n,i)}}function uie(e){return function(){return Object(r["a"])(e._batchTable)?e._batchTable.getPickId():"czm_pickColor"}}function hie(e){const t=e._tileset.pointCloudShading,n=e._tile.contentBoundingVolume.boundingSphere.volume(),i=s["a"].cbrt(n/e.pointsLength);let o=e._tile.geometricError;return 0===o&&(o=Object(r["a"])(t)&&Object(r["a"])(t.baseResolution)?t.baseResolution:i),o}function die(e){const t=e.featuresLength;if(!Object(r["a"])(e._features)&&t>0){const n=new Array(t);for(let i=0;i<t;++i)n[i]=new SZ(e,i);e._features=n}}Object.defineProperties(rie.prototype,{featuresLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return this._pointCloud.pointsLength}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return this._pointCloud.geometryByteLength}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._pointCloud.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}}),rie.prototype.hasProperty=function(e,t){return!!Object(r["a"])(this._batchTable)&&this._batchTable.hasProperty(e,t)},rie.prototype.getFeature=function(e){if(!Object(r["a"])(this._batchTable))return;const t=this.featuresLength;if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"](`batchId is required and between zero and featuresLength - 1 (${t-1}).`);return die(this),this._features[e]},rie.prototype.applyDebugSettings=function(e,t){this._pointCloud.color=e?t:j_.WHITE},rie.prototype.applyStyle=function(e){Object(r["a"])(this._batchTable)?this._batchTable.applyStyle(e):this._styleDirty=!0};const fie=new oie;rie.prototype.update=function(e,t){const n=this._pointCloud,i=Object(o["a"])(e.pointCloudShading,fie),a=this._tile,s=this._batchTable,c=t.mode,l=e.clippingPlanes;let u;Object(r["a"])(this._pickId)||Object(r["a"])(s)||(this._pickId=t.context.createPickId({primitive:e,content:this})),Object(r["a"])(s)&&s.update(e,t),u=Object(r["a"])(a._contentBoundingVolume)?c===vq.SCENE3D?a._contentBoundingVolume.boundingSphere:a._contentBoundingVolume2D.boundingSphere:c===vq.SCENE3D?a._boundingVolume.boundingSphere:a._boundingVolume2D.boundingSphere;const h=this._styleDirty;this._styleDirty=!1,n.clippingPlanesOriginMatrix=e.clippingPlanesOriginMatrix,n.style=Object(r["a"])(s)?void 0:e.style,n.styleDirty=h,n.modelMatrix=a.computedTransform,n.time=e.timeSinceLoad,n.shadows=e.shadows,n.boundingSphere=u,n.clippingPlanes=l,n.isClipped=Object(r["a"])(l)&&l.enabled&&a._isClipped,n.clippingPlanesDirty=a.clippingPlanesDirty,n.attenuation=i.attenuation,n.backFaceCulling=i.backFaceCulling,n.normalShading=i.normalShading,n.geometricError=hie(this),n.geometricErrorScale=i.geometricErrorScale,n.splitDirection=e.splitDirection,Object(r["a"])(i)&&Object(r["a"])(i.maximumAttenuation)?n.maximumAttenuation=i.maximumAttenuation:a.refine===qte.ADD?n.maximumAttenuation=5:n.maximumAttenuation=e.maximumScreenSpaceError,n.update(t)},rie.prototype.isDestroyed=function(){return!1},rie.prototype.destroy=function(){return this._pickId=this._pickId&&this._pickId.destroy(),this._pointCloud=this._pointCloud&&this._pointCloud.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};var pie=rie;function mie(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._readyPromise=_ie(this,i)}function _ie(e,t){return e._tileset.loadTileset(e._resource,t,e._tile),Promise.resolve(e)}Object.defineProperties(mie.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}}),mie.prototype.hasProperty=function(e,t){return!1},mie.prototype.getFeature=function(e){},mie.prototype.applyDebugSettings=function(e,t){},mie.prototype.applyStyle=function(e){},mie.prototype.update=function(e,t){},mie.prototype.isDestroyed=function(){return!1},mie.prototype.destroy=function(){return Wl(this)};var gie=mie;function bie(e,t,n,s){if(i["a"].defined("context",e),!t||0===t.length)throw new a["a"]("At least one attribute is required.");const c=bie._verifyAttributes(t);n=Object(o["a"])(n,0);const l=[],u={};let h,d;const f=c.length;for(let i=0;i<f;++i){const e=c[i];e.vertexBuffer?l.push(e):(d=e.usage,h=u[d],Object(r["a"])(h)||(h=u[d]=[]),h.push(e))}function p(e,t){return $c.getSizeInBytes(t.componentDatatype)-$c.getSizeInBytes(e.componentDatatype)}for(d in this._allBuffers=[],u)if(u.hasOwnProperty(d)){h=u[d],h.sort(p);const e=bie._vertexSizeInBytes(h),t=h[0].usage,n={vertexSizeInBytes:e,vertexBuffer:void 0,usage:t,needsCommit:!1,arrayBuffer:void 0,arrayViews:bie._createArrayViews(h,e)};this._allBuffers.push(n)}this._size=0,this._instanced=Object(o["a"])(s,!1),this._precreated=l,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}bie._verifyAttributes=function(e){const t=[];for(let i=0;i<e.length;++i){const n=e[i],r={index:Object(o["a"])(n.index,i),enabled:Object(o["a"])(n.enabled,!0),componentsPerAttribute:n.componentsPerAttribute,componentDatatype:Object(o["a"])(n.componentDatatype,$c.FLOAT),normalize:Object(o["a"])(n.normalize,!1),vertexBuffer:n.vertexBuffer,usage:Object(o["a"])(n.usage,EG.STATIC_DRAW)};if(t.push(r),1!==r.componentsPerAttribute&&2!==r.componentsPerAttribute&&3!==r.componentsPerAttribute&&4!==r.componentsPerAttribute)throw new a["a"]("attribute.componentsPerAttribute must be in the range [1, 4].");const s=r.componentDatatype;if(!$c.validate(s))throw new a["a"]("Attribute must have a valid componentDatatype or not specify it.");if(!EG.validate(r.usage))throw new a["a"]("Attribute must have a valid usage or not specify it.")}const n=new Array(t.length);for(let i=0;i<t.length;++i){const e=t[i],o=e.index;if(n[o])throw new a["a"](`Index ${o} is used by more than one attribute.`);n[o]=!0}return t},bie._vertexSizeInBytes=function(e){let t=0;const n=e.length;for(let a=0;a<n;++a){const n=e[a];t+=n.componentsPerAttribute*$c.getSizeInBytes(n.componentDatatype)}const i=n>0?$c.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=0===o?0:i-o;return t+=r,t},bie._createArrayViews=function(e,t){const n=[];let i=0;const o=e.length;for(let r=0;r<o;++r){const o=e[r],a=o.componentDatatype;n.push({index:o.index,enabled:o.enabled,componentsPerAttribute:o.componentsPerAttribute,componentDatatype:a,normalize:o.normalize,offsetInBytes:i,vertexSizeInComponentType:t/$c.getSizeInBytes(a),view:void 0}),i+=o.componentsPerAttribute*$c.getSizeInBytes(a)}return n},bie.prototype.resize=function(e){this._size=e;const t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){const e=t[n];bie._resize(e,this._size),bie._appendWriters(this.writers,e)}wie(this)},bie._resize=function(e,t){if(e.vertexSizeInBytes>0){const n=new ArrayBuffer(t*e.vertexSizeInBytes);if(Object(r["a"])(e.arrayBuffer)){const t=new Uint8Array(n),i=new Uint8Array(e.arrayBuffer),o=i.length;for(let e=0;e<o;++e)t[e]=i[e]}const i=e.arrayViews,o=i.length;for(let e=0;e<o;++e){const t=i[e];t.view=$c.createArrayBufferView(t.componentDatatype,n,t.offsetInBytes)}e.arrayBuffer=n}};const yie=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){const a=i*n;t[a]=o,t[a+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,a){const s=i*n;t[s]=o,t[s+1]=r,t[s+2]=a,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,a,s){const c=i*n;t[c]=o,t[c+1]=r,t[c+2]=a,t[c+3]=s,e.needsCommit=!0}}];function vie(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;const n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=Object(r["a"])(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=SG.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}function Oie(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){const i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}function wie(e){const t=e.va;if(!Object(r["a"])(t))return;const n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}bie._appendWriters=function(e,t){const n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){const i=n[o];e[i.index]=yie[i.componentsPerAttribute-1](t,i.view,i.vertexSizeInComponentType)}},bie.prototype.commit=function(e){let t=!1;const n=this._allBuffers;let i,o,a;for(o=0,a=n.length;o<a;++o)i=n[o],t=vie(this,i)||t;if(t||!Object(r["a"])(this.va)){wie(this);const t=this.va=[],c=s["a"].SIXTY_FOUR_KILOBYTES-4,l=Object(r["a"])(e)&&!this._instanced?Math.ceil(this._size/c):1;for(let r=0;r<l;++r){let s=[];for(o=0,a=n.length;o<a;++o){i=n[o];const e=r*(i.vertexSizeInBytes*c);bie._appendAttributes(s,i,e,this._instanced)}s=s.concat(this._precreated),t.push({va:new BG({context:this._context,attributes:s,indexBuffer:e}),indicesCount:1.5*(r!==l-1?c:this._size%c)})}}},bie._appendAttributes=function(e,t,n,i){const o=t.arrayViews,r=o.length;for(let a=0;a<r;++a){const r=o[a];e.push({index:r.index,enabled:r.enabled,componentsPerAttribute:r.componentsPerAttribute,componentDatatype:r.componentDatatype,normalize:r.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+r.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}},bie.prototype.subCommit=function(e,t){if(e<0||e>=this._size)throw new a["a"]("offsetInVertices must be greater than or equal to zero and less than the vertex array size.");if(e+t>this._size)throw new a["a"]("offsetInVertices + lengthInVertices cannot exceed the vertex array size.");const n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)Oie(n[i],e,t)},bie.prototype.endSubCommits=function(){const e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1},bie.prototype.isDestroyed=function(){return!1},bie.prototype.destroy=function(){const e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){const n=e[t];n.vertexBuffer=n.vertexBuffer&&n.vertexBuffer.destroy()}return wie(this),Wl(this)};var Aie=bie,Tie='#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n\nuniform sampler2D u_atlas;\n\n#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\n\nvarying vec2 v_textureCoordinates;\nvarying vec4 v_pickColor;\nvarying vec4 v_color;\n\n#ifdef SDF\nvarying vec4 v_outlineColor;\nvarying float v_outlineWidth;\n#endif\n\n#ifdef FRAGMENT_DEPTH_CHECK\nvarying vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates\nvarying vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs)\nvarying vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize\nvarying mat2 v_rotationMatrix;\n\nconst float SHIFT_LEFT12 = 4096.0;\nconst float SHIFT_LEFT1 = 2.0;\n\nconst float SHIFT_RIGHT12 = 1.0 / 4096.0;\nconst float SHIFT_RIGHT1 = 1.0 / 2.0;\n\nfloat getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize)\n{\n vec2 lookupVector = imageSize * (depthLookupST - adjustedST);\n lookupVector = v_rotationMatrix * lookupVector;\n vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal\n\n vec2 translation = v_originTextureCoordinateAndTranslate.zw;\n\n if (applyTranslate)\n {\n // this is only needed for labels where the horizontal origin is not LEFT\n // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT\n translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0));\n }\n\n vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw;\n float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st));\n\n if (logDepthOrDepth == 0.0)\n {\n return 0.0; // not on the globe\n }\n\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\n return eyeCoordinate.z / eyeCoordinate.w;\n}\n#endif\n\n\n#ifdef SDF\n\n// Get the distance from the edge of a glyph at a given position sampling an SDF texture.\nfloat getDistance(vec2 position)\n{\n return texture2D(u_atlas, position).r;\n}\n\n// Samples the sdf texture at the given position and produces a color based on the fill color and the outline.\nvec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing)\n{\n float distance = getDistance(position);\n\n if (outlineWidth > 0.0)\n {\n // Don\'t get the outline edge exceed the SDF_EDGE\n float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE);\n float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);\n vec4 sdfColor = mix(outlineColor, v_color, outlineFactor);\n float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance);\n return vec4(sdfColor.rgb, sdfColor.a * alpha);\n }\n else\n {\n float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);\n return vec4(v_color.rgb, v_color.a * alpha);\n }\n}\n#endif\n\nvoid main()\n{\n vec4 color = texture2D(u_atlas, v_textureCoordinates);\n\n#ifdef SDF\n float outlineWidth = v_outlineWidth;\n vec4 outlineColor = v_outlineColor;\n\n // Get the current distance\n float distance = getDistance(v_textureCoordinates);\n\n#ifdef GL_OES_standard_derivatives\n float smoothing = fwidth(distance);\n // Get an offset that is approximately half the distance to the neighbor pixels\n // 0.354 is approximately half of 1/sqrt(2)\n vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates));\n\n // Sample the center point\n vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);\n\n // Sample the 4 neighbors\n vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);\n vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);\n vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);\n vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);\n\n // Equally weight the center sample and the 4 neighboring samples\n color = (center + color1 + color2 + color3 + color4)/5.0;\n#else\n // Just do a single sample\n float smoothing = 1.0/32.0;\n color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);\n#endif\n\n color = czm_gammaCorrect(color);\n#else\n color = czm_gammaCorrect(color);\n color *= czm_gammaCorrect(v_color);\n#endif\n\n// Fully transparent parts of the billboard are not pickable.\n#if !defined(OPAQUE) && !defined(TRANSLUCENT)\n if (color.a < 0.005) // matches 0/255 and 1/255\n {\n discard;\n }\n#else\n// The billboard is rendered twice. The opaque pass discards translucent fragments\n// and the translucent pass discards opaque fragments.\n#ifdef OPAQUE\n if (color.a < 0.995) // matches < 254/255\n {\n discard;\n }\n#else\n if (color.a >= 0.995) // matches 254/255 and 255/255\n {\n discard;\n }\n#endif\n#endif\n\n#ifdef VECTOR_TILE\n color *= u_highlightColor;\n#endif\n gl_FragColor = color;\n\n#ifdef LOG_DEPTH\n czm_writeLogDepth();\n#endif\n\n#ifdef FRAGMENT_DEPTH_CHECK\n float temp = v_compressed.y;\n\n temp = temp * SHIFT_RIGHT1;\n\n float temp2 = (temp - floor(temp)) * SHIFT_LEFT1;\n bool enableDepthTest = temp2 != 0.0;\n bool applyTranslate = floor(temp) != 0.0;\n\n if (enableDepthTest) {\n temp = v_compressed.z;\n temp = temp * SHIFT_RIGHT12;\n\n vec2 dimensions;\n dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;\n dimensions.x = floor(temp);\n\n temp = v_compressed.w;\n temp = temp * SHIFT_RIGHT12;\n\n vec2 imageSize;\n imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12;\n imageSize.x = floor(temp);\n\n vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy;\n adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y);\n\n float epsilonEyeDepth = v_compressed.x + czm_epsilon1;\n float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize);\n\n // negative values go into the screen\n if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth)\n {\n float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner\n if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth)\n {\n float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner\n if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth)\n {\n discard;\n }\n }\n }\n }\n#endif\n\n}\n',Cie="#ifdef INSTANCED\nattribute vec2 direction;\n#endif\nattribute vec4 positionHighAndScale;\nattribute vec4 positionLowAndRotation;\nattribute vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset)\nattribute vec4 compressedAttribute1; // aligned axis, translucency by distance, image width\nattribute vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free\nattribute vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range)\nattribute vec4 scaleByDistance; // near, nearScale, far, farScale\nattribute vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale\nattribute vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions\nattribute vec2 sdf; // sdf outline color (rgb) and width (w)\n#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)\nattribute vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates\n#endif\n#ifdef VECTOR_TILE\nattribute float a_batchId;\n#endif\n\nvarying vec2 v_textureCoordinates;\n#ifdef FRAGMENT_DEPTH_CHECK\nvarying vec4 v_textureCoordinateBounds;\nvarying vec4 v_originTextureCoordinateAndTranslate;\nvarying vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize\nvarying mat2 v_rotationMatrix;\n#endif\n\nvarying vec4 v_pickColor;\nvarying vec4 v_color;\n#ifdef SDF\nvarying vec4 v_outlineColor;\nvarying float v_outlineWidth;\n#endif\n\nconst float UPPER_BOUND = 32768.0;\n\nconst float SHIFT_LEFT16 = 65536.0;\nconst float SHIFT_LEFT12 = 4096.0;\nconst float SHIFT_LEFT8 = 256.0;\nconst float SHIFT_LEFT7 = 128.0;\nconst float SHIFT_LEFT5 = 32.0;\nconst float SHIFT_LEFT3 = 8.0;\nconst float SHIFT_LEFT2 = 4.0;\nconst float SHIFT_LEFT1 = 2.0;\n\nconst float SHIFT_RIGHT12 = 1.0 / 4096.0;\nconst float SHIFT_RIGHT8 = 1.0 / 256.0;\nconst float SHIFT_RIGHT7 = 1.0 / 128.0;\nconst float SHIFT_RIGHT5 = 1.0 / 32.0;\nconst float SHIFT_RIGHT3 = 1.0 / 8.0;\nconst float SHIFT_RIGHT2 = 1.0 / 4.0;\nconst float SHIFT_RIGHT1 = 1.0 / 2.0;\n\nvec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp)\n{\n // Note the halfSize cannot be computed in JavaScript because it is sent via\n // compressed vertex attributes that coerce it to an integer.\n vec2 halfSize = imageSize * scale * 0.5;\n halfSize *= ((direction * 2.0) - 1.0);\n\n vec2 originTranslate = origin * abs(halfSize);\n\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\n if (validAlignedAxis || rotation != 0.0)\n {\n float angle = rotation;\n if (validAlignedAxis)\n {\n vec4 projectedAlignedAxis = czm_modelViewProjection * vec4(alignedAxis, 0.0);\n angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) /\n (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y));\n }\n\n float cosTheta = cos(angle);\n float sinTheta = sin(angle);\n rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta);\n halfSize = rotationMatrix * halfSize;\n }\n else\n {\n rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);\n }\n#endif\n\n mpp = czm_metersPerPixel(positionEC);\n positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp);\n positionEC.xy += (translate + pixelOffset) * mpp;\n\n return positionEC;\n}\n\n#ifdef VERTEX_DEPTH_CHECK\nfloat getGlobeDepth(vec4 positionEC)\n{\n vec4 posWC = czm_eyeToWindowCoordinates(positionEC);\n\n float globeDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, posWC.xy / czm_viewport.zw));\n\n if (globeDepth == 0.0)\n {\n return 0.0; // not on the globe\n }\n\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth);\n return eyeCoordinate.z / eyeCoordinate.w;\n}\n#endif\nvoid main()\n{\n // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition\n\n // unpack attributes\n vec3 positionHigh = positionHighAndScale.xyz;\n vec3 positionLow = positionLowAndRotation.xyz;\n float scale = positionHighAndScale.w;\n\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\n float rotation = positionLowAndRotation.w;\n#else\n float rotation = 0.0;\n#endif\n\n float compressed = compressedAttribute0.x;\n\n vec2 pixelOffset;\n pixelOffset.x = floor(compressed * SHIFT_RIGHT7);\n compressed -= pixelOffset.x * SHIFT_LEFT7;\n pixelOffset.x -= UPPER_BOUND;\n\n vec2 origin;\n origin.x = floor(compressed * SHIFT_RIGHT5);\n compressed -= origin.x * SHIFT_LEFT5;\n\n origin.y = floor(compressed * SHIFT_RIGHT3);\n compressed -= origin.y * SHIFT_LEFT3;\n\n#ifdef FRAGMENT_DEPTH_CHECK\n vec2 depthOrigin = origin.xy;\n#endif\n origin -= vec2(1.0);\n\n float show = floor(compressed * SHIFT_RIGHT2);\n compressed -= show * SHIFT_LEFT2;\n\n#ifdef INSTANCED\n vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w);\n vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w);\n vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange;\n#else\n vec2 direction;\n direction.x = floor(compressed * SHIFT_RIGHT1);\n direction.y = compressed - direction.x * SHIFT_LEFT1;\n\n vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w);\n#endif\n\n float temp = compressedAttribute0.y * SHIFT_RIGHT8;\n pixelOffset.y = -(floor(temp) - UPPER_BOUND);\n\n vec2 translate;\n translate.y = (temp - floor(temp)) * SHIFT_LEFT16;\n\n temp = compressedAttribute0.z * SHIFT_RIGHT8;\n translate.x = floor(temp) - UPPER_BOUND;\n\n translate.y += (temp - floor(temp)) * SHIFT_LEFT8;\n translate.y -= UPPER_BOUND;\n\n temp = compressedAttribute1.x * SHIFT_RIGHT8;\n float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2);\n\n vec2 imageSize = vec2(floor(temp), temp2);\n\n#ifdef FRAGMENT_DEPTH_CHECK\n float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2));\n float applyTranslate = 0.0;\n if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false\n {\n applyTranslate = 1.0;\n labelHorizontalOrigin -= 2.0;\n depthOrigin.x = labelHorizontalOrigin + 1.0;\n }\n\n depthOrigin = vec2(1.0) - (depthOrigin * 0.5);\n#endif\n\n#ifdef EYE_DISTANCE_TRANSLUCENCY\n vec4 translucencyByDistance;\n translucencyByDistance.x = compressedAttribute1.z;\n translucencyByDistance.z = compressedAttribute1.w;\n\n translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n\n temp = compressedAttribute1.y * SHIFT_RIGHT8;\n translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n#endif\n\n#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)\n temp = compressedAttribute3.w;\n temp = temp * SHIFT_RIGHT12;\n\n vec2 dimensions;\n dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;\n dimensions.x = floor(temp);\n#endif\n\n#ifdef ALIGNED_AXIS\n vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8));\n temp = compressedAttribute2.z * SHIFT_RIGHT5;\n bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0;\n#else\n vec3 alignedAxis = vec3(0.0);\n bool validAlignedAxis = false;\n#endif\n\n vec4 pickColor;\n vec4 color;\n\n temp = compressedAttribute2.y;\n temp = temp * SHIFT_RIGHT8;\n pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\n pickColor.r = floor(temp);\n\n temp = compressedAttribute2.x;\n temp = temp * SHIFT_RIGHT8;\n color.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n color.g = (temp - floor(temp)) * SHIFT_LEFT8;\n color.r = floor(temp);\n\n temp = compressedAttribute2.z * SHIFT_RIGHT8;\n bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0;\n temp = floor(temp) * SHIFT_RIGHT8;\n\n pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\n pickColor /= 255.0;\n\n color.a = floor(temp);\n color /= 255.0;\n\n ///////////////////////////////////////////////////////////////////////////\n\n vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n vec4 positionEC = czm_modelViewRelativeToEye * p;\n\n#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK)\n float eyeDepth = positionEC.z;\n#endif\n\n positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz);\n positionEC.xyz *= show;\n\n ///////////////////////////////////////////////////////////////////////////\n\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)\n float lengthSq;\n if (czm_sceneMode == czm_sceneMode2D)\n {\n // 2D camera distance is a special case\n // treat all billboards as flattened to the z=0.0 plane\n lengthSq = czm_eyeHeight2D.y;\n }\n else\n {\n lengthSq = dot(positionEC.xyz, positionEC.xyz);\n }\n#endif\n\n#ifdef EYE_DISTANCE_SCALING\n float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq);\n scale *= distanceScale;\n translate *= distanceScale;\n // push vertex behind near plane for clipping\n if (scale == 0.0)\n {\n positionEC.xyz = vec3(0.0);\n }\n#endif\n\n float translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\n translucency = czm_nearFarScalar(translucencyByDistance, lengthSq);\n // push vertex behind near plane for clipping\n if (translucency == 0.0)\n {\n positionEC.xyz = vec3(0.0);\n }\n#endif\n\n#ifdef EYE_DISTANCE_PIXEL_OFFSET\n float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq);\n pixelOffset *= pixelOffsetScale;\n#endif\n\n#ifdef DISTANCE_DISPLAY_CONDITION\n float nearSq = compressedAttribute3.x;\n float farSq = compressedAttribute3.y;\n if (lengthSq < nearSq || lengthSq > farSq)\n {\n positionEC.xyz = vec3(0.0);\n }\n#endif\n\n mat2 rotationMatrix;\n float mpp;\n\n#ifdef DISABLE_DEPTH_DISTANCE\n float disableDepthTestDistance = compressedAttribute3.z;\n#endif\n\n#ifdef VERTEX_DEPTH_CHECK\nif (lengthSq < disableDepthTestDistance) {\n float depthsilon = 10.0;\n\n vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy;\n vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\n float globeDepth1 = getGlobeDepth(pEC1);\n\n if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1)\n {\n vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\n float globeDepth2 = getGlobeDepth(pEC2);\n\n if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2)\n {\n vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\n float globeDepth3 = getGlobeDepth(pEC3);\n if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3)\n {\n positionEC.xyz = vec3(0.0);\n }\n }\n }\n}\n#endif\n\n positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\n gl_Position = czm_projection * positionEC;\n v_textureCoordinates = textureCoordinates;\n\n#ifdef LOG_DEPTH\n czm_vertexLogDepth();\n#endif\n\n#ifdef DISABLE_DEPTH_DISTANCE\n if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)\n {\n disableDepthTestDistance = czm_minimumDisableDepthTestDistance;\n }\n\n if (disableDepthTestDistance != 0.0)\n {\n // Don't try to \"multiply both sides\" by w. Greater/less-than comparisons won't work for negative values of w.\n float zclip = gl_Position.z / gl_Position.w;\n bool clipped = (zclip < -1.0 || zclip > 1.0);\n if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))\n {\n // Position z on the near plane.\n gl_Position.z = -gl_Position.w;\n#ifdef LOG_DEPTH\n v_depthFromNearPlusOne = 1.0;\n#endif\n }\n }\n#endif\n\n#ifdef FRAGMENT_DEPTH_CHECK\n if (sizeInMeters) {\n translate /= mpp;\n dimensions /= mpp;\n imageSize /= mpp;\n }\n\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\n v_rotationMatrix = rotationMatrix;\n#else\n v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);\n#endif\n\n float enableDepthCheck = 0.0;\n if (lengthSq < disableDepthTestDistance)\n {\n enableDepthCheck = 1.0;\n }\n\n float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12));\n float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12));\n\n float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12));\n float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12));\n\n v_compressed.x = eyeDepth;\n v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck;\n v_compressed.z = dw * SHIFT_LEFT12 + dh;\n v_compressed.w = iw * SHIFT_LEFT12 + ih;\n v_originTextureCoordinateAndTranslate.xy = depthOrigin;\n v_originTextureCoordinateAndTranslate.zw = translate;\n v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate;\n\n#endif\n\n#ifdef SDF\n vec4 outlineColor;\n float outlineWidth;\n\n temp = sdf.x;\n temp = temp * SHIFT_RIGHT8;\n outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\n outlineColor.r = floor(temp);\n\n temp = sdf.y;\n temp = temp * SHIFT_RIGHT8;\n float temp3 = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8;\n outlineColor.a = floor(temp);\n outlineColor /= 255.0;\n\n v_outlineWidth = outlineWidth / 255.0;\n v_outlineColor = outlineColor;\n v_outlineColor.a *= translucency;\n#endif\n\n v_pickColor = pickColor;\n\n v_color = color;\n v_color.a *= translucency;\n\n}\n";const Eie={},xie=new be(0,0,0,1);let Sie=new be;const Iie=new Oh,Die=new Ht,jie=new Ht;Eie.wgs84ToWindowCoordinates=function(e,t,n){return Eie.wgs84WithEyeOffsetToWindowCoordinates(e,t,g.ZERO,n)};const Pie=new be,Rie=new g;function Mie(e,t,n,i){const o=n.viewMatrix,r=Ne.multiplyByVector(o,be.fromElements(e.x,e.y,e.z,1,Pie),Pie),a=g.multiplyComponents(t,g.normalize(r,Rie),Rie);return r.x+=t.x+a.x,r.y+=t.y+a.y,r.z+=a.z,Ne.multiplyByVector(n.frustum.projectionMatrix,r,i)}const Nie=new I(Math.PI,s["a"].PI_OVER_TWO),Lie=new g,Bie=new g;Eie.wgs84WithEyeOffsetToWindowCoordinates=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(t))throw new a["a"]("position is required.");const o=e.frameState,c=Eie.computeActualWgs84Position(o,t,xie);if(!Object(r["a"])(c))return;const l=e.canvas,u=Iie;u.x=0,u.y=0,u.width=l.clientWidth,u.height=l.clientHeight;const h=e.camera;let d=!1;if(o.mode===vq.SCENE2D){const t=e.mapProjection,o=Nie,r=t.project(o,Lie),a=g.clone(h.position,Bie),f=h.frustum.clone(),p=Ne.computeViewportTransformation(u,0,1,new Ne),m=h.frustum.projectionMatrix,_=h.positionWC.y,b=g.fromElements(s["a"].sign(_)*r.x-_,0,-h.positionWC.x),y=Hs.pointToGLWindowCoordinates(m,p,b);if(0===_||y.x<=0||y.x>=l.clientWidth)d=!0;else{if(y.x>.5*l.clientWidth){u.width=y.x,h.frustum.right=r.x-_,Sie=Mie(c,n,h,Sie),Eie.clipToGLWindowCoordinates(u,Sie,Die),u.x+=y.x,h.position.x=-h.position.x;const e=h.frustum.right;h.frustum.right=-h.frustum.left,h.frustum.left=-e,Sie=Mie(c,n,h,Sie),Eie.clipToGLWindowCoordinates(u,Sie,jie)}else{u.x+=y.x,u.width-=y.x,h.frustum.left=-r.x-_,Sie=Mie(c,n,h,Sie),Eie.clipToGLWindowCoordinates(u,Sie,Die),u.x=u.x-u.width,h.position.x=-h.position.x;const e=h.frustum.left;h.frustum.left=-h.frustum.right,h.frustum.right=-e,Sie=Mie(c,n,h,Sie),Eie.clipToGLWindowCoordinates(u,Sie,jie)}g.clone(a,h.position),h.frustum=f.clone(),i=Ht.clone(Die,i),(i.x<0||i.x>l.clientWidth)&&(i.x=jie.x)}}if(o.mode!==vq.SCENE2D||d){if(Sie=Mie(c,n,h,Sie),Sie.z<0&&!(h.frustum instanceof uA)&&!(h.frustum instanceof sA))return;i=Eie.clipToGLWindowCoordinates(u,Sie,i)}return i.y=l.clientHeight-i.y,i},Eie.wgs84ToDrawingBufferCoordinates=function(e,t,n){if(n=Eie.wgs84ToWindowCoordinates(e,t,n),Object(r["a"])(n))return Eie.transformWindowToDrawingBuffer(e,n,n)};const Fie=new g,kie=new I;Eie.computeActualWgs84Position=function(e,t,n){const i=e.mode;if(i===vq.SCENE3D)return g.clone(t,n);const o=e.mapProjection,a=o.ellipsoid.cartesianToCartographic(t,kie);if(!Object(r["a"])(a))return;if(o.project(a,Fie),i===vq.COLUMBUS_VIEW)return g.fromElements(Fie.z,Fie.x,Fie.y,n);if(i===vq.SCENE2D)return g.fromElements(0,Fie.x,Fie.y,n);const c=e.morphTime;return g.fromElements(s["a"].lerp(Fie.z,t.x,c),s["a"].lerp(Fie.x,t.y,c),s["a"].lerp(Fie.y,t.z,c),n)};const zie=new g,Uie=new g,Vie=new Ne;Eie.clipToGLWindowCoordinates=function(e,t,n){return g.divideByScalar(t,t.w,zie),Ne.computeViewportTransformation(e,0,1,Vie),Ne.multiplyByPoint(Vie,zie,Uie),Ht.fromCartesian3(Uie,n)},Eie.transformWindowToDrawingBuffer=function(e,t,n){const i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return Ht.fromElements(t.x*o,t.y*r,n)};const Hie=new be,Gie=new be;Eie.drawingBufferToWgs84Coordinates=function(e,t,n,i){const o=e.context,a=o.uniformState,s=a.currentFrustum,c=s.x,l=s.y;if(e.frameState.useLogDepth){const e=n*a.log2FarDepthFromNearPlusOne,t=Math.pow(2,e)-1;n=l*(1-c/(t+c))/(l-c)}const u=e.view.passState.viewport,h=be.clone(be.UNIT_W,Hie);let d;h.x=(t.x-u.x)/u.width*2-1,h.y=(t.y-u.y)/u.height*2-1,h.z=2*n-1,h.w=1;let f=e.camera.frustum;if(Object(r["a"])(f.fovy)){d=Ne.multiplyByVector(a.inverseViewProjection,h,Gie);const e=1/d.w;g.multiplyByScalar(d,e,d)}else Object(r["a"])(f._offCenterFrustum)&&(f=f._offCenterFrustum),d=Gie,d.x=.5*(h.x*(f.right-f.left)+f.left+f.right),d.y=.5*(h.y*(f.top-f.bottom)+f.bottom+f.top),d.z=.5*(h.z*(c-l)-c-l),d.w=1,d=Ne.multiplyByVector(a.inverseView,d,d);return g.fromCartesian4(d,i)};var qie=Eie;function Wie(e,t){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),Object(r["a"])(e.disableDepthTestDistance)&&e.disableDepthTestDistance<0)throw new a["a"]("disableDepthTestDistance must be greater than or equal to 0.0.");let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,s=e.scaleByDistance,c=e.distanceDisplayCondition;if(Object(r["a"])(n)){if(n.far<=n.near)throw new a["a"]("translucencyByDistance.far must be greater than translucencyByDistance.near.");n=cS.clone(n)}if(Object(r["a"])(i)){if(i.far<=i.near)throw new a["a"]("pixelOffsetScaleByDistance.far must be greater than pixelOffsetScaleByDistance.near.");i=cS.clone(i)}if(Object(r["a"])(s)){if(s.far<=s.near)throw new a["a"]("scaleByDistance.far must be greater than scaleByDistance.near.");s=cS.clone(s)}if(Object(r["a"])(c)){if(c.far<=c.near)throw new a["a"]("distanceDisplayCondition.far must be greater than distanceDisplayCondition.near.");c=sw.clone(c)}this._show=Object(o["a"])(e.show,!0),this._position=g.clone(Object(o["a"])(e.position,g.ZERO)),this._actualPosition=g.clone(this._position),this._pixelOffset=Ht.clone(Object(o["a"])(e.pixelOffset,Ht.ZERO)),this._translate=new Ht(0,0),this._eyeOffset=g.clone(Object(o["a"])(e.eyeOffset,g.ZERO)),this._heightReference=Object(o["a"])(e.heightReference,qB.NONE),this._verticalOrigin=Object(o["a"])(e.verticalOrigin,KB.CENTER),this._horizontalOrigin=Object(o["a"])(e.horizontalOrigin,YB.CENTER),this._scale=Object(o["a"])(e.scale,1),this._color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this._rotation=Object(o["a"])(e.rotation,0),this._alignedAxis=g.clone(Object(o["a"])(e.alignedAxis,g.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=s,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=Object(o["a"])(e.sizeInMeters,!1),this._distanceDisplayCondition=c,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=Object(o["a"])(e.collection,t),this._pickId=void 0,this._pickPrimitive=Object(o["a"])(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;const l=e.image;let u=e.imageId;Object(r["a"])(l)&&(Object(r["a"])(u)||(u="string"===typeof l?l:Object(r["a"])(l.src)?l.src:RL()),this._imageId=u,this._image=l),Object(r["a"])(e.imageSubRegion)&&(this._imageId=u,this._imageSubRegion=e.imageSubRegion),Object(r["a"])(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=vq.SCENE3D,this._clusterShow=!0,this._outlineColor=j_.clone(Object(o["a"])(e.outlineColor,j_.BLACK)),this._outlineWidth=Object(o["a"])(e.outlineWidth,0),this._updateClamping()}const Yie=Wie.SHOW_INDEX=0,Xie=Wie.POSITION_INDEX=1,Kie=Wie.PIXEL_OFFSET_INDEX=2,Jie=Wie.EYE_OFFSET_INDEX=3,Zie=Wie.HORIZONTAL_ORIGIN_INDEX=4,$ie=Wie.VERTICAL_ORIGIN_INDEX=5,Qie=Wie.SCALE_INDEX=6,eoe=Wie.IMAGE_INDEX_INDEX=7,toe=Wie.COLOR_INDEX=8,noe=Wie.ROTATION_INDEX=9,ioe=Wie.ALIGNED_AXIS_INDEX=10,ooe=Wie.SCALE_BY_DISTANCE_INDEX=11,roe=Wie.TRANSLUCENCY_BY_DISTANCE_INDEX=12,aoe=Wie.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,soe=Wie.DISTANCE_DISPLAY_CONDITION=14,coe=Wie.DISABLE_DEPTH_DISTANCE=15;Wie.TEXTURE_COORDINATE_BOUNDS=16;const loe=Wie.SDF_INDEX=17;function uoe(e,t){const n=e._billboardCollection;Object(r["a"])(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Wie.NUMBER_OF_PROPERTIES=18,Object.defineProperties(Wie.prototype,{show:{get:function(){return this._show},set:function(e){i["a"].typeOf.bool("value",e),this._show!==e&&(this._show=e,uoe(this,Yie))}},position:{get:function(){return this._position},set:function(e){i["a"].typeOf.object("value",e);const t=this._position;g.equals(t,e)||(g.clone(e,t),g.clone(e,this._actualPosition),this._updateClamping(),uoe(this,Xie))}},heightReference:{get:function(){return this._heightReference},set:function(e){i["a"].typeOf.number("value",e);const t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),uoe(this,Xie))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){i["a"].typeOf.object("value",e);const t=this._pixelOffset;Ht.equals(t,e)||(Ht.clone(e,t),uoe(this,Kie))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){if(Object(r["a"])(e)&&(i["a"].typeOf.object("value",e),e.far<=e.near))throw new a["a"]("far distance must be greater than near distance.");const t=this._scaleByDistance;cS.equals(t,e)||(this._scaleByDistance=cS.clone(e,t),uoe(this,ooe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){if(Object(r["a"])(e)&&(i["a"].typeOf.object("value",e),e.far<=e.near))throw new a["a"]("far distance must be greater than near distance.");const t=this._translucencyByDistance;cS.equals(t,e)||(this._translucencyByDistance=cS.clone(e,t),uoe(this,roe))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){if(Object(r["a"])(e)&&(i["a"].typeOf.object("value",e),e.far<=e.near))throw new a["a"]("far distance must be greater than near distance.");const t=this._pixelOffsetScaleByDistance;cS.equals(t,e)||(this._pixelOffsetScaleByDistance=cS.clone(e,t),uoe(this,aoe))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){i["a"].typeOf.object("value",e);const t=this._eyeOffset;g.equals(t,e)||(g.clone(e,t),uoe(this,Jie))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){i["a"].typeOf.number("value",e),this._horizontalOrigin!==e&&(this._horizontalOrigin=e,uoe(this,Zie))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){i["a"].typeOf.number("value",e),this._verticalOrigin!==e&&(this._verticalOrigin=e,uoe(this,$ie))}},scale:{get:function(){return this._scale},set:function(e){i["a"].typeOf.number("value",e),this._scale!==e&&(this._scale=e,uoe(this,Qie))}},color:{get:function(){return this._color},set:function(e){i["a"].typeOf.object("value",e);const t=this._color;j_.equals(t,e)||(j_.clone(e,t),uoe(this,toe))}},rotation:{get:function(){return this._rotation},set:function(e){i["a"].typeOf.number("value",e),this._rotation!==e&&(this._rotation=e,uoe(this,noe))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){i["a"].typeOf.object("value",e);const t=this._alignedAxis;g.equals(t,e)||(g.clone(e,t),uoe(this,ioe))}},width:{get:function(){return Object(o["a"])(this._width,this._imageWidth)},set:function(e){Object(r["a"])(e)&&i["a"].typeOf.number("value",e),this._width!==e&&(this._width=e,uoe(this,eoe))}},height:{get:function(){return Object(o["a"])(this._height,this._imageHeight)},set:function(e){Object(r["a"])(e)&&i["a"].typeOf.number("value",e),this._height!==e&&(this._height=e,uoe(this,eoe))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){i["a"].typeOf.bool("value",e),this._sizeInMeters!==e&&(this._sizeInMeters=e,uoe(this,toe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!sw.equals(e,this._distanceDisplayCondition)){if(Object(r["a"])(e)&&(i["a"].typeOf.object("value",e),e.far<=e.near))throw new a["a"]("far distance must be greater than near distance.");this._distanceDisplayCondition=sw.clone(e,this._distanceDisplayCondition),uoe(this,soe)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(Object(r["a"])(e)&&(i["a"].typeOf.number("value",e),e<0))throw new a["a"]("disableDepthTestDistance must be greater than or equal to 0.0.");this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,uoe(this,coe))}},id:{get:function(){return this._id},set:function(e){this._id=e,Object(r["a"])(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,Object(r["a"])(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){Object(r["a"])(e)?"string"===typeof e?this.setImage(e,e):e instanceof Et["a"]?this.setImage(e.url,e):Object(r["a"])(e.src)?this.setImage(e.src,e):this.setImage(RL(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,uoe(this,eoe))}},ready:{get:function(){return-1!==this._imageIndex}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=g.clone(e,this._actualClampedPosition),uoe(this,Xie)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,uoe(this,Yie))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._outlineColor;j_.equals(t,e)||(j_.clone(e,t),uoe(this,loe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,uoe(this,loe))}}}),Wie.prototype.getPickId=function(e){return Object(r["a"])(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId},Wie.prototype._updateClamping=function(){Wie._updateClamping(this._billboardCollection,this)};const hoe=new I,doe=new g;Wie._updateClamping=function(e,t){const n=e._scene;if(!Object(r["a"])(n)||!Object(r["a"])(n.globe)){if(t._heightReference!==qB.NONE)throw new a["a"]("Height reference is not supported without a scene and globe.");return}const i=n.globe,o=i.ellipsoid,s=i._surface,c=n.frameState.mode,l=c!==t._mode;if(t._mode=c,(t._heightReference===qB.NONE||l)&&Object(r["a"])(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===qB.NONE||!Object(r["a"])(t._position))return;const u=o.cartesianToCartographic(t._position);if(!Object(r["a"])(u))return void(t._actualClampedPosition=void 0);function h(e){if(t._heightReference===qB.RELATIVE_TO_GROUND)if(t._mode===vq.SCENE3D){const t=o.cartesianToCartographic(e,hoe);t.height+=u.height,o.cartographicToCartesian(t,e)}else e.x+=u.height;t._clampedPosition=g.clone(e,t._clampedPosition)}Object(r["a"])(t._removeCallbackFunc)&&t._removeCallbackFunc(),t._removeCallbackFunc=s.updateHeight(u,h),I.clone(u,hoe);const d=i.getHeight(u);Object(r["a"])(d)&&(hoe.height=d),o.cartographicToCartesian(hoe,doe),h(doe)},Wie.prototype._loadImage=function(){const e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion;let o;const a=this;function s(o){if(a._imageId!==t||a._image!==n||!Oh.equals(a._imageSubRegion,i))return;const r=e.textureCoordinates[o];a._imageWidth=e.texture.width*r.width,a._imageHeight=e.texture.height*r.height,a._imageIndex=o,a._ready=!0,a._image=void 0,a._imageIndexPromise=void 0,uoe(a,eoe)}if(Object(r["a"])(n)){const i=e.getImageIndex(t);if(Object(r["a"])(i))return void s(i);o=e.addImage(t,n)}Object(r["a"])(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,Object(r["a"])(o)&&o.then(s).catch((function(e){console.error("Error loading image for billboard: "+e),a._imageIndexPromise=void 0}))},Wie.prototype.setImage=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("id is required.");if(!Object(r["a"])(t))throw new a["a"]("image is required.");this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,Object(r["a"])(this._billboardCollection._textureAtlas)&&this._loadImage())},Wie.prototype.setImageSubRegion=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("id is required.");if(!Object(r["a"])(t))throw new a["a"]("subRegion is required.");this._imageId===e&&Oh.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Oh.clone(t),Object(r["a"])(this._billboardCollection._textureAtlas)&&this._loadImage())},Wie.prototype._setTranslate=function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._translate;Ht.equals(t,e)||(Ht.clone(e,t),uoe(this,Kie))},Wie.prototype._getActualPosition=function(){return Object(r["a"])(this._clampedPosition)?this._clampedPosition:this._actualPosition},Wie.prototype._setActualPosition=function(e){Object(r["a"])(this._clampedPosition)||g.clone(e,this._actualPosition),uoe(this,Xie)};const foe=new be;Wie._computeActualPosition=function(e,t,n,i){return Object(r["a"])(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===vq.SCENE3D?t:(Ne.multiplyByPoint(i,t,foe),qie.computeActualWgs84Position(n,foe))};const poe=new g;Wie._computeScreenSpacePosition=function(e,t,n,i,o,a){const s=Ne.multiplyByPoint(e,t,poe),c=qie.wgs84WithEyeOffsetToWindowCoordinates(o,s,n,a);if(Object(r["a"])(c))return Ht.add(c,i,c),c};const moe=new Ht(0,0);Wie.prototype.computeScreenSpacePosition=function(e,t){const n=this._billboardCollection;if(Object(r["a"])(t)||(t=new Ht),!Object(r["a"])(n))throw new a["a"]("Billboard must be in a collection. Was it removed?");if(!Object(r["a"])(e))throw new a["a"]("scene is required.");Ht.clone(this._pixelOffset,moe),Ht.add(moe,this._translate,moe);let i=n.modelMatrix,o=this._position;if(Object(r["a"])(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==vq.SCENE3D)){const t=e.mapProjection,n=t.ellipsoid,r=t.unproject(o,hoe);o=n.cartographicToCartesian(r,poe),i=Ne.IDENTITY}const s=Wie._computeScreenSpacePosition(i,o,this._eyeOffset,moe,e,t);return s},Wie.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height;const a=e.scale;i*=a,o*=a;let s=t.x;e.horizontalOrigin===YB.RIGHT?s-=i:e.horizontalOrigin===YB.CENTER&&(s-=.5*i);let c=t.y;return e.verticalOrigin===KB.BOTTOM||e.verticalOrigin===KB.BASELINE?c-=o:e.verticalOrigin===KB.CENTER&&(c-=.5*o),Object(r["a"])(n)||(n=new Oh),n.x=s,n.y=c,n.width=i,n.height=o,n},Wie.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&this._id===e._id&&g.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Oh.equals(this._imageSubRegion,e._imageSubRegion)&&j_.equals(this._color,e._color)&&Ht.equals(this._pixelOffset,e._pixelOffset)&&Ht.equals(this._translate,e._translate)&&g.equals(this._eyeOffset,e._eyeOffset)&&cS.equals(this._scaleByDistance,e._scaleByDistance)&&cS.equals(this._translucencyByDistance,e._translucencyByDistance)&&cS.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&sw.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance},Wie.prototype._destroy=function(){Object(r["a"])(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),Object(r["a"])(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var _oe=Wie;const goe={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};var boe=Object.freeze(goe);const yoe={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25};var voe=Object.freeze(yoe);function Ooe(e,t,n,i,r){this.bottomLeft=Object(o["a"])(e,Ht.ZERO),this.topRight=Object(o["a"])(t,Ht.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=r}const woe=new Ht(16,16);function Aoe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.borderWidthInPixels,1),n=Object(o["a"])(e.initialSize,woe);if(!Object(r["a"])(e.context))throw new a["a"]("context is required.");if(t<0)throw new a["a"]("borderWidthInPixels must be greater than or equal to zero.");if(n.x<1||n.y<1)throw new a["a"]("initialSize must be greater than zero.");this._context=e.context,this._pixelFormat=Object(o["a"])(e.pixelFormat,XS.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=RL(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}function Toe(e,t){const n=e._context,i=e.numberOfImages,o=2,a=e._borderWidthInPixels;if(i>0){const i=e._texture.width,s=e._texture.height,c=o*(i+t.width+a),l=o*(s+t.height+a),u=i/c,h=s/l,d=new Ooe(new Ht(i+a,a),new Ht(c,s)),f=new Ooe(new Ht,new Ht(c,s),e._root,d),p=new Ooe(new Ht(a,s+a),new Ht(c,l)),m=new Ooe(new Ht,new Ht(c,l),f,p);for(let t=0;t<e._textureCoordinates.length;t++){const n=e._textureCoordinates[t];Object(r["a"])(n)&&(n.x*=u,n.y*=h,n.width*=u,n.height*=h)}const _=new nk({context:e._context,width:c,height:l,pixelFormat:e._pixelFormat}),g=new kne({context:n,colorTextures:[e._texture],destroyAttachments:!1});g._bind(),_.copyFromFramebuffer(0,0,0,0,c,l),g._unBind(),g.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=_,e._root=m}else{let n=o*(t.width+2*a),i=o*(t.height+2*a);n<e._initialSize.x&&(n=e._initialSize.x),i<e._initialSize.y&&(i=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new nk({context:e._context,width:n,height:i,pixelFormat:e._pixelFormat}),e._root=new Ooe(new Ht(a,a),new Ht(n,i))}}function Coe(e,t,n){if(Object(r["a"])(t)){if(!Object(r["a"])(t.childNode1)&&!Object(r["a"])(t.childNode2)){if(Object(r["a"])(t.imageIndex))return;const i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,a=i-n.width,s=o-n.height;if(a<0||s<0)return;if(0===a&&0===s)return t;if(a>s){t.childNode1=new Ooe(new Ht(t.bottomLeft.x,t.bottomLeft.y),new Ht(t.bottomLeft.x+n.width,t.topRight.y));const i=t.bottomLeft.x+n.width+e._borderWidthInPixels;i<t.topRight.x&&(t.childNode2=new Ooe(new Ht(i,t.bottomLeft.y),new Ht(t.topRight.x,t.topRight.y)))}else{t.childNode1=new Ooe(new Ht(t.bottomLeft.x,t.bottomLeft.y),new Ht(t.topRight.x,t.bottomLeft.y+n.height));const i=t.bottomLeft.y+n.height+e._borderWidthInPixels;i<t.topRight.y&&(t.childNode2=new Ooe(new Ht(t.bottomLeft.x,i),new Ht(t.topRight.x,t.topRight.y)))}return Coe(e,t.childNode1,n)}return Coe(e,t.childNode1,n)||Coe(e,t.childNode2,n)}}function Eoe(e,t,n){const i=Coe(e,e._root,t);if(Object(r["a"])(i)){i.imageIndex=n;const o=e._texture.width,r=e._texture.height,a=i.topRight.x-i.bottomLeft.x,s=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,l=i.bottomLeft.y/r,u=a/o,h=s/r;e._textureCoordinates[n]=new Oh(c,l,u,h),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else Toe(e,t),Eoe(e,t,n);e._guid=RL()}function xoe(e,t){if(!Object(r["a"])(e)||e.isDestroyed())return-1;const n=e.numberOfImages;return Eoe(e,t,n),n}Object.defineProperties(Aoe.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return Object(r["a"])(this._texture)||(this._texture=new nk({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}}),Aoe.prototype.getImageIndex=function(e){if(!Object(r["a"])(e))throw new a["a"]("id is required.");return this._indexHash[e]},Aoe.prototype.addImageSync=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("id is required.");if(!Object(r["a"])(t))throw new a["a"]("image is required.");let n=this._indexHash[e];return Object(r["a"])(n)||(n=xoe(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n},Aoe.prototype.addImage=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("id is required.");if(!Object(r["a"])(t))throw new a["a"]("image is required.");let n=this._idHash[e];if(Object(r["a"])(n))return n;if("function"===typeof t){if(t=t(e),!Object(r["a"])(t))throw new a["a"]("image is required.")}else if("string"===typeof t||t instanceof Et["a"]){const e=Et["a"].createIfNeeded(t);t=e.fetchImage()}const i=this;return n=Promise.resolve(t).then((function(t){const n=xoe(i,t);return i._indexHash[e]=n,n})),this._idHash[e]=n,n},Aoe.prototype.addSubRegion=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("id is required.");if(!Object(r["a"])(t))throw new a["a"]("subRegion is required.");const n=this._idHash[e];if(!Object(r["a"])(n))throw new ye["a"](`image with id "${e}" not found in the atlas.`);const i=this;return Promise.resolve(n).then((function(e){if(-1===e)return-1;const n=i._texture.width,o=i._texture.height,r=i.numberOfImages,a=i._textureCoordinates[e],s=a.x+t.x/n,c=a.y+t.y/o,l=t.width/n,u=t.height/o;return i._textureCoordinates.push(new Oh(s,c,l,u)),i._guid=RL(),r}))},Aoe.prototype.isDestroyed=function(){return!1},Aoe.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),Wl(this)};var Soe=Aoe;const Ioe=_oe.SHOW_INDEX,Doe=_oe.POSITION_INDEX,joe=_oe.PIXEL_OFFSET_INDEX,Poe=_oe.EYE_OFFSET_INDEX,Roe=_oe.HORIZONTAL_ORIGIN_INDEX,Moe=_oe.VERTICAL_ORIGIN_INDEX,Noe=_oe.SCALE_INDEX,Loe=_oe.IMAGE_INDEX_INDEX,Boe=_oe.COLOR_INDEX,Foe=_oe.ROTATION_INDEX,koe=_oe.ALIGNED_AXIS_INDEX,zoe=_oe.SCALE_BY_DISTANCE_INDEX,Uoe=_oe.TRANSLUCENCY_BY_DISTANCE_INDEX,Voe=_oe.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,Hoe=_oe.DISTANCE_DISPLAY_CONDITION,Goe=_oe.DISABLE_DEPTH_DISTANCE,qoe=_oe.TEXTURE_COORDINATE_BOUNDS,Woe=_oe.SDF_INDEX,Yoe=_oe.NUMBER_OF_PROPERTIES;let Xoe;const Koe={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11},Joe={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12};function Zoe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(Yoe),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new Tt,this._baseVolumeWC=new Tt,this._baseVolume2D=new Tt,this._boundingVolume=new Tt,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(Ne.IDENTITY),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=Object(o["a"])(e.debugShowTextureAtlas,!1),this.blendOption=Object(o["a"])(e.blendOption,boe.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=vq.SCENE3D,this._buffersUsage=[EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW],this._highlightColor=j_.clone(j_.WHITE);const t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};const n=this._scene;Object(r["a"])(n)&&Object(r["a"])(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener((function(){const e=this._billboards,t=e.length;for(let n=0;n<t;++n)Object(r["a"])(e[n])&&e[n]._updateClamping()}),this))}function $oe(e){const t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}function Qoe(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;const t=[],n=e._billboards,i=n.length;for(let e=0,o=0;e<i;++e){const i=n[e];Object(r["a"])(i)&&(i._index=o++,t.push(i))}e._billboards=t}}let ere;function tre(e){const t=16384;let n=e.cache.billboardCollection_indexBufferBatched;if(Object(r["a"])(n))return n;const i=6*t-6,o=new Uint16Array(i);for(let r=0,a=0;r<i;r+=6,a+=4)o[r]=a,o[r+1]=a+1,o[r+2]=a+2,o[r+3]=a+0,o[r+4]=a+2,o[r+5]=a+3;return n=SG.createIndexBuffer({context:e,typedArray:o,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function nre(e){let t=e.cache.billboardCollection_indexBufferInstanced;return Object(r["a"])(t)||(t=SG.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function ire(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return Object(r["a"])(t)||(t=SG.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:EG.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}function ore(e,t,n,i,o,a){const s=[{index:Xoe.positionHighAndScale,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Doe]},{index:Xoe.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Doe]},{index:Xoe.compressedAttribute0,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[joe]},{index:Xoe.compressedAttribute1,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Uoe]},{index:Xoe.compressedAttribute2,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Boe]},{index:Xoe.eyeOffset,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Poe]},{index:Xoe.scaleByDistance,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[zoe]},{index:Xoe.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Voe]},{index:Xoe.compressedAttribute3,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Hoe]},{index:Xoe.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[qoe]}];i&&s.push({index:Xoe.direction,componentsPerAttribute:2,componentDatatype:$c.FLOAT,vertexBuffer:ire(e)}),Object(r["a"])(o)&&s.push({index:Xoe.a_batchId,componentsPerAttribute:1,componentDatatype:$c.FLOAT,bufferUsage:EG.STATIC_DRAW}),a&&s.push({index:Xoe.sdf,componentsPerAttribute:2,componentDatatype:$c.FLOAT,usage:n[Woe]});const c=i?t:4*t;return new Aie(e,s,c,i)}Object.defineProperties(Zoe.prototype,{length:{get:function(){return Qoe(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}}),Zoe.prototype.add=function(e){const t=new _oe(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t},Zoe.prototype.remove=function(e){return!!this.contains(e)&&(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0)},Zoe.prototype.removeAll=function(){$oe(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0},Zoe.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]},Zoe.prototype.contains=function(e){return Object(r["a"])(e)&&e._billboardCollection===this},Zoe.prototype.get=function(e){return i["a"].typeOf.number("index",e),Qoe(this),this._billboards[e]},Zoe.prototype.computeNewBuffersUsage=function(){const e=this._buffersUsage;let t=!1;const n=this._propertiesChanged;for(let i=0;i<Yoe;++i){const o=0===n[i]?EG.STATIC_DRAW:EG.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};const rre=new kf;function are(e,t,n,i,o){let r;const a=i[Xoe.positionHighAndScale],s=i[Xoe.positionLowAndRotation],c=o._getActualPosition();e._mode===vq.SCENE3D&&(Tt.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),kf.fromCartesian(c,rre);const l=o.scale,u=o.rotation;0!==u&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,l);const h=rre.high,d=rre.low;e._instanced?(r=o._index,a(r,h.x,h.y,h.z,l),s(r,d.x,d.y,d.z,u)):(r=4*o._index,a(r+0,h.x,h.y,h.z,l),a(r+1,h.x,h.y,h.z,l),a(r+2,h.x,h.y,h.z,l),a(r+3,h.x,h.y,h.z,l),s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u))}const sre=new Ht,cre=32768,lre=65536,ure=4096,hre=256,dre=128,fre=32,pre=8,mre=4,_re=1/256,gre=0,bre=2,yre=3,vre=1;function Ore(e,t,n,i,o){let c;const l=i[Xoe.compressedAttribute0],u=o.pixelOffset,h=u.x,d=u.y,f=o._translate,p=f.x,m=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(h+p),Math.abs(-d+m));const _=o.horizontalOrigin;let g=o._verticalOrigin,b=o.show&&o.clusterShow;0===o.color.alpha&&(b=!1),g===KB.BASELINE&&(g=KB.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&_===YB.CENTER,e._allVerticalCenter=e._allVerticalCenter&&g===KB.CENTER;let y=0,v=0,O=0,w=0;const A=o._imageIndex;if(-1!==A){const e=n[A];if(!Object(r["a"])(e))throw new a["a"]("Invalid billboard image index: "+A);y=e.x,v=e.y,O=e.width,w=e.height}const T=y+O,C=v+w;let E=Math.floor(s["a"].clamp(h,-cre,cre)+cre)*dre;E+=(_+1)*fre,E+=(g+1)*pre,E+=(b?1:0)*mre;let x=Math.floor(s["a"].clamp(d,-cre,cre)+cre)*hre,S=Math.floor(s["a"].clamp(p,-cre,cre)+cre)*hre;const I=(s["a"].clamp(m,-cre,cre)+cre)*_re,D=Math.floor(I),j=Math.floor((I-D)*hre);x+=D,S+=j,sre.x=y,sre.y=v;const P=gl.compressTextureCoordinates(sre);sre.x=T;const R=gl.compressTextureCoordinates(sre);sre.y=C;const M=gl.compressTextureCoordinates(sre);sre.x=y;const N=gl.compressTextureCoordinates(sre);e._instanced?(c=o._index,l(c,E,x,S,P)):(c=4*o._index,l(c+0,E+gre,x,S,P),l(c+1,E+bre,x,S,R),l(c+2,E+yre,x,S,M),l(c+3,E+vre,x,S,N))}function wre(e,t,n,i,c){let l;const u=i[Xoe.compressedAttribute1],h=c.alignedAxis;g.equals(h,g.ZERO)||(e._shaderAlignedAxis=!0);let d=0,f=1,p=1,m=1;const _=c.translucencyByDistance;Object(r["a"])(_)&&(d=_.near,f=_.nearValue,p=_.far,m=_.farValue,1===f&&1===m||(e._shaderTranslucencyByDistance=!0));let b=0;const y=c._imageIndex;if(-1!==y){const e=n[y];if(!Object(r["a"])(e))throw new a["a"]("Invalid billboard image index: "+y);b=e.width}const v=e._textureAtlas.texture.width,O=Math.round(Object(o["a"])(c.width,v*b));e._maxSize=Math.max(e._maxSize,O);let w=s["a"].clamp(O,0,lre),A=0;Math.abs(g.magnitudeSquared(h)-1)<s["a"].EPSILON6&&(A=gl.octEncodeFloat(h)),f=s["a"].clamp(f,0,1),f=1===f?255:255*f|0,w=w*hre+f,m=s["a"].clamp(m,0,1),m=1===m?255:255*m|0,A=A*hre+m,e._instanced?(l=c._index,u(l,w,A,d,p)):(l=4*c._index,u(l+0,w,A,d,p),u(l+1,w,A,d,p),u(l+2,w,A,d,p),u(l+3,w,A,d,p))}function Are(e,t,n,i,c){let l;const u=i[Xoe.compressedAttribute2],h=c.color,d=Object(r["a"])(e._batchTable)?j_.WHITE:c.getPickId(t.context).color,f=c.sizeInMeters?1:0,p=Math.abs(g.magnitudeSquared(c.alignedAxis)-1)<s["a"].EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&1===f;let m=0;const _=c._imageIndex;if(-1!==_){const e=n[_];if(!Object(r["a"])(e))throw new a["a"]("Invalid billboard image index: "+_);m=e.height}const b=e._textureAtlas.texture.dimensions,y=Math.round(Object(o["a"])(c.height,b.y*m));e._maxSize=Math.max(e._maxSize,y);let v=Object(o["a"])(c._labelHorizontalOrigin,-2);v+=2;const O=y*mre+v;let w=j_.floatToByte(h.red),A=j_.floatToByte(h.green),T=j_.floatToByte(h.blue);const C=w*lre+A*hre+T;w=j_.floatToByte(d.red),A=j_.floatToByte(d.green),T=j_.floatToByte(d.blue);const E=w*lre+A*hre+T;let x=j_.floatToByte(h.alpha)*lre+j_.floatToByte(d.alpha)*hre;x+=2*f+p,e._instanced?(l=c._index,u(l,C,E,x,O)):(l=4*c._index,u(l+0,C,E,x,O),u(l+1,C,E,x,O),u(l+2,C,E,x,O),u(l+3,C,E,x,O))}function Tre(e,t,n,i,o){let s;const c=i[Xoe.eyeOffset],l=o.eyeOffset;let u=l.z;if(o._heightReference!==qB.NONE&&(u*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(l.x),Math.abs(l.y),Math.abs(u)),e._instanced){let e=0,t=0;const i=o._imageIndex;if(-1!==i){const o=n[i];if(!Object(r["a"])(o))throw new a["a"]("Invalid billboard image index: "+i);e=o.width,t=o.height}sre.x=e,sre.y=t;const h=gl.compressTextureCoordinates(sre);s=o._index,c(s,l.x,l.y,u,h)}else s=4*o._index,c(s+0,l.x,l.y,u,0),c(s+1,l.x,l.y,u,0),c(s+2,l.x,l.y,u,0),c(s+3,l.x,l.y,u,0)}function Cre(e,t,n,i,o){let a;const s=i[Xoe.scaleByDistance];let c=0,l=1,u=1,h=1;const d=o.scaleByDistance;Object(r["a"])(d)&&(c=d.near,l=d.nearValue,u=d.far,h=d.farValue,1===l&&1===h||(e._shaderScaleByDistance=!0)),e._instanced?(a=o._index,s(a,c,l,u,h)):(a=4*o._index,s(a+0,c,l,u,h),s(a+1,c,l,u,h),s(a+2,c,l,u,h),s(a+3,c,l,u,h))}function Ere(e,t,n,i,o){let a;const s=i[Xoe.pixelOffsetScaleByDistance];let c=0,l=1,u=1,h=1;const d=o.pixelOffsetScaleByDistance;Object(r["a"])(d)&&(c=d.near,l=d.nearValue,u=d.far,h=d.farValue,1===l&&1===h||(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(a=o._index,s(a,c,l,u,h)):(a=4*o._index,s(a+0,c,l,u,h),s(a+1,c,l,u,h),s(a+2,c,l,u,h),s(a+3,c,l,u,h))}function xre(e,t,n,i,c){let l;const u=i[Xoe.compressedAttribute3];let h=0,d=Number.MAX_VALUE;const f=c.distanceDisplayCondition;Object(r["a"])(f)&&(h=f.near,d=f.far,h*=h,d*=d,e._shaderDistanceDisplayCondition=!0);let p=c.disableDepthTestDistance;const m=c.heightReference===qB.CLAMP_TO_GROUND&&t.context.depthTexture;let _,g;if(Object(r["a"])(p)||(p=m?5e3:0),p*=p,(m||p>0)&&(e._shaderDisableDepthDistance=!0,p===Number.POSITIVE_INFINITY&&(p=-1)),Object(r["a"])(c._labelDimensions))g=c._labelDimensions.x,_=c._labelDimensions.y;else{let t=0,i=0;const s=c._imageIndex;if(-1!==s){const e=n[s];if(!Object(r["a"])(e))throw new a["a"]("Invalid billboard image index: "+s);t=e.height,i=e.width}_=Math.round(Object(o["a"])(c.height,e._textureAtlas.texture.dimensions.y*t));const l=e._textureAtlas.texture.width;g=Math.round(Object(o["a"])(c.width,l*i))}const b=Math.floor(s["a"].clamp(g,0,ure)),y=Math.floor(s["a"].clamp(_,0,ure)),v=b*ure+y;e._instanced?(l=c._index,u(l,h,d,p,v)):(l=4*c._index,u(l+0,h,d,p,v),u(l+1,h,d,p,v),u(l+2,h,d,p,v),u(l+3,h,d,p,v))}function Sre(e,t,n,i,o){if(o.heightReference===qB.CLAMP_TO_GROUND){const n=e._scene,i=t.context,o=t.globeTranslucencyState.translucent,a=Object(r["a"])(n.globe)&&n.globe.depthTestAgainstTerrain;e._shaderClampToGround=i.depthTexture&&!o&&a}let s;const c=i[Xoe.textureCoordinateBoundsOrLabelTranslate];if(zF.maximumVertexTextureImageUnits>0){let t=0,n=0;return Object(r["a"])(o._labelTranslate)&&(t=o._labelTranslate.x,n=o._labelTranslate.y),void(e._instanced?(s=o._index,c(s,t,n,0,0)):(s=4*o._index,c(s+0,t,n,0,0),c(s+1,t,n,0,0),c(s+2,t,n,0,0),c(s+3,t,n,0,0)))}let l=0,u=0,h=0,d=0;const f=o._imageIndex;if(-1!==f){const e=n[f];if(!Object(r["a"])(e))throw new a["a"]("Invalid billboard image index: "+f);l=e.x,u=e.y,h=e.width,d=e.height}const p=l+h,m=u+d;e._instanced?(s=o._index,c(s,l,u,p,m)):(s=4*o._index,c(s+0,l,u,p,m),c(s+1,l,u,p,m),c(s+2,l,u,p,m),c(s+3,l,u,p,m))}function Ire(e,t,n,i,o){if(!Object(r["a"])(e._batchTable))return;const a=i[Xoe.a_batchId],s=o._batchIndex;let c;e._instanced?(c=o._index,a(c,s)):(c=4*o._index,a(c+0,s),a(c+1,s),a(c+2,s),a(c+3,s))}function Dre(e,t,n,i,o){if(!e._sdf)return;let r;const a=i[Xoe.sdf],s=o.outlineColor,c=o.outlineWidth,l=j_.floatToByte(s.red),u=j_.floatToByte(s.green),h=j_.floatToByte(s.blue),d=l*lre+u*hre+h,f=c/voe.RADIUS,p=j_.floatToByte(s.alpha)*lre+j_.floatToByte(f)*hre;e._instanced?(r=o._index,a(r,d,p)):(r=4*o._index,a(r+0,d+gre,p),a(r+1,d+bre,p),a(r+2,d+yre,p),a(r+3,d+vre,p))}function jre(e,t,n,i,o){are(e,t,n,i,o),Ore(e,t,n,i,o),wre(e,t,n,i,o),Are(e,t,n,i,o),Tre(e,t,n,i,o),Cre(e,t,n,i,o),Ere(e,t,n,i,o),xre(e,t,n,i,o),Sre(e,t,n,i,o),Ire(e,t,n,i,o),Dre(e,t,n,i,o)}function Pre(e,t,n,i,o,a){let s;i.mode===vq.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;const c=[];for(let l=0;l<n;++l){const e=t[l],n=e.position,u=_oe._computeActualPosition(e,n,i,o);Object(r["a"])(u)&&(e._setActualPosition(u),a?c.push(u):Tt.expand(s,u,s))}a&&Tt.fromPoints(c,s)}function Rre(e,t){const n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==vq.SCENE3D&&!Ne.equals(r,e.modelMatrix)?(e._mode=n,Ne.clone(e.modelMatrix,r),e._createVertexArray=!0,n!==vq.SCENE3D&&n!==vq.SCENE2D&&n!==vq.COLUMBUS_VIEW||Pre(e,i,i.length,t,r,!0)):n===vq.MORPHING?Pre(e,i,i.length,t,r,!0):n!==vq.SCENE2D&&n!==vq.COLUMBUS_VIEW||Pre(e,o,e._billboardsToUpdateIndex,t,r,!1)}function Mre(e,t,n){let i=1;e._allSizedInMeters&&0===e._maxPixelOffset||(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);const r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function Nre(e,t){const n="uniform sampler2D billboard_texture; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n gl_FragColor = texture2D(billboard_texture, v_textureCoordinates); \n} \n",i=t.createViewportQuadCommand(n,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=oz.OVERLAY,i}const Lre=[];Zoe.prototype.update=function(e){if(Qoe(this),!this.show)return;let t=this._billboards,n=t.length;const i=e.context;this._instanced=i.instancedArrays,Xoe=this._instanced?Joe:Koe,ere=this._instanced?nre:tre;let o=this._textureAtlas;if(!Object(r["a"])(o)){o=this._textureAtlas=new Soe({context:i});for(let e=0;e<n;++e)t[e]._loadImage()}const a=o.textureCoordinates;if(0===a.length)return;Rre(this,e),t=this._billboards,n=t.length;const s=this._billboardsToUpdate,c=this._billboardsToUpdateIndex,l=this._propertiesChanged,u=o.guid,h=this._createVertexArray||this._textureAtlasGUID!==u;let d;this._textureAtlasGUID=u;const f=e.passes,p=f.pick;if(h||!p&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let e=0;e<Yoe;++e)l[e]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=ore(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let t=0;t<n;++t){const n=this._billboards[t];n._dirty=!1,jre(this,e,a,d,n)}this._vaf.commit(ere(i))}this._billboardsToUpdateIndex=0}else if(c>0){const t=Lre;t.length=0,(l[Doe]||l[Foe]||l[Noe])&&t.push(are),(l[Loe]||l[joe]||l[Roe]||l[Moe]||l[Ioe])&&(t.push(Ore),this._instanced&&t.push(Tre)),(l[Loe]||l[koe]||l[Uoe])&&(t.push(wre),t.push(Are)),(l[Loe]||l[Boe])&&t.push(Are),l[Poe]&&t.push(Tre),l[zoe]&&t.push(Cre),l[Voe]&&t.push(Ere),(l[Hoe]||l[Goe]||l[Loe]||l[Doe])&&t.push(xre),(l[Loe]||l[Doe])&&t.push(Sre),l[Woe]&&t.push(Dre);const o=t.length;if(d=this._vaf.writers,c/n>.1){for(let n=0;n<c;++n){const i=s[n];i._dirty=!1;for(let n=0;n<o;++n)t[n](this,e,a,d,i)}this._vaf.commit(ere(i))}else{for(let n=0;n<c;++n){const i=s[n];i._dirty=!1;for(let n=0;n<o;++n)t[n](this,e,a,d,i);this._instanced?this._vaf.subCommit(i._index,1):this._vaf.subCommit(4*i._index,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(c>1.5*n&&(s.length=n),!Object(r["a"])(this._vaf)||!Object(r["a"])(this._vaf.va))return;let m;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,Tt.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let _=Ne.IDENTITY;e.mode===vq.SCENE3D?(_=this.modelMatrix,m=Tt.clone(this._baseVolumeWC,this._boundingVolume)):m=Tt.clone(this._baseVolume2D,this._boundingVolume),Mre(this,e,m);const g=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,g){this._blendOption===boe.OPAQUE||this._blendOption===boe.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Mz.fromCache({depthTest:{enabled:!0,func:Jc.LESS},depthMask:!0}):this._rsOpaque=void 0;const e=this._blendOption===boe.TRANSLUCENT;this._blendOption===boe.TRANSLUCENT||this._blendOption===boe.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Mz.fromCache({depthTest:{enabled:!0,func:e?Jc.LEQUAL:Jc.LESS},depthMask:e,blending:MF.ALPHA_BLEND}):this._rsTranslucent=void 0}let b,y,v,O,w;this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||0!==e.minimumDisableDepthTestDistance;const A=zF.maximumVertexTextureImageUnits>0;if(g||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){b=Cie,y=Tie,w=[],Object(r["a"])(this._batchTable)&&(w.push("VECTOR_TILE"),b=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(b),y=this._batchTable.getFragmentShaderCallback(!1,void 0)(y)),v=new bG({defines:w,sources:[b]}),this._instanced&&v.defines.push("INSTANCED"),this._shaderRotation&&v.defines.push("ROTATION"),this._shaderAlignedAxis&&v.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&v.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&v.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&v.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&v.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&v.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(A?v.defines.push("VERTEX_DEPTH_CHECK"):v.defines.push("FRAGMENT_DEPTH_CHECK"));const e=1-voe.CUTOFF;this._sdf&&v.defines.push("SDF");const t=Object(r["a"])(this._batchTable)?"VECTOR_TILE":"";this._blendOption===boe.OPAQUE_AND_TRANSLUCENT&&(O=new bG({defines:["OPAQUE",t],sources:[y]}),this._shaderClampToGround&&(A?O.defines.push("VERTEX_DEPTH_CHECK"):O.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(O.defines.push("SDF"),O.defines.push("SDF_EDGE "+e)),this._sp=IU.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:v,fragmentShaderSource:O,attributeLocations:Xoe}),O=new bG({defines:["TRANSLUCENT",t],sources:[y]}),this._shaderClampToGround&&(A?O.defines.push("VERTEX_DEPTH_CHECK"):O.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(O.defines.push("SDF"),O.defines.push("SDF_EDGE "+e)),this._spTranslucent=IU.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:v,fragmentShaderSource:O,attributeLocations:Xoe})),this._blendOption===boe.OPAQUE&&(O=new bG({defines:[t],sources:[y]}),this._shaderClampToGround&&(A?O.defines.push("VERTEX_DEPTH_CHECK"):O.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(O.defines.push("SDF"),O.defines.push("SDF_EDGE "+e)),this._sp=IU.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:v,fragmentShaderSource:O,attributeLocations:Xoe})),this._blendOption===boe.TRANSLUCENT&&(O=new bG({defines:[t],sources:[y]}),this._shaderClampToGround&&(A?O.defines.push("VERTEX_DEPTH_CHECK"):O.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(O.defines.push("SDF"),O.defines.push("SDF_EDGE "+e)),this._spTranslucent=IU.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:v,fragmentShaderSource:O,attributeLocations:Xoe})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}const T=e.commandList;if(f.render||f.pick){const t=this._colorCommands,i=this._blendOption===boe.OPAQUE,o=this._blendOption===boe.OPAQUE_AND_TRANSLUCENT,a=this._vaf.va,s=a.length;let c,l=this._uniforms;Object(r["a"])(this._batchTable)?(l=this._batchTable.getUniformMapCallback()(l),c=this._batchTable.getPickId()):c="v_pickColor",t.length=s;const u=o?2*s:s;for(let e=0;e<u;++e){let s=t[e];Object(r["a"])(s)||(s=t[e]=new nz);const u=i||o&&e%2===0;s.pass=u||!o?oz.OPAQUE:oz.TRANSLUCENT,s.owner=this;const h=o?Math.floor(e/2):e;s.boundingVolume=m,s.modelMatrix=_,s.count=a[h].indicesCount,s.shaderProgram=u?this._sp:this._spTranslucent,s.uniformMap=l,s.vertexArray=a[h].va,s.renderState=u?this._rsOpaque:this._rsTranslucent,s.debugShowBoundingVolume=this.debugShowBoundingVolume,s.pickId=c,this._instanced&&(s.count=6,s.instanceCount=n),T.push(s)}this.debugShowTextureAtlas&&(Object(r["a"])(this.debugCommand)||(this.debugCommand=Nre(this,e.context)),T.push(this.debugCommand))}},Zoe.prototype.isDestroyed=function(){return!1},Zoe.prototype.destroy=function(){return Object(r["a"])(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),$oe(this._billboards),Wl(this)};var Bre=Zoe;function Fre(e,t,n,i,o){return function(){const r=document.createElement("canvas"),a=o+2*i;r.height=r.width=a;const s=r.getContext("2d");return s.clearRect(0,0,a,a),0!==i&&(s.beginPath(),s.arc(a/2,a/2,a/2,0,2*Math.PI,!0),s.closePath(),s.fillStyle=n,s.fill(),e<1&&(s.save(),s.globalCompositeOperation="destination-out",s.beginPath(),s.arc(a/2,a/2,o/2,0,2*Math.PI,!0),s.closePath(),s.fillStyle="black",s.fill(),s.restore())),s.beginPath(),s.arc(a/2,a/2,o/2,0,2*Math.PI,!0),s.closePath(),s.fillStyle=t,s.fill(),r}}var kre=Fre;function zre(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),Vre(this)}const Ure=new I;function Vre(e){const t=e._billboard;if(Object(r["a"])(e._billboardImage)&&e._billboardImage!==t.image)return void(t.image=e._billboardImage);if(Object(r["a"])(e._billboardImage))return;const n=Object(o["a"])(e._color,zre.defaultColor),i=Object(o["a"])(e._pointOutlineColor,zre.defaultPointOutlineColor),a=Object(o["a"])(e._pointOutlineWidth,zre.defaultPointOutlineWidth),s=Object(o["a"])(e._pointSize,zre.defaultPointSize),c=e._billboardColor,l=e._billboardOutlineColor,u=e._billboardOutlineWidth,h=e._billboardSize;if(j_.equals(n,c)&&j_.equals(i,l)&&a===u&&s===h)return;e._billboardColor=j_.clone(n,e._billboardColor),e._billboardOutlineColor=j_.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=a,e._billboardSize=s;const d=n.alpha,f=n.toCssColorString(),p=i.toCssColorString(),m=JSON.stringify([f,s,p,a]);t.setImage(m,kre(d,f,p,a,s))}Object.defineProperties(zre.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=j_.clone(e,this._color),Vre(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,Vre(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=j_.clone(e,this._pointOutlineColor),Vre(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,Vre(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){Object(r["a"])(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){const t=Object(o["a"])(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,Ure);i.height=i.height-t+e;const r=n.cartographicToCartesian(i);this._billboard.position=r,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],r],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=j_.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){const t=this._billboardImage!==e;this._billboardImage=e,t&&Vre(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){const e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}}),zre.defaultColor=j_.WHITE,zre.defaultPointOutlineColor=j_.BLACK,zre.defaultPointOutlineWidth=0,zre.defaultPointSize=8,zre.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)},zre.prototype.getPropertyNames=function(e){return this._content.batchTable.getPropertyNames(this._batchId,e)},zre.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)},zre.prototype.getPropertyInherited=function(e){return SZ.getPropertyInherited(this._content,this._batchId,e)},zre.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0},zre.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)},zre.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)},zre.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Hre=zre,Gre=Wre,qre=1e20;function Wre(e,t){t||(t={});var n,i,o,r,a,s,c,l,u,h,d,f=null==t.cutoff?.25:t.cutoff,p=null==t.radius?8:t.radius,m=t.channel||0;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");n=t.width,i=t.height,r=e,s=t.stride?t.stride:Math.floor(e.length/n/i)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(l=e,c=l.getContext("2d"),n=l.width,i=l.height,u=c.getImageData(0,0,n,i),r=u.data,s=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(l=e.canvas,c=e,n=l.width,i=l.height,u=c.getImageData(0,0,n,i),r=u.data,s=4):window.ImageData&&e instanceof window.ImageData&&(u=e,n=e.width,i=e.height,r=u.data,s=4);if(o=Math.max(n,i),window.Uint8ClampedArray&&r instanceof window.Uint8ClampedArray||window.Uint8Array&&r instanceof window.Uint8Array)for(a=r,r=Array(n*i),h=0,d=Math.floor(a.length/s);h<d;h++)r[h]=a[h*s+m]/255;else if(1!==s)throw Error("Raw data can have only 1 value per pixel");var _=Array(n*i),g=Array(n*i),b=Array(o),y=Array(o),v=Array(o+1),O=Array(o);for(h=0,d=n*i;h<d;h++){var w=r[h];_[h]=1===w?0:0===w?qre:Math.pow(Math.max(0,.5-w),2),g[h]=1===w?qre:0===w?0:Math.pow(Math.max(0,w-.5),2)}Yre(_,n,i,b,y,O,v),Yre(g,n,i,b,y,O,v);var A=window.Float32Array?new Float32Array(n*i):new Array(n*i);for(h=0,d=n*i;h<d;h++)A[h]=Math.min(Math.max(1-((_[h]-g[h])/p+f),0),1);return A}function Yre(e,t,n,i,o,r,a){for(var s=0;s<t;s++){for(var c=0;c<n;c++)i[c]=e[c*t+s];for(Xre(i,o,r,a,n),c=0;c<n;c++)e[c*t+s]=o[c]}for(c=0;c<n;c++){for(s=0;s<t;s++)i[s]=e[c*t+s];for(Xre(i,o,r,a,t),s=0;s<t;s++)e[c*t+s]=Math.sqrt(o[s])}}function Xre(e,t,n,i,o){n[0]=0,i[0]=-qre,i[1]=+qre;for(var r=1,a=0;r<o;r++){var s=(e[r]+r*r-(e[n[a]]+n[a]*n[a]))/(2*r-2*n[a]);while(s<=i[a])a--,s=(e[r]+r*r-(e[n[a]]+n[a]*n[a]))/(2*r-2*n[a]);a++,n[a]=r,i[a]=s,i[a+1]=+qre}for(r=0,a=0;r<o;r++){while(i[a+1]<r)a++;t[r]=(r-n[a])*(r-n[a])+e[n[a]]}}const Kre={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2};var Jre=Object.freeze(Kre);const Zre={};let $re=0;const Qre=256,eae=new j_(.165,.165,.165,.8),tae=new Ht(7,5),nae=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function iae(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function oae(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function rae(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function aae(e){let t=Zre[e._font];if(!Object(r["a"])(t)){const n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(rae(n,"line-height"));isNaN(i)&&(i=void 0),t={family:rae(n,"font-family"),size:rae(n,"font-size").replace("px",""),style:rae(n,"font-style"),weight:rae(n,"font-weight"),lineHeight:i},document.body.removeChild(n),$re<Qre&&(Zre[e._font]=t,$re++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function sae(e,t){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),Object(r["a"])(e.disableDepthTestDistance)&&e.disableDepthTestDistance<0)throw new a["a"]("disableDepthTestDistance must be greater than 0.0.");let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,s=e.scaleByDistance,c=e.distanceDisplayCondition;if(Object(r["a"])(n)){if(n.far<=n.near)throw new a["a"]("translucencyByDistance.far must be greater than translucencyByDistance.near.");n=cS.clone(n)}if(Object(r["a"])(i)){if(i.far<=i.near)throw new a["a"]("pixelOffsetScaleByDistance.far must be greater than pixelOffsetScaleByDistance.near.");i=cS.clone(i)}if(Object(r["a"])(s)){if(s.far<=s.near)throw new a["a"]("scaleByDistance.far must be greater than scaleByDistance.near.");s=cS.clone(s)}if(Object(r["a"])(c)){if(c.far<=c.near)throw new a["a"]("distanceDisplayCondition.far must be greater than distanceDisplayCondition.near.");c=sw.clone(c)}this._renderedText=void 0,this._text=void 0,this._show=Object(o["a"])(e.show,!0),this._font=Object(o["a"])(e.font,"30px sans-serif"),this._fillColor=j_.clone(Object(o["a"])(e.fillColor,j_.WHITE)),this._outlineColor=j_.clone(Object(o["a"])(e.outlineColor,j_.BLACK)),this._outlineWidth=Object(o["a"])(e.outlineWidth,1),this._showBackground=Object(o["a"])(e.showBackground,!1),this._backgroundColor=j_.clone(Object(o["a"])(e.backgroundColor,eae)),this._backgroundPadding=Ht.clone(Object(o["a"])(e.backgroundPadding,tae)),this._style=Object(o["a"])(e.style,Jre.FILL),this._verticalOrigin=Object(o["a"])(e.verticalOrigin,KB.BASELINE),this._horizontalOrigin=Object(o["a"])(e.horizontalOrigin,YB.LEFT),this._pixelOffset=Ht.clone(Object(o["a"])(e.pixelOffset,Ht.ZERO)),this._eyeOffset=g.clone(Object(o["a"])(e.eyeOffset,g.ZERO)),this._position=g.clone(Object(o["a"])(e.position,g.ZERO)),this._scale=Object(o["a"])(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=s,this._heightReference=Object(o["a"])(e.heightReference,qB.NONE),this._distanceDisplayCondition=c,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=Object(o["a"])(e.text,""),this._relativeSize=1,aae(this),this._updateClamping()}function cae(e,t){const n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[];let r="",a=nae.LTR,s="";const c=e.length;for(let l=0;l<c;++l){const c=e.charAt(l);s=t.test(c)?nae.RTL:n.test(c)?nae.LTR:i.test(c)?nae.BRACKETS:nae.WEAK,0===l&&(a=s),a===s&&s!==nae.BRACKETS?r+=c:(""!==r&&o.push({Type:a,Word:r}),a=s,r=c)}return o.push({Type:s,Word:r}),o}function lae(e){return e.split("").reverse().join("")}function uae(e,t,n){return e.slice(0,t)+n+e.slice(t)}function hae(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}Object.defineProperties(sae.prototype,{show:{get:function(){return this._show},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(this._show!==e){this._show=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i].billboard;Object(r["a"])(n)&&(n.show=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._position;if(!g.equals(t,e)){g.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t].billboard;Object(r["a"])(i)&&(i.position=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(e!==this._heightReference){this._heightReference=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i].billboard;Object(r["a"])(n)&&(n.heightReference=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.heightReference=e),oae(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(this._text!==e){this._text=e;const t=e.replace(/\u00ad/g,"");this._renderedText=sae.enableRightToLeftDetection?mae(t):t,iae(this)}}},font:{get:function(){return this._font},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._font!==e&&(this._font=e,iae(this),aae(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._fillColor;j_.equals(t,e)||(j_.clone(e,t),iae(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._outlineColor;j_.equals(t,e)||(j_.clone(e,t),iae(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._outlineWidth!==e&&(this._outlineWidth=e,iae(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._showBackground!==e&&(this._showBackground=e,iae(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._backgroundColor;if(!j_.equals(t,e)){j_.clone(e,t);const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._backgroundPadding;Ht.equals(t,e)||(Ht.clone(e,t),oae(this))}},style:{get:function(){return this._style},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._style!==e&&(this._style=e,iae(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._pixelOffset;if(!Ht.equals(t,e)){Ht.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t];Object(r["a"])(i.billboard)&&(i.billboard.pixelOffset=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");const t=this._translucencyByDistance;if(!cS.equals(t,e)){this._translucencyByDistance=cS.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t];Object(r["a"])(i.billboard)&&(i.billboard.translucencyByDistance=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");const t=this._pixelOffsetScaleByDistance;if(!cS.equals(t,e)){this._pixelOffsetScaleByDistance=cS.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t];Object(r["a"])(i.billboard)&&(i.billboard.pixelOffsetScaleByDistance=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");const t=this._scaleByDistance;if(!cS.equals(t,e)){this._scaleByDistance=cS.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t];Object(r["a"])(i.billboard)&&(i.billboard.scaleByDistance=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._eyeOffset;if(!g.equals(t,e)){g.clone(e,t);const n=this._glyphs;for(let t=0,o=n.length;t<o;t++){const i=n[t];Object(r["a"])(i.billboard)&&(i.billboard.eyeOffset=e)}const i=this._backgroundBillboard;Object(r["a"])(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._horizontalOrigin!==e&&(this._horizontalOrigin=e,oae(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(this._verticalOrigin!==e){this._verticalOrigin=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.verticalOrigin=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.verticalOrigin=e),oae(this)}}},scale:{get:function(){return this._scale},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(this._scale!==e){this._scale=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.scale=e*this._relativeSize)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.scale=e*this._relativeSize),oae(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far must be greater than near");if(!sw.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=sw.clone(e,this._distanceDisplayCondition);const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.distanceDisplayCondition=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){if(Object(r["a"])(e)&&e<0)throw new a["a"]("disableDepthTestDistance must be greater than 0.0.");this._disableDepthTestDistance=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.disableDepthTestDistance=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.id=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.id=e)}}},pickId:{get:function(){if(0!==this._glyphs.length&&Object(r["a"])(this._glyphs[0].billboard))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=g.clone(e,this._actualClampedPosition);const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard._clampedPosition=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;const t=this._glyphs;for(let i=0,o=t.length;i<o;i++){const n=t[i];Object(r["a"])(n.billboard)&&(n.billboard.clusterShow=e)}const n=this._backgroundBillboard;Object(r["a"])(n)&&(n.clusterShow=e)}}}}),sae.prototype._updateClamping=function(){_oe._updateClamping(this._labelCollection,this)},sae.prototype.computeScreenSpacePosition=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");Object(r["a"])(t)||(t=new Ht);const n=this._labelCollection,i=n.modelMatrix,o=Object(r["a"])(this._actualClampedPosition)?this._actualClampedPosition:this._position,s=_oe._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t);return s},sae.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,a=0,s=0;const c=e.totalScale,l=e._backgroundBillboard;if(Object(r["a"])(l))i=t.x+l._translate.x,o=t.y-l._translate.y,a=l.width*c,s=l.height*c,e.verticalOrigin===KB.BOTTOM||e.verticalOrigin===KB.BASELINE?o-=s:e.verticalOrigin===KB.CENTER&&(o-=.5*s);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let n=0,l=0;const u=e._glyphs,h=u.length;for(let a=0;a<h;++a){const s=u[a],h=s.billboard;if(!Object(r["a"])(h))continue;const d=t.x+h._translate.x;let f=t.y-h._translate.y;const p=s.dimensions.width*c,m=s.dimensions.height*c;e.verticalOrigin===KB.BOTTOM||e.verticalOrigin===KB.BASELINE?f-=m:e.verticalOrigin===KB.CENTER&&(f-=.5*m),e._verticalOrigin===KB.TOP?f+=voe.PADDING*c:e._verticalOrigin!==KB.BOTTOM&&e._verticalOrigin!==KB.BASELINE||(f-=voe.PADDING*c),i=Math.min(i,d),o=Math.min(o,f),n=Math.max(n,d+p),l=Math.max(l,f+m)}a=n-i,s=l-o}return Object(r["a"])(n)||(n=new Oh),n.x=i,n.y=o,n.width=a,n.height=s,n},sae.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&g.equals(this._position,e._position)&&j_.equals(this._fillColor,e._fillColor)&&j_.equals(this._outlineColor,e._outlineColor)&&j_.equals(this._backgroundColor,e._backgroundColor)&&Ht.equals(this._backgroundPadding,e._backgroundPadding)&&Ht.equals(this._pixelOffset,e._pixelOffset)&&g.equals(this._eyeOffset,e._eyeOffset)&&cS.equals(this._translucencyByDistance,e._translucencyByDistance)&&cS.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&cS.equals(this._scaleByDistance,e._scaleByDistance)&&sw.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id},sae.prototype.isDestroyed=function(){return!1},sae.enableRightToLeftDetection=!1;const dae="א-ת",fae="؀-ۿݐ-ݿࢠ-ࣿ",pae=new RegExp(`[${dae}${fae}]`);function mae(e){const t=e.split("\n");let n="";for(let i=0;i<t.length;i++){const e=t[i],o=pae.test(e.charAt(0)),r=cae(e,pae);let a=0,s="";for(let t=0;t<r.length;++t){const e=r[t],n=e.Type===nae.BRACKETS?hae(e.Word):lae(e.Word);o?e.Type===nae.RTL?(s=n+s,a=0):e.Type===nae.LTR?(s=uae(s,a,e.Word),a+=e.Word.length):e.Type!==nae.WEAK&&e.Type!==nae.BRACKETS||(e.Type===nae.WEAK&&r[t-1].Type===nae.BRACKETS?s=n+s:r[t-1].Type===nae.RTL?(s=n+s,a=0):r.length>t+1?r[t+1].Type===nae.RTL?(s=n+s,a=0):(s=uae(s,a,e.Word),a+=e.Word.length):s=uae(s,0,n)):e.Type===nae.RTL?s=uae(s,a,n):e.Type===nae.LTR?(s+=e.Word,a=s.length):e.Type!==nae.WEAK&&e.Type!==nae.BRACKETS||(t>0&&r[t-1].Type===nae.RTL?r.length>t+1?r[t+1].Type===nae.RTL?s=uae(s,a,n):(s+=e.Word,a=s.length):s+=e.Word:(s+=e.Word,a=s.length))}n+=s,i<t.length-1&&(n+="\n")}return n}var _ae=sae,gae=Object(m1["b"])((function(e){function t(){var e=0,t=1,n=2,i=3,o=4,r=5,a=6,s=7,c=8,l=9,u=10,h=11,d=12,f=13,p=14,m=15,_=16,g=17,b=0,y=1,v=2,O=3,w=4;function A(e,t){return 55296<=e.charCodeAt(t)&&e.charCodeAt(t)<=56319&&56320<=e.charCodeAt(t+1)&&e.charCodeAt(t+1)<=57343}function T(e,t){void 0===t&&(t=0);var n=e.charCodeAt(t);if(55296<=n&&n<=56319&&t<e.length-1){var i=n,o=e.charCodeAt(t+1);return 56320<=o&&o<=57343?1024*(i-55296)+(o-56320)+65536:i}if(56320<=n&&n<=57343&&t>=1){i=e.charCodeAt(t-1),o=n;return 55296<=i&&i<=56319?1024*(i-55296)+(o-56320)+65536:o}return n}function C(h,A,T){var C=[h].concat(A).concat([T]),E=C[C.length-2],x=T,S=C.lastIndexOf(p);if(S>1&&C.slice(1,S).every((function(e){return e==i}))&&-1==[i,f,g].indexOf(h))return v;var I=C.lastIndexOf(o);if(I>0&&C.slice(1,I).every((function(e){return e==o}))&&-1==[d,o].indexOf(E))return C.filter((function(e){return e==o})).length%2==1?O:w;if(E==e&&x==t)return b;if(E==n||E==e||E==t)return x==p&&A.every((function(e){return e==i}))?v:y;if(x==n||x==e||x==t)return y;if(E==a&&(x==a||x==s||x==l||x==u))return b;if(!(E!=l&&E!=s||x!=s&&x!=c))return b;if((E==u||E==c)&&x==c)return b;if(x==i||x==m)return b;if(x==r)return b;if(E==d)return b;var D=-1!=C.indexOf(i)?C.lastIndexOf(i)-1:C.length-2;return-1!=[f,g].indexOf(C[D])&&C.slice(D+1,-1).every((function(e){return e==i}))&&x==p||E==m&&-1!=[_,g].indexOf(x)?b:-1!=A.indexOf(o)?v:E==o&&x==o?b:y}function E(b){return 1536<=b&&b<=1541||1757==b||1807==b||2274==b||3406==b||69821==b||70082<=b&&b<=70083||72250==b||72326<=b&&b<=72329||73030==b?d:13==b?e:10==b?t:0<=b&&b<=9||11<=b&&b<=12||14<=b&&b<=31||127<=b&&b<=159||173==b||1564==b||6158==b||8203==b||8206<=b&&b<=8207||8232==b||8233==b||8234<=b&&b<=8238||8288<=b&&b<=8292||8293==b||8294<=b&&b<=8303||55296<=b&&b<=57343||65279==b||65520<=b&&b<=65528||65529<=b&&b<=65531||113824<=b&&b<=113827||119155<=b&&b<=119162||917504==b||917505==b||917506<=b&&b<=917535||917632<=b&&b<=917759||918e3<=b&&b<=921599?n:768<=b&&b<=879||1155<=b&&b<=1159||1160<=b&&b<=1161||1425<=b&&b<=1469||1471==b||1473<=b&&b<=1474||1476<=b&&b<=1477||1479==b||1552<=b&&b<=1562||1611<=b&&b<=1631||1648==b||1750<=b&&b<=1756||1759<=b&&b<=1764||1767<=b&&b<=1768||1770<=b&&b<=1773||1809==b||1840<=b&&b<=1866||1958<=b&&b<=1968||2027<=b&&b<=2035||2070<=b&&b<=2073||2075<=b&&b<=2083||2085<=b&&b<=2087||2089<=b&&b<=2093||2137<=b&&b<=2139||2260<=b&&b<=2273||2275<=b&&b<=2306||2362==b||2364==b||2369<=b&&b<=2376||2381==b||2385<=b&&b<=2391||2402<=b&&b<=2403||2433==b||2492==b||2494==b||2497<=b&&b<=2500||2509==b||2519==b||2530<=b&&b<=2531||2561<=b&&b<=2562||2620==b||2625<=b&&b<=2626||2631<=b&&b<=2632||2635<=b&&b<=2637||2641==b||2672<=b&&b<=2673||2677==b||2689<=b&&b<=2690||2748==b||2753<=b&&b<=2757||2759<=b&&b<=2760||2765==b||2786<=b&&b<=2787||2810<=b&&b<=2815||2817==b||2876==b||2878==b||2879==b||2881<=b&&b<=2884||2893==b||2902==b||2903==b||2914<=b&&b<=2915||2946==b||3006==b||3008==b||3021==b||3031==b||3072==b||3134<=b&&b<=3136||3142<=b&&b<=3144||3146<=b&&b<=3149||3157<=b&&b<=3158||3170<=b&&b<=3171||3201==b||3260==b||3263==b||3266==b||3270==b||3276<=b&&b<=3277||3285<=b&&b<=3286||3298<=b&&b<=3299||3328<=b&&b<=3329||3387<=b&&b<=3388||3390==b||3393<=b&&b<=3396||3405==b||3415==b||3426<=b&&b<=3427||3530==b||3535==b||3538<=b&&b<=3540||3542==b||3551==b||3633==b||3636<=b&&b<=3642||3655<=b&&b<=3662||3761==b||3764<=b&&b<=3769||3771<=b&&b<=3772||3784<=b&&b<=3789||3864<=b&&b<=3865||3893==b||3895==b||3897==b||3953<=b&&b<=3966||3968<=b&&b<=3972||3974<=b&&b<=3975||3981<=b&&b<=3991||3993<=b&&b<=4028||4038==b||4141<=b&&b<=4144||4146<=b&&b<=4151||4153<=b&&b<=4154||4157<=b&&b<=4158||4184<=b&&b<=4185||4190<=b&&b<=4192||4209<=b&&b<=4212||4226==b||4229<=b&&b<=4230||4237==b||4253==b||4957<=b&&b<=4959||5906<=b&&b<=5908||5938<=b&&b<=5940||5970<=b&&b<=5971||6002<=b&&b<=6003||6068<=b&&b<=6069||6071<=b&&b<=6077||6086==b||6089<=b&&b<=6099||6109==b||6155<=b&&b<=6157||6277<=b&&b<=6278||6313==b||6432<=b&&b<=6434||6439<=b&&b<=6440||6450==b||6457<=b&&b<=6459||6679<=b&&b<=6680||6683==b||6742==b||6744<=b&&b<=6750||6752==b||6754==b||6757<=b&&b<=6764||6771<=b&&b<=6780||6783==b||6832<=b&&b<=6845||6846==b||6912<=b&&b<=6915||6964==b||6966<=b&&b<=6970||6972==b||6978==b||7019<=b&&b<=7027||7040<=b&&b<=7041||7074<=b&&b<=7077||7080<=b&&b<=7081||7083<=b&&b<=7085||7142==b||7144<=b&&b<=7145||7149==b||7151<=b&&b<=7153||7212<=b&&b<=7219||7222<=b&&b<=7223||7376<=b&&b<=7378||7380<=b&&b<=7392||7394<=b&&b<=7400||7405==b||7412==b||7416<=b&&b<=7417||7616<=b&&b<=7673||7675<=b&&b<=7679||8204==b||8400<=b&&b<=8412||8413<=b&&b<=8416||8417==b||8418<=b&&b<=8420||8421<=b&&b<=8432||11503<=b&&b<=11505||11647==b||11744<=b&&b<=11775||12330<=b&&b<=12333||12334<=b&&b<=12335||12441<=b&&b<=12442||42607==b||42608<=b&&b<=42610||42612<=b&&b<=42621||42654<=b&&b<=42655||42736<=b&&b<=42737||43010==b||43014==b||43019==b||43045<=b&&b<=43046||43204<=b&&b<=43205||43232<=b&&b<=43249||43302<=b&&b<=43309||43335<=b&&b<=43345||43392<=b&&b<=43394||43443==b||43446<=b&&b<=43449||43452==b||43493==b||43561<=b&&b<=43566||43569<=b&&b<=43570||43573<=b&&b<=43574||43587==b||43596==b||43644==b||43696==b||43698<=b&&b<=43700||43703<=b&&b<=43704||43710<=b&&b<=43711||43713==b||43756<=b&&b<=43757||43766==b||44005==b||44008==b||44013==b||64286==b||65024<=b&&b<=65039||65056<=b&&b<=65071||65438<=b&&b<=65439||66045==b||66272==b||66422<=b&&b<=66426||68097<=b&&b<=68099||68101<=b&&b<=68102||68108<=b&&b<=68111||68152<=b&&b<=68154||68159==b||68325<=b&&b<=68326||69633==b||69688<=b&&b<=69702||69759<=b&&b<=69761||69811<=b&&b<=69814||69817<=b&&b<=69818||69888<=b&&b<=69890||69927<=b&&b<=69931||69933<=b&&b<=69940||70003==b||70016<=b&&b<=70017||70070<=b&&b<=70078||70090<=b&&b<=70092||70191<=b&&b<=70193||70196==b||70198<=b&&b<=70199||70206==b||70367==b||70371<=b&&b<=70378||70400<=b&&b<=70401||70460==b||70462==b||70464==b||70487==b||70502<=b&&b<=70508||70512<=b&&b<=70516||70712<=b&&b<=70719||70722<=b&&b<=70724||70726==b||70832==b||70835<=b&&b<=70840||70842==b||70845==b||70847<=b&&b<=70848||70850<=b&&b<=70851||71087==b||71090<=b&&b<=71093||71100<=b&&b<=71101||71103<=b&&b<=71104||71132<=b&&b<=71133||71219<=b&&b<=71226||71229==b||71231<=b&&b<=71232||71339==b||71341==b||71344<=b&&b<=71349||71351==b||71453<=b&&b<=71455||71458<=b&&b<=71461||71463<=b&&b<=71467||72193<=b&&b<=72198||72201<=b&&b<=72202||72243<=b&&b<=72248||72251<=b&&b<=72254||72263==b||72273<=b&&b<=72278||72281<=b&&b<=72283||72330<=b&&b<=72342||72344<=b&&b<=72345||72752<=b&&b<=72758||72760<=b&&b<=72765||72767==b||72850<=b&&b<=72871||72874<=b&&b<=72880||72882<=b&&b<=72883||72885<=b&&b<=72886||73009<=b&&b<=73014||73018==b||73020<=b&&b<=73021||73023<=b&&b<=73029||73031==b||92912<=b&&b<=92916||92976<=b&&b<=92982||94095<=b&&b<=94098||113821<=b&&b<=113822||119141==b||119143<=b&&b<=119145||119150<=b&&b<=119154||119163<=b&&b<=119170||119173<=b&&b<=119179||119210<=b&&b<=119213||119362<=b&&b<=119364||121344<=b&&b<=121398||121403<=b&&b<=121452||121461==b||121476==b||121499<=b&&b<=121503||121505<=b&&b<=121519||122880<=b&&b<=122886||122888<=b&&b<=122904||122907<=b&&b<=122913||122915<=b&&b<=122916||122918<=b&&b<=122922||125136<=b&&b<=125142||125252<=b&&b<=125258||917536<=b&&b<=917631||917760<=b&&b<=917999?i:127462<=b&&b<=127487?o:2307==b||2363==b||2366<=b&&b<=2368||2377<=b&&b<=2380||2382<=b&&b<=2383||2434<=b&&b<=2435||2495<=b&&b<=2496||2503<=b&&b<=2504||2507<=b&&b<=2508||2563==b||2622<=b&&b<=2624||2691==b||2750<=b&&b<=2752||2761==b||2763<=b&&b<=2764||2818<=b&&b<=2819||2880==b||2887<=b&&b<=2888||2891<=b&&b<=2892||3007==b||3009<=b&&b<=3010||3014<=b&&b<=3016||3018<=b&&b<=3020||3073<=b&&b<=3075||3137<=b&&b<=3140||3202<=b&&b<=3203||3262==b||3264<=b&&b<=3265||3267<=b&&b<=3268||3271<=b&&b<=3272||3274<=b&&b<=3275||3330<=b&&b<=3331||3391<=b&&b<=3392||3398<=b&&b<=3400||3402<=b&&b<=3404||3458<=b&&b<=3459||3536<=b&&b<=3537||3544<=b&&b<=3550||3570<=b&&b<=3571||3635==b||3763==b||3902<=b&&b<=3903||3967==b||4145==b||4155<=b&&b<=4156||4182<=b&&b<=4183||4228==b||6070==b||6078<=b&&b<=6085||6087<=b&&b<=6088||6435<=b&&b<=6438||6441<=b&&b<=6443||6448<=b&&b<=6449||6451<=b&&b<=6456||6681<=b&&b<=6682||6741==b||6743==b||6765<=b&&b<=6770||6916==b||6965==b||6971==b||6973<=b&&b<=6977||6979<=b&&b<=6980||7042==b||7073==b||7078<=b&&b<=7079||7082==b||7143==b||7146<=b&&b<=7148||7150==b||7154<=b&&b<=7155||7204<=b&&b<=7211||7220<=b&&b<=7221||7393==b||7410<=b&&b<=7411||7415==b||43043<=b&&b<=43044||43047==b||43136<=b&&b<=43137||43188<=b&&b<=43203||43346<=b&&b<=43347||43395==b||43444<=b&&b<=43445||43450<=b&&b<=43451||43453<=b&&b<=43456||43567<=b&&b<=43568||43571<=b&&b<=43572||43597==b||43755==b||43758<=b&&b<=43759||43765==b||44003<=b&&b<=44004||44006<=b&&b<=44007||44009<=b&&b<=44010||44012==b||69632==b||69634==b||69762==b||69808<=b&&b<=69810||69815<=b&&b<=69816||69932==b||70018==b||70067<=b&&b<=70069||70079<=b&&b<=70080||70188<=b&&b<=70190||70194<=b&&b<=70195||70197==b||70368<=b&&b<=70370||70402<=b&&b<=70403||70463==b||70465<=b&&b<=70468||70471<=b&&b<=70472||70475<=b&&b<=70477||70498<=b&&b<=70499||70709<=b&&b<=70711||70720<=b&&b<=70721||70725==b||70833<=b&&b<=70834||70841==b||70843<=b&&b<=70844||70846==b||70849==b||71088<=b&&b<=71089||71096<=b&&b<=71099||71102==b||71216<=b&&b<=71218||71227<=b&&b<=71228||71230==b||71340==b||71342<=b&&b<=71343||71350==b||71456<=b&&b<=71457||71462==b||72199<=b&&b<=72200||72249==b||72279<=b&&b<=72280||72343==b||72751==b||72766==b||72873==b||72881==b||72884==b||94033<=b&&b<=94078||119142==b||119149==b?r:4352<=b&&b<=4447||43360<=b&&b<=43388?a:4448<=b&&b<=4519||55216<=b&&b<=55238?s:4520<=b&&b<=4607||55243<=b&&b<=55291?c:44032==b||44060==b||44088==b||44116==b||44144==b||44172==b||44200==b||44228==b||44256==b||44284==b||44312==b||44340==b||44368==b||44396==b||44424==b||44452==b||44480==b||44508==b||44536==b||44564==b||44592==b||44620==b||44648==b||44676==b||44704==b||44732==b||44760==b||44788==b||44816==b||44844==b||44872==b||44900==b||44928==b||44956==b||44984==b||45012==b||45040==b||45068==b||45096==b||45124==b||45152==b||45180==b||45208==b||45236==b||45264==b||45292==b||45320==b||45348==b||45376==b||45404==b||45432==b||45460==b||45488==b||45516==b||45544==b||45572==b||45600==b||45628==b||45656==b||45684==b||45712==b||45740==b||45768==b||45796==b||45824==b||45852==b||45880==b||45908==b||45936==b||45964==b||45992==b||46020==b||46048==b||46076==b||46104==b||46132==b||46160==b||46188==b||46216==b||46244==b||46272==b||46300==b||46328==b||46356==b||46384==b||46412==b||46440==b||46468==b||46496==b||46524==b||46552==b||46580==b||46608==b||46636==b||46664==b||46692==b||46720==b||46748==b||46776==b||46804==b||46832==b||46860==b||46888==b||46916==b||46944==b||46972==b||47e3==b||47028==b||47056==b||47084==b||47112==b||47140==b||47168==b||47196==b||47224==b||47252==b||47280==b||47308==b||47336==b||47364==b||47392==b||47420==b||47448==b||47476==b||47504==b||47532==b||47560==b||47588==b||47616==b||47644==b||47672==b||47700==b||47728==b||47756==b||47784==b||47812==b||47840==b||47868==b||47896==b||47924==b||47952==b||47980==b||48008==b||48036==b||48064==b||48092==b||48120==b||48148==b||48176==b||48204==b||48232==b||48260==b||48288==b||48316==b||48344==b||48372==b||48400==b||48428==b||48456==b||48484==b||48512==b||48540==b||48568==b||48596==b||48624==b||48652==b||48680==b||48708==b||48736==b||48764==b||48792==b||48820==b||48848==b||48876==b||48904==b||48932==b||48960==b||48988==b||49016==b||49044==b||49072==b||49100==b||49128==b||49156==b||49184==b||49212==b||49240==b||49268==b||49296==b||49324==b||49352==b||49380==b||49408==b||49436==b||49464==b||49492==b||49520==b||49548==b||49576==b||49604==b||49632==b||49660==b||49688==b||49716==b||49744==b||49772==b||49800==b||49828==b||49856==b||49884==b||49912==b||49940==b||49968==b||49996==b||50024==b||50052==b||50080==b||50108==b||50136==b||50164==b||50192==b||50220==b||50248==b||50276==b||50304==b||50332==b||50360==b||50388==b||50416==b||50444==b||50472==b||50500==b||50528==b||50556==b||50584==b||50612==b||50640==b||50668==b||50696==b||50724==b||50752==b||50780==b||50808==b||50836==b||50864==b||50892==b||50920==b||50948==b||50976==b||51004==b||51032==b||51060==b||51088==b||51116==b||51144==b||51172==b||51200==b||51228==b||51256==b||51284==b||51312==b||51340==b||51368==b||51396==b||51424==b||51452==b||51480==b||51508==b||51536==b||51564==b||51592==b||51620==b||51648==b||51676==b||51704==b||51732==b||51760==b||51788==b||51816==b||51844==b||51872==b||51900==b||51928==b||51956==b||51984==b||52012==b||52040==b||52068==b||52096==b||52124==b||52152==b||52180==b||52208==b||52236==b||52264==b||52292==b||52320==b||52348==b||52376==b||52404==b||52432==b||52460==b||52488==b||52516==b||52544==b||52572==b||52600==b||52628==b||52656==b||52684==b||52712==b||52740==b||52768==b||52796==b||52824==b||52852==b||52880==b||52908==b||52936==b||52964==b||52992==b||53020==b||53048==b||53076==b||53104==b||53132==b||53160==b||53188==b||53216==b||53244==b||53272==b||53300==b||53328==b||53356==b||53384==b||53412==b||53440==b||53468==b||53496==b||53524==b||53552==b||53580==b||53608==b||53636==b||53664==b||53692==b||53720==b||53748==b||53776==b||53804==b||53832==b||53860==b||53888==b||53916==b||53944==b||53972==b||54e3==b||54028==b||54056==b||54084==b||54112==b||54140==b||54168==b||54196==b||54224==b||54252==b||54280==b||54308==b||54336==b||54364==b||54392==b||54420==b||54448==b||54476==b||54504==b||54532==b||54560==b||54588==b||54616==b||54644==b||54672==b||54700==b||54728==b||54756==b||54784==b||54812==b||54840==b||54868==b||54896==b||54924==b||54952==b||54980==b||55008==b||55036==b||55064==b||55092==b||55120==b||55148==b||55176==b?l:44033<=b&&b<=44059||44061<=b&&b<=44087||44089<=b&&b<=44115||44117<=b&&b<=44143||44145<=b&&b<=44171||44173<=b&&b<=44199||44201<=b&&b<=44227||44229<=b&&b<=44255||44257<=b&&b<=44283||44285<=b&&b<=44311||44313<=b&&b<=44339||44341<=b&&b<=44367||44369<=b&&b<=44395||44397<=b&&b<=44423||44425<=b&&b<=44451||44453<=b&&b<=44479||44481<=b&&b<=44507||44509<=b&&b<=44535||44537<=b&&b<=44563||44565<=b&&b<=44591||44593<=b&&b<=44619||44621<=b&&b<=44647||44649<=b&&b<=44675||44677<=b&&b<=44703||44705<=b&&b<=44731||44733<=b&&b<=44759||44761<=b&&b<=44787||44789<=b&&b<=44815||44817<=b&&b<=44843||44845<=b&&b<=44871||44873<=b&&b<=44899||44901<=b&&b<=44927||44929<=b&&b<=44955||44957<=b&&b<=44983||44985<=b&&b<=45011||45013<=b&&b<=45039||45041<=b&&b<=45067||45069<=b&&b<=45095||45097<=b&&b<=45123||45125<=b&&b<=45151||45153<=b&&b<=45179||45181<=b&&b<=45207||45209<=b&&b<=45235||45237<=b&&b<=45263||45265<=b&&b<=45291||45293<=b&&b<=45319||45321<=b&&b<=45347||45349<=b&&b<=45375||45377<=b&&b<=45403||45405<=b&&b<=45431||45433<=b&&b<=45459||45461<=b&&b<=45487||45489<=b&&b<=45515||45517<=b&&b<=45543||45545<=b&&b<=45571||45573<=b&&b<=45599||45601<=b&&b<=45627||45629<=b&&b<=45655||45657<=b&&b<=45683||45685<=b&&b<=45711||45713<=b&&b<=45739||45741<=b&&b<=45767||45769<=b&&b<=45795||45797<=b&&b<=45823||45825<=b&&b<=45851||45853<=b&&b<=45879||45881<=b&&b<=45907||45909<=b&&b<=45935||45937<=b&&b<=45963||45965<=b&&b<=45991||45993<=b&&b<=46019||46021<=b&&b<=46047||46049<=b&&b<=46075||46077<=b&&b<=46103||46105<=b&&b<=46131||46133<=b&&b<=46159||46161<=b&&b<=46187||46189<=b&&b<=46215||46217<=b&&b<=46243||46245<=b&&b<=46271||46273<=b&&b<=46299||46301<=b&&b<=46327||46329<=b&&b<=46355||46357<=b&&b<=46383||46385<=b&&b<=46411||46413<=b&&b<=46439||46441<=b&&b<=46467||46469<=b&&b<=46495||46497<=b&&b<=46523||46525<=b&&b<=46551||46553<=b&&b<=46579||46581<=b&&b<=46607||46609<=b&&b<=46635||46637<=b&&b<=46663||46665<=b&&b<=46691||46693<=b&&b<=46719||46721<=b&&b<=46747||46749<=b&&b<=46775||46777<=b&&b<=46803||46805<=b&&b<=46831||46833<=b&&b<=46859||46861<=b&&b<=46887||46889<=b&&b<=46915||46917<=b&&b<=46943||46945<=b&&b<=46971||46973<=b&&b<=46999||47001<=b&&b<=47027||47029<=b&&b<=47055||47057<=b&&b<=47083||47085<=b&&b<=47111||47113<=b&&b<=47139||47141<=b&&b<=47167||47169<=b&&b<=47195||47197<=b&&b<=47223||47225<=b&&b<=47251||47253<=b&&b<=47279||47281<=b&&b<=47307||47309<=b&&b<=47335||47337<=b&&b<=47363||47365<=b&&b<=47391||47393<=b&&b<=47419||47421<=b&&b<=47447||47449<=b&&b<=47475||47477<=b&&b<=47503||47505<=b&&b<=47531||47533<=b&&b<=47559||47561<=b&&b<=47587||47589<=b&&b<=47615||47617<=b&&b<=47643||47645<=b&&b<=47671||47673<=b&&b<=47699||47701<=b&&b<=47727||47729<=b&&b<=47755||47757<=b&&b<=47783||47785<=b&&b<=47811||47813<=b&&b<=47839||47841<=b&&b<=47867||47869<=b&&b<=47895||47897<=b&&b<=47923||47925<=b&&b<=47951||47953<=b&&b<=47979||47981<=b&&b<=48007||48009<=b&&b<=48035||48037<=b&&b<=48063||48065<=b&&b<=48091||48093<=b&&b<=48119||48121<=b&&b<=48147||48149<=b&&b<=48175||48177<=b&&b<=48203||48205<=b&&b<=48231||48233<=b&&b<=48259||48261<=b&&b<=48287||48289<=b&&b<=48315||48317<=b&&b<=48343||48345<=b&&b<=48371||48373<=b&&b<=48399||48401<=b&&b<=48427||48429<=b&&b<=48455||48457<=b&&b<=48483||48485<=b&&b<=48511||48513<=b&&b<=48539||48541<=b&&b<=48567||48569<=b&&b<=48595||48597<=b&&b<=48623||48625<=b&&b<=48651||48653<=b&&b<=48679||48681<=b&&b<=48707||48709<=b&&b<=48735||48737<=b&&b<=48763||48765<=b&&b<=48791||48793<=b&&b<=48819||48821<=b&&b<=48847||48849<=b&&b<=48875||48877<=b&&b<=48903||48905<=b&&b<=48931||48933<=b&&b<=48959||48961<=b&&b<=48987||48989<=b&&b<=49015||49017<=b&&b<=49043||49045<=b&&b<=49071||49073<=b&&b<=49099||49101<=b&&b<=49127||49129<=b&&b<=49155||49157<=b&&b<=49183||49185<=b&&b<=49211||49213<=b&&b<=49239||49241<=b&&b<=49267||49269<=b&&b<=49295||49297<=b&&b<=49323||49325<=b&&b<=49351||49353<=b&&b<=49379||49381<=b&&b<=49407||49409<=b&&b<=49435||49437<=b&&b<=49463||49465<=b&&b<=49491||49493<=b&&b<=49519||49521<=b&&b<=49547||49549<=b&&b<=49575||49577<=b&&b<=49603||49605<=b&&b<=49631||49633<=b&&b<=49659||49661<=b&&b<=49687||49689<=b&&b<=49715||49717<=b&&b<=49743||49745<=b&&b<=49771||49773<=b&&b<=49799||49801<=b&&b<=49827||49829<=b&&b<=49855||49857<=b&&b<=49883||49885<=b&&b<=49911||49913<=b&&b<=49939||49941<=b&&b<=49967||49969<=b&&b<=49995||49997<=b&&b<=50023||50025<=b&&b<=50051||50053<=b&&b<=50079||50081<=b&&b<=50107||50109<=b&&b<=50135||50137<=b&&b<=50163||50165<=b&&b<=50191||50193<=b&&b<=50219||50221<=b&&b<=50247||50249<=b&&b<=50275||50277<=b&&b<=50303||50305<=b&&b<=50331||50333<=b&&b<=50359||50361<=b&&b<=50387||50389<=b&&b<=50415||50417<=b&&b<=50443||50445<=b&&b<=50471||50473<=b&&b<=50499||50501<=b&&b<=50527||50529<=b&&b<=50555||50557<=b&&b<=50583||50585<=b&&b<=50611||50613<=b&&b<=50639||50641<=b&&b<=50667||50669<=b&&b<=50695||50697<=b&&b<=50723||50725<=b&&b<=50751||50753<=b&&b<=50779||50781<=b&&b<=50807||50809<=b&&b<=50835||50837<=b&&b<=50863||50865<=b&&b<=50891||50893<=b&&b<=50919||50921<=b&&b<=50947||50949<=b&&b<=50975||50977<=b&&b<=51003||51005<=b&&b<=51031||51033<=b&&b<=51059||51061<=b&&b<=51087||51089<=b&&b<=51115||51117<=b&&b<=51143||51145<=b&&b<=51171||51173<=b&&b<=51199||51201<=b&&b<=51227||51229<=b&&b<=51255||51257<=b&&b<=51283||51285<=b&&b<=51311||51313<=b&&b<=51339||51341<=b&&b<=51367||51369<=b&&b<=51395||51397<=b&&b<=51423||51425<=b&&b<=51451||51453<=b&&b<=51479||51481<=b&&b<=51507||51509<=b&&b<=51535||51537<=b&&b<=51563||51565<=b&&b<=51591||51593<=b&&b<=51619||51621<=b&&b<=51647||51649<=b&&b<=51675||51677<=b&&b<=51703||51705<=b&&b<=51731||51733<=b&&b<=51759||51761<=b&&b<=51787||51789<=b&&b<=51815||51817<=b&&b<=51843||51845<=b&&b<=51871||51873<=b&&b<=51899||51901<=b&&b<=51927||51929<=b&&b<=51955||51957<=b&&b<=51983||51985<=b&&b<=52011||52013<=b&&b<=52039||52041<=b&&b<=52067||52069<=b&&b<=52095||52097<=b&&b<=52123||52125<=b&&b<=52151||52153<=b&&b<=52179||52181<=b&&b<=52207||52209<=b&&b<=52235||52237<=b&&b<=52263||52265<=b&&b<=52291||52293<=b&&b<=52319||52321<=b&&b<=52347||52349<=b&&b<=52375||52377<=b&&b<=52403||52405<=b&&b<=52431||52433<=b&&b<=52459||52461<=b&&b<=52487||52489<=b&&b<=52515||52517<=b&&b<=52543||52545<=b&&b<=52571||52573<=b&&b<=52599||52601<=b&&b<=52627||52629<=b&&b<=52655||52657<=b&&b<=52683||52685<=b&&b<=52711||52713<=b&&b<=52739||52741<=b&&b<=52767||52769<=b&&b<=52795||52797<=b&&b<=52823||52825<=b&&b<=52851||52853<=b&&b<=52879||52881<=b&&b<=52907||52909<=b&&b<=52935||52937<=b&&b<=52963||52965<=b&&b<=52991||52993<=b&&b<=53019||53021<=b&&b<=53047||53049<=b&&b<=53075||53077<=b&&b<=53103||53105<=b&&b<=53131||53133<=b&&b<=53159||53161<=b&&b<=53187||53189<=b&&b<=53215||53217<=b&&b<=53243||53245<=b&&b<=53271||53273<=b&&b<=53299||53301<=b&&b<=53327||53329<=b&&b<=53355||53357<=b&&b<=53383||53385<=b&&b<=53411||53413<=b&&b<=53439||53441<=b&&b<=53467||53469<=b&&b<=53495||53497<=b&&b<=53523||53525<=b&&b<=53551||53553<=b&&b<=53579||53581<=b&&b<=53607||53609<=b&&b<=53635||53637<=b&&b<=53663||53665<=b&&b<=53691||53693<=b&&b<=53719||53721<=b&&b<=53747||53749<=b&&b<=53775||53777<=b&&b<=53803||53805<=b&&b<=53831||53833<=b&&b<=53859||53861<=b&&b<=53887||53889<=b&&b<=53915||53917<=b&&b<=53943||53945<=b&&b<=53971||53973<=b&&b<=53999||54001<=b&&b<=54027||54029<=b&&b<=54055||54057<=b&&b<=54083||54085<=b&&b<=54111||54113<=b&&b<=54139||54141<=b&&b<=54167||54169<=b&&b<=54195||54197<=b&&b<=54223||54225<=b&&b<=54251||54253<=b&&b<=54279||54281<=b&&b<=54307||54309<=b&&b<=54335||54337<=b&&b<=54363||54365<=b&&b<=54391||54393<=b&&b<=54419||54421<=b&&b<=54447||54449<=b&&b<=54475||54477<=b&&b<=54503||54505<=b&&b<=54531||54533<=b&&b<=54559||54561<=b&&b<=54587||54589<=b&&b<=54615||54617<=b&&b<=54643||54645<=b&&b<=54671||54673<=b&&b<=54699||54701<=b&&b<=54727||54729<=b&&b<=54755||54757<=b&&b<=54783||54785<=b&&b<=54811||54813<=b&&b<=54839||54841<=b&&b<=54867||54869<=b&&b<=54895||54897<=b&&b<=54923||54925<=b&&b<=54951||54953<=b&&b<=54979||54981<=b&&b<=55007||55009<=b&&b<=55035||55037<=b&&b<=55063||55065<=b&&b<=55091||55093<=b&&b<=55119||55121<=b&&b<=55147||55149<=b&&b<=55175||55177<=b&&b<=55203?u:9757==b||9977==b||9994<=b&&b<=9997||127877==b||127938<=b&&b<=127940||127943==b||127946<=b&&b<=127948||128066<=b&&b<=128067||128070<=b&&b<=128080||128110==b||128112<=b&&b<=128120||128124==b||128129<=b&&b<=128131||128133<=b&&b<=128135||128170==b||128372<=b&&b<=128373||128378==b||128400==b||128405<=b&&b<=128406||128581<=b&&b<=128583||128587<=b&&b<=128591||128675==b||128692<=b&&b<=128694||128704==b||128716==b||129304<=b&&b<=129308||129310<=b&&b<=129311||129318==b||129328<=b&&b<=129337||129341<=b&&b<=129342||129489<=b&&b<=129501?f:127995<=b&&b<=127999?p:8205==b?m:9792==b||9794==b||9877<=b&&b<=9878||9992==b||10084==b||127752==b||127806==b||127859==b||127891==b||127908==b||127912==b||127979==b||127981==b||128139==b||128187<=b&&b<=128188||128295==b||128300==b||128488==b||128640==b||128658==b?_:128102<=b&&b<=128105?g:h}return this.nextBreak=function(e,t){if(void 0===t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(var n=E(T(e,t)),i=[],o=t+1;o<e.length;o++)if(!A(e,o-1)){var r=E(T(e,o));if(C(n,i,r))return o;i.push(r)}return e.length},this.splitGraphemes=function(e){var t,n=[],i=0;while((t=this.nextBreak(e,i))<e.length)n.push(e.slice(i,t)),i=t;return i<e.length&&n.push(e.slice(i)),n},this.iterateGraphemes=function(e){var t=0,n={next:function(){var n,i;return(i=this.nextBreak(e,t))<e.length?(n=e.slice(t,i),t=i,{value:n,done:!1}):t<e.length?(n=e.slice(t),t=e.length,{value:n,done:!1}):{value:void 0,done:!0}}.bind(this)};return"undefined"!==typeof Symbol&&Symbol.iterator&&(n[Symbol.iterator]=function(){return n}),n},this.countGraphemes=function(e){var t,n=0,i=0;while((t=this.nextBreak(e,i))<e.length)i=t,n++;return i<e.length&&n++,n},this}e.exports&&(e.exports=t)}));function bae(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function yae(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}const vae=1.2,Oae="ID_WHITE_PIXEL",wae=new Ht(4,4),Aae=new Oh(1,1,1,1);function Tae(e){const t=document.createElement("canvas");t.width=wae.x,t.height=wae.y;const n=t.getContext("2d");n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(Oae,t)}const Cae={};function Eae(e,t,n,i,o,r,a){return Cae.font=t,Cae.fillColor=n,Cae.strokeColor=i,Cae.strokeWidth=o,Cae.padding=voe.PADDING,a===KB.CENTER?Cae.textBaseline="middle":a===KB.TOP?Cae.textBaseline="top":Cae.textBaseline="bottom",Cae.fill=r===Jre.FILL||r===Jre.FILL_AND_OUTLINE,Cae.stroke=r===Jre.OUTLINE||r===Jre.FILL_AND_OUTLINE,Cae.backgroundColor=j_.BLACK,BS(e,Cae)}function xae(e,t){t.textureInfo=void 0,t.dimensions=void 0;const n=t.billboard;Object(r["a"])(n)&&(n.show=!1,n.image=void 0,Object(r["a"])(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function Sae(e,t,n,i){i.index=e.addImageSync(t,n)}const Iae=new gae;function Dae(e,t){const n=t._renderedText,i=Iae.splitGraphemes(n),o=i.length,a=t._glyphs,s=a.length;let c,l,u;if(t._relativeSize=t._fontSize/voe.FONT_SIZE,o<s)for(l=o;l<s;++l)xae(e,a[l]);a.length=o;const h=t._showBackground&&n.split("\n").join("").length>0;let d=t._backgroundBillboard;const f=e._backgroundBillboardCollection;h?(Object(r["a"])(d)||(d=f.add({collection:e,image:Oae,imageSubRegion:Aae}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=YB.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance):Object(r["a"])(d)&&(f.remove(d),t._backgroundBillboard=d=void 0);const p=e._glyphTextureCache;for(u=0;u<o;++u){const n=i[u],o=t._verticalOrigin,s=JSON.stringify([n,t._fontFamily,t._fontStyle,t._fontWeight,+o]);let l=p[s];if(!Object(r["a"])(l)){const i=`${t._fontStyle} ${t._fontWeight} ${voe.FONT_SIZE}px ${t._fontFamily}`,r=Eae(n,i,j_.WHITE,j_.WHITE,0,Jre.FILL,o);if(l=new yae(e,-1,r.dimensions),p[s]=l,r.width>0&&r.height>0){const t=Gre(r,{cutoff:voe.CUTOFF,radius:voe.RADIUS}),i=r.getContext("2d"),o=r.width,a=r.height,c=i.getImageData(0,0,o,a);for(let e=0;e<o;e++)for(let n=0;n<a;n++){const i=n*o+e,r=255*t[i],a=4*i;c.data[a+0]=r,c.data[a+1]=r,c.data[a+2]=r,c.data[a+3]=r}i.putImageData(c,0,0)," "!==n&&Sae(e._textureAtlas,s,r,l)}}if(c=a[u],Object(r["a"])(c)?-1===l.index?xae(e,c):Object(r["a"])(c.textureInfo)&&(c.textureInfo=void 0):(c=new bae,a[u]=c),c.textureInfo=l,c.dimensions=l.dimensions,-1!==l.index){let n=c.billboard;const i=e._spareBillboards;Object(r["a"])(n)||(i.length>0?n=i.pop():(n=e._billboardCollection.add({collection:e}),n._labelDimensions=new Ht,n._labelTranslate=new Ht),c.billboard=n),n.show=t._show,n.position=t._position,n.eyeOffset=t._eyeOffset,n.pixelOffset=t._pixelOffset,n.horizontalOrigin=YB.LEFT,n.verticalOrigin=t._verticalOrigin,n.heightReference=t._heightReference,n.scale=t.totalScale,n.pickPrimitive=t,n.id=t._id,n.image=s,n.translucencyByDistance=t._translucencyByDistance,n.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,n.scaleByDistance=t._scaleByDistance,n.distanceDisplayCondition=t._distanceDisplayCondition,n.disableDepthTestDistance=t._disableDepthTestDistance,n._batchIndex=t._batchIndex,n.outlineColor=t.outlineColor,t.style===Jre.FILL_AND_OUTLINE?(n.color=t._fillColor,n.outlineWidth=t.outlineWidth):t.style===Jre.FILL?(n.color=t._fillColor,n.outlineWidth=0):t.style===Jre.OUTLINE&&(n.color=j_.TRANSPARENT,n.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function jae(e,t,n){return t===YB.CENTER?-e/2:t===YB.RIGHT?-(e+n.x):n.x}const Pae=new Ht,Rae=new Ht;function Mae(e){const t=e._glyphs,n=e._renderedText;let i,o,a=0,s=0;const c=[];let l,u=Number.NEGATIVE_INFINITY,h=0,d=1;const f=t.length,p=e._backgroundBillboard,m=Ht.clone(Object(r["a"])(p)?e._backgroundPadding:Ht.ZERO,Rae);for(m.x/=e._relativeSize,m.y/=e._relativeSize,l=0;l<f;++l)"\n"===n.charAt(l)?(c.push(a),++d,a=0):(i=t[l],o=i.dimensions,h=Math.max(h,o.height-o.descent),u=Math.max(u,o.descent),a+=o.width-o.minx,l<f-1&&(a+=t[l+1].dimensions.minx),s=Math.max(s,a));c.push(a);const _=h+u,g=e.totalScale,b=e._horizontalOrigin,y=e._verticalOrigin;let v=0,O=c[v],w=jae(O,b,m);const A=(Object(r["a"])(e._lineHeight)?e._lineHeight:vae*e._fontSize)/e._relativeSize,T=A*(d-1);let C=s,E=_+T;Object(r["a"])(p)&&(C+=2*m.x,E+=2*m.y,p._labelHorizontalOrigin=b),Pae.x=w*g,Pae.y=0;let x=!0,S=0;for(l=0;l<f;++l)if("\n"===n.charAt(l))++v,S+=A,O=c[v],w=jae(O,b,m),Pae.x=w*g,x=!0;else if(i=t[l],o=i.dimensions,y===KB.TOP?(Pae.y=o.height-h-m.y,Pae.y+=voe.PADDING):y===KB.CENTER?Pae.y=(T+o.height-h)/2:y===KB.BASELINE?(Pae.y=T,Pae.y-=voe.PADDING):(Pae.y=T+u+m.y,Pae.y-=voe.PADDING),Pae.y=(Pae.y-o.descent-S)*g,x&&(Pae.x-=voe.PADDING*g,x=!1),Object(r["a"])(i.billboard)&&(i.billboard._setTranslate(Pae),i.billboard._labelDimensions.x=C,i.billboard._labelDimensions.y=E,i.billboard._labelHorizontalOrigin=b),l<f-1){const e=t[l+1];Pae.x+=(o.width-o.minx+e.dimensions.minx)*g}if(Object(r["a"])(p)&&n.split("\n").join("").length>0&&(w=b===YB.CENTER?-s/2-m.x:b===YB.RIGHT?-(s+2*m.x):0,Pae.x=w*g,y===KB.TOP?Pae.y=_-h-u:y===KB.CENTER?Pae.y=(_-h)/2-u:y===KB.BASELINE?Pae.y=-m.y-u:Pae.y=0,Pae.y=Pae.y*g,p.width=C,p.height=E,p._setTranslate(Pae),p._labelTranslate=Ht.clone(Pae,p._labelTranslate)),e.heightReference===qB.CLAMP_TO_GROUND)for(l=0;l<f;++l){i=t[l];const e=i.billboard;Object(r["a"])(e)&&(e._labelTranslate=Ht.clone(Pae,e._labelTranslate))}}function Nae(e,t){const n=t._glyphs;for(let i=0,o=n.length;i<o;++i)xae(e,n[i]);Object(r["a"])(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,Object(r["a"])(t._removeCallbackFunc)&&t._removeCallbackFunc(),Wl(t)}function Lae(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new Bre({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new Bre({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=j_.clone(j_.WHITE),this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.blendOption=Object(o["a"])(e.blendOption,boe.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(Lae.prototype,{length:{get:function(){return this._labels.length}}}),Lae.prototype.add=function(e){const t=new _ae(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t},Lae.prototype.remove=function(e){if(Object(r["a"])(e)&&e._labelCollection===this){const t=this._labels.indexOf(e);if(-1!==t)return this._labels.splice(t,1),Nae(this,e),!0}return!1},Lae.prototype.removeAll=function(){const e=this._labels;for(let t=0,n=e.length;t<n;++t)Nae(this,e[t]);e.length=0},Lae.prototype.contains=function(e){return Object(r["a"])(e)&&e._labelCollection===this},Lae.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._labels[e]},Lae.prototype.update=function(e){if(!this.show)return;const t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;const i=e.context;Object(r["a"])(this._textureAtlas)||(this._textureAtlas=new Soe({context:i}),t.textureAtlas=this._textureAtlas),Object(r["a"])(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Soe({context:i,initialSize:wae}),n.textureAtlas=this._backgroundTextureAtlas,Tae(this._backgroundTextureAtlas));const o=this._labelsToUpdate.length;for(let r=0;r<o;++r){const e=this._labelsToUpdate[r];if(e.isDestroyed())continue;const t=e._glyphs.length;e._rebindAllGlyphs&&(Dae(this,e),e._rebindAllGlyphs=!1),e._repositionAllGlyphs&&(Mae(e),e._repositionAllGlyphs=!1);const n=e._glyphs.length-t;this._totalGlyphCount+=n}const a=n.length>0?boe.TRANSLUCENT:this.blendOption;t.blendOption=a,n.blendOption=a,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)},Lae.prototype.isDestroyed=function(){return!1},Lae.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),Wl(this)};var Bae=Lae,Fae="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 position2DHigh;\nattribute vec3 position2DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 prevPosition2DHigh;\nattribute vec3 prevPosition2DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec3 nextPosition2DHigh;\nattribute vec3 nextPosition2DLow;\nattribute vec4 texCoordExpandAndBatchIndex;\n\nvarying vec2 v_st;\nvarying float v_width;\nvarying vec4 v_pickColor;\nvarying float v_polylineAngle;\n\nvoid main()\n{\n float texCoord = texCoordExpandAndBatchIndex.x;\n float expandDir = texCoordExpandAndBatchIndex.y;\n bool usePrev = texCoordExpandAndBatchIndex.z < 0.0;\n float batchTableIndex = texCoordExpandAndBatchIndex.w;\n\n vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex);\n float width = widthAndShow.x + 0.5;\n float show = widthAndShow.y;\n\n if (width < 1.0)\n {\n show = 0.0;\n }\n\n vec4 pickColor = batchTable_getPickColor(batchTableIndex);\n\n vec4 p, prev, next;\n if (czm_morphTime == 1.0)\n {\n p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);\n prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);\n next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);\n }\n else if (czm_morphTime == 0.0)\n {\n p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\n prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);\n next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);\n }\n else\n {\n p = czm_columbusViewMorph(\n czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),\n czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),\n czm_morphTime);\n prev = czm_columbusViewMorph(\n czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),\n czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),\n czm_morphTime);\n next = czm_columbusViewMorph(\n czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),\n czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),\n czm_morphTime);\n }\n\n #ifdef DISTANCE_DISPLAY_CONDITION\n vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex);\n vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex);\n vec3 centerLow = centerLowAndRadius.xyz;\n float radius = centerLowAndRadius.w;\n vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex);\n\n float lengthSq;\n if (czm_sceneMode == czm_sceneMode2D)\n {\n lengthSq = czm_eyeHeight2D.y;\n }\n else\n {\n vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz);\n lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius);\n }\n\n float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x;\n float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y;\n if (lengthSq < nearSq || lengthSq > farSq)\n {\n show = 0.0;\n }\n #endif\n\n float polylineAngle;\n vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle);\n gl_Position = czm_viewportOrthographic * positionWC * show;\n\n v_st.s = texCoord;\n v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w);\n\n v_width = width;\n v_pickColor = pickColor;\n v_polylineAngle = polylineAngle;\n}\n";function kae(e,t){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._show=Object(o["a"])(e.show,!0),this._width=Object(o["a"])(e.width,1),this._loop=Object(o["a"])(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,Object(r["a"])(this._material)||(this._material=Uk.fromType(Uk.ColorType,{color:new j_(1,1,1,1)}));let n,i=e.positions;Object(r["a"])(i)||(i=[]),this._positions=i,this._actualPositions=z_(i,g.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=i.slice()),this._actualPositions.push(g.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id,Object(r["a"])(t)&&(n=Ne.clone(t.modelMatrix)),this._modelMatrix=n,this._segments=Ly.wrapLongitude(this._actualPositions,n),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(Wae),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=Tt.fromPoints(this._actualPositions),this._boundingVolumeWC=Tt.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new Tt}const zae=kae.POSITION_INDEX=0,Uae=kae.SHOW_INDEX=1,Vae=kae.WIDTH_INDEX=2,Hae=kae.MATERIAL_INDEX=3,Gae=kae.POSITION_SIZE_INDEX=4,qae=kae.DISTANCE_DISPLAY_CONDITION=5,Wae=kae.NUMBER_OF_PROPERTIES=6;function Yae(e,t){++e._propertiesChanged[t];const n=e._polylineCollection;Object(r["a"])(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(kae.prototype,{show:{get:function(){return this._show},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");e!==this._show&&(this._show=e,Yae(this,Uae))}},positions:{get:function(){return this._positions},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");let t=z_(e,g.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(g.clone(t[0]))),this._actualPositions.length===t.length&&this._actualPositions.length===this._length||Yae(this,Gae),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=Tt.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=Tt.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),Yae(this,zae),this.update()}},material:{get:function(){return this._material},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("material is required.");this._material!==e&&(this._material=e,Yae(this,Hae))}},width:{get:function(){return this._width},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._width;e!==t&&(this._width=e,Yae(this,Vae))}},loop:{get:function(){return this._loop},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!g.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(g.clone(t[0]))):t.length>2&&g.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,Yae(this,Gae)}}},id:{get:function(){return this._id},set:function(e){this._id=e,Object(r["a"])(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!Object(r["a"])(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");sw.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=sw.clone(e,this._distanceDisplayCondition),Yae(this,qae))}}}),kae.prototype.update=function(){let e=Ne.IDENTITY;Object(r["a"])(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);const t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[zae]>0||this._propertiesChanged[Gae]>0;if(Ne.equals(e,this._modelMatrix)&&!i||(this._segments=Ly.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=Tt.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=Ne.clone(e,this._modelMatrix),this._segments.positions.length!==t)Yae(this,Gae);else{const e=n.length;for(let t=0;t<e;++t)if(n[t]!==this._segments.lengths[t]){Yae(this,Gae);break}}},kae.prototype.getPickId=function(e){return Object(r["a"])(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId},kae.prototype._clean=function(){this._dirty=!1;const e=this._propertiesChanged;for(let t=0;t<Wae-1;++t)e[t]=0},kae.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var Xae=kae;const Kae=Xae.SHOW_INDEX,Jae=Xae.WIDTH_INDEX,Zae=Xae.POSITION_INDEX,$ae=Xae.MATERIAL_INDEX,Qae=Xae.POSITION_SIZE_INDEX,ese=Xae.DISTANCE_DISPLAY_CONDITION,tse=Xae.NUMBER_OF_PROPERTIES,nse={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function ise(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(Ne.IDENTITY),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(tse),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:EG.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=j_.clone(j_.WHITE);const t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}function ose(e,t){Object(r["a"])(e._batchTable)&&e._batchTable.destroy();const n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:$c.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:$c.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:$c.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:$c.FLOAT,componentsPerAttribute:2}];e._batchTable=new tq(t,n,e._polylines.length)}Object.defineProperties(ise.prototype,{length:{get:function(){return yse(this),this._polylines.length}}}),ise.prototype.add=function(e){const t=new Xae(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t},ise.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,Object(r["a"])(e._bucket)){const t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1},ise.prototype.removeAll=function(){vse(this),wse(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0},ise.prototype.contains=function(e){return Object(r["a"])(e)&&e._polylineCollection===this},ise.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return yse(this),this._polylines[e]};const rse=new kf,ase=new be,sse=new Ht;ise.prototype.update=function(e){if(yse(this),0===this._polylines.length||!this.show)return;bse(this,e);const t=e.context,n=e.mapProjection;let i,o=this._propertiesChanged;if(this._createBatchTable){if(0===zF.maximumVertexTextureImageUnits)throw new ye["a"]("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");ose(this,t),this._createBatchTable=!1}if(this._createVertexArray||hse(this))fse(this,t,n);else if(this._polylinesUpdated){const a=this._polylinesToUpdate;if(this._mode!==vq.SCENE3D){const e=a.length;for(let t=0;t<e;++t)i=a[t],i.update()}if(o[Qae]||o[$ae])fse(this,t,n);else{const t=a.length,s=this._polylineBuckets;for(let c=0;c<t;++c){i=a[c],o=i._propertiesChanged;const t=i._bucket;let l=0;for(const e in s)if(s.hasOwnProperty(e)){if(s[e]===t){o[Zae]&&t.writeUpdate(l,i,this._positionBuffer,n);break}l+=s[e].lengthOfPositions}if((o[Kae]||o[Jae])&&this._batchTable.setBatchedAttribute(i._index,0,new Ht(i._width,i._show)),this._batchTable.attributes.length>2){if(o[Zae]||o[Qae]){const t=e.mode===vq.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,n=kf.fromCartesian(t.center,rse),o=be.fromElements(n.low.x,n.low.y,n.low.z,t.radius,ase);this._batchTable.setBatchedAttribute(i._index,2,n.high),this._batchTable.setBatchedAttribute(i._index,3,o)}if(o[ese]){const e=sse;e.x=0,e.y=Number.MAX_VALUE;const t=i.distanceDisplayCondition;Object(r["a"])(t)&&(e.x=t.near,e.y=t.far),this._batchTable.setBatchedAttribute(i._index,4,e)}}i._clean()}}a.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let r=0;r<tse;++r)o[r]=0;let a=Ne.IDENTITY;e.mode===vq.SCENE3D&&(a=this.modelMatrix);const s=e.passes,c=0!==e.morphTime;if(Object(r["a"])(this._opaqueRS)&&this._opaqueRS.depthTest.enabled===c||(this._opaqueRS=Mz.fromCache({depthMask:c,depthTest:{enabled:c}})),Object(r["a"])(this._translucentRS)&&this._translucentRS.depthTest.enabled===c||(this._translucentRS=Mz.fromCache({blending:MF.ALPHA_BLEND,depthMask:!c,depthTest:{enabled:c}})),this._batchTable.update(e),s.render||s.pick){const t=this._colorCommands;use(this,e,t,a)}};const cse=new Tt,lse=new Tt;function use(e,t,n,i){const o=t.context,a=t.commandList,s=n.length;let c=0,l=!0;const u=e._vertexArrays,h=e.debugShowBoundingVolume,d=e._batchTable,f=d.getUniformMapCallback(),p=u.length;for(let m=0;m<p;++m){const d=u[m],p=d.buckets,_=p.length;for(let u=0;u<_;++u){const m=p[u];let _=m.offset;const g=m.bucket.shaderProgram,b=m.bucket.polylines,y=b.length;let v,O,w,A,T=0;for(let u=0;u<y;++u){const p=b[u],y=_se(p._material);if(y!==v){if(Object(r["a"])(v)&&T>0){const t=O.isTranslucent();c>=s?(w=new nz({owner:e}),n.push(w)):w=n[c],++c,A=Object(xS["a"])(f(O._uniforms),e._uniformMap),w.boundingVolume=Tt.clone(cse,w.boundingVolume),w.modelMatrix=i,w.shaderProgram=g,w.vertexArray=d.va,w.renderState=t?e._translucentRS:e._opaqueRS,w.pass=t?oz.TRANSLUCENT:oz.OPAQUE,w.debugShowBoundingVolume=h,w.pickId="v_pickColor",w.uniformMap=A,w.count=T,w.offset=_,_+=T,T=0,l=!0,a.push(w)}O=p._material,O.update(o),v=y}const C=p._locatorBuckets,E=C.length;for(let e=0;e<E;++e){const t=C[e];t.locator===m&&(T+=t.count)}let x;t.mode===vq.SCENE3D?x=p._boundingVolumeWC:t.mode===vq.COLUMBUS_VIEW?x=p._boundingVolume2D:t.mode===vq.SCENE2D?Object(r["a"])(p._boundingVolume2D)&&(x=Tt.clone(p._boundingVolume2D,lse),x.center.x=0):Object(r["a"])(p._boundingVolumeWC)&&Object(r["a"])(p._boundingVolume2D)&&(x=Tt.union(p._boundingVolumeWC,p._boundingVolume2D,lse)),l?(l=!1,Tt.clone(x,cse)):Tt.union(x,cse,cse)}Object(r["a"])(v)&&T>0&&(c>=s?(w=new nz({owner:e}),n.push(w)):w=n[c],++c,A=Object(xS["a"])(f(O._uniforms),e._uniformMap),w.boundingVolume=Tt.clone(cse,w.boundingVolume),w.modelMatrix=i,w.shaderProgram=g,w.vertexArray=d.va,w.renderState=O.isTranslucent()?e._translucentRS:e._opaqueRS,w.pass=O.isTranslucent()?oz.TRANSLUCENT:oz.OPAQUE,w.debugShowBoundingVolume=h,w.pickId="v_pickColor",w.uniformMap=A,w.count=T,w.offset=_,l=!0,a.push(w)),v=void 0}}n.length=c}function hse(e){let t=!1;const n=e._propertiesChanged,i=e._positionBufferUsage;return n[Zae]?i.bufferUsage!==EG.STREAM_DRAW?(t=!0,i.bufferUsage=EG.STREAM_DRAW,i.frameCount=100):i.frameCount=100:i.bufferUsage!==EG.STATIC_DRAW&&(0===i.frameCount?(t=!0,i.bufferUsage=EG.STATIC_DRAW):i.frameCount--),t}ise.prototype.isDestroyed=function(){return!1},ise.prototype.destroy=function(){return Ose(this),vse(this),wse(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};const dse=[0,0,0];function fse(e,t,n){e._createVertexArray=!1,vse(e),Ose(e),gse(e);const i=[[]];let o=i[0];const a=e._batchTable,c=e._useHighlightColor,l=[0];let u=0;const h=[[]];let d=0;const f=e._polylineBuckets;let p,m;for(p in f)f.hasOwnProperty(p)&&(m=f[p],m.updateShader(t,a,c),d+=m.lengthOfPositions);if(d>0){const c=e._mode,_=new Float32Array(6*d*3),g=new Float32Array(4*d);let b,y=0,v=0,O=0;for(p in f)if(f.hasOwnProperty(p)){m=f[p],m.write(_,g,y,v,O,a,t,n),c===vq.MORPHING&&(Object(r["a"])(b)||(b=new Float32Array(6*d*3)),m.writeForMorph(b,y));const e=m.lengthOfPositions;y+=6*e*3,v+=4*e,O+=4*e,u=m.updateIndices(i,l,h,u)}const w=e._positionBufferUsage.bufferUsage,A=EG.STATIC_DRAW;let T;e._positionBuffer=SG.createVertexBuffer({context:t,typedArray:_,usage:w}),Object(r["a"])(b)&&(T=SG.createVertexBuffer({context:t,typedArray:b,usage:w})),e._texCoordExpandAndBatchIndexBuffer=SG.createVertexBuffer({context:t,typedArray:g,usage:A});const C=3*Float32Array.BYTES_PER_ELEMENT,E=4*Float32Array.BYTES_PER_ELEMENT;let x=0;const S=i.length;for(let n=0;n<S;++n)if(o=i[n],o.length>0){const i=new Uint16Array(o),r=SG.createIndexBuffer({context:t,typedArray:i,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT});x+=l[n];const a=6*(n*(C*s["a"].SIXTY_FOUR_KILOBYTES)-x*C),u=C+a,d=C+u,f=C+d,p=C+f,m=C+p,_=n*(E*s["a"].SIXTY_FOUR_KILOBYTES)-x*E,g=[{index:nse.position3DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:a,strideInBytes:6*C},{index:nse.position3DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:u,strideInBytes:6*C},{index:nse.position2DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:a,strideInBytes:6*C},{index:nse.position2DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:u,strideInBytes:6*C},{index:nse.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:d,strideInBytes:6*C},{index:nse.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:f,strideInBytes:6*C},{index:nse.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:d,strideInBytes:6*C},{index:nse.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:f,strideInBytes:6*C},{index:nse.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:p,strideInBytes:6*C},{index:nse.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:m,strideInBytes:6*C},{index:nse.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:p,strideInBytes:6*C},{index:nse.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:$c.FLOAT,offsetInBytes:m,strideInBytes:6*C},{index:nse.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:$c.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:_}];let b,y,v,O;c===vq.SCENE3D?(y=e._positionBuffer,b="vertexBuffer",v=dse,O="value"):c===vq.SCENE2D||c===vq.COLUMBUS_VIEW?(y=dse,b="value",v=e._positionBuffer,O="vertexBuffer"):(y=T,b="vertexBuffer",v=e._positionBuffer,O="vertexBuffer"),g[0][b]=y,g[1][b]=y,g[2][O]=v,g[3][O]=v,g[4][b]=y,g[5][b]=y,g[6][O]=v,g[7][O]=v,g[8][b]=y,g[9][b]=y,g[10][O]=v,g[11][O]=v;const w=new BG({context:t,attributes:g,indexBuffer:r});e._vertexArrays.push({va:w,buckets:h[n]})}}}function pse(e,t){return t instanceof nk?t.id:t}const mse=[];function _se(e){const t=Uk._uniformList[e.type],n=t.length;mse.length=2*n;let i=0;for(let o=0;o<n;++o){const n=t[o];mse[i]=n,mse[i+1]=e._uniforms[n](),i+=2}return`${e.type}:${JSON.stringify(mse,pse)}`}function gse(e){const t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,a=o.length;for(let s=0;s<a;++s){const e=o[s];if(e._actualPositions.length>1){e.update();const o=e.material;let a=i[o.type];Object(r["a"])(a)||(a=i[o.type]=new Tse(o,t,n)),a.addPolyline(e)}}}function bse(e,t){const n=t.mode;e._mode===n&&Ne.equals(e._modelMatrix,e.modelMatrix)||(e._mode=n,e._modelMatrix=Ne.clone(e.modelMatrix),e._createVertexArray=!0)}function yse(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;const t=[],n=[];let i,o=0;const r=e._polylines.length;for(let a=0;a<r;++a)i=e._polylines[a],i.isDestroyed||(i._index=o++,n.push(i),t.push(i));e._polylines=t,e._polylinesToUpdate=n}}function vse(e){const t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){const e=t[i]._bucket;Object(r["a"])(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy())}}function Ose(e){const t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}function wse(e){const t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function Ase(e,t,n){this.count=e,this.offset=t,this.bucket=n}function Tse(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}function Cse(e){return g.dot(g.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(No.ORIGIN_ZX_PLANE)===G.INTERSECTING}ise.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]},Tse.prototype.addPolyline=function(e){const t=this.polylines;t.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this},Tse.prototype.updateShader=function(e,t,n){if(Object(r["a"])(this.shaderProgram))return;const i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),-1!==this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)&&i.push("POLYLINE_DASH"),Ta.isInternetExplorer()||i.push("CLIP_POLYLINE");const o=new bG({defines:i,sources:["varying vec4 v_pickColor;\n",this.material.shaderSource,XY]}),a=t.getVertexShaderCallback()(Fae),s=new bG({defines:i,sources:[VY,a]});this.shaderProgram=IU.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:nse})},Tse.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===vq.SCENE3D||!Cse(e))return t=e._actualPositions.length,4*t-4;let n=0;const i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=4*i[o]-4;return n};const Ese=new g,xse=new g,Sse=new g,Ise=new g,Dse=new be,jse=new Ht;Tse.prototype.write=function(e,t,n,i,o,a,c,l){const u=this.mode,h=l.ellipsoid.maximumRadius*s["a"].PI,d=this.polylines,f=d.length;for(let s=0;s<f;++s){const i=d[s],f=i.width,p=i.show&&f>0,m=i._index,_=this.getSegments(i,l),b=_.positions,y=_.lengths,v=b.length,O=i.getPickId(c).color;let w,A=0,T=0;for(let r=0;r<v;++r){0===r?i._loop?w=b[v-2]:(w=Ise,g.subtract(b[0],b[1],w),g.add(b[0],w,w)):w=b[r-1],g.clone(w,xse),g.clone(b[r],Ese),r===v-1?i._loop?w=b[1]:(w=Ise,g.subtract(b[v-1],b[v-2],w),g.add(b[v-1],w,w)):w=b[r+1],g.clone(w,Sse);const a=y[A];r===T+a&&(T+=a,++A);const s=r-T===0,c=r===T+y[A]-1;u===vq.SCENE2D&&(xse.z=0,Ese.z=0,Sse.z=0),u!==vq.SCENE2D&&u!==vq.MORPHING||(s||c)&&h-Math.abs(Ese.x)<1&&((Ese.x<0&&xse.x>0||Ese.x>0&&xse.x<0)&&g.clone(Ese,xse),(Ese.x<0&&Sse.x>0||Ese.x>0&&Sse.x<0)&&g.clone(Ese,Sse));const l=s?2:0,d=c?2:4;for(let i=l;i<d;++i){kf.writeElements(Ese,e,n),kf.writeElements(xse,e,n+6),kf.writeElements(Sse,e,n+12);const a=i-2<0?-1:1;t[o]=r/(v-1),t[o+1]=i%2*2-1,t[o+2]=a,t[o+3]=m,n+=18,o+=4}}const C=Dse;C.x=j_.floatToByte(O.red),C.y=j_.floatToByte(O.green),C.z=j_.floatToByte(O.blue),C.w=j_.floatToByte(O.alpha);const E=jse;E.x=f,E.y=p?1:0;const x=u===vq.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,S=kf.fromCartesian(x.center,rse),I=S.high,D=be.fromElements(S.low.x,S.low.y,S.low.z,x.radius,ase),j=sse;j.x=0,j.y=Number.MAX_VALUE;const P=i.distanceDisplayCondition;Object(r["a"])(P)&&(j.x=P.near,j.y=P.far),a.setBatchedAttribute(m,0,E),a.setBatchedAttribute(m,1,C),a.attributes.length>2&&(a.setBatchedAttribute(m,2,I),a.setBatchedAttribute(m,3,D),a.setBatchedAttribute(m,4,j))}};const Pse=new g,Rse=new g,Mse=new g,Nse=new g;Tse.prototype.writeForMorph=function(e,t){const n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){const o=i[r],a=o._segments.positions,s=o._segments.lengths,c=a.length;let l=0,u=0;for(let i=0;i<c;++i){let r;0===i?o._loop?r=a[c-2]:(r=Nse,g.subtract(a[0],a[1],r),g.add(a[0],r,r)):r=a[i-1],r=Ne.multiplyByPoint(n,r,Rse);const h=Ne.multiplyByPoint(n,a[i],Pse);let d;i===c-1?o._loop?d=a[1]:(d=Nse,g.subtract(a[c-1],a[c-2],d),g.add(a[c-1],d,d)):d=a[i+1],d=Ne.multiplyByPoint(n,d,Mse);const f=s[l];i===u+f&&(u+=f,++l);const p=i-u===0,m=i===u+s[l]-1,_=p?2:0,b=m?2:4;for(let n=_;n<b;++n)kf.writeElements(h,e,t),kf.writeElements(r,e,t+6),kf.writeElements(d,e,t+12),t+=18}}};const Lse=new Array(1);Tse.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new Ase(0,i,this);n[o].push(r);let a=0,c=e[e.length-1],l=0;c.length>0&&(l=c[c.length-1]+1);const u=this.polylines,h=u.length;for(let d=0;d<h;++d){const h=u[d];let f;if(h._locatorBuckets=[],this.mode===vq.SCENE3D){f=Lse;const e=h._actualPositions.length;if(!(e>0))continue;f[0]=e}else f=h._segments.lengths;const p=f.length;if(p>0){let u=0;for(let d=0;d<p;++d){const p=f[d]-1;for(let d=0;d<p;++d)l+4>s["a"].SIXTY_FOUR_KILOBYTES&&(h._locatorBuckets.push({locator:r,count:u}),u=0,t.push(4),c=[],e.push(c),l=0,r.count=a,a=0,i=0,r=new Ase(0,0,this),n[++o]=[r]),c.push(l,l+2,l+1),c.push(l+1,l+2,l+3),u+=6,a+=6,i+=6,l+=4}h._locatorBuckets.push({locator:r,count:u}),l+4>s["a"].SIXTY_FOUR_KILOBYTES&&(t.push(0),c=[],e.push(c),l=0,r.count=a,i=0,a=0,r=new Ase(0,0,this),n[++o]=[r])}h._clean()}return r.count=a,i},Tse.prototype.getPolylineStartIndex=function(e){const t=this.polylines;let n=0;const i=t.length;for(let o=0;o<i;++o){const i=t[o];if(i===e)break;n+=i._actualLength}return n};const Bse={positions:void 0,lengths:void 0},Fse=new Array(1),kse=new g,zse=new I;let Use;Tse.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===vq.SCENE3D)return Fse[0]=n.length,Bse.positions=n,Bse.lengths=Fse,Bse;Cse(e)&&(n=e._segments.positions);const i=t.ellipsoid,o=[],r=this.modelMatrix,a=n.length;let s,c=kse;for(let l=0;l<a;++l)s=n[l],c=Ne.multiplyByPoint(r,s,c),o.push(t.project(i.cartesianToCartographic(c,zse)));if(o.length>0){e._boundingVolume2D=Tt.fromPoints(o,e._boundingVolume2D);const t=e._boundingVolume2D.center;e._boundingVolume2D.center=new g(t.z,t.x,t.y)}return Bse.positions=o,Bse.lengths=e._segments.lengths,Bse},Tse.prototype.writeUpdate=function(e,t,n,i){const o=this.mode,a=i.ellipsoid.maximumRadius*s["a"].PI;let c=t._actualLength;if(c){e+=this.getPolylineStartIndex(t);let s=Use;const l=6*c*3;!Object(r["a"])(s)||s.length<l?s=Use=new Float32Array(l):s.length>l&&(s=new Float32Array(s.buffer,0,l));const u=this.getSegments(t,i),h=u.positions,d=u.lengths;let f,p=0,m=0,_=0;c=h.length;for(let e=0;e<c;++e){0===e?t._loop?f=h[c-2]:(f=Ise,g.subtract(h[0],h[1],f),g.add(h[0],f,f)):f=h[e-1],g.clone(f,xse),g.clone(h[e],Ese),e===c-1?t._loop?f=h[1]:(f=Ise,g.subtract(h[c-1],h[c-2],f),g.add(h[c-1],f,f)):f=h[e+1],g.clone(f,Sse);const n=d[m];e===_+n&&(_+=n,++m);const i=e-_===0,r=e===_+d[m]-1;o===vq.SCENE2D&&(xse.z=0,Ese.z=0,Sse.z=0),o!==vq.SCENE2D&&o!==vq.MORPHING||(i||r)&&a-Math.abs(Ese.x)<1&&((Ese.x<0&&xse.x>0||Ese.x>0&&xse.x<0)&&g.clone(Ese,xse),(Ese.x<0&&Sse.x>0||Ese.x>0&&Sse.x<0)&&g.clone(Ese,Sse));const l=i?2:0,u=r?2:4;for(let e=l;e<u;++e)kf.writeElements(Ese,s,p),kf.writeElements(xse,s,p+6),kf.writeElements(Sse,s,p+12),p+=18}n.copyFromArrayView(s,18*Float32Array.BYTES_PER_ELEMENT*e)}};var Vse=ise;function Hse(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new Bre({batchTable:e.batchTable}),this._labelCollection=new Bae({batchTable:e.batchTable}),this._polylineCollection=new Vse,this._polylineCollection._useHighlightColor=!0,this._verticesPromise=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(e,t){},this._readyPromise=oce(this)}function Gse(e,t){const n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+Fe.packedLength+z.packedLength,a=new Float64Array(r);let s=0;return a[s++]=i,a[s++]=o,Fe.pack(n,a,s),s+=Fe.packedLength,z.pack(t,a,s),a}Object.defineProperties(Hse.prototype,{pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){const e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}},readyPromise:{get:function(){return this._readyPromise}}});const qse=new ou("createVectorTilePoints",5),Wse=new g;function Yse(e,t){let n;if(!Object(r["a"])(e._verticesPromise)){n=e._positions;let i=e._packedBuffer;Object(r["a"])(i)||(n=e._positions=xL(n),e._batchIds=xL(e._batchIds),i=e._packedBuffer=Gse(e,t));const o=[n.buffer,i.buffer],a={positions:n.buffer,packedBuffer:i.buffer},s=e._verticesPromise=qse.scheduleTask(a,o);if(!Object(r["a"])(s))return;return s.then((function(t){e._positions=new Float64Array(t.positions);const i=e._billboardCollection,o=e._labelCollection,r=e._polylineCollection;n=e._positions;const a=e._batchIds,s=n.length/3;for(let e=0;e<s;++e){const t=a[e],s=g.unpack(n,3*e,Wse),c=i.add();c.position=s,c._batchIndex=t;const l=o.add();l.text=" ",l.position=s,l._batchIndex=t;const u=r.add();u.positions=[g.clone(s),g.clone(s)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}))}}function Xse(e,t){const n=e._batchIds,i=n.length;for(let o=0;o<i;++o){const e=n[o],i=t[e];i.show=!0,i.pointSize=Hre.defaultPointSize,i.color=Hre.defaultColor,i.pointOutlineColor=Hre.defaultPointOutlineColor,i.pointOutlineWidth=Hre.defaultPointOutlineWidth,i.labelColor=j_.WHITE,i.labelOutlineColor=j_.WHITE,i.labelOutlineWidth=1,i.font="30px sans-serif",i.labelStyle=Jre.FILL,i.labelText=void 0,i.backgroundColor=new j_(.165,.165,.165,.8),i.backgroundPadding=new Ht(7,5),i.backgroundEnabled=!1,i.scaleByDistance=void 0,i.translucencyByDistance=void 0,i.distanceDisplayCondition=void 0,i.heightOffset=0,i.anchorLineEnabled=!1,i.anchorLineColor=j_.WHITE,i.image=void 0,i.disableDepthTestDistance=0,i.horizontalOrigin=YB.CENTER,i.verticalOrigin=KB.CENTER,i.labelHorizontalOrigin=YB.RIGHT,i.labelVerticalOrigin=KB.BASELINE}}Hse.prototype.createFeatures=function(e,t){const n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,a=r.length;for(let s=0;s<a;++s){const a=r[s],c=n.get(s),l=i.get(s),u=o.get(s);t[a]=new Hre(e,a,c,l,u)}},Hse.prototype.applyDebugSettings=function(e,t){e?(j_.clone(t,this._billboardCollection._highlightColor),j_.clone(t,this._labelCollection._highlightColor),j_.clone(t,this._polylineCollection._highlightColor)):(j_.clone(j_.WHITE,this._billboardCollection._highlightColor),j_.clone(j_.WHITE,this._labelCollection._highlightColor),j_.clone(j_.WHITE,this._polylineCollection._highlightColor))};const Kse=new j_,Jse=new j_,Zse=new j_,$se=new j_,Qse=new j_,ece=new j_,tce=new cS,nce=new cS,ice=new sw;function oce(e){return new Promise((function(t,n){e._update=function(e,i){const o=Yse(e,i.mapProjection.ellipsoid);e._ready&&(e._polylineCollection.update(i),e._billboardCollection.update(i),e._labelCollection.update(i)),Object(r["a"])(o)&&o.then((function(){t()})).catch((function(e){n(e)}))}}))}Hse.prototype.applyStyle=function(e,t){if(!Object(r["a"])(e))return void Xse(this,t);const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o],a=t[i];if(Object(r["a"])(e.show)&&(a.show=e.show.evaluate(a)),Object(r["a"])(e.pointSize)&&(a.pointSize=e.pointSize.evaluate(a)),Object(r["a"])(e.color)&&(a.color=e.color.evaluateColor(a,Kse)),Object(r["a"])(e.pointOutlineColor)&&(a.pointOutlineColor=e.pointOutlineColor.evaluateColor(a,Jse)),Object(r["a"])(e.pointOutlineWidth)&&(a.pointOutlineWidth=e.pointOutlineWidth.evaluate(a)),Object(r["a"])(e.labelColor)&&(a.labelColor=e.labelColor.evaluateColor(a,Zse)),Object(r["a"])(e.labelOutlineColor)&&(a.labelOutlineColor=e.labelOutlineColor.evaluateColor(a,$se)),Object(r["a"])(e.labelOutlineWidth)&&(a.labelOutlineWidth=e.labelOutlineWidth.evaluate(a)),Object(r["a"])(e.font)&&(a.font=e.font.evaluate(a)),Object(r["a"])(e.labelStyle)&&(a.labelStyle=e.labelStyle.evaluate(a)),Object(r["a"])(e.labelText)?a.labelText=e.labelText.evaluate(a):a.labelText=void 0,Object(r["a"])(e.backgroundColor)&&(a.backgroundColor=e.backgroundColor.evaluateColor(a,Qse)),Object(r["a"])(e.backgroundPadding)&&(a.backgroundPadding=e.backgroundPadding.evaluate(a)),Object(r["a"])(e.backgroundEnabled)&&(a.backgroundEnabled=e.backgroundEnabled.evaluate(a)),Object(r["a"])(e.scaleByDistance)){const t=e.scaleByDistance.evaluate(a);tce.near=t.x,tce.nearValue=t.y,tce.far=t.z,tce.farValue=t.w,a.scaleByDistance=tce}else a.scaleByDistance=void 0;if(Object(r["a"])(e.translucencyByDistance)){const t=e.translucencyByDistance.evaluate(a);nce.near=t.x,nce.nearValue=t.y,nce.far=t.z,nce.farValue=t.w,a.translucencyByDistance=nce}else a.translucencyByDistance=void 0;if(Object(r["a"])(e.distanceDisplayCondition)){const t=e.distanceDisplayCondition.evaluate(a);ice.near=t.x,ice.far=t.y,a.distanceDisplayCondition=ice}else a.distanceDisplayCondition=void 0;Object(r["a"])(e.heightOffset)&&(a.heightOffset=e.heightOffset.evaluate(a)),Object(r["a"])(e.anchorLineEnabled)&&(a.anchorLineEnabled=e.anchorLineEnabled.evaluate(a)),Object(r["a"])(e.anchorLineColor)&&(a.anchorLineColor=e.anchorLineColor.evaluateColor(a,ece)),Object(r["a"])(e.image)?a.image=e.image.evaluate(a):a.image=void 0,Object(r["a"])(e.disableDepthTestDistance)&&(a.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(a)),Object(r["a"])(e.horizontalOrigin)&&(a.horizontalOrigin=e.horizontalOrigin.evaluate(a)),Object(r["a"])(e.verticalOrigin)&&(a.verticalOrigin=e.verticalOrigin.evaluate(a)),Object(r["a"])(e.labelHorizontalOrigin)&&(a.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(a)),Object(r["a"])(e.labelVerticalOrigin)&&(a.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(a))}},Hse.prototype.update=function(e){this._update(this,e)},Hse.prototype.isDestroyed=function(){return!1},Hse.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),Wl(this)};var rce=Hse;function ace(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=Object(o["a"])(e.center,g.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._update=function(e,t){},this._readyPromise=fce(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=wG.BOTH}function sce(e){const t=new Float64Array(3+g.packedLength+z.packedLength+Fe.packedLength);let n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,g.pack(e._center,t,n),n+=g.packedLength,z.pack(e._ellipsoid,t,n),n+=z.packedLength,Fe.pack(e._rectangle,t,n),t}function cce(e,t){let n=1;const i=t[n++],o=e._boundingVolumes=new Array(i);for(let s=0;s<i;++s)o[s]=Xc.unpack(t,n),n+=Xc.packedLength;const r=t[n++],a=e._batchedIndices=new Array(r);for(let s=0;s<r;++s){const e=j_.unpack(t,n);n+=j_.packedLength;const i=t[n++],o=t[n++],r=t[n++],c=new Array(r);for(let a=0;a<r;++a)c[a]=t[n++];a[s]=new f1({color:e,offset:i,count:o,batchIds:c})}}Object.defineProperties(ace.prototype,{trianglesLength:{get:function(){return Object(r["a"])(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return Object(r["a"])(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}});const lce=new ou("createVectorTilePolygons",5),uce=new j_;function hce(e){if(!Object(r["a"])(e._primitive)&&!Object(r["a"])(e._verticesPromise)){let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,a=e._transferrableBatchIds,s=e._batchTableColors,c=e._packedBuffer;if(!Object(r["a"])(s)){t=e._positions=xL(e._positions),n=e._counts=xL(e._counts),i=e._indexCounts=xL(e._indexCounts),o=e._indices=xL(e._indices),e._center=e._ellipsoid.cartographicToCartesian(Fe.center(e._rectangle)),a=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(a.length);const r=e._batchTable,l=s.length;for(let e=0;e<l;++e){const t=r.getColor(e,uce);s[e]=t.toRgba()}c=e._packedBuffer=sce(e)}const l=[t.buffer,n.buffer,i.buffer,o.buffer,a.buffer,s.buffer,c.buffer],u={packedBuffer:c.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:a.buffer,batchTableColors:s.buffer};let h=e._polygonMinimumHeights,d=e._polygonMaximumHeights;Object(r["a"])(h)&&Object(r["a"])(d)&&(h=xL(h),d=xL(d),l.push(h.buffer,d.buffer),u.minimumHeights=h,u.maximumHeights=d);const f=e._verticesPromise=lce.scheduleTask(u,l);if(!Object(r["a"])(f))return;return f.then((function(t){e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;const n=new Float64Array(t.packedBuffer),i=n[0];cce(e,n),e._indices=2===uu.getSizeInBytes(i)?new Uint16Array(t.indices):new Uint32Array(t.indices),e._indexOffsets=new Uint32Array(t.indexOffsets),e._indexCounts=new Uint32Array(t.indexCounts),e._batchedPositions=new Float32Array(t.positions),e._vertexBatchIds=new Uint16Array(t.batchIds),e._ready=!0}))}}function dce(e){e._ready&&!Object(r["a"])(e._primitive)&&(e._primitive=new Y0({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._verticesPromise=void 0)}function fce(e){return new Promise((function(t,n){e._update=function(e,i){const o=hce(e);e._ready&&(e._primitive.debugWireframe=e.debugWireframe,e._primitive.forceRebatch=e.forceRebatch,e._primitive.classificationType=e.classificationType,e._primitive.update(i)),Object(r["a"])(o)&&o.then((function(){dce(e),t(e)})).catch((function(e){n(e)}))}}))}ace.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)},ace.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)},ace.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)},ace.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},ace.prototype.update=function(e){this._update(this,e)},ace.prototype.isDestroyed=function(){return!1},ace.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Wl(this)};var pce=ace,mce="attribute vec4 currentPosition;\nattribute vec4 previousPosition;\nattribute vec4 nextPosition;\nattribute vec2 expandAndWidth;\nattribute float a_batchId;\n\nuniform mat4 u_modifiedModelView;\n\nvoid main()\n{\n float expandDir = expandAndWidth.x;\n float width = abs(expandAndWidth.y) + 0.5;\n bool usePrev = expandAndWidth.y < 0.0;\n\n vec4 p = u_modifiedModelView * currentPosition;\n vec4 prev = u_modifiedModelView * previousPosition;\n vec4 next = u_modifiedModelView * nextPosition;\n\n float angle;\n vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle);\n gl_Position = czm_viewportOrthographic * positionWC;\n}\n";function _ce(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=j_.clone(j_.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(e,t){},this._readyPromise=Rce(this),this._verticesPromise=void 0}function gce(e){const t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,a=2+Fe.packedLength+z.packedLength+g.packedLength,s=new Float64Array(a);let c=0;return s[c++]=n,s[c++]=i,Fe.pack(t,s,c),c+=Fe.packedLength,z.pack(o,s,c),c+=z.packedLength,g.pack(r,s,c),s}Object.defineProperties(_ce.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});const bce=new ou("createVectorTilePolylines",5),yce={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function vce(e,t){if(!Object(r["a"])(e._va)&&!Object(r["a"])(e._verticesPromise)){let t=e._positions,n=e._widths,i=e._counts,o=e._transferrableBatchIds,a=e._packedBuffer;Object(r["a"])(a)||(t=e._positions=xL(t),n=e._widths=xL(n),i=e._counts=xL(i),o=e._transferrableBatchIds=xL(e._batchIds),a=e._packedBuffer=gce(e));const s=[t.buffer,n.buffer,i.buffer,o.buffer,a.buffer],c={positions:t.buffer,widths:n.buffer,counts:i.buffer,batchIds:o.buffer,packedBuffer:a.buffer,keepDecodedPositions:e._keepDecodedPositions},l=e._verticesPromise=bce.scheduleTask(c,s);if(!Object(r["a"])(l))return;return l.then((function(t){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(t.decodedPositions),e._decodedPositionOffsets=new Uint32Array(t.decodedPositionOffsets)),e._currentPositions=new Float32Array(t.currentPositions),e._previousPositions=new Float32Array(t.previousPositions),e._nextPositions=new Float32Array(t.nextPositions),e._expandAndWidth=new Float32Array(t.expandAndWidth),e._vertexBatchIds=new Uint16Array(t.batchIds);const n=t.indexDatatype;e._indices=n===uu.UNSIGNED_SHORT?new Uint16Array(t.indices):new Uint32Array(t.indices),e._ready=!0}))}}function Oce(e,t){if(e._ready&&!Object(r["a"])(e._va)){const n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,a=e._vertexBatchIds,s=e._indices;let c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+a.byteLength+s.byteLength,e._trianglesLength=s.length/3,e._geometryByteLength=c;const l=SG.createVertexBuffer({context:t,typedArray:i,usage:EG.STATIC_DRAW}),u=SG.createVertexBuffer({context:t,typedArray:n,usage:EG.STATIC_DRAW}),h=SG.createVertexBuffer({context:t,typedArray:o,usage:EG.STATIC_DRAW}),d=SG.createVertexBuffer({context:t,typedArray:r,usage:EG.STATIC_DRAW}),f=SG.createVertexBuffer({context:t,typedArray:a,usage:EG.STATIC_DRAW}),p=SG.createIndexBuffer({context:t,typedArray:s,usage:EG.STATIC_DRAW,indexDatatype:2===s.BYTES_PER_ELEMENT?uu.UNSIGNED_SHORT:uu.UNSIGNED_INT}),m=[{index:yce.previousPosition,vertexBuffer:l,componentDatatype:$c.FLOAT,componentsPerAttribute:3},{index:yce.currentPosition,vertexBuffer:u,componentDatatype:$c.FLOAT,componentsPerAttribute:3},{index:yce.nextPosition,vertexBuffer:h,componentDatatype:$c.FLOAT,componentsPerAttribute:3},{index:yce.expandAndWidth,vertexBuffer:d,componentDatatype:$c.FLOAT,componentsPerAttribute:2},{index:yce.a_batchId,vertexBuffer:f,componentDatatype:$c.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new BG({context:t,attributes:m,indexBuffer:p}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}const wce=new Ne,Ace=new g;function Tce(e,t){Object(r["a"])(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){const n=t.uniformState.view;return Ne.clone(n,wce),Ne.multiplyByPoint(wce,e._center,Ace),Ne.setTranslation(wce,Ace,wce),wce},u_highlightColor:function(){return e._highlightColor}})}function Cce(e){if(Object(r["a"])(e._rs))return;const t={enabled:!0,factor:-5,units:-5};e._rs=Mz.fromCache({blending:MF.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}const Ece="uniform vec4 u_highlightColor; \nvoid main()\n{\n gl_FragColor = u_highlightColor;\n}\n";function xce(e,t){if(Object(r["a"])(e._sp))return;const n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(mce),o=n.getFragmentShaderCallback(!1,void 0,!1)(Ece),a=new bG({defines:["VECTOR_TILE",Ta.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[VY,i]}),s=new bG({defines:["VECTOR_TILE"],sources:[o]});e._sp=IU.fromCache({context:t,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:yce})}function Sce(e,t){if(!Object(r["a"])(e._command)){const t=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new nz({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:t,boundingVolume:e._boundingVolume,pass:oz.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}function Ice(e,t){const n=e._batchIds,i=n.length;for(let o=0;o<i;++o){const e=n[o],i=t[e];i.show=!0,i.color=j_.WHITE}}_ce.getPolylinePositions=function(e,t){const n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!Object(r["a"])(n)||!Object(r["a"])(i))return;let a,s;const c=n.length;let l=0,u=0;for(a=0;a<c;++a)n[a]===t&&(l+=o[a+1]-o[a]);if(0===l)return;const h=new Float64Array(3*l);for(a=0;a<c;++a)if(n[a]===t){const e=o[a],t=o[a+1]-e;for(s=0;s<t;++s){const t=3*(e+s);h[u++]=i[t],h[u++]=i[t+1],h[u++]=i[t+2]}}return h},_ce.prototype.getPositions=function(e){return _ce.getPolylinePositions(this,e)},_ce.prototype.createFeatures=function(e,t){const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o];t[i]=new SZ(e,i)}},_ce.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};const Dce=new j_,jce=j_.WHITE,Pce=!0;function Rce(e){return new Promise((function(t,n){e._update=function(e,i){const o=i.context,a=vce(e,o);if(Tce(e,o),xce(e,o),Cce(e),e._ready){const t=i.passes;(t.render||t.pick)&&Sce(e,i)}Object(r["a"])(a)&&a.then((function(){Oce(e,o),t()})).catch((function(e){n(e)}))}}))}_ce.prototype.applyStyle=function(e,t){if(!Object(r["a"])(e))return void Ice(this,t);const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o],a=t[i];a.color=Object(r["a"])(e.color)?e.color.evaluateColor(a,Dce):jce,a.show=Object(r["a"])(e.show)?e.show.evaluate(a):Pce}},_ce.prototype.update=function(e){this._update(this,e)},_ce.prototype.isDestroyed=function(){return!1},_ce.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),Wl(this)};var Mce=_ce,Nce='attribute vec3 startEllipsoidNormal;\nattribute vec3 endEllipsoidNormal;\nattribute vec4 startPositionAndHeight;\nattribute vec4 endPositionAndHeight;\nattribute vec4 startFaceNormalAndVertexCorner;\nattribute vec4 endFaceNormalAndHalfWidth;\nattribute float a_batchId;\n\nuniform mat4 u_modifiedModelView;\nuniform vec2 u_minimumMaximumVectorHeights;\n\nvarying vec4 v_startPlaneEC;\nvarying vec4 v_endPlaneEC;\nvarying vec4 v_rightPlaneEC;\nvarying float v_halfWidth;\nvarying vec3 v_volumeUpEC;\n\nvoid main()\n{\n // vertex corner IDs\n // 3-----------7\n // /| left /|\n // / | 1 / |\n // 2-----------6 5 end\n // | / | /\n // start |/ right |/\n // 0-----------4\n //\n float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end\n float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top\n\n vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz;\n vec3 right = normalize(cross(forward, startEllipsoidNormal));\n\n vec4 position = vec4(startPositionAndHeight.xyz, 1.0);\n position.xyz += forward * isEnd;\n\n v_volumeUpEC = czm_normal * normalize(cross(right, forward));\n\n // Push for volume height\n float offset;\n vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd);\n\n // offset height to create volume\n offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd);\n offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset;\n position.xyz += offset * ellipsoidNormal;\n\n // move from RTC to EC\n position = u_modifiedModelView * position;\n right = czm_normal * right;\n\n // Push for width in a direction that is in the start or end plane and in a plane with right\n // N = normalEC ("right-facing" direction for push)\n // R = right\n // p = angle between N and R\n // w = distance to push along R if R == N\n // d = distance to push along N\n //\n // N R\n // { p| } * cos(p) = dot(N, R) = w / d\n // d | |w * d = w / dot(N, R)\n // { | }\n // o---------- polyline segment ----\x3e\n //\n vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd);\n scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd));\n vec3 miterPushNormal = czm_normal * normalize(scratchNormal);\n\n offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC\n offset = offset / dot(miterPushNormal, right);\n position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0)));\n\n gl_Position = czm_depthClamp(czm_projection * position);\n\n position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0);\n vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz;\n v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz));\n v_rightPlaneEC = vec4(right, -dot(right, position.xyz));\n\n position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0);\n vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz;\n v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz));\n v_halfWidth = endFaceNormalAndHalfWidth.w;\n}\n',Lce="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n\nvarying vec4 v_startPlaneEC;\nvarying vec4 v_endPlaneEC;\nvarying vec4 v_rightPlaneEC;\nvarying float v_halfWidth;\nvarying vec3 v_volumeUpEC;\n\nuniform vec4 u_highlightColor;\nvoid main()\n{\n float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));\n\n // Discard for sky\n if (logDepthOrDepth == 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5);\n return;\n#else // DEBUG_SHOW_VOLUME\n discard;\n#endif // DEBUG_SHOW_VOLUME\n }\n\n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\n eyeCoordinate /= eyeCoordinate.w;\n\n float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate);\n\n // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction\n halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC));\n\n // Check distance of the eye coordinate against the right-facing plane\n float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz);\n\n // Check eye coordinate against the mitering planes\n float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz);\n float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz);\n\n if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\n gl_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);\n return;\n#else // DEBUG_SHOW_VOLUME\n discard;\n#endif // DEBUG_SHOW_VOLUME\n }\n gl_FragColor = u_highlightColor;\n\n czm_writeDepthClamp();\n}\n";function Bce(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new Ht(on._defaultMinTerrainHeight,on._defaultMaxTerrainHeight),this._boundingVolume=Xc.fromRectangle(e.rectangle,on._defaultMinTerrainHeight,on._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=j_.clone(j_.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(e,t){},this._readyPromise=tle(this),this._verticesPromise=void 0}function Fce(e,t,n){const i=on.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,a=e._minimumMaximumVectorHeights;a.x=o,a.y=r;const s=e._boundingVolume,c=e._rectangle;Xc.fromRectangle(c,o,r,n,s)}function kce(e){const t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,a=2+Fe.packedLength+z.packedLength+g.packedLength,s=new Float64Array(a);let c=0;return s[c++]=n,s[c++]=i,Fe.pack(t,s,c),c+=Fe.packedLength,z.pack(o,s,c),c+=z.packedLength,g.pack(r,s,c),s}Object.defineProperties(Bce.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});const zce=new ou("createVectorTileClampedPolylines"),Uce={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function Vce(e,t){if(!Object(r["a"])(e._va)&&!Object(r["a"])(e._verticesPromise)){let t=e._positions,n=e._widths,i=e._counts,o=e._transferrableBatchIds,a=e._packedBuffer;Object(r["a"])(a)||(t=e._positions=xL(t),n=e._widths=xL(n),i=e._counts=xL(i),o=e._transferrableBatchIds=xL(e._batchIds),a=e._packedBuffer=kce(e));const s=[t.buffer,n.buffer,i.buffer,o.buffer,a.buffer],c={positions:t.buffer,widths:n.buffer,counts:i.buffer,batchIds:o.buffer,packedBuffer:a.buffer,keepDecodedPositions:e._keepDecodedPositions},l=e._verticesPromise=zce.scheduleTask(c,s);if(!Object(r["a"])(l))return;return l.then((function(t){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(t.decodedPositions),e._decodedPositionOffsets=new Uint32Array(t.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(t.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(t.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(t.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(t.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(t.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(t.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(t.vertexBatchIds);const n=t.indexDatatype;e._indices=n===uu.UNSIGNED_SHORT?new Uint16Array(t.indices):new Uint32Array(t.indices),e._ready=!0}))}}function Hce(e,t){if(e._ready&&!Object(r["a"])(e._va)){const n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,a=e._startFaceNormalAndVertexCornerIds,s=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,l=e._indices;let u=n.byteLength+i.byteLength;u+=o.byteLength+r.byteLength,u+=a.byteLength+s.byteLength,u+=c.byteLength+l.byteLength,e._trianglesLength=l.length/3,e._geometryByteLength=u;const h=SG.createVertexBuffer({context:t,typedArray:n,usage:EG.STATIC_DRAW}),d=SG.createVertexBuffer({context:t,typedArray:i,usage:EG.STATIC_DRAW}),f=SG.createVertexBuffer({context:t,typedArray:o,usage:EG.STATIC_DRAW}),p=SG.createVertexBuffer({context:t,typedArray:r,usage:EG.STATIC_DRAW}),m=SG.createVertexBuffer({context:t,typedArray:a,usage:EG.STATIC_DRAW}),_=SG.createVertexBuffer({context:t,typedArray:s,usage:EG.STATIC_DRAW}),g=SG.createVertexBuffer({context:t,typedArray:c,usage:EG.STATIC_DRAW}),b=SG.createIndexBuffer({context:t,typedArray:l,usage:EG.STATIC_DRAW,indexDatatype:2===l.BYTES_PER_ELEMENT?uu.UNSIGNED_SHORT:uu.UNSIGNED_INT}),y=[{index:Uce.startEllipsoidNormal,vertexBuffer:h,componentDatatype:$c.FLOAT,componentsPerAttribute:3},{index:Uce.endEllipsoidNormal,vertexBuffer:d,componentDatatype:$c.FLOAT,componentsPerAttribute:3},{index:Uce.startPositionAndHeight,vertexBuffer:f,componentDatatype:$c.FLOAT,componentsPerAttribute:4},{index:Uce.endPositionAndHeight,vertexBuffer:p,componentDatatype:$c.FLOAT,componentsPerAttribute:4},{index:Uce.startFaceNormalAndVertexCorner,vertexBuffer:m,componentDatatype:$c.FLOAT,componentsPerAttribute:4},{index:Uce.endFaceNormalAndHalfWidth,vertexBuffer:_,componentDatatype:$c.FLOAT,componentsPerAttribute:4},{index:Uce.a_batchId,vertexBuffer:g,componentDatatype:$c.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new BG({context:t,attributes:y,indexBuffer:b}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}const Gce=new Ne,qce=new g;function Wce(e,t){Object(r["a"])(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){const n=t.uniformState.view;return Ne.clone(n,Gce),Ne.multiplyByPoint(Gce,e._center,qce),Ne.setTranslation(Gce,qce,Gce),Gce},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function Yce(e){return Mz.fromCache({cull:{enabled:!0,face:LF.FRONT},blending:MF.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:JW.EQUAL,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},backFunction:JW.EQUAL,backOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},reference:eY.CESIUM_3D_TILE_MASK,mask:eY.CESIUM_3D_TILE_MASK}})}function Xce(e){Object(r["a"])(e._rs)||(e._rs=Yce(!1),e._rs3DTiles=Yce(!0))}function Kce(e,t){if(Object(r["a"])(e._sp))return;const n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(Nce),o=n.getFragmentShaderCallback(!1,void 0,!0)(Lce),a=new bG({defines:["VECTOR_TILE",Ta.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[VY,i]}),s=new bG({defines:["VECTOR_TILE"],sources:[o]});e._sp=IU.fromCache({context:t,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:Uce})}function Jce(e,t){let n=e._command;if(!Object(r["a"])(e._command)){const t=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new nz({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:t,boundingVolume:e._boundingVolume,pass:oz.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});const i=nz.shallowClone(n,n.derivedCommands.tileset);i.renderState=e._rs3DTiles,i.pass=oz.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=i}const i=e._classificationType;i!==wG.TERRAIN&&i!==wG.BOTH||t.commandList.push(n),i!==wG.CESIUM_3D_TILE&&i!==wG.BOTH||t.commandList.push(n.derivedCommands.tileset)}function Zce(e,t){const n=e._batchIds,i=n.length;for(let o=0;o<i;++o){const e=n[o],i=t[e];i.show=!0,i.color=j_.WHITE}}Bce.prototype.getPositions=function(e){return Mce.getPolylinePositions(this,e)},Bce.prototype.createFeatures=function(e,t){const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o];t[i]=new SZ(e,i)}},Bce.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};const $ce=new j_,Qce=j_.WHITE,ele=!0;function tle(e){return on.initialize().then((function(){return Fce(e,e._rectangle,e._ellipsoid),new Promise((function(t,n){e._update=function(e,i){const o=i.context,a=Vce(e,o);if(Wce(e,o),Kce(e,o),Xce(e),e._ready){const t=i.passes;(t.render||t.pick)&&Jce(e,i)}Object(r["a"])(a)&&a.then((function(){Hce(e),t(e)})).catch((function(e){n(e)}))}}))}))}Bce.prototype.applyStyle=function(e,t){if(!Object(r["a"])(e))return void Zce(this,t);const n=this._batchIds,i=n.length;for(let o=0;o<i;++o){const i=n[o],a=t[i];a.color=Object(r["a"])(e.color)?e.color.evaluateColor(a,$ce):Qce,a.show=Object(r["a"])(e.show)?e.show.evaluate(a):ele}},Bce.prototype.update=function(e){this._update(this,e)},Bce.prototype.isDestroyed=function(){return!1},Bce.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),Wl(this)};var nle=Bce;function ile(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,lle(this,i,o)}function ole(e){return function(t,n){Object(r["a"])(e._polygons)&&e._polygons.updateCommands(t,n)}}function rle(e,t){let n,i,a,s;const c=Object(o["a"])(e.POLYGONS_LENGTH,0),l=Object(o["a"])(e.POLYLINES_LENGTH,0),u=Object(o["a"])(e.POINTS_LENGTH,0);if(c>0&&Object(r["a"])(e.POLYGON_BATCH_IDS)){const i=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,i,c)}if(l>0&&Object(r["a"])(e.POLYLINE_BATCH_IDS)){const n=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,n,l)}if(u>0&&Object(r["a"])(e.POINT_BATCH_IDS)){const n=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;a=new Uint16Array(t.buffer,n,u)}const h=Object(r["a"])(n)||Object(r["a"])(i)||Object(r["a"])(a),d=c>0&&!Object(r["a"])(n)||l>0&&!Object(r["a"])(i)||u>0&&!Object(r["a"])(a);if(h&&d)throw new ye["a"]("If one group of batch ids is defined, then all batch ids must be defined.");const f=!Object(r["a"])(n)&&!Object(r["a"])(i)&&!Object(r["a"])(a);if(f){let e=0;if(!Object(r["a"])(n)&&c>0)for(n=new Uint16Array(c),s=0;s<c;++s)n[s]=e++;if(!Object(r["a"])(i)&&l>0)for(i=new Uint16Array(l),s=0;s<l;++s)i[s]=e++;if(!Object(r["a"])(a)&&u>0)for(a=new Uint16Array(u),s=0;s<u;++s)a[s]=e++}return{polygons:n,polylines:i,points:a}}Object.defineProperties(ile.prototype,{featuresLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return Object(r["a"])(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return Object(r["a"])(this._polygons)&&(e+=this._polygons.trianglesLength),Object(r["a"])(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return Object(r["a"])(this._polygons)&&(e+=this._polygons.geometryByteLength),Object(r["a"])(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return Object(r["a"])(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return Object(r["a"])(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){const e=Object(r["a"])(this._points)?this._points.readyPromise:void 0,t=Object(r["a"])(this._polygons)?this._polygons.readyPromise:void 0,n=Object(r["a"])(this._polylines)?this._polylines.readyPromise:void 0,i=this;return Promise.all([e,t,n]).then((function(){return i}))}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});const ale=Uint32Array.BYTES_PER_ELEMENT;function sle(e){return new Mce(e)}function cle(e){return new nle(e)}function lle(e,t,n){n=Object(o["a"])(n,0);const i=new Uint8Array(t),a=new DataView(t);n+=ale;const c=a.getUint32(n,!0);if(1!==c)throw new ye["a"](`Only Vector tile version 1 is supported. Version ${c} is not.`);n+=ale;const l=a.getUint32(n,!0);if(n+=ale,0===l)return Promise.resolve(e);const u=a.getUint32(n,!0);if(n+=ale,0===u)throw new ye["a"]("Feature table must have a byte length greater than zero");const h=a.getUint32(n,!0);n+=ale;const d=a.getUint32(n,!0);n+=ale;const f=a.getUint32(n,!0);n+=ale;const p=a.getUint32(n,!0);n+=ale;const m=a.getUint32(n,!0);n+=ale;const _=a.getUint32(n,!0);n+=ale;const b=a.getUint32(n,!0);n+=ale;const y=kd(i,n,u);n+=u;const v=new Uint8Array(t,n,h);let O,w;n+=h,d>0&&(O=kd(i,n,d),n+=d,f>0&&(w=new Uint8Array(t,n,f),w=new Uint8Array(w),n+=f));const A=Object(o["a"])(y.POLYGONS_LENGTH,0),T=Object(o["a"])(y.POLYLINES_LENGTH,0),C=Object(o["a"])(y.POINTS_LENGTH,0),E=A+T+C,x=new EZ(e,E,O,w,ole(e));if(e._batchTable=x,0===E)return;const S=new PZ(y,v),I=S.getGlobalProperty("REGION");if(!Object(r["a"])(I))throw new ye["a"]("Feature table global property: REGION must be defined");const D=Fe.unpack(I),j=I[4],P=I[5],R=e._tile.computedTransform;let M=S.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(M)?(M=g.unpack(M),Ne.multiplyByPoint(R,M,M)):(M=Fe.center(D),M.height=s["a"].lerp(j,P,.5),M=z.WGS84.cartographicToCartesian(M));const N=rle(y,v);if(n+=(4-n%4)%4,A>0){S.featuresLength=A;const i=Object(o["a"])(S.getPropertyArray("POLYGON_COUNTS",$c.UNSIGNED_INT,1),S.getPropertyArray("POLYGON_COUNT",$c.UNSIGNED_INT,1));if(!Object(r["a"])(i))throw new ye["a"]("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");const a=Object(o["a"])(S.getPropertyArray("POLYGON_INDEX_COUNTS",$c.UNSIGNED_INT,1),S.getPropertyArray("POLYGON_INDEX_COUNT",$c.UNSIGNED_INT,1));if(!Object(r["a"])(a))throw new ye["a"]("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");const s=i.reduce((function(e,t){return e+2*t}),0),c=a.reduce((function(e,t){return e+t}),0),l=new Uint32Array(t,n,c);n+=p;const u=new Uint16Array(t,n,s);let h,d;n+=m,Object(r["a"])(y.POLYGON_MINIMUM_HEIGHTS)&&Object(r["a"])(y.POLYGON_MAXIMUM_HEIGHTS)&&(h=S.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",$c.FLOAT,1),d=S.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",$c.FLOAT,1)),e._polygons=new pce({positions:u,counts:i,indexCounts:a,indices:l,minimumHeight:j,maximumHeight:P,polygonMinimumHeights:h,polygonMaximumHeights:d,center:M,rectangle:D,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:x,batchIds:N.polygons,modelMatrix:R})}if(T>0){S.featuresLength=T;const i=Object(o["a"])(S.getPropertyArray("POLYLINE_COUNTS",$c.UNSIGNED_INT,1),S.getPropertyArray("POLYLINE_COUNT",$c.UNSIGNED_INT,1));if(!Object(r["a"])(i))throw new ye["a"]("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let a=S.getPropertyArray("POLYLINE_WIDTHS",$c.UNSIGNED_SHORT,1);if(!Object(r["a"])(a)){a=new Uint16Array(T);for(let e=0;e<T;++e)a[e]=2}const s=i.reduce((function(e,t){return e+3*t}),0),c=new Uint16Array(t,n,s);n+=_;const l=e._tileset,u=l.examineVectorLinesFunction;if(Object(r["a"])(u)){const t=GL(new Uint16Array(c),D,j,P,z.WGS84);hle(t,i,N.polylines,x,e.url,u)}let h=sle;Object(r["a"])(l.classificationType)&&(h=cle),e._polylines=h({positions:c,widths:a,counts:i,batchIds:N.polylines,minimumHeight:j,maximumHeight:P,center:M,rectangle:D,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:x,classificationType:l.classificationType,keepDecodedPositions:l.vectorKeepDecodedPositions})}if(C>0){const i=new Uint16Array(t,n,3*C);n+=b,e._points=new rce({positions:i,batchIds:N.points,minimumHeight:j,maximumHeight:P,rectangle:D,batchTable:x})}return Promise.resolve(e)}function ule(e){const t=e.featuresLength;if(!Object(r["a"])(e._features)&&t>0){const n=new Array(t);Object(r["a"])(e._polygons)&&e._polygons.createFeatures(e,n),Object(r["a"])(e._polylines)&&e._polylines.createFeatures(e,n),Object(r["a"])(e._points)&&e._points.createFeatures(e,n),e._features=n}}function hle(e,t,n,i,o,r){const a=t.length;let s=0;for(let c=0;c<a;c++){const a=3*t[c],l=e.slice(s,s+a);s+=a,r(l,n[c],o,i)}}ile.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},ile.prototype.getFeature=function(e){const t=this.featuresLength;if(!Object(r["a"])(e)||e<0||e>=t)throw new a["a"](`batchId is required and between zero and featuresLength - 1 (${t-1}).`);return ule(this),this._features[e]},ile.prototype.applyDebugSettings=function(e,t){Object(r["a"])(this._polygons)&&this._polygons.applyDebugSettings(e,t),Object(r["a"])(this._polylines)&&this._polylines.applyDebugSettings(e,t),Object(r["a"])(this._points)&&this._points.applyDebugSettings(e,t)},ile.prototype.applyStyle=function(e){ule(this),Object(r["a"])(this._polygons)&&this._polygons.applyStyle(e,this._features),Object(r["a"])(this._polylines)&&this._polylines.applyStyle(e,this._features),Object(r["a"])(this._points)&&this._points.applyStyle(e,this._features)},ile.prototype.update=function(e,t){let n=!0;Object(r["a"])(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons._ready),Object(r["a"])(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines._ready),Object(r["a"])(this._points)&&(this._points.update(t),n=n&&this._points._ready),Object(r["a"])(this._batchTable)&&n&&this._batchTable.update(e,t)},ile.prototype.getPolylinePositions=function(e){const t=this._polylines;if(Object(r["a"])(t))return t.getPositions(e)},ile.prototype.isDestroyed=function(){return!1},ile.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Wl(this)};var dle=ile;function fle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.number("options.count",e.count),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(fle.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(Object(r["a"])(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),fle.prototype.hasProperty=function(e,t){return i["a"].typeOf.number("index",e),i["a"].typeOf.string("propertyId",t),!(!Object(r["a"])(this._metadataTable)||!this._metadataTable.hasProperty(t))||(!(!Object(r["a"])(this._jsonMetadataTable)||!this._jsonMetadataTable.hasProperty(t))||!(!Object(r["a"])(this._batchTableHierarchy)||!this._batchTableHierarchy.hasProperty(e,t)))},fle.prototype.hasPropertyBySemantic=function(e,t){return i["a"].typeOf.number("index",e),i["a"].typeOf.string("semantic",t),!!Object(r["a"])(this._metadataTable)&&this._metadataTable.hasPropertyBySemantic(t)},fle.prototype.propertyExists=function(e){return i["a"].typeOf.string("propertyId",e),!(!Object(r["a"])(this._metadataTable)||!this._metadataTable.hasProperty(e))||(!(!Object(r["a"])(this._jsonMetadataTable)||!this._jsonMetadataTable.hasProperty(e))||!(!Object(r["a"])(this._batchTableHierarchy)||!this._batchTableHierarchy.propertyExists(e)))},fle.prototype.propertyExistsBySemantic=function(e){return i["a"].typeOf.string("semantic",e),!!Object(r["a"])(this._metadataTable)&&this._metadataTable.hasPropertyBySemantic(e)};const ple=[];fle.prototype.getPropertyIds=function(e,t){return t=Object(r["a"])(t)?t:[],t.length=0,Object(r["a"])(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(ple)),Object(r["a"])(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(ple)),Object(r["a"])(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,ple)),t},fle.prototype.getProperty=function(e,t){let n;return Object(r["a"])(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),Object(r["a"])(n))||Object(r["a"])(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),Object(r["a"])(n))||Object(r["a"])(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),Object(r["a"])(n))?n:void 0},fle.prototype.setProperty=function(e,t,n){return!(!Object(r["a"])(this._metadataTable)||!this._metadataTable.setProperty(e,t,n))||(!(!Object(r["a"])(this._jsonMetadataTable)||!this._jsonMetadataTable.setProperty(e,t,n))||Object(r["a"])(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))},fle.prototype.getPropertyBySemantic=function(e,t){if(Object(r["a"])(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)},fle.prototype.setPropertyBySemantic=function(e,t,n){return!!Object(r["a"])(this._metadataTable)&&this._metadataTable.setPropertyBySemantic(e,t,n)},fle.prototype.getPropertyTypedArray=function(e){if(i["a"].typeOf.string("propertyId",e),Object(r["a"])(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)},fle.prototype.getPropertyTypedArrayBySemantic=function(e){if(i["a"].typeOf.string("semantic",e),Object(r["a"])(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};var mle=fle;function _le(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.property,n=e.classProperty,a=e.textures;i["a"].typeOf.object("options.property",t),i["a"].typeOf.object("options.classProperty",n),i["a"].typeOf.object("options.textures",a);const s=t,c=y9.createModelTextureReader({textureInfo:s,channels:yle(t.channels),texture:a[s.index]});this._min=t.min,this._max=t.max;let l=t.offset,u=t.scale;const h=n.hasValueTransform||Object(r["a"])(l)||Object(r["a"])(u);l=Object(o["a"])(l,n.offset),u=Object(o["a"])(u,n.scale),l=n.unpackVectorAndMatrixTypes(l),u=n.unpackVectorAndMatrixTypes(u),this._offset=l,this._scale=u,this._hasValueTransform=h,this._textureReader=c,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(_le.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),_le.prototype.isGpuCompatible=function(){const e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?!e.isVariableLengthArray&&e.arrayLength<=4&&t===_7.SCALAR&&n===p7.UINT8:!(!_7.isVectorType(t)&&t!==_7.SCALAR)&&n===p7.UINT8};const gle=[void 0,"float","vec2","vec3","vec4"],ble=[void 0,"int","ivec2","ivec3","ivec4"];function yle(e){return e.map((function(e){return"rgba".charAt(e)})).join("")}_le.prototype.getGlslType=function(){const e=this._classProperty;let t=_7.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?gle[t]:ble[t]},_le.prototype.unpackInShader=function(e){const t=this._classProperty;if(t.normalized)return e;const n=this.getGlslType();return`${n}(255.0 * ${e})`};var vle=_le;function Ole(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.propertyTexture,n=e.class,a=e.textures;i["a"].typeOf.object("options.propertyTexture",t),i["a"].typeOf.object("options.class",n),i["a"].typeOf.object("options.textures",a);const s=t.extensions,c=t.extras,l={};if(Object(r["a"])(t.properties))for(const i in t.properties)t.properties.hasOwnProperty(i)&&(l[i]=new vle({property:t.properties[i],classProperty:n.properties[i],textures:a}));this._name=e.name,this._id=e.id,this._class=n,this._properties=l,this._extras=c,this._extensions=s}Object.defineProperties(Ole.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Ole.prototype.getProperty=function(e){return i["a"].typeOf.string("propertyId",e),this._properties[e]};var wle=Ole;function Ale(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.property,n=e.classProperty;i["a"].typeOf.object("options.property",t),i["a"].typeOf.object("options.classProperty",n),this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let a=t.offset,s=t.scale;const c=n.hasValueTransform||Object(r["a"])(a)||Object(r["a"])(s);a=Object(o["a"])(a,n.offset),s=Object(o["a"])(s,n.scale),a=n.unpackVectorAndMatrixTypes(a),s=n.unpackVectorAndMatrixTypes(s),this._offset=a,this._scale=s,this._hasValueTransform=c,this._extras=t.extras,this._extensions=t.extensions}function Tle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.propertyAttribute,n=e.class;i["a"].typeOf.object("options.propertyAttribute",t),i["a"].typeOf.object("options.class",n);const a={};if(Object(r["a"])(t.properties))for(const i in t.properties)t.properties.hasOwnProperty(i)&&(a[i]=new Ale({property:t.properties[i],classProperty:n.properties[i]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=a,this._extras=t.extras,this._extensions=t.extensions}function Cle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.schema",e.schema),this._schema=e.schema;const t=e.propertyTables;this._propertyTableCount=Object(r["a"])(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(Ale.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Object.defineProperties(Tle.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Tle.prototype.getProperty=function(e){return i["a"].typeOf.string("propertyId",e),this._properties[e]},Object.defineProperties(Cle.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}}}),Cle.prototype.getPropertyTable=function(e){return i["a"].typeOf.number("propertyTableId",e),this._propertyTables[e]},Cle.prototype.getPropertyTexture=function(e){return i["a"].typeOf.number("propertyTextureId",e),this._propertyTextures[e]},Cle.prototype.getPropertyAttribute=function(e){return i["a"].typeOf.number("propertyAttributeId",e),this._propertyAttributes[e]};var Ele=Cle;function xle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.extension,n=e.schema;i["a"].typeOf.object("options.extension",t),i["a"].typeOf.object("options.schema",n);const a=[];if(Object(r["a"])(t.propertyTables))for(let i=0;i<t.propertyTables.length;i++){const o=t.propertyTables[i],r=n.classes[o.class],s=new r8({count:o.count,properties:o.properties,class:r,bufferViews:e.bufferViews});a.push(new mle({id:i,name:o.name,count:o.count,metadataTable:s,extras:o.extras,extensions:o.extensions}))}const s=[];if(Object(r["a"])(t.propertyTextures))for(let i=0;i<t.propertyTextures.length;i++){const o=t.propertyTextures[i];s.push(new wle({id:i,name:o.name,propertyTexture:o,class:n.classes[o.class],textures:e.textures}))}const c=[];if(Object(r["a"])(t.propertyAttributes))for(let i=0;i<t.propertyAttributes.length;i++){const e=t.propertyAttributes[i];c.push(new Tle({id:i,name:e.name,class:n.classes[e.class],propertyAttribute:e}))}return new Ele({schema:n,propertyTables:a,propertyTextures:s,propertyAttributes:c,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function Sle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.extension,n=e.schema;let a;i["a"].typeOf.object("options.extension",t),i["a"].typeOf.object("options.schema",n);const s=[];let c;if(Object(r["a"])(t.featureTables))for(c=Object.keys(t.featureTables).sort(),a=0;a<c.length;a++){const i=c[a],o=t.featureTables[i],r=n.classes[o.class],l=new r8({count:o.count,properties:o.properties,class:r,bufferViews:e.bufferViews});s.push(new mle({id:i,count:o.count,metadataTable:l,extras:o.extras,extensions:o.extensions}))}const l=[];if(Object(r["a"])(t.featureTextures))for(c=Object.keys(t.featureTextures).sort(),a=0;a<c.length;a++){const i=c[a],o=t.featureTextures[i];l.push(new wle({id:i,propertyTexture:Ile(o),class:n.classes[o.class],textures:e.textures}))}return new Ele({schema:n,propertyTables:s,propertyTextures:l,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function Ile(e){const t={class:e.class,properties:{}},n=e.properties;for(const i in n)if(n.hasOwnProperty(i)){const e=n[i],o={channels:Dle(e.channels),extras:e.extras,extensions:e.extensions};t.properties[i]=Object(xS["a"])(e.texture,o,!0)}return t}function Dle(e){const t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}function jle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltf,n=e.extension,s=e.extensionLegacy,c=e.gltfResource,l=e.baseResource,u=e.supportedImageFormats,h=e.cacheKey,d=Object(o["a"])(e.asynchronous,!0);if(i["a"].typeOf.object("options.gltf",t),i["a"].typeOf.object("options.gltfResource",c),i["a"].typeOf.object("options.baseResource",l),i["a"].typeOf.object("options.supportedImageFormats",u),!Object(r["a"])(e.extension)&&!Object(r["a"])(e.extensionLegacy))throw new a["a"]("One of options.extension or options.extensionLegacy must be specified");this._gltfResource=c,this._baseResource=l,this._gltf=t,this._extension=n,this._extensionLegacy=s,this._supportedImageFormats=u,this._cacheKey=h,this._asynchronous=d,this._bufferViewLoaders=[],this._textureLoaders=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=c8.UNLOADED,this._promise=void 0}function Ple(e,t){for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=i.values,a=i.arrayOffsets,s=i.stringOffsets;Object(r["a"])(o)&&(t[o]=!0),Object(r["a"])(a)&&(t[a]=!0),Object(r["a"])(s)&&(t[s]=!0)}}function Rle(e,t){for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=i.bufferView,a=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;Object(r["a"])(o)&&(t[o]=!0),Object(r["a"])(a)&&(t[a]=!0),Object(r["a"])(s)&&(t[s]=!0)}}function Mle(e){const t=e.propertyTables,n={};if(Object(r["a"])(t))for(let i=0;i<t.length;i++){const e=t[i];Ple(e.properties,n)}return n}function Nle(e){const t=e.featureTables,n={};if(Object(r["a"])(t))for(const i in t)if(t.hasOwnProperty(i)){const e=t[i],o=e.properties;Object(r["a"])(o)&&Rle(o,n)}return n}function Lle(e){let t;t=Object(r["a"])(e._extension)?Mle(e._extension):Nle(e._extensionLegacy);const n=[],i={};for(const o in t)if(t.hasOwnProperty(o)){const t=tee.loadBufferView({gltf:e._gltf,bufferViewId:parseInt(o),gltfResource:e._gltfResource,baseResource:e._baseResource});n.push(t.promise),e._bufferViewLoaders.push(t),i[o]=t}return Promise.all(n).then((function(){const t={};for(const e in i)if(i.hasOwnProperty(e)){const n=i[e],o=new Uint8Array(n.typedArray);t[e]=o}return Hle(e),t}))}function Ble(e){const t={},n=e.propertyTextures;if(Object(r["a"])(n))for(let i=0;i<n.length;i++){const e=n[i],o=e.properties;Object(r["a"])(o)&&Fle(o,t)}return t}function Fle(e,t){for(const n in e)if(e.hasOwnProperty(n)){const i=e[n];t[i.index]=i}}function kle(e){const t={},n=e.featureTextures;if(Object(r["a"])(n))for(const i in n)if(n.hasOwnProperty(i)){const e=n[i],o=e.properties;Object(r["a"])(o)&&zle(o,t)}return t}function zle(e,t){for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],o=i.texture;t[o.index]=o}}function Ule(e){let t;t=Object(r["a"])(e._extension)?Ble(e._extension):kle(e._extensionLegacy);const n=e._gltf,i=e._gltfResource,o=e._baseResource,a=e._supportedImageFormats,s=e._asynchronous,c=[],l={};for(const r in t)if(t.hasOwnProperty(r)){const u=tee.loadTexture({gltf:n,textureInfo:t[r],gltfResource:i,baseResource:o,supportedImageFormats:a,asynchronous:s});c.push(u.promise),e._textureLoaders.push(u),l[r]=u}return Promise.all(c).then((function(){const e={};for(const t in l)if(l.hasOwnProperty(t)){const n=l[t];e[t]=n.texture}return e}))}function Vle(e){const t=Object(o["a"])(e._extension,e._extensionLegacy);let n;if(Object(r["a"])(t.schemaUri)){const i=e._baseResource.getDerivedResource({url:t.schemaUri});n=tee.loadSchema({resource:i})}else n=tee.loadSchema({schema:t.schema});return e._schemaLoader=n,n.promise.then((function(e){return e.schema}))}function Hle(e){const t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)tee.unload(t[i]);e._bufferViewLoaders.length=0}function Gle(e){const t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)tee.unload(t[i]);e._textureLoaders.length=0}Object(r["a"])(Object.create)&&(jle.prototype=Object.create(a8.prototype),jle.prototype.constructor=jle),Object.defineProperties(jle.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}}),jle.prototype.load=function(){const e=Lle(this),t=Ule(this),n=Vle(this);this._gltf=void 0,this._state=c8.LOADING;const i=this;this._promise=Promise.all([e,t,n]).then((function(e){if(i.isDestroyed())return;const t=e[0],n=e[1],o=e[2];return Object(r["a"])(i._extension)?i._structuralMetadata=xle({extension:i._extension,schema:o,bufferViews:t,textures:n}):i._structuralMetadata=Sle({extension:i._extensionLegacy,schema:o,bufferViews:t,textures:n}),i._state=c8.READY,i})).catch((function(e){if(i.isDestroyed())return;i.unload(),i._state=c8.FAILED;const t="Failed to load structural metadata";return Promise.reject(i.getError(t,e))}))},jle.prototype.process=function(e){if(i["a"].typeOf.object("frameState",e),this._state!==c8.LOADING)return;const t=this._textureLoaders,n=t.length;for(let i=0;i<n;++i){const n=t[i];n.process(e)}},jle.prototype.unload=function(){Hle(this),Gle(this),Object(r["a"])(this._schemaLoader)&&tee.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};const qle={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID",fromGltfSemantic:function(e){i["a"].typeOf.string("gltfSemantic",e);let t=e;const n=/^(\w+)_\d+$/,o=n.exec(e);switch(null!==o&&(t=o[1]),t){case"TRANSLATION":return qle.TRANSLATION;case"ROTATION":return qle.ROTATION;case"SCALE":return qle.SCALE;case"_FEATURE_ID":return qle.FEATURE_ID}}};var Wle=Object.freeze(qle);function Yle(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.webp=Object(o["a"])(e.webp,!1),this.basis=Object(o["a"])(e.basis,!1)}const Xle=_9.Attribute,Kle=_9.Indices,Jle=_9.FeatureIdAttribute,Zle=_9.FeatureIdTexture,$le=_9.FeatureIdImplicitRange,Qle=_9.MorphTarget,eue=_9.Primitive,tue=_9.Instances,nue=_9.Skin,iue=_9.Node,oue=_9.AnimatedPropertyType,rue=_9.AnimationSampler,aue=_9.AnimationTarget,sue=_9.AnimationChannel,cue=_9.Animation,lue=_9.Asset,uue=_9.Scene,hue=_9.Components,due=_9.MetallicRoughness,fue=_9.SpecularGlossiness,pue=_9.Material,mue={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,PROCESSED:4,READY:4,FAILED:5};function _ue(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.gltfResource;let n=e.baseResource;const a=e.typedArray,s=Object(o["a"])(e.releaseGltfJson,!1),c=Object(o["a"])(e.asynchronous,!0),l=Object(o["a"])(e.incrementallyLoadTextures,!0),u=Object(o["a"])(e.upAxis,vJ.Y),h=Object(o["a"])(e.forwardAxis,vJ.Z),d=Object(o["a"])(e.loadAttributesAsTypedArray,!1),f=Object(o["a"])(e.loadPositionsFor2D,!1),p=Object(o["a"])(e.loadIndicesForWireframe,!1),m=Object(o["a"])(e.renameBatchIdSemantic,!1);i["a"].typeOf.object("options.gltfResource",t),n=Object(r["a"])(n)?n:t.clone(),this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=n,this._typedArray=a,this._releaseGltfJson=s,this._asynchronous=c,this._incrementallyLoadTextures=l,this._upAxis=u,this._forwardAxis=h,this._loadAttributesAsTypedArray=d,this._loadPositionsFor2D=f,this._loadIndicesForWireframe=p,this._renameBatchIdSemantic=m,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=mue.UNLOADED,this._textureState=mue.UNLOADED,this._promise=void 0,this._texturesLoadedPromise=void 0,this._process=function(e,t){},this._processTextures=function(e,t){},this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._structuralMetadataLoader=void 0,this._components=void 0}function gue(e,t){e.unload();const n="Failed to load glTF";return t=e.getError(n,t),Promise.reject(t)}function bue(e,t){let n;const i=e._bufferViewLoaders,o=i.length;for(n=0;n<o;++n)i[n].process(t);const a=e._geometryLoaders,s=a.length;for(n=0;n<s;++n)a[n].process(t);Object(r["a"])(e._structuralMetadataLoader)&&e._structuralMetadataLoader.process(t)}function yue(e,t,n,i,o,r,a,s){const c=t.accessors[n],l=c.bufferView,u=!a,h=a||s,d=tee.loadVertexBuffer({gltf:t,gltfResource:e._gltfResource,baseResource:e._baseResource,bufferViewId:l,draco:o,attributeSemantic:i,accessorId:n,asynchronous:e._asynchronous,dequantize:r,loadBuffer:u,loadTypedArray:h});return e._geometryLoaders.push(d),d}function vue(e,t,n,i,o){const r=e._loadAttributesAsTypedArray,a=e._loadIndicesForWireframe&&!o.context.webgl2,s=!r,c=r||a,l=tee.loadIndexBuffer({gltf:t,accessorId:n,gltfResource:e._gltfResource,baseResource:e._baseResource,draco:i,asynchronous:e._asynchronous,loadBuffer:s,loadTypedArray:c});return e._geometryLoaders.push(l),l}function Oue(e,t,n){const i=tee.loadBufferView({gltf:t,bufferViewId:n,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(i),i}function wue(e,t,n){let i=t.byteOffset;const o=VZ(e,t),r=t.count,a=zZ(t.type),s=t.componentType,c=$c.getSizeInBytes(s),l=c*a,u=r*a;if(o===l)return n=new Uint8Array(n),$c.createArrayBufferView(s,n.buffer,n.byteOffset+i,u);const h=$c.createTypedArray(s,u),d=new DataView(n.buffer),f=new Array(a),p=l$(t.componentType);i=n.byteOffset+i;for(let m=0;m<r;++m){p(d,i,a,c,f);for(let e=0;e<a;++e)h[m*a+e]=f[e];i+=o}return h}function Aue(e,t){const n=e.type;if(n===cl.SCALAR)return Ah(t,0);const i=cl.getMathType(n);return Ah(t,i.clone(i.ZERO))}function Tue(e,t,n,i){const o=e.type,r=e.count;if(o===cl.SCALAR)for(let a=0;a<r;a++)n[a]=t[a];else if(o===cl.VEC4&&i)for(let a=0;a<r;a++)n[a]=$a.unpack(t,4*a);else{const e=cl.getMathType(o),i=cl.getNumberOfComponents(o);for(let o=0;o<r;o++)n[o]=e.unpack(t,o*i)}return n}function Cue(e,t,n,i){const a=t.accessors[n],s=a.count,c=new Array(s),l=a.bufferView;if(Object(r["a"])(l)){const n=Oue(e,t,l),r=n.promise.then((function(n){if(e.isDestroyed())return;const r=n.typedArray,s=wue(t,a,r);i=Object(o["a"])(i,!1),Tue(a,s,c,i)})).catch((function(){Aue(a,c)}));return e._loaderPromises.push(r),c}return Aue(a,c)}function Eue(e,t){if(Object(r["a"])(t))return e===Number?t[0]:e.unpack(t)}function xue(e){return e===Number?0:new e}function Sue(e,t,n,i,r){const a=e.accessors[t],s=cl.getMathType(a.type),c=new Xle;return c.name=n,c.semantic=i,c.setIndex=r,c.constant=xue(s),c.componentDatatype=a.componentType,c.normalized=Object(o["a"])(a.normalized,!1),c.count=a.count,c.type=a.type,c.min=Eue(s,a.min),c.max=Eue(s,a.max),c.byteOffset=a.byteOffset,c.byteStride=VZ(e,a),c}function Iue(e){const t=/^\w+_(\d+)$/,n=t.exec(e);if(null!==n)return parseInt(n[1])}function Due(e,t,n,i,o,a,s,c,l,u){const h=t.accessors[n],d=h.bufferView;let f=o;!e._renameBatchIdSemantic||"_BATCHID"!==o&&"BATCHID"!==o||(f="_FEATURE_ID_0");const p=o,m=i.fromGltfSemantic(f),_=Object(r["a"])(m)?Iue(f):void 0,g=Sue(t,n,p,m,_);if(!Object(r["a"])(a)&&!Object(r["a"])(d))return g;const b=m===Kte.POSITION&&e._loadPositionsFor2D&&!u.scene3DOnly,y=yue(e,t,n,o,a,s,c,b),v=y.promise.then((function(n){if(!e.isDestroyed()){if(l){const e=n.typedArray;g.packedTypedArray=wue(t,h,e),g.byteOffset=0,g.byteStride=void 0}else g.typedArray=n.typedArray,g.buffer=n.buffer;Object(r["a"])(a)&&Object(r["a"])(a.attributes)&&Object(r["a"])(a.attributes[o])&&(g.byteOffset=0,g.byteStride=void 0,g.quantization=n.quantization)}}));return e._loaderPromises.push(v),g}function jue(e,t,n,i,o,r){return Due(e,t,n,Kte,i,o,!1,e._loadAttributesAsTypedArray,!1,r)}function Pue(e,t,n,i,o){return Due(e,t,n,Wle,i,void 0,!0,o,o)}function Rue(e,t,n,i,o){const a=t.accessors[n],s=a.bufferView;if(!Object(r["a"])(i)&&!Object(r["a"])(s))return;const c=new Kle;c.count=a.count;const l=vue(e,t,n,i,o),u=l.promise.then((function(t){e.isDestroyed()||(c.indexDatatype=t.indexDatatype,c.buffer=t.buffer,c.typedArray=t.typedArray)}));return e._loaderPromises.push(u),c}function Mue(e,t,n,i,o){const a=y9.getImageIdFromTexture({gltf:t,textureId:n.index,supportedImageFormats:i});if(!Object(r["a"])(a))return;const s=tee.loadTexture({gltf:t,textureInfo:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:i,asynchronous:e._asynchronous});e._textureLoaders.push(s);const c=y9.createModelTextureReader({textureInfo:n}),l=s.promise.then((function(t){e.isDestroyed()||(c.texture=t.texture,Object(r["a"])(o)&&(c.texture.sampler=o))}));return e._texturesPromises.push(l),c}function Nue(e,t,n,i){const a=new pue,s=Object(o["a"])(n.extensions,o["a"].EMPTY_OBJECT),c=s.KHR_materials_pbrSpecularGlossiness,l=n.pbrMetallicRoughness;if(a.unlit=Object(r["a"])(s.KHR_materials_unlit),Object(r["a"])(c)){const n=new fue;a.specularGlossiness=n,Object(r["a"])(c.diffuseTexture)&&(n.diffuseTexture=Mue(e,t,c.diffuseTexture,i)),Object(r["a"])(c.specularGlossinessTexture)&&Object(r["a"])(c.specularGlossinessTexture)&&(n.specularGlossinessTexture=Mue(e,t,c.specularGlossinessTexture,i)),n.diffuseFactor=Eue(be,c.diffuseFactor),n.specularFactor=Eue(g,c.specularFactor),n.glossinessFactor=c.glossinessFactor,a.pbrSpecularGlossiness=c}else if(Object(r["a"])(l)){const n=new due;a.metallicRoughness=n,Object(r["a"])(l.baseColorTexture)&&(n.baseColorTexture=Mue(e,t,l.baseColorTexture,i)),Object(r["a"])(l.metallicRoughnessTexture)&&(n.metallicRoughnessTexture=Mue(e,t,l.metallicRoughnessTexture,i)),n.baseColorFactor=Eue(be,l.baseColorFactor),n.metallicFactor=l.metallicFactor,n.roughnessFactor=l.roughnessFactor,a.pbrMetallicRoughness=l}return Object(r["a"])(n.emissiveTexture)&&(a.emissiveTexture=Mue(e,t,n.emissiveTexture,i)),Object(r["a"])(n.normalTexture)&&(a.normalTexture=Mue(e,t,n.normalTexture,i)),Object(r["a"])(n.occlusionTexture)&&(a.occlusionTexture=Mue(e,t,n.occlusionTexture,i)),a.emissiveFactor=Eue(g,n.emissiveFactor),a.alphaMode=n.alphaMode,a.alphaCutoff=n.alphaCutoff,a.doubleSided=n.doubleSided,a}function Lue(e,t){const n=new Jle;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function Bue(e,t,n,i){const o=new Jle,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=Iue(r.attribute),o.positionalLabel=i,o}function Fue(e,t){const n=new $le;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function kue(e,t,n,i){const r=new $le,a=e.featureIds;r.propertyTableId=t,r.featureCount=n,r.offset=Object(o["a"])(a.constant,0);const s=Object(o["a"])(a.divisor,0);return r.repeat=0===s?void 0:s,r.positionalLabel=i,r}function zue(e,t,n,i,o){const r=new Zle;r.featureCount=n.featureCount,r.nullFeatureId=n.nullFeatureId,r.propertyTableId=n.propertyTable,r.label=n.label,r.positionalLabel=o;const a=n.texture;r.textureReader=Mue(e,t,a,i,$F.NEAREST);const s=a.channels.map((function(e){return"rgba".charAt(e)})).join("");return r.textureReader.channels=s,r}function Uue(e,t,n,i,o,r,a){const s=new Zle,c=n.featureIds,l=c.texture;return s.featureCount=r,s.propertyTableId=i,s.textureReader=Mue(e,t,l,o,$F.NEAREST),s.textureReader.channels=c.channels,s.positionalLabel=a,s}function Vue(e,t,n){const i=new Qle;for(const o in n)if(n.hasOwnProperty(o)){const r=n[o];i.attributes.push(jue(e,t,r,o,void 0))}return i}function Hue(e,t,n,i,a){const s=new eue,c=n.material;Object(r["a"])(c)&&(s.material=Nue(e,t,t.materials[c],i));const l=Object(o["a"])(n.extensions,o["a"].EMPTY_OBJECT),u=l.KHR_draco_mesh_compression,h=n.attributes;if(Object(r["a"])(h))for(const o in h)if(h.hasOwnProperty(o)){const n=h[o];s.attributes.push(jue(e,t,n,o,u,a))}const d=n.targets;if(Object(r["a"])(d)){const n=d.length;for(let i=0;i<n;++i)s.morphTargets.push(Vue(e,t,d[i]))}const f=n.indices;Object(r["a"])(f)&&(s.indices=Rue(e,t,f,u,a));const p=l.EXT_structural_metadata,m=l.EXT_mesh_features,_=l.EXT_feature_metadata,g=Object(r["a"])(_);return Object(r["a"])(m)?Gue(e,t,s,m,i):g&&que(e,t,s,_,i),Object(r["a"])(p)?Wue(s,p):g&&Yue(e,s,_),s.primitiveType=n.mode,s}function Gue(e,t,n,i,o){let a;a=Object(r["a"])(i)&&Object(r["a"])(i.featureIds)?i.featureIds:[];for(let s=0;s<a.length;s++){const i=a[s],c="featureId_"+s;let l;l=Object(r["a"])(i.texture)?zue(e,t,i,o,c):Object(r["a"])(i.attribute)?Lue(i,c):Fue(i,c),n.featureIds.push(l)}}function que(e,t,n,i,o){const a=t.extensions.EXT_feature_metadata.featureTables;let s=0;const c=i.featureIdAttributes;if(Object(r["a"])(c)){const t=c.length;for(let i=0;i<t;++i){const t=c[i],o=t.featureTable,l=e._sortedPropertyTableIds.indexOf(o),u=a[o].count,h="featureId_"+s;let d;s++,d=Object(r["a"])(t.featureIds.attribute)?Bue(t,l,u,h):kue(t,l,u,h),n.featureIds.push(d)}}const l=i.featureIdTextures;if(Object(r["a"])(l)){const i=l.length;for(let r=0;r<i;++r){const i=l[r],c=i.featureTable,u=e._sortedPropertyTableIds.indexOf(c),h=a[c].count,d="featureId_"+s;s++;const f=Uue(e,t,i,u,o,h,d);n.featureIds.push(f)}}}function Wue(e,t){Object(r["a"])(t)&&(Object(r["a"])(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),Object(r["a"])(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function Yue(e,t,n){Object(r["a"])(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map((function(t){return e._sortedFeatureTextureIds.indexOf(t)})))}function Xue(e,t,n,i){const a=n.EXT_mesh_gpu_instancing,s=new tue,c=a.attributes;if(Object(r["a"])(c)){const n=Object(r["a"])(c.ROTATION),o=Object(r["a"])(c.TRANSLATION)&&Object(r["a"])(t.accessors[c.TRANSLATION].min)&&Object(r["a"])(t.accessors[c.TRANSLATION].max);for(const r in c)if(c.hasOwnProperty(r)){const a=r===Wle.TRANSLATION||r===Wle.ROTATION||r===Wle.SCALE,l=e._loadAttributesAsTypedArray||(n||!o)&&a||r.indexOf(Wle.FEATURE_ID)>=0||!i.context.instancedArrays,u=c[r];s.attributes.push(Pue(e,t,u,r,l))}}const l=Object(o["a"])(a.extensions,o["a"].EMPTY_OBJECT),u=n.EXT_instance_features,h=l.EXT_feature_metadata;return Object(r["a"])(u)?Kue(s,u):Object(r["a"])(h)&&Jue(t,s,h,e._sortedPropertyTableIds),s}function Kue(e,t){const n=t.featureIds;for(let i=0;i<n.length;i++){const t=n[i],o="instanceFeatureId_"+i;let a;a=Object(r["a"])(t.attribute)?Lue(t,o):Fue(t,o),e.featureIds.push(a)}}function Jue(e,t,n,i){const o=e.extensions.EXT_feature_metadata.featureTables,a=n.featureIdAttributes;if(Object(r["a"])(a)){const e=a.length;for(let n=0;n<e;++n){const e=a[n],s=e.featureTable,c=i.indexOf(s),l=o[s].count,u="instanceFeatureId_"+n;let h;h=Object(r["a"])(e.featureIds.attribute)?Bue(e,c,l,u):kue(e,c,l,u),t.featureIds.push(h)}}}function Zue(e,t,n,i,a){const s=new iue;s.name=n.name,s.matrix=Eue(Ne,n.matrix),s.translation=Eue(g,n.translation),s.rotation=Eue($a,n.rotation),s.scale=Eue(g,n.scale);const c=n.mesh;if(Object(r["a"])(c)){const l=t.meshes[c],u=l.primitives,h=u.length;for(let n=0;n<h;++n)s.primitives.push(Hue(e,t,u[n],i,a));const d=Object(o["a"])(n.weights,l.weights),f=s.primitives[0].morphTargets,p=f.length;s.morphWeights=Object(r["a"])(d)?d.slice():Ah(new Array(p),0)}const l=Object(o["a"])(n.extensions,o["a"].EMPTY_OBJECT),u=l.EXT_mesh_gpu_instancing;return Object(r["a"])(u)&&(s.instances=Xue(e,t,l,a)),s}function $ue(e,t,n,i){let o,a;const s=t.nodes.length,c=new Array(s);for(o=0;o<s;++o){const r=Zue(e,t,t.nodes[o],n,i);r.index=o,c[o]=r}for(o=0;o<s;++o){const e=t.nodes[o].children;if(Object(r["a"])(e)){const t=e.length;for(a=0;a<t;++a)c[o].children.push(c[e[a]])}}return c}function Que(e,t,n,i){const o=new nue,a=n.joints,s=a.length,c=new Array(s);for(let r=0;r<s;++r)c[r]=i[a[r]];o.joints=c;const l=n.inverseBindMatrices;return Object(r["a"])(l)?o.inverseBindMatrices=Cue(e,t,l):o.inverseBindMatrices=Ah(new Array(s),Ne.IDENTITY),o}function ehe(e,t,n){let i;const o=t.skins;if(!Object(r["a"])(o))return[];const a=t.skins.length,s=new Array(a);for(i=0;i<a;++i){const o=Que(e,t,t.skins[i],n);o.index=i,s[i]=o}const c=n.length;for(i=0;i<c;++i){const e=t.nodes[i].skin;Object(r["a"])(e)&&(n[i].skin=s[e])}return s}function the(e,t,n,i,o){const r=new jle({gltf:t,extension:n,extensionLegacy:i,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:o,asynchronous:e._asynchronous});return r.load(),e._structuralMetadataLoader=r,r}function nhe(e,t,n){const i=new rue,r=n.input;i.input=Cue(e,t,r);const a=n.interpolation;i.interpolation=Object(o["a"])(vx[a],vx.LINEAR);const s=n.output;return i.output=Cue(e,t,s,!0),i}function ihe(e,t){const n=new aue,i=e.node;if(!Object(r["a"])(i))return;n.node=t[i];const o=e.path.toUpperCase();return n.path=oue[o],n}function ohe(e,t,n){const i=new sue,o=e.sampler;return i.sampler=t[o],i.target=ihe(e.target,n),i}function rhe(e,t,n,i){let o;const r=new cue;r.name=n.name;const a=n.samplers,s=a.length,c=new Array(s);for(o=0;o<s;o++){const n=nhe(e,t,a[o]);n.index=o,c[o]=n}const l=n.channels,u=l.length,h=new Array(u);for(o=0;o<u;o++)h[o]=ohe(l[o],c,i);return r.samplers=c,r.channels=h,r}function ahe(e,t,n){let i;const o=t.animations;if(!Object(r["a"])(o))return[];const a=t.animations.length,s=new Array(a);for(i=0;i<a;++i){const o=rhe(e,t,t.animations[i],n);o.index=i,s[i]=o}return s}function she(e){let t;return Object(r["a"])(e.scenes)&&Object(r["a"])(e.scene)&&(t=e.scenes[e.scene].nodes),t=Object(o["a"])(t,e.nodes),t=Object(r["a"])(t)?t:[],t}function che(e,t){const n=new uue,i=she(e);return n.nodes=i.map((function(e){return t[e]})),n}function lhe(e,t,n,i,a,s){const c=Object(o["a"])(t.extensions,o["a"].EMPTY_OBJECT),l=c.EXT_structural_metadata,u=c.EXT_feature_metadata;if(Object(r["a"])(u)){const t=u.featureTables,n=u.featureTextures,i=Object(r["a"])(t)?t:[],o=Object(r["a"])(n)?n:[];e._sortedPropertyTableIds=Object.keys(i).sort(),e._sortedFeatureTextureIds=Object.keys(o).sort()}const h=$ue(e,t,n,i),d=ehe(e,t,h),f=ahe(e,t,h),p=che(t,h),m=new hue,_=new lue,g=t.asset.copyright;if(Object(r["a"])(g)){const e=g.split(";").map((function(e){return new fi(e.trim())}));_.credits=e}if(m.asset=_,m.scene=p,m.nodes=h,m.skins=d,m.animations=f,m.upAxis=e._upAxis,m.forwardAxis=e._forwardAxis,e._components=m,Object(r["a"])(l)||Object(r["a"])(u)){const i=the(e,t,l,u,n),o=i.promise.then((function(t){e.isDestroyed()||(m.structuralMetadata=t.structuralMetadata)}));e._loaderPromises.push(o)}const b=[];b.push.apply(b,e._loaderPromises),e._incrementallyLoadTextures||b.push.apply(b,e._texturesPromises),Promise.all(b).then((function(){e.isDestroyed()||(e._state=mue.PROCESSED)})).catch(a),Promise.all(e._texturesPromises).then((function(){e.isDestroyed()||(e._textureState=mue.PROCESSED)})).catch(s)}function uhe(e){const t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)tee.unload(t[i]);e._textureLoaders.length=0}function hhe(e){const t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)tee.unload(t[i]);e._bufferViewLoaders.length=0}function dhe(e){const t=e._geometryLoaders,n=t.length;for(let i=0;i<n;++i)tee.unload(t[i]);e._geometryLoaders.length=0}function fhe(e){Object(r["a"])(e._structuralMetadataLoader)&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}Object(r["a"])(Object.create)&&(_ue.prototype=Object.create(a8.prototype),_ue.prototype.constructor=_ue),Object.defineProperties(_ue.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}}}),_ue.prototype.load=function(){const e=tee.loadGltfJson({gltfResource:this._gltfResource,baseResource:this._baseResource,typedArray:this._typedArray,gltfJson:this._gltfJson});this._gltfJsonLoader=e,this._state=mue.LOADING,this._textureState=mue.LOADING;const t=this;let n;const i=new Promise((function(e,i){n=new Promise((function(n,o){t._process=function(t,n){if(Ta.supportsWebP.initialized){if(t._state===mue.LOADED){t._state=mue.PROCESSING;const e=new Yle({webp:Ta.supportsWebP(),basis:n.context.supportsBasis});let a;a=Object(r["a"])(t._gltfJsonLoader)?t._gltfJsonLoader.gltf:t._gltfJson,lhe(t,a,e,n,i,o),Object(r["a"])(t._gltfJsonLoader)&&t._releaseGltfJson&&(tee.unload(t._gltfJsonLoader),t._gltfJsonLoader=void 0)}t._state===mue.PROCESSING&&bue(t,n),t._state===mue.PROCESSED&&(hhe(t),t._state=mue.READY,e(t))}else Ta.supportsWebP.initialize()},t._processTextures=function(e,t){if(e._textureState===mue.LOADED&&(e._textureState=mue.PROCESSING),e._textureState===mue.PROCESSING){let n;const i=e._textureLoaders,o=i.length;for(n=0;n<o;++n)i[n].process(t)}e._textureState===mue.PROCESSED&&(e._textureState=mue.READY,n(e))}}))}));return this._promise=e.promise.then((function(){if(!t.isDestroyed())return t._state=mue.LOADED,t._textureState=mue.LOADED,i})).catch((function(e){if(!t.isDestroyed())return t._state=mue.FAILED,t._textureState=mue.FAILED,gue(t,e)})),this._texturesLoadedPromise=n.catch((function(e){if(!t.isDestroyed())return t._textureState=mue.FAILED,gue(t,e)})),this._promise},_ue.prototype.process=function(e){i["a"].typeOf.object("frameState",e),this._process(this,e),this._processTextures(this,e)},_ue.prototype.unload=function(){Object(r["a"])(this._gltfJsonLoader)&&tee.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,uhe(this),hhe(this),dhe(this),fhe(this),this._components=void 0};const phe=_9.AnimatedPropertyType;function mhe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.channel,n=e.runtimeAnimation,r=e.runtimeNode;i["a"].typeOf.object("options.channel",t),i["a"].typeOf.object("options.runtimeAnimation",n),i["a"].typeOf.object("options.runtimeNode",r),this._channel=t,this._runtimeAnimation=n,this._runtimeNode=r,this._splines=[],this._path=void 0,vhe(this)}function _he(e,t){const n=[],i=[],o=[],r=t.length;for(let a=0;a<r;a+=3)i.push(t[a]),n.push(t[a+1]),o.push(t[a+2]);return i.splice(0,1),o.length=o.length-1,new Cd({times:e,points:n,inTangents:i,outTangents:o})}function ghe(e,t,n,i){if(1===e.length&&1===t.length)return new B_(t[0]);switch(n){case vx.STEP:return new uN({times:e,points:t});case vx.CUBICSPLINE:return _he(e,t);case vx.LINEAR:return i===phe.ROTATION?new TD({times:e,points:t}):new fd({times:e,points:t})}}function bhe(e,t,n,i,o){const r=[];if(i===phe.WEIGHTS){const a=t.length,s=a/o;let c,l;for(c=0;c<o;c++){const a=new Array(s);let u=c;if(n===vx.CUBICSPLINE)for(l=0;l<s;l+=3)a[l]=t[u],a[l+1]=t[u+o],a[l+2]=t[u+2*o],u+=3*o;else for(l=0;l<s;l++)a[l]=t[u],u+=o;r.push(ghe(e,a,n,i))}}else r.push(ghe(e,t,n,i));return r}let yhe;function vhe(e){const t=e._channel,n=t.sampler,i=n.input,o=n.output,a=n.interpolation,s=t.target,c=s.path,l=e._runtimeNode,u=Object(r["a"])(l.morphWeights)?l.morphWeights.length:1,h=bhe(i,o,a,c,u);switch(e._splines=h,e._path=c,c){case phe.TRANSLATION:case phe.SCALE:yhe=new g;break;case phe.ROTATION:yhe=new $a;break;case phe.WEIGHTS:break}}Object.defineProperties(mhe.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}}),mhe.prototype.animate=function(e){const t=this._splines,n=this._path,i=this._runtimeAnimation.model;if(n===phe.WEIGHTS){const n=this._runtimeNode.morphWeights,o=n.length;for(let r=0;r<o;r++){const o=t[r],a=i.clampAnimations?o.clampTime(e):o.wrapTime(e);n[r]=o.evaluate(a)}}else{const o=t[0],r=i.clampAnimations?o.clampTime(e):o.wrapTime(e);this._runtimeNode[n]=o.evaluate(r,yhe)}};var Ohe=mhe;function whe(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=gr.clone(n.startTime),this._delay=Object(o["a"])(n.delay,0),this._stopTime=gr.clone(n.stopTime),this.removeOnStop=Object(o["a"])(n.removeOnStop,!1),this._multiplier=Object(o["a"])(n.multiplier,1),this._reverse=Object(o["a"])(n.reverse,!1),this._loop=Object(o["a"])(n.loop,u3.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new pi["a"],this.update=new pi["a"],this.stop=new pi["a"],this._state=h3.STOPPED,this._computedStartTime=void 0,this._duration=void 0;const i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,Ahe(this)}function Ahe(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE;const i=e._model.sceneGraph,o=e._animation,a=o.channels,s=a.length,c=[];for(let l=0;l<s;l++){const o=a[l],s=o.target;if(!Object(r["a"])(s))continue;const u=s.node.index,h=i._runtimeNodes[u],d=new Ohe({channel:o,runtimeAnimation:e,runtimeNode:h}),f=o.sampler.input;t=Math.min(t,f[0]),n=Math.max(n,f[f.length-1]),c.push(d)}e._runtimeChannels=c,e._localStartTime=t,e._localStopTime=n}Object.defineProperties(whe.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}}),whe.prototype.animate=function(e){const t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var The=whe;function Che(e){this.animationAdded=new pi["a"],this.animationRemoved=new pi["a"],this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}function Ehe(e,t,n){const i=e._model,o=new The(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}Object.defineProperties(Che.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}}),Che.prototype.add=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=this._model;if(!t.ready)throw new a["a"]("Animations are not loaded. Wait for ModelExperimental.readyPromise to resolve.");const n=t.sceneGraph.components.animations;if(!Object(r["a"])(e.name)&&!Object(r["a"])(e.index))throw new a["a"]("Either options.name or options.index must be defined.");if(Object(r["a"])(e.multiplier)&&e.multiplier<=0)throw new a["a"]("options.multiplier must be greater than zero.");if(Object(r["a"])(e.index)&&(e.index>=n.length||e.index<0))throw new a["a"]("options.index must be a valid animation index.");let i=e.index;if(Object(r["a"])(i))return Ehe(this,n[i],e);const s=n.length;for(let o=0;o<s;++o)if(n[o].name===e.name){i=o;break}if(!Object(r["a"])(i))throw new a["a"]("options.name must be a valid animation name.");return Ehe(this,n[i],e)},Che.prototype.addAll=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=this._model;if(!t.ready)throw new a["a"]("Animations are not loaded. Wait for Model.readyPromise to resolve.");if(Object(r["a"])(e.multiplier)&&e.multiplier<=0)throw new a["a"]("options.multiplier must be greater than zero.");const n=t.sceneGraph.components.animations,i=[],s=n.length;for(let o=0;o<s;++o){const t=Ehe(this,n[o],e);i.push(t)}return i},Che.prototype.remove=function(e){if(!Object(r["a"])(e))return!1;const t=this._runtimeAnimations,n=t.indexOf(e);return-1!==n&&(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0)},Che.prototype.removeAll=function(){const e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])},Che.prototype.contains=function(e){return!!Object(r["a"])(e)&&-1!==this._runtimeAnimations.indexOf(e)},Che.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");if(e>=this._runtimeAnimations.length||e<0)throw new a["a"]("index must be valid within the range of the collection");return this._runtimeAnimations[e]};const xhe=[];function She(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}Che.prototype.update=function(e){const t=this._runtimeAnimations;let n=t.length;if(0===n)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&gr.equals(e.time,this._previousTime))return!1;this._previousTime=gr.clone(e.time,this._previousTime);let i=!1;const a=e.time,c=this._model;for(let l=0;l<n;++l){const n=t[l];Object(r["a"])(n._computedStartTime)||(n._computedStartTime=gr.addSeconds(Object(o["a"])(n.startTime,a),n.delay,new gr)),Object(r["a"])(n._duration)||(n._duration=n.localStopTime*(1/n.multiplier));const c=n._computedStartTime,u=n._duration,h=n.stopTime,d=gr.lessThanOrEquals(c,a),f=Object(r["a"])(h)&&gr.greaterThan(a,h);let p=0;if(0!==u){const e=gr.secondsDifference(f?h:a,c);p=Object(r["a"])(n._animationTime)?n._animationTime(u,e):e/u}const m=n.loop===u3.REPEAT||n.loop===u3.MIRRORED_REPEAT,_=(d||m&&!Object(r["a"])(n.startTime))&&(p<=1||m)&&!f;if(p===n._prevAnimationDelta){const e=n._state===h3.STOPPED;if(_!==e)continue}if(n._prevAnimationDelta=p,_||n._state===h3.ANIMATING){if(_&&n._state===h3.STOPPED&&(n._state=h3.ANIMATING,n.start.numberOfListeners>0&&e.afterRender.push(n._raiseStartEvent)),n.loop===u3.REPEAT)p-=Math.floor(p);else if(n.loop===u3.MIRRORED_REPEAT){const e=Math.floor(p),t=p-e;p=e%2===1?1-t:t}n.reverse&&(p=1-p);let t=p*u*n.multiplier;t=s["a"].clamp(t,n.localStartTime,n.localStopTime),n.animate(t),n.update.numberOfListeners>0&&(n._updateEventTime=t,e.afterRender.push(n._raiseUpdateEvent)),i=!0,_||(n._state=h3.STOPPED,n.stop.numberOfListeners>0&&e.afterRender.push(n._raiseStopEvent),n.removeOnStop&&xhe.push(n))}}n=xhe.length;for(let o=0;o<n;++o){const n=xhe[o];t.splice(t.indexOf(n),1),e.afterRender.push(She(this,c,n))}return xhe.length=0,i};var Ihe=Che;const Dhe={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2,getStyleCommandsNeeded:function(e,t){return 0===t?Dhe.ALL_OPAQUE:t===e?Dhe.ALL_TRANSLUCENT:Dhe.OPAQUE_AND_TRANSLUCENT}};var jhe=Object.freeze(Dhe);function Phe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.command,n=e.primitiveRenderResources;i["a"].typeOf.object("options.command",t),i["a"].typeOf.object("options.primitiveRenderResources",n),this._command=t,this._modelMatrix=Ne.clone(t.modelMatrix,new Ne),this._modelMatrix2DDirty=!1,this._styleCommandsNeeded=n.styleCommandsNeeded,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=n.model.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._commandList=[],this._commandList2D=[],this._runtimePrimitive=n.runtimePrimitive,this._model=n.model,Rhe(this)}function Rhe(e,t){const n=e._commandList,i=e._command,o=e._styleCommandsNeeded;if(Object(r["a"])(o)&&i.pass!==oz.TRANSLUCENT){const e=Vhe(i);switch(o){case jhe.ALL_OPAQUE:n.push(i);break;case jhe.ALL_TRANSLUCENT:n.push(e);break;case jhe.OPAQUE_AND_TRANSLUCENT:n.push(i,e);break;default:throw new ye["a"]("styleCommandsNeeded is not a valid value.")}}else n.push(i)}function Mhe(e){const t=[];return t.push.apply(t,e._commandList),t.push.apply(t,e._commandList2D),t}Object.defineProperties(Phe.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=Ne.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,Lhe(this)}},boundingVolume:{get:function(){return this._command.boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,Fhe(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){const t=this.runtimePrimitive.primitive.material.doubleSided,n=Object(r["a"])(this._model.color)&&this._model.color.alpha<1,i=e&&!t&&!n;this._backFaceCulling!==i&&(this._backFaceCulling=i,khe(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,zhe(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume=e,Uhe(this)}}});const Nhe=new Ne;function Lhe(e){const t=e.modelMatrix,n=e.runtimePrimitive.boundingSphere,i=e._commandList,o=i.length;for(let r=0;r<o;r++){const e=i[r];e.modelMatrix=Ne.clone(t,e.modelMatrix),e.boundingVolume=Tt.transform(n,e.modelMatrix,e.boundingVolume)}}function Bhe(e,t){const n=e.modelMatrix,i=e.runtimePrimitive.boundingSphere,o=e._commandList2D,r=o.length;if(0===r)return;const a=Ne.clone(n,Nhe);a[13]-=2*s["a"].sign(n[13])*s["a"].PI*t.mapProjection.ellipsoid.maximumRadius;for(let s=0;s<r;s++){const e=o[s];e.modelMatrix=Ne.clone(a,e.modelMatrix),e.boundingVolume=Tt.transform(i,e.modelMatrix,e.boundingVolume)}}function Fhe(e){const t=e.shadows,n=wq.castShadows(t),i=wq.receiveShadows(t),o=Mhe(e),r=o.length;for(let a=0;a<r;a++){const e=o[a];e.castShadows=n,e.receiveShadows=i}}function khe(e){const t=e.backFaceCulling,n=Mhe(e),i=n.length;for(let o=0;o<i;o++){const e=n[o];if(e.pass===oz.TRANSLUCENT)continue;const i=Object(jL["a"])(e.renderState,!0);i.cull.enabled=t,e.renderState=Mz.fromCache(i)}}function zhe(e){const t=e.cullFace,n=Mhe(e),i=n.length;for(let o=0;o<i;o++){const e=n[o],i=Object(jL["a"])(e.renderState,!0);i.cull.face=t,e.renderState=Mz.fromCache(i)}}function Uhe(e){const t=e.debugShowBoundingVolume,n=Mhe(e),i=n.length;for(let o=0;o<i;o++){const e=n[o];e.debugShowBoundingVolume=t}}function Vhe(e){const t=nz.shallowClone(e);t.pass=oz.TRANSLUCENT;const n=Object(jL["a"])(e.renderState,!0);return n.cull.enabled=!1,n.depthTest.enabled=!0,n.depthMask=!1,n.blending=MF.ALPHA_BLEND,t.renderState=Mz.fromCache(n),t}function Hhe(e){const t=nz.shallowClone(e);return t.modelMatrix=new Ne,t.boundingVolume=new Tt,t}function Ghe(e,t){if(t.mode!==vq.SCENE2D||e.model._projectTo2D)return;const n=t.mapProjection.ellipsoid.maximumRadius*s["a"].PI,i=e.model,o=i.sceneGraph._boundingSphere2D,r=o.center.y-o.radius,a=o.center.y+o.radius;return r<n&&a>n||r<-n&&a>-n}Phe.prototype.getCommands=function(e){const t=this._commandList,n=this._commandList2D,i=Ghe(this,e);if(i&&0===n.length){const e=t.length;for(let i=0;i<e;i++){const e=Hhe(t[i]);n.push(e)}this._modelMatrix2DDirty=!0}this._modelMatrix2DDirty&&(Bhe(this,e),this._modelMatrix2DDirty=!1);const o=[];return o.push.apply(o,t),i&&o.push.apply(o,n),o};var qhe=Phe,Whe="#if defined(HAS_NORMALS) && !defined(HAS_TANGENTS) && !defined(LIGHTING_UNLIT)\n #ifdef GL_OES_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n #endif\n#endif\n\nczm_modelMaterial defaultModelMaterial()\n{\n czm_modelMaterial material;\n material.diffuse = vec3(1.0);\n material.specular = vec3(0.04); // dielectric (non-metal)\n material.roughness = 0.0;\n material.occlusion = 1.0;\n material.normalEC = vec3(0.0, 0.0, 1.0);\n material.emissive = vec3(0.0);\n material.alpha = 1.0;\n return material;\n}\n\nvec4 handleAlpha(vec3 color, float alpha)\n{\n #ifdef ALPHA_MODE_MASK\n if (alpha < u_alphaCutoff) {\n discard;\n }\n return vec4(color, 1.0);\n #elif defined(ALPHA_MODE_BLEND)\n return vec4(color, alpha);\n #else // OPAQUE\n return vec4(color, 1.0);\n #endif\n}\n\nSelectedFeature selectedFeature;\n\nvoid main()\n{\n #ifdef HAS_MODEL_SPLITTER\n modelSplitterStage();\n #endif\n\n czm_modelMaterial material = defaultModelMaterial();\n\n ProcessedAttributes attributes;\n geometryStage(attributes);\n\n FeatureIds featureIds;\n featureIdStage(featureIds, attributes);\n\n Metadata metadata;\n metadataStage(metadata, attributes);\n\n #ifdef HAS_SELECTED_FEATURE_ID\n selectedFeatureIdStage(selectedFeature, featureIds);\n #endif\n\n #ifndef CUSTOM_SHADER_REPLACE_MATERIAL\n materialStage(material, attributes, selectedFeature);\n #endif\n\n #ifdef HAS_CUSTOM_FRAGMENT_SHADER\n customShaderStage(material, attributes, featureIds, metadata);\n #endif\n\n lightingStage(material, attributes);\n\n #ifdef HAS_SELECTED_FEATURE_ID\n cpuStylingStage(material, selectedFeature);\n #endif\n\n #ifdef HAS_MODEL_COLOR\n modelColorStage(material);\n #endif\n\n vec4 color = handleAlpha(material.diffuse, material.alpha);\n\n #ifdef HAS_CLIPPING_PLANES\n modelClippingPlanesStage(color);\n #endif\n\n gl_FragColor = color;\n}\n",Yhe="precision highp float;\n\nczm_modelVertexOutput defaultVertexOutput(vec3 positionMC) {\n czm_modelVertexOutput vsOutput;\n vsOutput.positionMC = positionMC;\n vsOutput.pointSize = 1.0;\n return vsOutput;\n}\n\nvoid main() \n{\n // Initialize the attributes struct with all\n // attributes except quantized ones.\n ProcessedAttributes attributes;\n initializeAttributes(attributes);\n\n // Dequantize the quantized ones and add them to the\n // attributes struct.\n #ifdef USE_DEQUANTIZATION\n dequantizationStage(attributes);\n #endif\n\n #ifdef HAS_MORPH_TARGETS\n morphTargetsStage(attributes);\n #endif\n\n #ifdef HAS_SKINNING\n skinningStage(attributes);\n #endif\n\n // Compute the bitangent according to the formula in the glTF spec.\n // Normal and tangents can be affected by morphing and skinning, so\n // the bitangent should not be computed until their values are finalized.\n #ifdef HAS_BITANGENTS\n attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC);\n #endif\n\n FeatureIds featureIds;\n featureIdStage(featureIds, attributes);\n\n #ifdef HAS_SELECTED_FEATURE_ID\n SelectedFeature feature;\n selectedFeatureIdStage(feature, featureIds);\n cpuStylingStage(attributes.positionMC, feature);\n #endif\n\n #ifdef USE_2D_POSITIONS\n // The scene mode 2D pipeline stage adds a different model view matrix to\n // accurately project the model's positions in 2D. However, the output\n // positions and normals should be transformed by the 3D matrices to keep\n // the data the same for the fragment shader.\n mat4 modelView = czm_modelView3D;\n mat3 normal = czm_normal3D;\n #else\n // These are used for individual model projection because they will\n // automatically change based on the scene mode.\n mat4 modelView = czm_modelView;\n mat3 normal = czm_normal;\n #endif\n \n\n // Update the position for this instance in place\n #ifdef HAS_INSTANCING\n\n // The legacy instance stage is used when rendering i3dm models that \n // encode instances transforms in world space, as opposed to glTF models\n // that use EXT_mesh_gpu_instancing, where instance transforms are encoded\n // in object space.\n #ifdef USE_LEGACY_INSTANCING\n mat4 instanceModelView;\n mat3 instanceModelViewInverseTranspose;\n \n legacyInstancingStage(attributes.positionMC, instanceModelView, instanceModelViewInverseTranspose);\n\n modelView = instanceModelView;\n normal = instanceModelViewInverseTranspose;\n #else\n instancingStage(attributes.positionMC);\n #endif\n\n #ifdef USE_PICKING\n v_pickColor = a_pickColor;\n #endif\n\n #endif\n\n Metadata metadata;\n metadataStage(metadata, attributes);\n\n #ifdef HAS_CUSTOM_VERTEX_SHADER\n czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC);\n customShaderStage(vsOutput, attributes, featureIds, metadata);\n #endif\n\n // Compute the final position in each coordinate system needed.\n // This also sets gl_Position.\n geometryStage(attributes, modelView, normal); \n\n #ifdef PRIMITIVE_TYPE_POINTS\n #ifdef HAS_CUSTOM_VERTEX_SHADER\n gl_PointSize = vsOutput.pointSize;\n #elif defined(USE_POINT_CLOUD_ATTENUATION)\n gl_PointSize = pointCloudAttenuationStage(v_positionEC);\n #else\n gl_PointSize = 1.0;\n #endif\n #endif\n}\n";function Xhe(){}Xhe.getFailedLoadFunction=function(e,t,n){return function(e){let i=`Failed to load ${t}: ${n}`;return Object(r["a"])(e)&&(i+="\n"+e.message),Promise.reject(new ye["a"](i))}},Xhe.getNodeTransform=function(e){return Object(r["a"])(e.matrix)?e.matrix:Ne.fromTranslationQuaternionRotationScale(Object(r["a"])(e.translation)?e.translation:g.ZERO,Object(r["a"])(e.rotation)?e.rotation:$a.IDENTITY,Object(r["a"])(e.scale)?e.scale:g.ONE)},Xhe.getAttributeBySemantic=function(e,t,n){const i=e.attributes,o=i.length;for(let a=0;a<o;++a){const e=i[a],o=!Object(r["a"])(n)||e.setIndex===n;if(e.semantic===t&&o)return e}},Xhe.getAttributeByName=function(e,t){const n=e.attributes,i=n.length;for(let o=0;o<i;++o){const e=n[o];if(e.name===t)return e}},Xhe.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){const i=e[n];if(i.positionalLabel===t||i.label===t)return i}},Xhe.hasQuantizedAttributes=function(e){if(!Object(r["a"])(e))return!1;for(let t=0;t<e.length;t++){const n=e[t];if(Object(r["a"])(n.quantization))return!0}return!1},Xhe.getAttributeInfo=function(e){const t=e.semantic,n=e.setIndex;let i,o=!1;Object(r["a"])(t)?(i=Kte.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());const a=/^color_\d+$/.test(i),s=e.type;let c=cl.getGlslType(s);a&&(c="vec4");const l=Object(r["a"])(e.quantization);let u;return l&&(u=a?"vec4":cl.getGlslType(e.quantization.type)),{attribute:e,isQuantized:l,variableName:i,hasSemantic:o,glslType:c,quantizedGlslType:u}};const Khe=new g,Jhe=new g;Xhe.getPositionMinMax=function(e,t,n){const i=Xhe.getAttributeBySemantic(e,"POSITION");let o=i.max,a=i.min;return Object(r["a"])(n)&&Object(r["a"])(t)&&(a=g.add(a,t,Jhe),o=g.add(o,n,Khe)),{min:a,max:o}},Xhe.getAxisCorrectionMatrix=function(e,t,n){return n=Ne.clone(Ne.IDENTITY,n),e===vJ.Y?n=Ne.clone(vJ.Y_UP_TO_Z_UP,n):e===vJ.X&&(n=Ne.clone(vJ.X_UP_TO_Z_UP,n)),t===vJ.Z&&(n=Ne.multiplyTransformation(n,vJ.Z_UP_TO_X_UP,n)),n};const Zhe=new ce;function $he(e,t){const n=e.shaderBuilder;n.addVertexLines([Yhe]),n.addFragmentLines([Whe]);const i=e.model,o=t.context,r=Qhe(e,t),a=new BG({context:o,indexBuffer:r,attributes:e.attributes});i._resources.push(a);const s=n.buildShaderProgram(t.context);i._resources.push(s);const c=e.alphaOptions.pass,l=i.sceneGraph,u=Ne.multiplyTransformation(l.computedModelMatrix,e.runtimeNode.computedTransform,new Ne);let h;if(t.mode!==vq.SCENE3D&&!t.scene3DOnly&&i._projectTo2D){const t=e.runtimePrimitive;h=t.boundingSphere2D}else h=Tt.transform(e.boundingSphere,u,e.boundingSphere);let d=Object(jL["a"])(Mz.fromCache(e.renderStateOptions),!0);i.opaquePass===oz.CESIUM_3D_TILE&&(d.stencilTest=eY.setCesium3DTileBit(),d.stencilMask=eY.CESIUM_3D_TILE_MASK),d.cull.face=Xhe.getCullFace(u,e.primitiveType),d=Mz.fromCache(d);const f=e.count,p=new nz({boundingVolume:h,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:a,shaderProgram:s,cull:i.cull,pass:c,count:f,pickId:e.pickId,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:i.debugShowBoundingVolume,castShadows:wq.castShadows(i.shadows),receiveShadows:wq.receiveShadows(i.shadows)});return new qhe({primitiveRenderResources:e,command:p})}function Qhe(e,t){const n=e.wireframeIndexBuffer;if(Object(r["a"])(n))return n;const i=e.indices;if(!Object(r["a"])(i))return;if(Object(r["a"])(i.buffer))return i.buffer;const o=i.typedArray,a=uu.fromSizeInBytes(o.BYTES_PER_ELEMENT);return SG.createIndexBuffer({context:t.context,typedArray:o,usage:EG.STATIC_DRAW,indexDatatype:a})}Xhe.getCullFace=function(e,t){if(!xh.isTriangles(t))return LF.BACK;const n=Ne.getMatrix3(e,Zhe);return ce.determinant(n)<0?LF.FRONT:LF.BACK};var ede="vec3 proceduralIBL(\n vec3 positionEC,\n vec3 normalEC,\n vec3 lightDirectionEC,\n vec3 lightColorHdr,\n czm_pbrParameters pbrParameters\n) {\n vec3 v = -positionEC;\n vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0));\n vec3 vWC = -normalize(positionWC);\n vec3 l = normalize(lightDirectionEC);\n vec3 n = normalEC;\n vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n)));\n\n float NdotL = clamp(dot(n, l), 0.001, 1.0);\n float NdotV = abs(dot(n, v)) + 0.001;\n\n // Figure out if the reflection vector hits the ellipsoid\n float vertexRadius = length(positionWC);\n float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius);\n float reflectionDotNadir = dot(r, normalize(positionWC));\n // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z.\n r.x = -r.x;\n r = -normalize(czm_temeToPseudoFixed * r);\n r.x = -r.x;\n\n vec3 diffuseColor = pbrParameters.diffuseColor;\n float roughness = pbrParameters.roughness;\n vec3 specularColor = pbrParameters.f0;\n\n float inverseRoughness = 1.04 - roughness;\n inverseRoughness *= inverseRoughness;\n vec3 sceneSkyBox = textureCube(czm_environmentMap, r).rgb * inverseRoughness;\n\n float atmosphereHeight = 0.05;\n float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir);\n float blendRegionOffset = roughness * -1.0;\n float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);\n float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);\n float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);\n float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);\n vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight);\n vec3 nadirColor = belowHorizonColor * 0.5;\n vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);\n vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75);\n vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight);\n vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); \n float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight; \n float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25));\n vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);\n float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8);\n vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough);\n specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness);\n specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness);\n\n // Luminance model from page 40 of http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf\n #ifdef USE_SUN_LUMINANCE \n // Angle between sun and zenith\n float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), vWC), 0.001, 1.0);\n float S = acos(LdotZenith);\n // Angle between zenith and current pixel\n float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), vWC), 0.001, 1.0);\n // Angle between sun and current pixel\n float gamma = acos(NdotL);\n float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith)));\n float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32));\n float luminance = model_luminanceAtZenith * (numerator / denominator);\n #endif \n\n vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n vec3 iblColor = (diffuseIrradiance * diffuseColor * model_iblFactor.x) + (specularIrradiance * czm_srgbToLinear(specularColor * brdfLut.x + brdfLut.y) * model_iblFactor.y);\n float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z);\n vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0);\n iblColor *= lightColor;\n\n #ifdef USE_SUN_LUMINANCE \n iblColor *= luminance;\n #endif\n\n return iblColor;\n}\n\nvec3 textureIBL(\n vec3 positionEC,\n vec3 normalEC,\n vec3 lightDirectionEC,\n czm_pbrParameters pbrParameters\n) {\n vec3 diffuseColor = pbrParameters.diffuseColor;\n float roughness = pbrParameters.roughness;\n vec3 specularColor = pbrParameters.f0;\n\n vec3 v = -positionEC;\n vec3 n = normalEC;\n vec3 l = normalize(lightDirectionEC);\n vec3 h = normalize(v + l);\n\n float NdotV = abs(dot(n, v)) + 0.001;\n float VdotH = clamp(dot(v, h), 0.0, 1.0);\n\n const mat3 yUpToZUp = mat3(\n -1.0, 0.0, 0.0,\n 0.0, 0.0, -1.0, \n 0.0, 1.0, 0.0\n ); \n vec3 cubeDir = normalize(yUpToZUp * model_iblReferenceFrameMatrix * normalize(reflect(-v, n))); \n\n #ifdef DIFFUSE_IBL \n #ifdef CUSTOM_SPHERICAL_HARMONICS\n vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); \n #else\n vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); \n #endif \n #else \n vec3 diffuseIrradiance = vec3(0.0); \n #endif \n\n #ifdef SPECULAR_IBL\n vec3 r0 = specularColor.rgb;\n float reflectance = max(max(r0.r, r0.g), r0.b);\n vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n vec3 F = fresnelSchlick2(r0, r90, VdotH);\n \n vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n #ifdef CUSTOM_SPECULAR_IBL \n vec3 specularIBL = czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, roughness * model_specularEnvironmentMapsMaximumLOD, model_specularEnvironmentMapsMaximumLOD);\n #else \n vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD);\n #endif \n specularIBL *= F * brdfLut.x + brdfLut.y;\n #else \n vec3 specularIBL = vec3(0.0); \n #endif\n\n return diffuseColor * diffuseIrradiance + specularColor * specularIBL;\n}\n\nvec3 imageBasedLightingStage(\n vec3 positionEC,\n vec3 normalEC,\n vec3 lightDirectionEC,\n vec3 lightColorHdr,\n czm_pbrParameters pbrParameters\n) {\n #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL)\n // Environment maps were provided, use them for IBL\n return textureIBL(\n positionEC,\n normalEC,\n lightDirectionEC,\n pbrParameters\n );\n #else\n // Use the procedural IBL if there are no environment maps\n return proceduralIBL(\n positionEC,\n normalEC,\n lightDirectionEC,\n lightColorHdr,\n pbrParameters\n );\n #endif\n}";const tde={VERTEX:0,FRAGMENT:1,BOTH:2,includesVertexShader:function(e){return i["a"].typeOf.number("destination",e),e===tde.VERTEX||e===tde.BOTH},includesFragmentShader:function(e){return i["a"].typeOf.number("destination",e),e===tde.FRAGMENT||e===tde.BOTH}};var nde=Object.freeze(tde);const ide={name:"ImageBasedLightingPipelineStage",process:function(e,t,n){const i=t.imageBasedLighting,o=e.shaderBuilder;if(o.addDefine("USE_IBL_LIGHTING",void 0,nde.FRAGMENT),o.addUniform("vec2","model_iblFactor",nde.FRAGMENT),pJ.isSupported(n.context)){const e=i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled;e&&o.addUniform("mat3","model_iblReferenceFrameMatrix",nde.FRAGMENT),Object(r["a"])(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,nde.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,nde.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",nde.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,nde.FRAGMENT),Object(r["a"])(i.specularEnvironmentMapAtlas)&&i.specularEnvironmentMapAtlas.ready?(o.addDefine("SPECULAR_IBL",void 0,nde.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,nde.FRAGMENT),o.addUniform("sampler2D","model_specularEnvironmentMaps",nde.FRAGMENT),o.addUniform("vec2","model_specularEnvironmentMapsSize",nde.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",nde.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,nde.FRAGMENT)}Object(r["a"])(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,nde.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",nde.FRAGMENT)),o.addFragmentLines([ede]);const a={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentMapAtlas.texture},model_specularEnvironmentMapsSize:function(){return i.specularEnvironmentMapAtlas.texture.dimensions},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentMapAtlas.maximumMipmapLevel}};e.uniformMap=Object(xS["a"])(a,e.uniformMap)}};var ode=ide,rde="void modelColorStage(inout czm_modelMaterial material)\n{\n material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend);\n float highlight = ceil(model_colorBlend);\n material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight);\n material.alpha *= model_color.a;\n}";const ade={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend",process:function(e,t,n){const i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,nde.FRAGMENT),i.addFragmentLines([rde]);const o={},r=t.color,a=e.renderStateOptions;0===r.alpha?(a.colorMask={red:!1,green:!1,blue:!1,alpha:!1},a.depthMask=!1):r.alpha<1&&(e.alphaOptions.pass=oz.TRANSLUCENT,e.alphaOptions.alphaMode=q8.BLEND),i.addUniform("vec4",ade.COLOR_UNIFORM_NAME,nde.FRAGMENT),o[ade.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",ade.COLOR_BLEND_UNIFORM_NAME,nde.FRAGMENT),o[ade.COLOR_BLEND_UNIFORM_NAME]=function(){return L2.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=Object(xS["a"])(o,e.uniformMap)}};var sde=ade,cde="#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE\nvec4 getClippingPlane(\n highp sampler2D packedClippingPlanes,\n int clippingPlaneNumber,\n mat4 transform\n) {\n int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH;\n int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH);\n float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH);\n float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT);\n float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel\n float v = (float(pixY) + 0.5) * pixelHeight;\n vec4 plane = texture2D(packedClippingPlanes, vec2(u, v));\n return czm_transformPlane(plane, transform);\n}\n#else\n// Handle uint8 clipping texture instead\nvec4 getClippingPlane(\n highp sampler2D packedClippingPlanes,\n int clippingPlaneNumber,\n mat4 transform\n) {\n int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each\n int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH;\n int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH);\n float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH);\n float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT);\n float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel\n float v = (float(pixY) + 0.5) * pixelHeight;\n vec4 oct32 = texture2D(packedClippingPlanes, vec2(u, v)) * 255.0;\n vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);\n vec4 plane;\n plane.xyz = czm_octDecode(oct, 65535.0);\n plane.w = czm_unpackFloat(texture2D(packedClippingPlanes, vec2(u + pixelWidth, v)));\n return czm_transformPlane(plane, transform);\n}\n#endif\n\nfloat clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) {\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n vec3 clipPosition = vec3(0.0);\n float pixelWidth = czm_metersPerPixel(position);\n \n #ifdef UNION_CLIPPING_REGIONS\n float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below.\n #else\n float clipAmount = 0.0;\n bool clipped = true;\n #endif\n\n for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) {\n vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);\n clipNormal = clippingPlane.xyz;\n clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n \n #ifdef UNION_CLIPPING_REGIONS\n clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount));\n if (amount <= 0.0) {\n discard;\n }\n #else\n clipAmount = max(amount, clipAmount);\n clipped = clipped && (amount <= 0.0);\n #endif\n }\n\n #ifndef UNION_CLIPPING_REGIONS\n if (clipped) {\n discard;\n }\n #endif\n \n return clipAmount;\n}\n\nvoid modelClippingPlanesStage(inout vec4 color)\n{\n float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix);\n vec4 clippingPlanesEdgeColor = vec4(1.0);\n clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb;\n float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a;\n \n if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) {\n color = clippingPlanesEdgeColor;\n }\n}\n";const lde={name:"ModelClippingPlanesPipelineStage"},ude=new Ht;lde.process=function(e,t,n){const i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,nde.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,nde.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,nde.FRAGMENT),M2.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,nde.FRAGMENT);const a=M2.getTextureResolution(i,o,ude);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",a.x,nde.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",a.y,nde.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",nde.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",nde.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",nde.FRAGMENT),r.addFragmentLines([cde]);const s={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){const e=j_.clone(i.edgeColor);return e.alpha=i.edgeWidth,e},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=Object(xS["a"])(s,e.uniformMap)};var hde=lde;const dde={name:"AlphaPipelineStage",process:function(e,t,n){const i=e.alphaOptions,r=e.model;i.pass=Object(o["a"])(i.pass,r.opaquePass);const a=e.renderStateOptions;i.pass===oz.TRANSLUCENT?a.blending=MF.ALPHA_BLEND:a.blending=MF.DISABLED;const s=e.shaderBuilder,c=e.uniformMap,l=i.alphaMode;l===q8.MASK?(s.addDefine("ALPHA_MODE_MASK",void 0,nde.FRAGMENT),s.addUniform("float","u_alphaCutoff",nde.FRAGMENT),c.u_alphaCutoff=function(){return i.alphaCutoff}):l===q8.BLEND?s.addDefine("ALPHA_MODE_BLEND",void 0,nde.FRAGMENT):s.addDefine("ALPHA_MODE_OPAQUE",void 0,nde.FRAGMENT)}};var fde=dde;const pde={name:"BatchTexturePipelineStage",process:function(e,t,n){const i=e.shaderBuilder,r={},a=e.model,s=a.featureTables[a.featureTableId],c=s.featuresLength;i.addUniform("int","model_featuresLength"),r.model_featuresLength=function(){return c};const l=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),r.model_batchTexture=function(){return Object(o["a"])(l.batchTexture,l.defaultTexture)},i.addUniform("vec4","model_textureStep"),r.model_textureStep=function(){return l.textureStep},l.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),r.model_textureDimensions=function(){return l.textureDimensions}),e.uniformMap=Object(xS["a"])(r,e.uniformMap)}};var mde=pde;const _de={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL",getDefineName:function(e){return"CUSTOM_SHADER_"+e}};var gde=Object.freeze(_de),bde="void customShaderStage(\n inout czm_modelVertexOutput vsOutput, \n inout ProcessedAttributes attributes, \n FeatureIds featureIds,\n Metadata metadata\n) {\n // VertexInput and initializeInputStruct() are dynamically generated in JS, \n // see CustomShaderPipelineStage.js\n VertexInput vsInput;\n initializeInputStruct(vsInput, attributes);\n vsInput.featureIds = featureIds;\n vsInput.metadata = metadata;\n vertexMain(vsInput, vsOutput);\n attributes.positionMC = vsOutput.positionMC;\n}\n",yde="void customShaderStage(\n inout czm_modelMaterial material,\n ProcessedAttributes attributes,\n FeatureIds featureIds,\n Metadata metadata\n) {\n // FragmentInput and initializeInputStruct() are dynamically generated in JS, \n // see CustomShaderPipelineStage.js\n FragmentInput fsInput;\n initializeInputStruct(fsInput, attributes);\n fsInput.featureIds = featureIds;\n fsInput.metadata = metadata;\n fragmentMain(fsInput, material);\n}\n",vde="void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) {\n initializeFeatureIds(featureIds, attributes);\n initializeFeatureIdAliases(featureIds);\n}\n",Ode="void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) \n{\n initializeFeatureIds(featureIds, attributes);\n initializeFeatureIdAliases(featureIds);\n setFeatureIdVaryings();\n}\n";const wde={};function Ade(e){e.addStruct(wde.STRUCT_ID_FEATURE_IDS_VS,wde.STRUCT_NAME_FEATURE_IDS,nde.VERTEX),e.addStruct(wde.STRUCT_ID_FEATURE_IDS_FS,wde.STRUCT_NAME_FEATURE_IDS,nde.FRAGMENT),e.addFunction(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,nde.VERTEX),e.addFunction(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,nde.FRAGMENT),e.addFunction(wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,nde.VERTEX),e.addFunction(wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,nde.FRAGMENT),e.addFunction(wde.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,wde.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,nde.VERTEX)}function Tde(e,t,n){const i=t.featureIds,o=t.attributes[0].count;for(let a=0;a<i.length;a++){const t=i[a],s=t.positionalLabel;if(t instanceof _9.FeatureIdAttribute)Ede(e,t,s);else{const i=1;Sde(e,t,s,o,i,n)}const c=t.label;Object(r["a"])(c)&&Dde(e,s,c,nde.BOTH)}}function Cde(e,t,n){const i=t.featureIds,o=Xhe.getAttributeBySemantic(t,Kte.POSITION),a=o.count;for(let s=0;s<i.length;s++){const t=i[s],o=t.positionalLabel;let c=nde.BOTH;t instanceof _9.FeatureIdAttribute?xde(e,t,o):t instanceof _9.FeatureIdImplicitRange?Sde(e,t,o,a,void 0,n):(Ide(e,t,o,s,n),c=nde.FRAGMENT);const l=t.label;Object(r["a"])(l)&&Dde(e,o,l,c)}}function Ede(e,t,n){const i=e.shaderBuilder;i.addStructField(wde.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(wde.STRUCT_ID_FEATURE_IDS_FS,"int",n);const o=t.setIndex,r=n.replace(/_\d+$/,"_"),a=`a_${r}${o}`,s=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${a}));`,l=`featureIds.${n} = int(czm_round(${s}));`;i.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[l]),i.addVarying("float",s),i.addFunctionLines(wde.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${s} = ${a};`])}function xde(e,t,n){const i=e.shaderBuilder;i.addStructField(wde.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(wde.STRUCT_ID_FEATURE_IDS_FS,"int",n);const o=t.setIndex,r=n.replace(/_\d+$/,"_"),a=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,a),i.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,a)}function Sde(e,t,n,i,o,r){jde(e,t,i,o,r);const a=e.shaderBuilder,s="a_implicit_"+n;a.addAttribute("float",s);const c="v_implicit_"+n;a.addVarying("float",c),a.addStructField(wde.STRUCT_ID_FEATURE_IDS_VS,"int",n),a.addStructField(wde.STRUCT_ID_FEATURE_IDS_FS,"int",n),a.addFunctionLines(wde.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${s};`]),a.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${s}));`]),a.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function Ide(e,t,n,i,r){const a="u_featureIdTexture_"+i,s=e.uniformMap,c=t.textureReader;s[a]=function(){return Object(o["a"])(c.texture,r.context.defaultTexture)};const l=c.channels,u=e.shaderBuilder;u.addStructField(wde.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",a,nde.FRAGMENT);const h="v_texCoord_"+c.texCoord,d=`texture2D(${a}, ${h}).${l}`,f=`featureIds.${n} = czm_unpackUint(${d});`;u.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[f])}function Dde(e,t,n,i){const o=e.shaderBuilder,r=nde.includesVertexShader(i);r&&o.addStructField(wde.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(wde.STRUCT_ID_FEATURE_IDS_FS,"int",n);const a=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,a),o.addFunctionLines(wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,a)}function jde(e,t,n,i,o){const a=e.model;let s,c;if(Object(r["a"])(t.repeat)){const e=Pde(t,n);s=SG.createVertexBuffer({context:o.context,typedArray:e,usage:EG.STATIC_DRAW}),s.vertexArrayDestroyable=!1,a._resources.push(s)}else c=[t.offset];const l={index:e.attributeIndex++,instanceDivisor:i,value:c,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:$c.FLOAT,strideInBytes:$c.getSizeInBytes($c.FLOAT),offsetInBytes:0};e.attributes.push(l)}function Pde(e,t){const n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}wde.name="FeatureIdPipelineStage",wde.STRUCT_ID_FEATURE_IDS_VS="FeatureIdsVS",wde.STRUCT_ID_FEATURE_IDS_FS="FeatureIdsFS",wde.STRUCT_NAME_FEATURE_IDS="FeatureIds",wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS="initializeFeatureIdsVS",wde.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS="initializeFeatureIdsFS",wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS="initializeFeatureIdAliasesVS",wde.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS="initializeFeatureIdAliasesFS",wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS="void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",wde.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES="void initializeFeatureIdAliases(inout FeatureIds featureIds)",wde.FUNCTION_ID_SET_FEATURE_ID_VARYINGS="setFeatureIdVaryings",wde.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS="void setFeatureIdVaryings()",wde.process=function(e,t,n){const i=e.shaderBuilder;Ade(i);const o=e.runtimeNode.node.instances;Object(r["a"])(o)&&Tde(e,o,n),Cde(e,t,n),i.addVertexLines([Ode]),i.addFragmentLines([vde])};var Rde=wde,Mde="void metadataStage(out Metadata metadata, ProcessedAttributes attributes)\n{\n initializeMetadata(metadata, attributes);\n}\n",Nde="void metadataStage(out Metadata metadata, ProcessedAttributes attributes)\n{\n initializeMetadata(metadata, attributes);\n setMetadataVaryings();\n}\n";const Lde={};function Bde(e){e.addStruct(Lde.STRUCT_ID_METADATA_VS,Lde.STRUCT_NAME_METADATA,nde.VERTEX),e.addStruct(Lde.STRUCT_ID_METADATA_FS,Lde.STRUCT_NAME_METADATA,nde.FRAGMENT),e.addFunction(Lde.FUNCTION_ID_INITIALIZE_METADATA_VS,Lde.FUNCTION_SIGNATURE_INITIALIZE_METADATA,nde.VERTEX),e.addFunction(Lde.FUNCTION_ID_INITIALIZE_METADATA_FS,Lde.FUNCTION_SIGNATURE_INITIALIZE_METADATA,nde.FRAGMENT),e.addFunction(Lde.FUNCTION_ID_SET_METADATA_VARYINGS,Lde.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,nde.VERTEX)}function Fde(e,t,n){const i=n.propertyAttributes;if(Object(r["a"])(i))for(let o=0;o<i.length;o++){const n=i[o],r=n.properties;for(const i in r)if(r.hasOwnProperty(i)){const n=r[i],o=Xhe.getAttributeByName(t,n.attribute),a=Xhe.getAttributeInfo(o);kde(e,a,i,n)}}}function kde(e,t,n,i){const o=Gde(n),r=t.variableName,a=t.glslType,s=e.shaderBuilder;s.addStructField(Lde.STRUCT_ID_METADATA_VS,a,o),s.addStructField(Lde.STRUCT_ID_METADATA_FS,a,o);let c="attributes."+r;i.hasValueTransform&&(c=Hde(c,{renderResources:e,glslType:a,metadataVariable:o,shaderDestination:nde.BOTH,offset:i.offset,scale:i.scale}));const l=`metadata.${o} = ${c};`;s.addFunctionLines(Lde.FUNCTION_ID_INITIALIZE_METADATA_VS,[l]),s.addFunctionLines(Lde.FUNCTION_ID_INITIALIZE_METADATA_FS,[l])}function zde(e,t){const n=t.propertyTextures;if(Object(r["a"])(n))for(let i=0;i<n.length;i++){const t=n[i],o=t.properties;for(const n in o)if(o.hasOwnProperty(n)){const t=o[n];t.isGpuCompatible()&&Ude(e,n,t)}}}function Ude(e,t,n){const i=n.textureReader,o=i.index,r="u_propertyTexture_"+o;e.uniformMap.hasOwnProperty(r)||Vde(e,r,i);const a=Gde(t),s=n.getGlslType(),c=e.shaderBuilder;c.addStructField(Lde.STRUCT_ID_METADATA_FS,s,a);const l=i.texCoord,u="attributes.texCoord_"+l,h=i.channels;let d=`texture2D(${r}, ${u}).${h}`;d=n.unpackInShader(d),n.hasValueTransform&&(d=Hde(d,{renderResources:e,glslType:s,metadataVariable:a,shaderDestination:nde.FRAGMENT,offset:n.offset,scale:n.scale}));const f=`metadata.${a} = ${d};`;c.addFunctionLines(Lde.FUNCTION_ID_INITIALIZE_METADATA_FS,[f])}function Vde(e,t,n){const i=e.shaderBuilder;i.addUniform("sampler2D",t,nde.FRAGMENT);const o=e.uniformMap;o[t]=function(){return n.texture}}function Hde(e,t){const n=t.metadataVariable,i=`u_${n}_offset`,o=`u_${n}_scale`,r=t.renderResources,a=r.shaderBuilder,s=t.glslType,c=t.shaderDestination;a.addUniform(s,i,c),a.addUniform(s,o,c);const l=r.uniformMap;return l[i]=function(){return t.offset},l[o]=function(){return t.scale},`czm_valueTransform(${i}, ${o}, ${e})`}function Gde(e){return e.replaceAll(/[^_a-zA-Z0-9]+/g,"_")}Lde.name="MetadataPipelineStage",Lde.STRUCT_ID_METADATA_VS="MetadataVS",Lde.STRUCT_ID_METADATA_FS="MetadataFS",Lde.STRUCT_NAME_METADATA="Metadata",Lde.FUNCTION_ID_INITIALIZE_METADATA_VS="initializeMetadataVS",Lde.FUNCTION_ID_INITIALIZE_METADATA_FS="initializeMetadataFS",Lde.FUNCTION_SIGNATURE_INITIALIZE_METADATA="void initializeMetadata(out Metadata metadata, ProcessedAttributes attributes)",Lde.FUNCTION_ID_SET_METADATA_VARYINGS="setMetadataVaryings",Lde.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS="void setMetadataVaryings()",Lde.process=function(e,t,n){const i=e.shaderBuilder;Bde(i),i.addVertexLines([Nde]),i.addFragmentLines([Mde]);const o=e.model.structuralMetadata;Object(r["a"])(o)&&(Fde(e,t,o),zde(e,o))};var qde=Lde;const Wde={};function Yde(e){const t={};for(let n=0;n<e.length;n++){const i=e[n],o=Xhe.getAttributeInfo(i);t[o.variableName]=o}return t}Wde.name="CustomShaderPipelineStage",Wde.STRUCT_ID_ATTRIBUTES_VS="AttributesVS",Wde.STRUCT_ID_ATTRIBUTES_FS="AttributesFS",Wde.STRUCT_NAME_ATTRIBUTES="Attributes",Wde.STRUCT_ID_VERTEX_INPUT="VertexInput",Wde.STRUCT_NAME_VERTEX_INPUT="VertexInput",Wde.STRUCT_ID_FRAGMENT_INPUT="FragmentInput",Wde.STRUCT_NAME_FRAGMENT_INPUT="FragmentInput",Wde.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS="initializeInputStructVS",Wde.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS="void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",Wde.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS="initializeInputStructFS",Wde.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS="void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",Wde.process=function(e,t,n){const i=e.shaderBuilder,o=e.model.customShader;Object(r["a"])(o.lightingModel)&&(e.lightingOptions.lightingModel=o.lightingModel);const a=e.alphaOptions;o.isTranslucent?(a.pass=oz.TRANSLUCENT,a.alphaMode=q8.BLEND):(a.pass=void 0,a.alphaMode=q8.OPAQUE);const s=nfe(o,t);if(!s.customShaderEnabled)return;if(rfe(i,o,s),s.shouldComputePositionWC&&i.addDefine("COMPUTE_POSITION_WC",void 0,nde.BOTH),Object(r["a"])(o.vertexShaderText)&&i.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,nde.VERTEX),Object(r["a"])(o.fragmentShaderText)){i.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,nde.FRAGMENT);const e=gde.getDefineName(o.mode);i.addDefine(e,void 0,nde.FRAGMENT)}const c=o.uniforms;for(const r in c)if(c.hasOwnProperty(r)){const e=c[r];i.addUniform(e.type,r)}const l=o.varyings;for(const r in l)if(l.hasOwnProperty(r)){const e=l[r];i.addVarying(e,r)}e.uniformMap=Object(xS["a"])(e.uniformMap,o.uniformMap)};const Xde={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},Kde={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function Jde(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");const n=Xde[t],i=Kde[t];if(Object(r["a"])(n))return{attributeField:[n,e],value:i}}function Zde(e,t,n){const i=tfe(t,e.usedVariablesVertex.attributeSet,!1),o=i.addToShader,a=i.missingAttributes;let s,c;const l=[],u=[];for(s in o)if(o.hasOwnProperty(s)){const e=o[s],t=[e.glslType,s];l.push(t),c=`vsInput.attributes.${s} = attributes.${s};`,u.push(c)}for(let h=0;h<a.length;h++){s=a[h];const e=Jde(s);if(!Object(r["a"])(e))return void Wde._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${s}, disabling custom vertex shader`);l.push(e.attributeField),c=`vsInput.attributes.${s} = ${e.value};`,u.push(c)}n.enabled=!0,n.attributeFields=l,n.initializationLines=u}function $de(e){const t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function Qde(e,t,n){const i=tfe(t,e.usedVariablesFragment.attributeSet,!0),o=i.addToShader,a=i.missingAttributes;let s,c;const l=[],u=[];for(s in o)if(o.hasOwnProperty(s)){const e=o[s],t=[e.glslType,s];l.push(t),c=`fsInput.attributes.${s} = attributes.${s};`,u.push(c)}for(let d=0;d<a.length;d++){s=a[d];const e=Jde(s);if(!Object(r["a"])(e))return void Wde._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${s}, disabling custom fragment shader.`);l.push(e.attributeField),c=`fsInput.attributes.${s} = ${e.value};`,u.push(c)}const h=$de(e);n.enabled=!0,n.attributeFields=l.concat(h.attributeFields),n.initializationLines=h.initializationLines.concat(u)}const efe={positionWC:!0,positionEC:!0};function tfe(e,t,n){let i,o;const r={};for(o in e)if(e.hasOwnProperty(o)){const a=e[o];i=o,n&&"normalMC"===o?i="normalEC":n&&"tangentMC"===o&&(i="tangentEC"),t.hasOwnProperty(i)&&(r[i]=a)}const a=[];for(o in t)if(t.hasOwnProperty(o)){if(efe.hasOwnProperty(o))continue;i=o,n&&"normalEC"===o?i="normalMC":n&&"tangentEC"===o&&(i="tangentMC"),e.hasOwnProperty(i)||a.push(o)}return{addToShader:r,missingAttributes:a}}function nfe(e,t){const n={enabled:!1},i={enabled:!1},o=Yde(t.attributes);Object(r["a"])(e.vertexShaderText)&&Zde(e,o,n),Object(r["a"])(e.fragmentShaderText)&&Qde(e,o,i);const a=e.usedVariablesFragment.attributeSet,s=a.hasOwnProperty("positionWC")&&i.enabled;return{vertexLines:n,fragmentLines:i,vertexLinesEnabled:n.enabled,fragmentLinesEnabled:i.enabled,customShaderEnabled:n.enabled||i.enabled,shouldComputePositionWC:s}}function ife(e,t){let n,i=Wde.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(i,Wde.STRUCT_NAME_ATTRIBUTES,nde.VERTEX);const o=t.attributeFields;for(n=0;n<o.length;n++){const t=o[n],r=t[0],a=t[1];e.addStructField(i,r,a)}i=Wde.STRUCT_ID_VERTEX_INPUT,e.addStruct(i,Wde.STRUCT_NAME_VERTEX_INPUT,nde.VERTEX),e.addStructField(i,Wde.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(i,Rde.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(i,qde.STRUCT_NAME_METADATA,"metadata");const r=Wde.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,Wde.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,nde.VERTEX);const a=t.initializationLines;e.addFunctionLines(r,a)}function ofe(e,t){let n,i,o,r,a=Wde.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(a,Wde.STRUCT_NAME_ATTRIBUTES,nde.FRAGMENT);const s=t.attributeFields;for(n=0;n<s.length;n++)i=s[n],o=i[0],r=i[1],e.addStructField(a,o,r);a=Wde.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(a,Wde.STRUCT_NAME_FRAGMENT_INPUT,nde.FRAGMENT),e.addStructField(a,Wde.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(a,Rde.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(a,qde.STRUCT_NAME_METADATA,"metadata");const c=Wde.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(c,Wde.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,nde.FRAGMENT);const l=t.initializationLines;e.addFunctionLines(c,l)}function rfe(e,t,n){const i=n.vertexLines;i.enabled&&(ife(e,i),e.addVertexLines(["#line 0",t.vertexShaderText,bde]));const o=n.fragmentLines;o.enabled&&(ofe(e,o),e.addFragmentLines(["#line 0",t.fragmentShaderText,yde]))}Wde._oneTimeWarning=ky;var afe=Wde,sfe="void filterByPassType(inout vec3 positionMC, vec4 featureColor)\n{\n bool styleTranslucent = (featureColor.a != 1.0);\n // Only render translucent features in the translucent pass (if the style or the original command has translucency).\n if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent)\n {\n positionMC *= 0.0;\n }\n // If the current pass is not the transluceny pass and the style is not translucent, don't rendeer the feature.\n else if (czm_pass != czm_passTranslucent && styleTranslucent)\n {\n positionMC *= 0.0;\n }\n}\n\nvoid cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature)\n{\n float show = ceil(feature.color.a);\n positionMC *= show;\n\n #ifdef HAS_SELECTED_FEATURE_ID_ATTRIBUTE\n filterByPassType(positionMC, feature.color);\n #endif\n}\n",cfe="void filterByPassType(vec4 featureColor)\n{\n bool styleTranslucent = (featureColor.a != 1.0);\n // Only render translucent features in the translucent pass (if the style or the original command has translucency).\n if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent)\n {\n discard;\n }\n // If the current pass is not the translucent pass and the style is not translucent, don't render the feature.\n else if (czm_pass != czm_passTranslucent && styleTranslucent)\n {\n discard;\n }\n}\n\nvoid cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature)\n{\n vec4 featureColor = feature.color;\n\n if (featureColor.a == 0.0)\n {\n discard;\n }\n\n // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader.\n // So, we only apply in in the fragment shader if the feature ID texture is used.\n #ifdef HAS_SELECTED_FEATURE_ID_TEXTURE\n filterByPassType(featureColor);\n #endif\n\n featureColor = czm_gammaCorrect(featureColor);\n\n float highlight = ceil(model_colorBlend);\n material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight);\n material.alpha *= featureColor.a;\n}\n";const lfe={name:"CPUStylingPipelineStage",process:function(e,t,n){const i=e.model,o=e.shaderBuilder;o.addVertexLines([sfe]),o.addFragmentLines([cfe]),o.addDefine("USE_CPU_STYLING",void 0,nde.BOTH),Object(r["a"])(i.color)||(o.addUniform("float",sde.COLOR_BLEND_UNIFORM_NAME,nde.FRAGMENT),e.uniformMap[sde.COLOR_BLEND_UNIFORM_NAME]=function(){return L2.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",nde.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===oz.TRANSLUCENT};const a=i.featureTables[i.featureTableId],s=jhe.getStyleCommandsNeeded(a.featuresLength,a.batchTexture.translucentFeaturesLength);s!==jhe.ALL_OPAQUE&&(e.alphaOptions.alphaMode=q8.BLEND),e.styleCommandsNeeded=s}};var ufe=lfe;const hfe={};function dfe(e,t){const n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){const e="model_normalizationRange_"+o;n.addUniform("float",e,nde.VERTEX),i[e]=function(){return r.normalizationRange}}else{const e="model_quantizedVolumeOffset_"+o,a="model_quantizedVolumeStepSize_"+o,s=t.glslType;n.addUniform(s,e,nde.VERTEX),n.addUniform(s,a,nde.VERTEX);let c=r.quantizedVolumeOffset,l=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(c=ffe(c,0),l=ffe(l,1)),i[e]=function(){return c},i[a]=function(){return l}}}function ffe(e,t){return e instanceof be?e:new be(e.x,e.y,e.z,t)}function pfe(e,t){const n=t.variableName,i=t.attribute.quantization;let o;o=i.octEncoded?mfe(n,i):_fe(n),e.addFunctionLines(hfe.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function mfe(e,t){const n="attributes."+e,i="a_quantized_"+e,o="model_normalizationRange_"+e,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function _fe(e){const t="attributes."+e,n="a_quantized_"+e,i="model_quantizedVolumeOffset_"+e,o="model_quantizedVolumeStepSize_"+e;return`${t} = ${i} + ${n} * ${o};`}hfe.name="DequantizationPipelineStage",hfe.FUNCTION_ID_DEQUANTIZATION_STAGE_VS="dequantizationStage",hfe.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS="void dequantizationStage(inout ProcessedAttributes attributes)",hfe.process=function(e,t,n){const i=e.shaderBuilder;i.addFunction(hfe.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,hfe.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,nde.VERTEX),i.addDefine("USE_DEQUANTIZATION",void 0,nde.VERTEX);const o=t.attributes;for(let a=0;a<o.length;a++){const t=o[a],n=t.quantization;if(!Object(r["a"])(n))continue;const s=Xhe.getAttributeInfo(t);pfe(i,s),dfe(e,s)}};var gfe=hfe,bfe="void geometryStage(out ProcessedAttributes attributes)\n{\n attributes.positionMC = v_positionMC;\n attributes.positionEC = v_positionEC;\n\n #ifdef COMPUTE_POSITION_WC\n attributes.positionWC = v_positionWC;\n #endif\n\n #ifdef HAS_NORMALS\n // renormalize after interpolation\n attributes.normalEC = normalize(v_normalEC);\n #endif\n\n #ifdef HAS_TANGENTS\n attributes.tangentEC = normalize(v_tangentEC);\n #endif\n\n #ifdef HAS_BITANGENTS\n attributes.bitangentEC = normalize(v_bitangentEC);\n #endif\n\n // Everything else is dynamically generated in GeometryPipelineStage\n setDynamicVaryings(attributes);\n}\n",yfe="void geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) \n{\n // Compute positions in different coordinate systems\n vec3 positionMC = attributes.positionMC;\n v_positionMC = positionMC;\n v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz;\n\n #ifdef USE_2D_POSITIONS\n vec3 position2D = attributes.position2D;\n vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz;\n gl_Position = czm_projection * vec4(positionEC, 1.0);\n #else\n gl_Position = czm_projection * vec4(v_positionEC, 1.0);\n #endif\n\n // Sometimes the fragment shader needs this (e.g. custom shaders)\n #ifdef COMPUTE_POSITION_WC\n // Note that this is a 32-bit position which may result in jitter on small\n // scales.\n v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz;\n #endif\n\n #ifdef HAS_NORMALS\n v_normalEC = normal * attributes.normalMC;\n #endif\n\n #ifdef HAS_TANGENTS\n v_tangentEC = normalize(normal * attributes.tangentMC); \n #endif\n\n #ifdef HAS_BITANGENTS\n v_bitangentEC = normalize(normal * attributes.bitangentMC);\n #endif\n\n // All other varyings need to be dynamically generated in\n // GeometryPipelineStage\n setDynamicVaryings(attributes);\n}\n";const vfe={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON",is3DTiles:function(e){switch(i["a"].typeOf.string("modelType",e),e){case vfe.TILE_GLTF:case vfe.TILE_B3DM:case vfe.TILE_I3DM:case vfe.TILE_PNTS:case vfe.TILE_GEOJSON:return!0;case vfe.GLTF:return!1;default:throw new a["a"]("modelType is not a valid value.")}}};var Ofe=Object.freeze(vfe),wfe="vec2 computeSt(float featureId)\n{\n float stepX = model_textureStep.x;\n float centerX = model_textureStep.y;\n\n #ifdef MULTILINE_BATCH_TEXTURE\n float stepY = model_textureStep.z;\n float centerY = model_textureStep.w;\n\n float xId = mod(featureId, model_textureDimensions.x); \n float yId = floor(featureId / model_textureDimensions.x);\n \n return vec2(centerX + (xId * stepX), centerY + (yId * stepY));\n #else\n return vec2(centerX + (featureId * stepX), 0.5);\n #endif\n}\n\nvoid selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds)\n{ \n int featureId = featureIds.SELECTED_FEATURE_ID;\n\n\n if (featureId < model_featuresLength)\n {\n vec2 featureSt = computeSt(float(featureId));\n\n feature.id = featureId;\n feature.st = featureSt;\n feature.color = texture2D(model_batchTexture, featureSt);\n }\n // Floating point comparisons can be unreliable in GLSL, so we\n // increment the feature ID to make sure it's always greater\n // then the model_featuresLength - a condition we check for in the\n // pick ID, to avoid sampling the pick texture if the feature ID is\n // greater than the number of features.\n else\n {\n feature.id = model_featuresLength + 1;\n feature.st = vec2(0.0);\n feature.color = vec4(1.0);\n }\n\n #ifdef HAS_NULL_FEATURE_ID\n if (featureId == model_nullFeatureId) {\n feature.id = featureId;\n feature.st = vec2(0.0);\n feature.color = vec4(1.0);\n }\n #endif\n}\n";const Afe={};function Tfe(e){return e instanceof _9.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function Cfe(e){return e instanceof _9.FeatureIdTexture?nde.FRAGMENT:nde.BOTH}function Efe(e,t,n){let i,a;return Object(r["a"])(t.instances)&&(a=Xhe.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),Object(r["a"])(a))?(i=Object(o["a"])(a.label,a.positionalLabel),{featureIds:a,variableName:i,shaderDestination:Cfe(a),featureIdDefine:Tfe(a)}):(a=Xhe.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=Object(o["a"])(a.label,a.positionalLabel),{featureIds:a,variableName:i,shaderDestination:Cfe(a),featureIdDefine:Tfe(a)})}function xfe(e){e.addStructField(Afe.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(Afe.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(Afe.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}Afe.name="SelectedFeatureIdPipelineStage",Afe.STRUCT_ID_SELECTED_FEATURE="SelectedFeature",Afe.STRUCT_NAME_SELECTED_FEATURE="SelectedFeature",Afe.FUNCTION_ID_FEATURE_VARYINGS_VS="updateFeatureStructVS",Afe.FUNCTION_ID_FEATURE_VARYINGS_FS="updateFeatureStructFS",Afe.FUNCTION_SIGNATURE_UPDATE_FEATURE="void updateFeatureStruct(inout SelectedFeature feature)",Afe.process=function(e,t,n){const i=e.shaderBuilder;e.hasPropertyTable=!0;const o=e.model,a=e.runtimeNode.node,s=Efe(o,a,t),c=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,c),i.addDefine("SELECTED_FEATURE_ID",s.variableName,c),i.addDefine(s.featureIdDefine,void 0,c),xfe(i);const l=s.featureIds.nullFeatureId,u=e.uniformMap;Object(r["a"])(l)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,c),i.addUniform("int","model_nullFeatureId",c),u.model_nullFeatureId=function(){return l}),s.shaderDestination===nde.BOTH&&i.addVertexLines([wfe]),i.addFragmentLines([wfe])};var Sfe=Afe;const Ife={};function Dfe(e,t,n,i,o){const a=e.shaderBuilder,s=Xhe.getAttributeInfo(t);i>1?Rfe(e,t,n,i):Pfe(e,t,n,o),Nfe(a,s,o),Mfe(a,s),Object(r["a"])(t.semantic)&&jfe(a,t),Lfe(a,s,o),Bfe(a,s,o),Ffe(a,s)}function jfe(e,t){const n=t.semantic,i=t.setIndex;switch(n){case Kte.NORMAL:e.addDefine("HAS_NORMALS");break;case Kte.TANGENT:e.addDefine("HAS_TANGENTS");break;case Kte.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case Kte.TEXCOORD:case Kte.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function Pfe(e,t,n,i){const o=t.quantization;let a,s;Object(r["a"])(o)?(a=o.type,s=o.componentDatatype):(a=t.type,s=t.componentDatatype);const c=t.semantic,l=t.setIndex;c===Kte.FEATURE_ID&&l>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=l+1);const u=c===Kte.POSITION,h=u?0:n,d=cl.getNumberOfComponents(a),f={index:h,value:Object(r["a"])(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:s,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(f),!u||!i)return;const p=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:p,count:t.count,componentsPerAttribute:d,componentDatatype:$c.FLOAT,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(m)}function Rfe(e,t,n,i){const o=t.quantization;let a,s;Object(r["a"])(o)?(a=o.type,s=o.componentDatatype):(a=t.type,s=t.componentDatatype);const c=t.normalized,l=cl.getNumberOfComponents(a),u=l/i,h=$c.getSizeInBytes(s),d=u*h,f=t.byteStride;for(let r=0;r<i;r++){const i=t.byteOffset+r*d,o={index:n+r,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:s,offsetInBytes:i,strideInBytes:f,normalize:c};e.attributes.push(o)}}function Mfe(e,t){const n=t.variableName;let i,o="v_"+n;"normalMC"===n?(o="v_normalEC",i=t.glslType):"tangentMC"===n?(i="vec3",o="v_tangentEC"):i=t.glslType,e.addVarying(i,o)}function Nfe(e,t,n){const i=t.attribute.semantic,o=t.variableName;let r,a;t.isQuantized?(r="a_quantized_"+o,a=t.quantizedGlslType):(r="a_"+o,a=t.glslType);const s=i===Kte.POSITION;s?e.setPositionAttribute(a,r):e.addAttribute(a,r),s&&n&&e.addAttribute("vec3","a_position2D")}function Lfe(e,t,n){const i=Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,r=t.variableName;"tangentMC"===r?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):"normalMC"===r?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,t.glslType,r),e.addStructField(o,t.glslType,r)),"positionMC"===r&&n&&e.addStructField(i,"vec3","position2D")}function Bfe(e,t,n){const i=Ife.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName,r="positionMC"===o&&n;if(r){const t="attributes.position2D = a_position2D;";e.addFunctionLines(i,[t])}if(t.isQuantized)return;const a=[];"tangentMC"===o?(a.push("attributes.tangentMC = a_tangentMC.xyz;"),a.push("attributes.tangentSignMC = a_tangentMC.w;")):a.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,a)}function Ffe(e,t){const n=t.attribute.semantic,i=t.attribute.setIndex;if(Object(r["a"])(n)&&!Object(r["a"])(i))return;let o=Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS;const a=t.variableName;let s=`v_${a} = attributes.${a};`;e.addFunctionLines(o,[s]),o=Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${a} = v_${a};`,e.addFunctionLines(o,[s])}function kfe(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){const e=t[o];e.semantic===Kte.NORMAL?n=!0:e.semantic===Kte.TANGENT&&(i=!0)}n&&i&&(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}Ife.name="GeometryPipelineStage",Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_VS="ProcessedAttributesVS",Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS="ProcessedAttributesFS",Ife.STRUCT_NAME_PROCESSED_ATTRIBUTES="ProcessedAttributes",Ife.FUNCTION_ID_INITIALIZE_ATTRIBUTES="initializeAttributes",Ife.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES="void initializeAttributes(out ProcessedAttributes attributes)",Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS="setDynamicVaryingsVS",Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS="setDynamicVaryingsFS",Ife.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS="void setDynamicVaryings(inout ProcessedAttributes attributes)",Ife.process=function(e,t,n){const i=e.shaderBuilder;i.addStruct(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",nde.VERTEX),i.addStruct(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",nde.FRAGMENT),i.addStruct(Sfe.STRUCT_ID_SELECTED_FEATURE,Sfe.STRUCT_NAME_SELECTED_FEATURE,nde.BOTH),i.addFunction(Ife.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Ife.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,nde.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Ife.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Ife.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,nde.VERTEX),i.addFunction(Ife.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Ife.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,nde.FRAGMENT);const o=e.model,r=o.type;r===Ofe.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,nde.FRAGMENT);const a=n.mode!==vq.SCENE3D&&!n.scene3DOnly&&o._projectTo2D;for(let s=0;s<t.attributes.length;s++){const n=t.attributes[s],i=cl.getAttributeLocationCount(n.type),o=n.semantic===Kte.POSITION;let r;i>1?(r=e.attributeIndex,e.attributeIndex+=i):r=o&&!a?0:e.attributeIndex++,Dfe(e,n,r,i,a)}kfe(i,t.attributes),t.primitiveType===xh.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines([yfe]),i.addFragmentLines([bfe])};var zfe=Ife,Ufe="#ifdef LIGHTING_PBR\nvec3 computePbrLighting(czm_modelMaterial inputMaterial, ProcessedAttributes attributes)\n{\n czm_pbrParameters pbrParameters;\n pbrParameters.diffuseColor = inputMaterial.diffuse;\n pbrParameters.f0 = inputMaterial.specular;\n pbrParameters.roughness = inputMaterial.roughness;\n \n #ifdef USE_CUSTOM_LIGHT_COLOR\n vec3 lightColorHdr = model_lightColorHdr;\n #else\n vec3 lightColorHdr = czm_lightColorHdr;\n #endif\n\n vec3 color = inputMaterial.diffuse;\n #ifdef HAS_NORMALS\n color = czm_pbrLighting(\n attributes.positionEC,\n inputMaterial.normalEC,\n czm_lightDirectionEC,\n lightColorHdr,\n pbrParameters\n );\n\n #ifdef USE_IBL_LIGHTING\n color += imageBasedLightingStage(\n attributes.positionEC,\n inputMaterial.normalEC,\n czm_lightDirectionEC,\n lightColorHdr,\n pbrParameters\n );\n #endif\n #endif\n\n color *= inputMaterial.occlusion;\n color += inputMaterial.emissive;\n\n // In HDR mode, the frame buffer is in linear color space. The\n // post-processing stages (see PostProcessStageCollection) will handle\n // tonemapping. However, if HDR is not enabled, we must tonemap else large\n // values may be clamped to 1.0\n #ifndef HDR \n color = czm_acesTonemapping(color);\n #endif \n\n return color;\n}\n#endif\n\nvoid lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes)\n{\n // Even though the lighting will only set the diffuse color,\n // pass all other properties so further stages have access to them.\n vec3 color = vec3(0.0);\n\n #ifdef LIGHTING_PBR\n color = computePbrLighting(material, attributes);\n #else // unlit\n color = material.diffuse;\n #endif\n\n // If HDR is not enabled, the frame buffer stores sRGB colors rather than\n // linear colors so the linear value must be converted.\n #ifndef HDR\n color = czm_linearToSrgb(color);\n #endif\n\n material.diffuse = color;\n}\n";const Vfe={UNLIT:0,PBR:1};var Hfe=Object.freeze(Vfe);const Gfe={name:"LightingPipelineStage",process:function(e,t){const n=e.model,i=e.lightingOptions,o=e.shaderBuilder;if(Object(r["a"])(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,nde.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",nde.FRAGMENT);const t=e.uniformMap;t.model_lightColorHdr=function(){return n.lightColor}}const a=i.lightingModel;a===Hfe.PBR?o.addDefine("LIGHTING_PBR",void 0,nde.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,nde.FRAGMENT),o.addFragmentLines([Ufe])}};var qfe=Gfe,Wfe="// If the style color is white, it implies the feature has not been styled.\nbool isDefaultStyleColor(vec3 color)\n{\n return all(greaterThan(color, vec3(1.0 - czm_epsilon3)));\n}\n\nvec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend)\n{\n vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend);\n vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor;\n return color;\n}\n\nvec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform)\n{\n return vec2(textureTransform * vec3(texCoord, 1.0));\n}\n\n#ifdef HAS_NORMALS\nvec3 computeNormal(ProcessedAttributes attributes)\n{\n // Geometry normal. This is already normalized \n vec3 ng = attributes.normalEC;\n\n vec3 normal = ng;\n #if defined(HAS_NORMAL_TEXTURE) && !defined(USE_WIREFRAME)\n vec2 normalTexCoords = TEXCOORD_NORMAL;\n #ifdef HAS_NORMAL_TEXTURE_TRANSFORM\n normalTexCoords = computeTextureTransform(normalTexCoords, u_normalTextureTransform);\n #endif\n\n // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set\n #ifdef HAS_BITANGENTS\n vec3 t = attributes.tangentEC;\n vec3 b = attributes.bitangentEC;\n mat3 tbn = mat3(t, b, ng);\n vec3 n = texture2D(u_normalTexture, normalTexCoords).rgb;\n normal = normalize(tbn * (2.0 * n - 1.0));\n #elif defined(GL_OES_standard_derivatives)\n // Compute tangents\n vec3 positionEC = attributes.positionEC;\n vec3 pos_dx = dFdx(positionEC);\n vec3 pos_dy = dFdy(positionEC);\n vec3 tex_dx = dFdx(vec3(normalTexCoords,0.0));\n vec3 tex_dy = dFdy(vec3(normalTexCoords,0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n vec3 n = texture2D(u_normalTexture, normalTexCoords).rgb;\n normal = normalize(tbn * (2.0 * n - 1.0));\n #endif\n #endif\n\n return normal;\n}\n#endif\n\nvoid materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature)\n{\n\n #ifdef HAS_NORMALS\n material.normalEC = computeNormal(attributes);\n #endif\n\n vec4 baseColorWithAlpha = vec4(1.0);\n // Regardless of whether we use PBR, set a base color\n #ifdef HAS_BASE_COLOR_TEXTURE\n vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR;\n\n #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM\n baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform);\n #endif\n\n baseColorWithAlpha = czm_srgbToLinear(texture2D(u_baseColorTexture, baseColorTexCoords));\n\n #ifdef HAS_BASE_COLOR_FACTOR\n baseColorWithAlpha *= u_baseColorFactor;\n #endif\n #elif defined(HAS_BASE_COLOR_FACTOR)\n baseColorWithAlpha = u_baseColorFactor;\n #endif\n\n #ifdef HAS_COLOR_0\n vec4 color = attributes.color_0;\n // .pnts files store colors in the sRGB color space\n #ifdef HAS_SRGB_COLOR\n color = czm_srgbToLinear(color);\n #endif\n baseColorWithAlpha *= color;\n #endif\n\n material.diffuse = baseColorWithAlpha.rgb;\n material.alpha = baseColorWithAlpha.a;\n\n #ifdef USE_CPU_STYLING\n material.diffuse = blend(material.diffuse, feature.color.rgb, model_colorBlend);\n #endif\n\n #ifdef HAS_OCCLUSION_TEXTURE\n vec2 occlusionTexCoords = TEXCOORD_OCCLUSION;\n #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM\n occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform);\n #endif\n material.occlusion = texture2D(u_occlusionTexture, occlusionTexCoords).r;\n #endif\n\n #ifdef HAS_EMISSIVE_TEXTURE\n vec2 emissiveTexCoords = TEXCOORD_EMISSIVE;\n #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM\n emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform);\n #endif\n\n vec3 emissive = czm_srgbToLinear(texture2D(u_emissiveTexture, emissiveTexCoords).rgb);\n #ifdef HAS_EMISSIVE_FACTOR\n emissive *= u_emissiveFactor;\n #endif\n material.emissive = emissive;\n #elif defined(HAS_EMISSIVE_FACTOR)\n material.emissive = u_emissiveFactor;\n #endif\n\n #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS)\n #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE\n vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS;\n #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM\n specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform);\n #endif\n\n vec4 specularGlossiness = czm_srgbToLinear(texture2D(u_specularGlossinessTexture, specularGlossinessTexCoords));\n vec3 specular = specularGlossiness.rgb;\n float glossiness = specularGlossiness.a;\n #ifdef HAS_SPECULAR_FACTOR\n specular *= u_specularFactor;\n #endif\n\n #ifdef HAS_GLOSSINESS_FACTOR\n glossiness *= u_glossinessFactor;\n #endif\n #else\n #ifdef HAS_SPECULAR_FACTOR\n vec3 specular = clamp(u_specularFactor, vec3(0.0), vec3(1.0));\n #else\n vec3 specular = vec3(1.0);\n #endif\n\n #ifdef HAS_GLOSSINESS_FACTOR\n float glossiness = clamp(u_glossinessFactor, 0.0, 1.0);\n #else\n float glossiness = 1.0;\n #endif\n #endif\n\n #ifdef HAS_DIFFUSE_TEXTURE\n vec2 diffuseTexCoords = TEXCOORD_DIFFUSE;\n #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM\n diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform);\n #endif\n\n vec4 diffuse = czm_srgbToLinear(texture2D(u_diffuseTexture, diffuseTexCoords));\n #ifdef HAS_DIFFUSE_FACTOR\n diffuse *= u_diffuseFactor;\n #endif\n #elif defined(HAS_DIFFUSE_FACTOR)\n vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0));\n #else\n vec4 diffuse = vec4(1.0);\n #endif\n czm_pbrParameters parameters = czm_pbrSpecularGlossinessMaterial(\n diffuse.rgb,\n specular,\n glossiness\n );\n material.diffuse = parameters.diffuseColor;\n // the specular glossiness extension's alpha overrides anything set\n // by the base material.\n material.alpha = diffuse.a;\n material.specular = parameters.f0;\n material.roughness = parameters.roughness;\n #elif defined(LIGHTING_PBR)\n #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE\n vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS;\n #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM\n metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform);\n #endif\n\n vec3 metallicRoughness = texture2D(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb;\n float metalness = clamp(metallicRoughness.b, 0.0, 1.0);\n float roughness = clamp(metallicRoughness.g, 0.04, 1.0);\n #ifdef HAS_METALLIC_FACTOR\n metalness *= u_metallicFactor;\n #endif\n\n #ifdef HAS_ROUGHNESS_FACTOR\n roughness *= u_roughnessFactor;\n #endif\n #else\n #ifdef HAS_METALLIC_FACTOR\n float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n #else\n float metalness = 1.0;\n #endif\n\n #ifdef HAS_ROUGHNESS_FACTOR\n float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n #else\n float roughness = 1.0;\n #endif\n #endif\n czm_pbrParameters parameters = czm_pbrMetallicRoughnessMaterial(\n material.diffuse,\n metalness,\n roughness\n );\n material.diffuse = parameters.diffuseColor;\n material.specular = parameters.f0;\n material.roughness = parameters.roughness;\n #endif\n}\n";const Yfe=_9.Material,Xfe=_9.MetallicRoughness,Kfe=_9.SpecularGlossiness,Jfe={};function Zfe(e,t,n,i,o){const r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,nde.FRAGMENT);const a=i+"Transform";e.addUniform("mat3",a,nde.FRAGMENT),t[a]=function(){return n.transform}}function $fe(e,t,n,i,a,s){e.addUniform("sampler2D",i,nde.FRAGMENT),t[i]=function(){return Object(o["a"])(n.texture,s)};const c=`HAS_${a}_TEXTURE`;e.addDefine(c,void 0,nde.FRAGMENT);const l=n.texCoord,u="v_texCoord_"+l,h="TEXCOORD_"+a;e.addDefine(h,u,nde.FRAGMENT);const d=n.transform;Object(r["a"])(d)&&!ce.equals(d,ce.IDENTITY)&&Zfe(e,t,n,i,a)}function Qfe(e,t,n,i,o,a){const s=e.emissiveTexture;Object(r["a"])(s)&&$fe(n,t,s,"u_emissiveTexture","EMISSIVE",a);const c=e.emissiveFactor;Object(r["a"])(c)&&!g.equals(c,Yfe.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",nde.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,nde.FRAGMENT));const l=e.normalTexture;Object(r["a"])(l)&&$fe(n,t,l,"u_normalTexture","NORMAL",o);const u=e.occlusionTexture;Object(r["a"])(u)&&$fe(n,t,u,"u_occlusionTexture","OCCLUSION",i)}function epe(e,t,n,i){const o=e.specularGlossiness;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,nde.FRAGMENT);const a=o.diffuseTexture;Object(r["a"])(a)&&$fe(n,t,a,"u_diffuseTexture","DIFFUSE",i);const s=o.diffuseFactor;Object(r["a"])(s)&&!be.equals(s,Kfe.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",nde.FRAGMENT),t.u_diffuseFactor=function(){return o.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,nde.FRAGMENT));const c=o.specularGlossinessTexture;Object(r["a"])(c)&&$fe(n,t,c,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i);const l=o.specularFactor;Object(r["a"])(l)&&!g.equals(l,Kfe.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_specularFactor",nde.FRAGMENT),t.u_specularFactor=function(){return o.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,nde.FRAGMENT));const u=o.glossinessFactor;Object(r["a"])(u)&&u!==Kfe.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",nde.FRAGMENT),t.u_glossinessFactor=function(){return o.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,nde.FRAGMENT))}function tpe(e,t,n,i){const o=e.metallicRoughness;n.addDefine("USE_METALLIC_ROUGHNESS",void 0,nde.FRAGMENT);const a=o.baseColorTexture;Object(r["a"])(a)&&$fe(n,t,a,"u_baseColorTexture","BASE_COLOR",i);const s=o.baseColorFactor;Object(r["a"])(s)&&!be.equals(s,Xfe.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",nde.FRAGMENT),t.u_baseColorFactor=function(){return o.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,nde.FRAGMENT));const c=o.metallicRoughnessTexture;Object(r["a"])(c)&&$fe(n,t,c,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);const l=o.metallicFactor;Object(r["a"])(l)&&l!==Xfe.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",nde.FRAGMENT),t.u_metallicFactor=function(){return o.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,nde.FRAGMENT));const u=o.roughnessFactor;Object(r["a"])(u)&&u!==Xfe.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",nde.FRAGMENT),t.u_roughnessFactor=function(){return o.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,nde.FRAGMENT))}Jfe.name="MaterialPipelineStage",Jfe.process=function(e,t,n){const i=t.material,o=e.uniformMap,a=e.shaderBuilder,s=n.context.defaultTexture,c=n.context.defaultNormalTexture,l=n.context.defaultEmissiveTexture;Qfe(i,o,a,s,c,l),Object(r["a"])(i.specularGlossiness)?epe(i,o,a,s):tpe(i,o,a,s);const u=Xhe.getAttributeBySemantic(t,Kte.NORMAL),h=e.lightingOptions;i.unlit||!u?h.lightingModel=Hfe.UNLIT:h.lightingModel=Hfe.PBR;const d=e.model,f=d.backFaceCulling&&!i.doubleSided,p=Object(r["a"])(d.color)&&d.color.alpha<1;e.renderStateOptions.cull={enabled:f&&!p};const m=e.alphaOptions;Object(r["a"])(m.alphaMode)||(m.alphaMode=i.alphaMode,i.alphaMode===q8.BLEND?m.pass=oz.TRANSLUCENT:i.alphaMode===q8.MASK&&(m.alphaCutoff=i.alphaCutoff)),a.addFragmentLines([Wfe]),d.debugWireframe&&a.addDefine("USE_WIREFRAME",void 0,nde.FRAGMENT)},Jfe._processTexture=$fe,Jfe._processTextureTransform=Zfe;var npe=Jfe,ipe="void morphTargetsStage(inout ProcessedAttributes attributes) \n{\n vec3 positionMC = attributes.positionMC;\n attributes.positionMC = getMorphedPosition(positionMC);\n\n #ifdef HAS_NORMALS\n vec3 normalMC = attributes.normalMC;\n attributes.normalMC = getMorphedNormal(normalMC);\n #endif\n\n #ifdef HAS_TANGENTS\n vec3 tangentMC = attributes.tangentMC;\n attributes.tangentMC = getMorphedTangent(tangentMC);\n #endif\n}";const ope={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)",process:function(e,t){const n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,nde.VERTEX),upe(n);for(let a=0;a<t.morphTargets.length;a++){const n=t.morphTargets[a],i=n.attributes;for(let t=0;t<i.length;t++){const n=i[t],o=n.semantic;o!==Kte.POSITION&&o!==Kte.NORMAL&&o!==Kte.TANGENT||(ape(e,n,e.attributeIndex,a),e.attributeIndex++)}}hpe(n);const i=e.runtimeNode.morphWeights,o=i.length;n.addUniform("float",`u_morphWeights[${o}]`,nde.VERTEX),n.addVertexLines([ipe]);const r={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=Object(xS["a"])(r,e.uniformMap)}},rpe={attributeString:void 0,functionId:void 0};function ape(e,t,n,i){const o=e.shaderBuilder;spe(e,t,n);const r=cpe(t,rpe);lpe(o,r,i)}function spe(e,t,n){const i={index:n,value:Object(r["a"])(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:cl.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function cpe(e,t){const n=e.semantic;switch(n){case Kte.POSITION:t.attributeString="Position",t.functionId=ope.FUNCTION_ID_GET_MORPHED_POSITION;break;case Kte.NORMAL:t.attributeString="Normal",t.functionId=ope.FUNCTION_ID_GET_MORPHED_NORMAL;break;case Kte.TANGENT:t.attributeString="Tangent",t.functionId=ope.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function lpe(e,t,n){const i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function upe(e){e.addFunction(ope.FUNCTION_ID_GET_MORPHED_POSITION,ope.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,nde.VERTEX);const t="vec3 morphedPosition = position;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_POSITION,[t]),e.addFunction(ope.FUNCTION_ID_GET_MORPHED_NORMAL,ope.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,nde.VERTEX);const n="vec3 morphedNormal = normal;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_NORMAL,[n]),e.addFunction(ope.FUNCTION_ID_GET_MORPHED_TANGENT,ope.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,nde.VERTEX);const i="vec3 morphedTangent = tangent;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}function hpe(e){const t="return morphedPosition;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_POSITION,[t]);const n="return morphedNormal;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_NORMAL,[n]);const i="return morphedTangent;";e.addFunctionLines(ope.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}var dpe=ope;const fpe={};function ppe(e,t){const n=e.model,i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive};let o;if(Ofe.is3DTiles(n.type)){const e=n.content;o={content:e,primitive:e.tileset,detail:i}}else o={primitive:n,detail:i};return Object(r["a"])(t)&&(o.instanceId=t),o}function mpe(e,t,n){const i=e.model;let a,s;const c=i.featureIdLabel,l=i.instanceFeatureIdLabel;Object(r["a"])(i.featureTableId)?a=i.featureTableId:Object(r["a"])(n)?(s=Xhe.getFeatureIdsByLabel(n.featureIds,l),a=s.propertyTableId):(s=Xhe.getFeatureIdsByLabel(t.featureIds,c),a=s.propertyTableId);const u=i.featureTables[a],h=e.shaderBuilder;h.addUniform("sampler2D","model_pickTexture",nde.FRAGMENT);const d=u.batchTexture;e.uniformMap.model_pickTexture=function(){return Object(o["a"])(d.pickTexture,d.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture2D(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function _pe(e,t,n){const i=e.instanceCount,o=new Array(i),r=new Uint8Array(4*i),a=e.model,s=a._resources;for(let h=0;h<i;h++){const t=ppe(e,h),i=n.createPickId(t);s.push(i),o[h]=i;const a=i.color;r[4*h+0]=j_.floatToByte(a.red),r[4*h+1]=j_.floatToByte(a.green),r[4*h+2]=j_.floatToByte(a.blue),r[4*h+3]=j_.floatToByte(a.alpha)}const c=SG.createVertexBuffer({context:n,typedArray:r,usage:EG.STATIC_DRAW});c.vertexArrayDestroyable=!1,s.push(c);const l={index:e.attributeIndex++,vertexBuffer:c,componentsPerAttribute:4,componentDatatype:$c.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(l);const u=e.shaderBuilder;u.addDefine("USE_PICKING",void 0,nde.BOTH),u.addAttribute("vec4","a_pickColor"),u.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}fpe.name="PickingPipelineStage",fpe.process=function(e,t,n){const i=n.context,o=e.runtimeNode,a=e.shaderBuilder,s=e.model,c=o.node.instances;if(e.hasPropertyTable)mpe(e,t,c,i);else if(Object(r["a"])(c))_pe(e,c,i);else{const t=ppe(e),n=i.createPickId(t);s._resources.push(n),a.addUniform("vec4","czm_pickColor",nde.FRAGMENT);const o=e.uniformMap;o.czm_pickColor=function(){return n.color},e.pickId="czm_pickColor"}};var gpe=fpe,bpe="float pointCloudAttenuationStage(vec3 positionEC) {\n // Variables are packed into a single vector to minimize gl.uniformXXX() calls\n float pointSize = model_pointCloudAttenuation.x;\n float geometricError = model_pointCloudAttenuation.y;\n float depthMultiplier = model_pointCloudAttenuation.z;\n float depth = -positionEC.z;\n return min((geometricError / depth) * depthMultiplier, pointSize);\n}\n";const ype={name:"PointCloudAttenuationPipelineStage"},vpe=new g;ype.process=function(e,t,n){const i=e.shaderBuilder;i.addVertexLines([bpe]),i.addDefine("USE_POINT_CLOUD_ATTENUATION",void 0,nde.VERTEX);const r=e.model,a=r.pointCloudShading;let s,c,l;Ofe.is3DTiles(r.type)&&(c=!0,s=r.content,l=s.tile.refine===qte.ADD),i.addUniform("vec3","model_pointCloudAttenuation",nde.VERTEX),e.uniformMap.model_pointCloudAttenuation=function(){const i=vpe;let r=1;c&&(r=l?5:s.tileset.maximumScreenSpaceError),i.x=Object(o["a"])(a.maximumAttenuation,r),i.x*=n.pixelRatio;const u=wpe(e,t,a,s);i.y=u*a.geometricErrorScale;const h=n.context,d=n.camera.frustum;let f;return f=n.mode===vq.SCENE2D||d instanceof uA?Number.POSITIVE_INFINITY:h.drawingBufferHeight/n.camera.frustum.sseDenominator,i.z=f,i}};const Ope=new g;function wpe(e,t,n,i){if(Object(r["a"])(i)){const e=i.tile.geometricError;if(e>0)return e}if(Object(r["a"])(n.baseResolution))return n.baseResolution;const o=Xhe.getAttributeBySemantic(t,Kte.POSITION),a=o.count,c=e.runtimeNode.transform;let l=g.subtract(o.max,o.min,Ope);l=Ne.multiplyByPointAsVector(c,l,Ope);const u=l.x*l.y*l.z,h=s["a"].cbrt(u/a);return h}var Ape=ype;const Tpe=new Ne,Cpe={name:"SceneMode2DPipelineStage",process:function(e,t,n){const i=e.shaderBuilder,o=e.runtimePrimitive,a=e.model,s=a.sceneGraph.computedModelMatrix,c=e.runtimeNode.computedTransform,l=Ne.multiplyTransformation(s,c,Tpe),u=Spe(e,l,n);o.boundingSphere2D=u;const h=Xhe.getAttributeBySemantic(t,Kte.POSITION);if(Object(r["a"])(h.typedArray)){const e=Ppe(h,l,u,n);o.positionBuffer2D=e,a._modelResources.push(e),h.typedArray=void 0}i.addDefine("USE_2D_POSITIONS",void 0,nde.VERTEX),i.addUniform("mat4","u_modelView2D",nde.VERTEX);const d=Ne.fromTranslation(u.center,new Ne),f=new Ne,p=n.context,m={u_modelView2D:function(){return Ne.multiplyTransformation(p.uniformState.view,d,f)}};e.uniformMap=Object(xS["a"])(m,e.uniformMap)}},Epe=new g,xpe=new g;function Spe(e,t,n){const i=Ne.multiplyByPoint(t,e.positionMin,Epe),o=qie.computeActualWgs84Position(n,i,i),r=Ne.multiplyByPoint(t,e.positionMax,xpe),a=qie.computeActualWgs84Position(n,r,r);return Tt.fromCornerPoints(o,a,new Tt)}const Ipe=new g;function Dpe(e,t){const n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let a=0;a<n;a+=3){const t=g.fromArray(e,a,Ipe),n=g.multiplyComponents(t,r,t),s=g.add(n,o,n);i[a]=s.x,i[a+1]=s.y,i[a+2]=s.z}return i}function jpe(e,t,n,i){const o=e.typedArray.slice();let a;a=Object(r["a"])(e.quantization)?Dpe(e.typedArray,e.quantization):new Float32Array(o.buffer,o.byteOffset,o.byteLength/Float32Array.BYTES_PER_ELEMENT);const s=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,c=a.length,l=Object(r["a"])(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let r=s;r<c;r+=l){const e=g.fromArray(a,r,Ipe);if(isNaN(e.x)||isNaN(e.y)||isNaN(e.z))continue;const o=Ne.multiplyByPoint(t,e,e),s=qie.computeActualWgs84Position(i,o,o),c=g.subtract(s,n,s);a[r]=c.x,a[r+1]=c.y,a[r+2]=c.z}return a}function Ppe(e,t,n,i){const o=Object(jL["a"])(i);o.mode=vq.COLUMBUS_VIEW;const r=n.center,a=jpe(e,t,r,o),s=SG.createVertexBuffer({context:i.context,typedArray:a,usage:EG.STATIC_DRAW});return s.vertexArrayDestroyable=!1,s}var Rpe=Cpe,Mpe="void skinningStage(inout ProcessedAttributes attributes) \n{\n mat4 skinningMatrix = getSkinningMatrix();\n mat3 skinningMatrixMat3 = mat3(skinningMatrix);\n\n vec4 positionMC = vec4(attributes.positionMC, 1.0);\n attributes.positionMC = vec3(skinningMatrix * positionMC);\n\n #ifdef HAS_NORMALS\n vec3 normalMC = attributes.normalMC;\n attributes.normalMC = skinningMatrixMat3 * normalMC;\n #endif\n\n #ifdef HAS_TANGENTS\n vec3 tangentMC = attributes.tangentMC;\n attributes.tangentMC = skinningMatrixMat3 * tangentMC;\n #endif\n}";const Npe={};function Lpe(e){let t=-1;const n=e.attributes,i=n.length;for(let o=0;o<i;o++){const e=n[o],i=e.semantic===Kte.JOINTS||e.semantic===Kte.WEIGHTS;i&&(t=Math.max(t,e.setIndex))}return t}function Bpe(e,t){e.addFunction(Npe.FUNCTION_ID_GET_SKINNING_MATRIX,Npe.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,nde.VERTEX);const n="mat4 skinnedMatrix = mat4(0);";let i,o;e.addFunctionLines(Npe.FUNCTION_ID_GET_SKINNING_MATRIX,[n]);const r=["x","y","z","w"],a=Lpe(t);for(i=0;i<=a;i++)for(o=0;o<=3;o++){const t=r[o],n=`skinnedMatrix += a_weights_${i}.${t} * u_jointMatrices[int(a_joints_${i}.${t})];`;e.addFunctionLines(Npe.FUNCTION_ID_GET_SKINNING_MATRIX,[n])}const s="return skinnedMatrix;";e.addFunctionLines(Npe.FUNCTION_ID_GET_SKINNING_MATRIX,[s])}Npe.name="SkinningPipelineStage",Npe.FUNCTION_ID_GET_SKINNING_MATRIX="getSkinningMatrix",Npe.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX="mat4 getSkinningMatrix()",Npe.process=function(e,t){const n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,nde.VERTEX),Bpe(n,t);const i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,nde.VERTEX),n.addVertexLines([Mpe]);const r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=Object(xS["a"])(r,e.uniformMap)};var Fpe=Npe;const kpe={};function zpe(e,t,n){const i=Xhe.getAttributeBySemantic(e,Kte.POSITION),o=i.count;let a;if(Object(r["a"])(t)){const e=t.buffer,i=t.count;if(Object(r["a"])(e)&&n.context.webgl2){const t=e.sizeInBytes===i;a=t?new Uint8Array(i):uu.createTypedArray(o,i),e.getBufferData(a)}else a=t.typedArray}const s=e.primitiveType,c=TL.createWireframeIndices(s,o,a),l=uu.fromSizeInBytes(c.BYTES_PER_ELEMENT);return SG.createIndexBuffer({context:n.context,typedArray:c,usage:EG.STATIC_DRAW,indexDatatype:l})}kpe.name="WireframePipelineStage",kpe.process=function(e,t,n){const i=zpe(t,e.indices,n);e.model._resources.push(i),e.wireframeIndexBuffer=i;const o=e.primitiveType,r=e.count;e.primitiveType=xh.LINES,e.count=TL.getWireframeIndicesCount(o,r)};var Upe=kpe;function Vpe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.primitive,n=e.node,r=e.model;i["a"].typeOf.object("options.primitive",t),i["a"].typeOf.object("options.node",n),i["a"].typeOf.object("options.model",r),this.primitive=t,this.node=n,this.model=r,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.updateStages=[]}function Hpe(e,t,n){let i;return Object(r["a"])(t.instances)&&(i=Xhe.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),Object(r["a"])(i))?{hasFeatureIds:!0,hasPropertyTable:Object(r["a"])(i.propertyTableId)}:(i=Xhe.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),Object(r["a"])(i)?{hasFeatureIds:!0,hasPropertyTable:Object(r["a"])(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}Vpe.prototype.configurePipeline=function(e){const t=this.pipelineStages;t.length=0;const n=this.primitive,i=this.node,o=this.model,a=o.customShader,s=e.context.webgl2,c=e.mode,l=c!==vq.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,u=Object(r["a"])(n.morphTargets)&&n.morphTargets.length>0,h=Object(r["a"])(i.skin),d=Object(r["a"])(a),f=d&&Object(r["a"])(a.fragmentShaderText),p=!f||a.mode!==gde.REPLACE_MATERIAL,m=Xhe.hasQuantizedAttributes(n.attributes),_=o.debugWireframe&&xh.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||s),g=o.pointCloudShading,b=Object(r["a"])(g)&&g.attenuation,y=Hpe(o,i,n);l&&t.push(Rpe),t.push(zfe),_&&t.push(Upe),u&&t.push(dpe),h&&t.push(Fpe),b&&n.primitiveType===xh.POINTS&&t.push(Ape),m&&t.push(gfe),p&&t.push(npe),t.push(Rde),t.push(qde),y.hasPropertyTable&&(t.push(Sfe),t.push(mde),t.push(ufe)),d&&t.push(afe),t.push(qfe),o.allowPicking&&t.push(gpe),t.push(fde)};var Gpe="mat4 getInstancingTransform()\n{\n mat4 instancingTransform;\n\n #ifdef HAS_INSTANCE_MATRICES\n instancingTransform = mat4(\n a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1\n a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2\n a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3\n a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4\n );\n #else\n vec3 translation = vec3(0.0, 0.0, 0.0);\n vec3 scale = vec3(1.0, 1.0, 1.0);\n \n #ifdef HAS_INSTANCE_TRANSLATION\n translation = a_instanceTranslation;\n #endif\n #ifdef HAS_INSTANCE_SCALE\n scale = a_instanceScale;\n #endif\n\n instancingTransform = mat4(\n scale.x, 0.0, 0.0, 0.0,\n 0.0, scale.y, 0.0, 0.0,\n 0.0, 0.0, scale.z, 0.0,\n translation.x, translation.y, translation.z, 1.0\n ); \n #endif\n\n return instancingTransform;\n}\n",qpe="void instancingStage(inout vec3 positionMC) \n{\n mat4 instancingTransform = getInstancingTransform();\n\n positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz;\n}\n",Wpe="void legacyInstancingStage(inout vec3 positionMC, out mat4 instanceModelView, out mat3 instanceModelViewInverseTranspose)\n{\n mat4 instancingTransform = getInstancingTransform();\n\n mat4 instanceModel = instancingTransform * u_instance_nodeTransform;\n instanceModelView = u_instance_modifiedModelView;\n instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel);\n\n positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz;\n}\n";const Ype=new Ne,Xpe=new Ne,Kpe={name:"InstancingPipelineStage",process:function(e,t,n){const i=t.instances,o=i.attributes[0].count;let a=[];const s=e.model.sceneGraph,c=e.shaderBuilder;c.addDefine("HAS_INSTANCING"),c.addVertexLines([Gpe]);const l=Xhe.getAttributeBySemantic(i,Wle.TRANSLATION);let u,h;Object(r["a"])(l)&&(u=l.max,h=l.min);const d=Xhe.getAttributeBySemantic(i,Wle.ROTATION);if(!Object(r["a"])(d)&&Object(r["a"])(u)&&Object(r["a"])(h)){Object(r["a"])(l)&&(a.push({index:e.attributeIndex++,vertexBuffer:l.buffer,componentsPerAttribute:cl.getNumberOfComponents(l.type),componentDatatype:l.componentDatatype,normalize:!1,offsetInBytes:l.byteOffset,strideInBytes:l.byteStride,instanceDivisor:1}),e.instancingTranslationMax=u,e.instancingTranslationMin=h,c.addDefine("HAS_INSTANCE_TRANSLATION"),c.addAttribute("vec3","a_instanceTranslation"));const t=Xhe.getAttributeBySemantic(i,Wle.SCALE);Object(r["a"])(t)&&(a.push({index:e.attributeIndex++,vertexBuffer:t.buffer,componentsPerAttribute:cl.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,normalize:!1,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,instanceDivisor:1}),c.addDefine("HAS_INSTANCE_SCALE"),c.addAttribute("vec3","a_instanceScale"))}else a=nme(t,o,e,n);if(tme(e,n,i,a),i.transformInWorldSpace){const t=e.uniformMap;c.addDefine("USE_LEGACY_INSTANCING",void 0,nde.VERTEX),c.addUniform("mat4","u_instance_modifiedModelView",nde.VERTEX),c.addUniform("mat4","u_instance_nodeTransform",nde.VERTEX),t.u_instance_modifiedModelView=function(){const t=Ne.multiplyTransformation(e.model.modelMatrix,s.components.transform,Ype);return Ne.multiplyTransformation(n.context.uniformState.view,t,Ype)},t.u_instance_nodeTransform=function(){return Ne.multiplyTransformation(s.axisCorrectionMatrix,e.runtimeNode.computedTransform,Xpe)},c.addVertexLines([Wpe])}else c.addVertexLines([qpe]);e.instanceCount=o,e.attributes.push.apply(e.attributes,a)}},Jpe=new g,Zpe=new $a,$pe=new g,Qpe=new Ne;function eme(e,t,n){const i=12,o=new Float32Array(t*i),a=Xhe.getAttributeBySemantic(e,Wle.TRANSLATION),s=Xhe.getAttributeBySemantic(e,Wle.ROTATION),c=Xhe.getAttributeBySemantic(e,Wle.SCALE),l=new g(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),u=new g(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),h=Object(r["a"])(a),d=Object(r["a"])(s),f=Object(r["a"])(c),p=h?a.packedTypedArray:new Float32Array(3*t),m=d?s.packedTypedArray:new Float32Array(4*t);let _;f?_=c.packedTypedArray:(_=new Float32Array(3*t),_.fill(1));for(let r=0;r<t;r++){const e=new g(p[3*r],p[3*r+1],p[3*r+2],Jpe);g.maximumByComponent(l,e,l),g.minimumByComponent(u,e,u);const t=new $a(m[4*r],m[4*r+1],m[4*r+2],d?m[4*r+3]:1,Zpe),a=new g(_[3*r],_[3*r+1],_[3*r+2],$pe),s=Ne.fromTranslationQuaternionRotationScale(e,t,a,Qpe),c=i*r;o[c+0]=s[0],o[c+1]=s[4],o[c+2]=s[8],o[c+3]=s[12],o[c+4]=s[1],o[c+5]=s[5],o[c+6]=s[9],o[c+7]=s[13],o[c+8]=s[2],o[c+9]=s[6],o[c+10]=s[10],o[c+11]=s[14],n.instancingTranslationMax=l,n.instancingTranslationMin=u}return o}function tme(e,t,n,i){const o=n.attributes,r=e.model,a=e.shaderBuilder;for(let s=0;s<o.length;s++){const n=o[s];if(n.semantic!==Wle.FEATURE_ID)continue;n.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=n.setIndex+1);const c=SG.createVertexBuffer({context:t.context,typedArray:n.packedTypedArray,usage:EG.STATIC_DRAW});c.vertexArrayDestroyable=!1,r._resources.push(c),i.push({index:e.attributeIndex++,vertexBuffer:c,componentsPerAttribute:cl.getNumberOfComponents(n.type),componentDatatype:n.componentDatatype,normalize:!1,offsetInBytes:n.byteOffset,strideInBytes:n.byteStride,instanceDivisor:1}),a.addAttribute("float","a_instanceFeatureId_"+n.setIndex)}}function nme(e,t,n,i){const o=eme(e.instances,t,n),r=SG.createVertexBuffer({context:i.context,typedArray:o,usage:EG.STATIC_DRAW});r.vertexArrayDestroyable=!1,n.model._resources.push(r);const a=12,s=$c.getSizeInBytes($c.FLOAT),c=s*a,l=[{index:n.attributeIndex++,vertexBuffer:r,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:c,instanceDivisor:1},{index:n.attributeIndex++,vertexBuffer:r,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:4*s,strideInBytes:c,instanceDivisor:1},{index:n.attributeIndex++,vertexBuffer:r,componentsPerAttribute:4,componentDatatype:$c.FLOAT,normalize:!1,offsetInBytes:8*s,strideInBytes:c,instanceDivisor:1}],u=n.shaderBuilder;return u.addDefine("HAS_INSTANCE_MATRICES"),u.addAttribute("vec4","a_instancingTransformRow0"),u.addAttribute("vec4","a_instancingTransformRow1"),u.addAttribute("vec4","a_instancingTransformRow2"),l}Kpe._getInstanceTransformsTypedArray=eme;var ime=Kpe;const ome={};function rme(e,t,n,i){let o;i=Ne.multiplyTransformation(i,e.transform,new Ne),e.updateComputedTransform();const r=e.runtimePrimitives.length;for(o=0;o<r;o++){const t=e.runtimePrimitives[o],r=t.drawCommand;r.modelMatrix=Ne.multiplyTransformation(n,i,r.modelMatrix),r.cullFace=Xhe.getCullFace(r.modelMatrix,r.primitiveType)}const a=e.children.length;for(o=0;o<a;o++){const r=t._runtimeNodes[e.children[o]];r._transformToRoot=Ne.clone(i,r._transformToRoot),rme(r,t,n,i),r._transformDirty=!1}}ome.name="ModelMatrixUpdateStage",ome.update=function(e,t,n){const i=n.mode!==vq.SCENE3D;if((!i||!t._model._projectTo2D)&&e._transformDirty){const n=i?t._computedModelMatrix2D:t._computedModelMatrix;rme(e,t,n,e.transformToRoot),e._transformDirty=!1}};var ame=ome;function sme(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.node",e.node),i["a"].typeOf.object("options.transform",e.transform),i["a"].typeOf.object("options.transformToRoot",e.transformToRoot),i["a"].typeOf.object("options.sceneGraph",e.sceneGraph),i["a"].typeOf.object("options.children",e.children);const t=e.sceneGraph,n=e.transform,a=e.transformToRoot,s=e.node;this._sceneGraph=t,this._children=e.children,this._node=s,this._name=s.name,this._originalTransform=Ne.clone(n,this._originalTransform),this._transform=Ne.clone(n,this._transform),this._transformToRoot=Ne.clone(a,this._transformToRoot),this._originalTransform=Ne.clone(n,this._originalTransform);const c=Ne.multiply(a,n,new Ne);this._computedTransform=c,this._transformDirty=!1,this._transformParameters=Object(r["a"])(s.matrix)?void 0:new DN(s.translation,s.rotation,s.scale),this._morphWeights=Object(r["a"])(s.morphWeights)?s.morphWeights.slice():[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[]}function cme(e,t){e._transformDirty=!0,e._transform=Ne.fromTranslationRotationScale(t,e._transform)}function lme(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.skin",e.skin),i["a"].typeOf.object("options.sceneGraph",e.sceneGraph),this._sceneGraph=e.sceneGraph;const t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],ume(this)}function ume(e){const t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;const i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,a=e.joints,s=e._jointMatrices;for(let c=0;c<o;c++){const e=i[c].index,t=r[e];a.push(t);const o=n[c],l=hme(t,o,new Ne);s.push(l)}}function hme(e,t,n){const i=Ne.multiplyTransformation(e.transformToRoot,e.transform,n);return n=Ne.multiplyTransformation(i,t,n),n}function dme(){this.pass=void 0,this.alphaMode=void 0,this.alphaCutoff=void 0}function fme(e){this.name=e,this.fields=[]}function pme(e){this.signature=e,this.body=[]}function mme(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}function _me(e){const t=[],n=[];let i,o,r,a,s=e._vertexShaderParts.structIds;for(i=0;i<s.length;i++)o=s[i],r=e._structs[o],a=r.generateGlslLines(),t.push.apply(t,a);for(s=e._fragmentShaderParts.structIds,i=0;i<s.length;i++)o=s[i],r=e._structs[o],a=r.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function gme(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function bme(e){const t=[],n=[];let i,o,r,a,s=e._vertexShaderParts.functionIds;for(i=0;i<s.length;i++)o=s[i],r=e._functions[o],a=r.generateGlslLines(),t.push.apply(t,a);for(s=e._fragmentShaderParts.functionIds,i=0;i<s.length;i++)o=s[i],r=e._functions[o],a=r.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function yme(e){i["a"].typeOf.object("model",e),this.shaderBuilder=new mme,this.model=e,this.uniformMap={},this.alphaOptions=new dme,this.renderStateOptions={}}Object.defineProperties(sme.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){Ne.equals(this._transform,e)||(this._transformDirty=!0,this._transform=Ne.clone(e,this._transform))}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return Object(r["a"])(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){const t=this._transformParameters;if(!Object(r["a"])(t))throw new a["a"]("The translation of a node cannot be set if it was defined using a matrix in the model.");const n=t.translation;g.equals(n,e)||(t.translation=g.clone(e,t.translation),cme(this,t))}},rotation:{get:function(){return Object(r["a"])(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){const t=this._transformParameters;if(!Object(r["a"])(t))throw new a["a"]("The rotation of a node cannot be set if it was defined using a matrix in the model.");const n=t.rotation;$a.equals(n,e)||(t.rotation=$a.clone(e,t.rotation),cme(this,t))}},scale:{get:function(){return Object(r["a"])(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){const t=this._transformParameters;if(!Object(r["a"])(t))throw new a["a"]("The scale of a node cannot be set if it was defined using a matrix in the model.");const n=t.scale;g.equals(n,e)||(t.scale=g.clone(e,t.scale),cme(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){const t=e.length;if(this._morphWeights.length!==t)throw new a["a"]("value must have the same length as the original weights array.");for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}}),sme.prototype.getChild=function(e){if(i["a"].typeOf.number("index",e),e<0||e>=this.children.length)throw new a["a"]("index must be greater than or equal to 0 and less than the number of children.");return this.sceneGraph.runtimeNodes[this.children[e]]},sme.prototype.configurePipeline=function(){const e=this.node,t=this.pipelineStages;t.length=0;const n=this.updateStages;n.length=0,Object(r["a"])(e.instances)&&t.push(ime),n.push(ame)},sme.prototype.updateComputedTransform=function(){this._computedTransform=Ne.multiply(this._transformToRoot,this._transform,this._computedTransform)},sme.prototype.updateJointMatrices=function(){const e=this._runtimeSkin;if(!Object(r["a"])(e))return;e.updateJointMatrices();const t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){Object(r["a"])(t[o])||(t[o]=new Ne);const e=Ne.multiplyTransformation(this.transformToRoot,this.transform,t[o]),i=Ne.inverseTransformation(e,t[o]);t[o]=Ne.multiplyTransformation(i,n[o],t[o])}},Object.defineProperties(lme.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}}),lme.prototype.updateJointMatrices=function(){const e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){const t=this.joints[n],i=this.inverseBindMatrices[n];e[n]=hme(t,i,e[n])}},fme.prototype.addField=function(e,t){const n=` ${e} ${t};`;this.fields.push(n)},fme.prototype.generateGlslLines=function(){let e=this.fields;return 0===e.length&&(e=[" float _empty;"]),[].concat("struct "+this.name,"{",e,"};")},pme.prototype.addLines=function(e){const t=e.map((function(e){return" "+e}));Array.prototype.push.apply(this.body,t)},pme.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")},Object.defineProperties(mme.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}}),mme.prototype.addDefine=function(e,t,n){i["a"].typeOf.string("identifier",e),n=Object(o["a"])(n,nde.BOTH);let a=e;Object(r["a"])(t)&&(a+=" "+t.toString()),nde.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(a),nde.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(a)},mme.prototype.addStruct=function(e,t,n){i["a"].typeOf.string("structId",e),i["a"].typeOf.string("structName",t),i["a"].typeOf.number("destination",n),this._structs[e]=new fme(t),nde.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),nde.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)},mme.prototype.addStructField=function(e,t,n){i["a"].typeOf.string("structId",e),i["a"].typeOf.string("type",t),i["a"].typeOf.string("identifier",n),this._structs[e].addField(t,n)},mme.prototype.addFunction=function(e,t,n){i["a"].typeOf.string("functionName",e),i["a"].typeOf.string("signature",t),i["a"].typeOf.number("destination",n),this._functions[e]=new pme(t),nde.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),nde.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)},mme.prototype.addFunctionLines=function(e,t){i["a"].typeOf.string("functionName",e),i["a"].typeOf.object("lines",t),this._functions[e].addLines(t)},mme.prototype.addUniform=function(e,t,n){i["a"].typeOf.string("type",e),i["a"].typeOf.string("identifier",t),n=Object(o["a"])(n,nde.BOTH);const r=`uniform ${e} ${t};`;nde.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(r),nde.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(r)},mme.prototype.setPositionAttribute=function(e,t){if(i["a"].typeOf.string("type",e),i["a"].typeOf.string("identifier",t),Object(r["a"])(this._positionAttributeLine))throw new a["a"]("setPositionAttribute() must be called exactly once for the attribute used for gl_Position. For other attributes, use addAttribute()");return this._positionAttributeLine=`attribute ${e} ${t};`,this._attributeLocations[t]=0,0},mme.prototype.addAttribute=function(e,t){i["a"].typeOf.string("type",e),i["a"].typeOf.string("identifier",t);const n=`attribute ${e} ${t};`;this._attributeLines.push(n);const o=this._nextAttributeLocation;return this._attributeLocations[t]=o,this._nextAttributeLocation+=gme(e),o},mme.prototype.addVarying=function(e,t){i["a"].typeOf.string("type",e),i["a"].typeOf.string("identifier",t);const n=`varying ${e} ${t};`;this._vertexShaderParts.varyingLines.push(n),this._fragmentShaderParts.varyingLines.push(n)},mme.prototype.addVertexLines=function(e){i["a"].typeOf.object("lines",e),Array.prototype.push.apply(this._vertexShaderParts.shaderLines,e)},mme.prototype.addFragmentLines=function(e){i["a"].typeOf.object("lines",e),Array.prototype.push.apply(this._fragmentShaderParts.shaderLines,e)},mme.prototype.buildShaderProgram=function(e){i["a"].typeOf.object("context",e);const t=Object(r["a"])(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=_me(this),o=bme(this),a=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,o.vertexLines,this._vertexShaderParts.shaderLines).join("\n"),s=new bG({defines:this._vertexShaderParts.defineLines,sources:[a]}),c=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,o.fragmentLines,this._fragmentShaderParts.shaderLines).join("\n"),l=new bG({defines:this._fragmentShaderParts.defineLines,sources:[c]});return IU.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:l,attributeLocations:this._attributeLocations})},mme.prototype.clone=function(){return Object(jL["a"])(this,!0)};var vme="void modelSplitterStage()\n{\n // Don't split when rendering the shadow map, because it is rendered from\n // the perspective of a totally different camera.\n#ifndef SHADOW_MAP\n if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard;\n if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard;\n#endif\n}\n";const Ome={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection",process:function(e,t,n){const i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,nde.FRAGMENT),i.addFragmentLines([vme]);const o={};i.addUniform("float",Ome.SPLIT_DIRECTION_UNIFORM_NAME,nde.FRAGMENT),o[Ome.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=Object(xS["a"])(o,e.uniformMap)}};var wme=Ome;function Ame(e,t){i["a"].typeOf.object("modelRenderResources",e),i["a"].typeOf.object("runtimeNode",t),this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=Object(jL["a"])(e.uniformMap),this.alphaOptions=Object(jL["a"])(e.alphaOptions),this.renderStateOptions=Object(jL["a"])(e.renderStateOptions),this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0,this.instancingTranslationMax=void 0,this.instancingTranslationMin=void 0}function Tme(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.lightingModel=Object(o["a"])(e.lightingModel,Hfe.UNLIT)}function Cme(e,t){i["a"].typeOf.object("nodeRenderResources",e),i["a"].typeOf.object("runtimePrimitive",t),this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.hasPropertyTable=!1,this.uniformMap=Object(jL["a"])(e.uniformMap),this.alphaOptions=Object(jL["a"])(e.alphaOptions),this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;const n=t.primitive;this.count=Object(r["a"])(n.indices)?n.indices.count:Xhe.getAttributeBySemantic(n,"POSITION").count,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;const o=Xhe.getPositionMinMax(n,e.instancingTranslationMin,e.instancingTranslationMax);this.positionMin=g.clone(o.min,new g),this.positionMax=g.clone(o.max,new g),this.boundingSphere=Tt.fromCornerPoints(this.positionMin,this.positionMax,new Tt),this.lightingOptions=new Tme,this.pickId=void 0,this.renderStateOptions=Object(xS["a"])(e.renderStateOptions,{depthTest:{enabled:!0,func:TG.LESS_OR_EQUAL},blending:MF.DISABLED}),this.styleCommandsNeeded=void 0}function Eme(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.modelComponents;i["a"].typeOf.object("options.model",e.model),i["a"].typeOf.object("options.modelComponents",t),this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=Ne.clone(Ne.IDENTITY),this._computedModelMatrix2D=Ne.clone(Ne.IDENTITY),this._axisCorrectionMatrix=Xhe.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new Ne),xme(this)}function xme(e){const t=e._components,n=t.scene;Sme(e);const i=t.nodes,o=i.length;e._runtimeNodes=new Array(o);const r=n.nodes,a=r.length,s=Ne.IDENTITY;for(let f=0;f<a;f++){const t=n.nodes[f],i=jme(e,t,s);e._rootNodes.push(i)}const c=t.skins,l=e._runtimeSkins,u=c.length;for(let f=0;f<u;f++){const t=c[f];l.push(new lme({skin:t,sceneGraph:e}))}const h=e._skinnedNodes,d=h.length;for(let f=0;f<d;f++){const t=h[f],n=e._runtimeNodes[t],o=i[t].skin,r=o.index;n._runtimeSkin=l[r],n.updateJointMatrices()}}function Sme(e){const t=e._components,n=e._model;e._computedModelMatrix=Ne.multiplyTransformation(n.modelMatrix,t.transform,e._computedModelMatrix),e._computedModelMatrix=Ne.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=Ne.multiplyByUniformScale(e._computedModelMatrix,n.computedScale,e._computedModelMatrix)}Object.defineProperties(Eme.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});const Ime=new g;function Dme(e,t){const n=e._computedModelMatrix,i=Ne.getTranslation(n,Ime);if(g.equals(i,g.ZERO)){const i=e.boundingSphere.center,o=Hs.wgs84To2DModelMatrix(t.mapProjection,i,e._computedModelMatrix2D);e._computedModelMatrix2D=Ne.multiply(o,n,e._computedModelMatrix2D)}else e._computedModelMatrix2D=Hs.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);e._boundingSphere2D=Tt.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function jme(e,t,n){const i=[],o=Xhe.getNodeTransform(t),a=t.children.length;for(let r=0;r<a;r++){const a=t.children[r],s=Ne.multiplyTransformation(n,o,new Ne),c=jme(e,a,s);i.push(c)}const s=new sme({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),c=t.primitives.length;for(let r=0;r<c;r++)s.runtimePrimitives.push(new Vpe({primitive:t.primitives[r],node:t,model:e._model}));const l=t.index;return e._runtimeNodes[l]=s,Object(r["a"])(t.skin)&&e._skinnedNodes.push(l),l}const Pme=new g,Rme=new g,Mme=new g,Nme=new g;function Lme(e,t){for(let n=0;n<e._runtimeNodes.length;n++){const i=e._runtimeNodes[n];for(let e=0;e<i.runtimePrimitives.length;e++){const n=i.runtimePrimitives[e];t(n)}}}function Bme(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}function Fme(e){const t=e.model,n=e.propertyTable;i["a"].typeOf.object("propertyTable",n),i["a"].typeOf.object("model",t),this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=jhe.ALL_OPAQUE,kme(this)}function kme(e){const t=e._model,n=Ofe.is3DTiles(t.type),i=e._propertyTable.count;if(0===i)return;let o;const r=new Array(i);if(n){const e=t.content;for(o=0;o<i;o++)r[o]=new SZ(e,o)}else for(o=0;o<i;o++)r[o]=new Bme({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new CJ({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:e._statistics})}Eme.prototype.buildDrawCommands=function(e){const t=this._model,n=new yme(t);this.configurePipeline();const i=this.modelPipelineStages;let o,r,a;for(o=0;o<i.length;o++){const r=i[o];r.process(n,t,e)}const s=g.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Pme),c=g.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Rme);for(o=0;o<this._runtimeNodes.length;o++){const t=this._runtimeNodes[o];t.configurePipeline();const i=t.pipelineStages,l=new Ame(n,t);for(r=0;r<i.length;r++){const n=i[r];n.process(l,t.node,e)}const u=t.computedTransform;for(r=0;r<t.runtimePrimitives.length;r++){const n=t.runtimePrimitives[r];n.configurePipeline(e);const i=n.pipelineStages,o=new Cme(l,n);for(a=0;a<i.length;a++){const t=i[a];t.process(o,n.primitive,e)}n.boundingSphere=Tt.clone(o.boundingSphere,new Tt);const h=Ne.multiplyByPoint(u,o.positionMin,Mme),d=Ne.multiplyByPoint(u,o.positionMax,Nme);g.minimumByComponent(s,h,s),g.maximumByComponent(c,d,c);const f=$he(o,e);n.drawCommand=f}}this._boundingSphere=Tt.fromCornerPoints(s,c,new Tt),this._boundingSphere=Tt.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),t._boundingSphere=Tt.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale},Eme.prototype.configurePipeline=function(){const e=this.modelPipelineStages;e.length=0;const t=this._model;Object(r["a"])(t.color)&&e.push(sde),t.imageBasedLighting.enabled&&e.push(ode),t.isClippingEnabled()&&e.push(hde),Object(r["a"])(t.splitDirection)&&t.splitDirection!==z3.NONE&&e.push(wme)},Eme.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){const r=this._runtimeNodes[n];for(i=0;i<r.updateStages.length;i++){const t=r.updateStages[i];t.update(r,this,e)}const a=e.mode!==vq.SCENE3D&&this._model._projectTo2D;for(t&&!a&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){const e=r.runtimePrimitives[i];for(o=0;o<e.updateStages.length;o++){const t=e.updateStages[o];t.update(e)}}}},Eme.prototype.updateModelMatrix=function(e){Sme(this),e.mode!==vq.SCENE3D&&Dme(this,e);const t=this._rootNodes;for(let n=0;n<t.length;n++){const e=this._runtimeNodes[t[n]];e._transformDirty=!0}},Eme.prototype.updateJointMatrices=function(){const e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){const t=e[n],i=this._runtimeNodes[t];i.updateJointMatrices()}},Eme.prototype.updateBackFaceCulling=function(e){Lme(this,(function(t){const n=t.drawCommand;n.backFaceCulling=e}))},Eme.prototype.updateShadows=function(e){Lme(this,(function(t){const n=t.drawCommand;n.shadows=e}))},Eme.prototype.updateShowBoundingVolume=function(e){Lme(this,(function(t){const n=t.drawCommand;n.debugShowBoundingVolume=e}))},Eme.prototype.getDrawCommands=function(e){const t=[];return Lme(this,(function(n){const i=n.drawCommand,o=i.getCommands(e);t.push.apply(t,o)})),t},Object.defineProperties(Bme.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return Object(r["a"])(this._color)||(this._color=new j_),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}}),Bme.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)},Bme.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)},Bme.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)},Bme.prototype.getPropertyNames=function(e){return this._featureTable.getPropertyNames(e)},Bme.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)},Object.defineProperties(Fme.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}}),Fme.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);const t=jhe.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)},Fme.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)},Fme.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)},Fme.prototype.getShow=function(e){return this._batchTexture.getShow(e)},Fme.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)},Fme.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)},Fme.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)},Fme.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)},Fme.prototype.getFeature=function(e){return this._features[e]},Fme.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)},Fme.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)},Fme.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)},Fme.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)},Fme.prototype.getPropertyNames=function(e){return this._propertyTable.getPropertyIds(e)},Fme.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};const zme=new j_;Fme.prototype.applyStyle=function(e){if(!Object(r["a"])(e))return this.setAllColor(CJ.DEFAULT_COLOR_VALUE),void this.setAllShow(CJ.DEFAULT_SHOW_VALUE);for(let t=0;t<this._featuresLength;t++){const n=this.getFeature(t),i=Object(r["a"])(e.color)?Object(o["a"])(e.color.evaluateColor(n,zme),CJ.DEFAULT_COLOR_VALUE):CJ.DEFAULT_COLOR_VALUE,a=Object(r["a"])(e.show)?Object(o["a"])(e.show.evaluate(n),CJ.DEFAULT_SHOW_VALUE):CJ.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,a)}},Fme.prototype.isDestroyed=function(){return!1},Fme.prototype.destroy=function(e){this._batchTexture.destroy(),Wl(this)};const Ume={};function Vme(e){i["a"].typeOf.number.greaterThan("options.count",e.count,0),i["a"].typeOf.object("options.properties",e.properties),this._count=e.count,this._properties=Object(jL["a"])(e.properties,!0)}function Hme(e){i["a"].typeOf.number("options.count",e.count),i["a"].typeOf.object("options.batchTable",e.batchTable);const t=e.count,n=e.batchTable,o=e.binaryBody,r=Gme(n),a=new Vme({count:t,properties:r.jsonProperties}),s=Xme(r.hierarchy,o),c=R9.BATCH_TABLE_CLASS_NAME,l=qme(t,c,r.binaryProperties,o),u=l.featureTableJson,h=new r8({count:u.count,properties:u.properties,class:l.transcodedClass,bufferViews:l.bufferViewsU8}),d=new mle({id:0,name:"Batch Table",count:u.count,metadataTable:h,jsonMetadataTable:a,batchTableHierarchy:s});return new Ele({schema:l.transcodedSchema,propertyTables:[d],extensions:r.extensions,extras:r.extras})}function Gme(e){const t=e.HIERARCHY,n=e.extras,i=e.extensions;let o;Object(r["a"])(t)?(Hme._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):Object(r["a"])(i)&&(o=i["3DTILES_batch_table_hierarchy"]);const a={},s={};for(const r in e){if(!e.hasOwnProperty(r)||"HIERARCHY"===r||"extensions"===r||"extras"===r)continue;const t=e[r];Array.isArray(t)?a[r]=t:s[r]=t}return{binaryProperties:s,jsonProperties:a,hierarchy:o,extras:n,extensions:i}}function qme(e,t,n,i){const o={},a={},s={};let c=0;for(const d in n){if(!n.hasOwnProperty(d))continue;if(!Object(r["a"])(i))throw new ye["a"](`Property ${d} requires a batch table binary.`);const t=n[d],l=BJ(t);a[d]={bufferView:c},o[d]=Wme(t),s[c]=l.createArrayBufferView(i.buffer,i.byteOffset+t.byteOffset,e),c++}const l={classes:{}};l.classes[t]={properties:o};const u=new k9(l),h={class:t,count:e,properties:a};return{featureTableJson:h,bufferViewsU8:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function Wme(e){const t=Yme(e.componentType);return{type:e.type,componentType:t}}function Yme(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}function Xme(e,t){if(Object(r["a"])(e))return new FJ({extension:e,binaryBody:t})}Vme.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,Ume)},Vme.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,Ume,e)},Vme.prototype.getProperty=function(e,t){if(i["a"].typeOf.number("index",e),i["a"].typeOf.string("propertyId",t),e<0||e>=this._count)throw new a["a"](`index must be in the range [0, ${this._count})`);const n=this._properties[t];if(Object(r["a"])(n))return Object(jL["a"])(n[e],!0)},Vme.prototype.setProperty=function(e,t,n){if(i["a"].typeOf.number("index",e),i["a"].typeOf.string("propertyId",t),e<0||e>=this._count)throw new a["a"](`index must be in the range [0, ${this._count})`);const o=this._properties[t];return!!Object(r["a"])(o)&&(o[e]=Object(jL["a"])(n,!0),!0)},Hme._deprecationWarning=WL;const Kme={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},Jme=_9.FeatureIdAttribute;function Zme(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.b3dmResource;let n=e.baseResource;const a=e.arrayBuffer,s=Object(o["a"])(e.byteOffset,0),c=Object(o["a"])(e.releaseGltfJson,!1),l=Object(o["a"])(e.asynchronous,!0),u=Object(o["a"])(e.incrementallyLoadTextures,!0),h=Object(o["a"])(e.upAxis,vJ.Y),d=Object(o["a"])(e.forwardAxis,vJ.X),f=Object(o["a"])(e.loadAttributesAsTypedArray,!1),p=Object(o["a"])(e.loadPositionsFor2D,!1),m=Object(o["a"])(e.loadIndicesForWireframe,!1);i["a"].typeOf.object("options.b3dmResource",t),i["a"].typeOf.object("options.arrayBuffer",a),n=Object(r["a"])(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=a,this._byteOffset=s,this._releaseGltfJson=c,this._asynchronous=l,this._incrementallyLoadTextures=u,this._upAxis=h,this._forwardAxis=d,this._loadAttributesAsTypedArray=f,this._loadPositionsFor2D=p,this._loadIndicesForWireframe=m,this._state=Kme.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=Ne.IDENTITY}function $me(e,t){e.unload(),e._state=Kme.FAILED;const n="Failed to load b3dm";return t=e.getError(n,t),Promise.reject(t)}function Qme(e,t){const n=e._batchTable,i=e._batchLength;if(0===i)return;let o;if(Object(r["a"])(n.json))o=Hme({count:i,batchTable:n.json,binaryBody:n.binary});else{const e=new mle({name:R9.BATCH_TABLE_CLASS_NAME,count:i});o=new Ele({schema:{},propertyTables:[e]})}const a=t.scene.nodes,s=a.length;for(let r=0;r<s;r++)e_e(a[r]);t.structuralMetadata=o}function e_e(e){const t=e.children.length;for(let i=0;i<t;i++)e_e(e.children[i]);const n=e.primitives.length;for(let i=0;i<n;i++){const t=e.primitives[i],n=Xhe.getAttributeBySemantic(t,Kte.FEATURE_ID);if(Object(r["a"])(n)){n.setIndex=0;const e=new Jme;e.propertyTableId=0,e.setIndex=0,e.positionalLabel="featureId_0",t.featureIds.push(e)}}}Object(r["a"])(Object.create)&&(Zme.prototype=Object.create(a8.prototype),Zme.prototype.constructor=Zme),Object.defineProperties(Zme.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}}),Zme.prototype.load=function(){const e=TJ.parse(this._arrayBuffer,this._byteOffset);let t=e.batchLength;const n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,a=e.batchTableBinary,s=new PZ(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;const c=s.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(c)&&(this._transform=Ne.fromTranslation(g.fromArray(c))),this._batchTable={json:o,binary:a};const l=new _ue({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadPositionsFor2D:this._loadPositionsFor2D,loadIndicesForWireframe:this._loadIndicesForWireframe,renameBatchIdSemantic:!0});this._gltfLoader=l,this._state=Kme.LOADING;const u=this;return l.load(),this._promise=l.promise.then((function(){if(u.isDestroyed())return;const e=l.components;return e.transform=u._transform,Qme(u,e),u._components=e,u._state=Kme.READY,u})).catch((function(e){if(!u.isDestroyed())return $me(u,e)})),this._promise},Zme.prototype.process=function(e){i["a"].typeOf.object("frameState",e),this._state===Kme.LOADING&&(this._state=Kme.PROCESSING),this._state===Kme.PROCESSING&&this._gltfLoader.process(e)},Zme.prototype.unload=function(){Object(r["a"])(this._gltfLoader)&&this._gltfLoader.unload(),this._components=void 0};var t_e=Zme;function n_e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.geoJson",e.geoJson),this._geoJson=e.geoJson,this._promise=void 0,this._process=function(e,t){},this._components=void 0}function i_e(){this.lines=void 0,this.properties=void 0}function o_e(){this.features=[]}function r_e(e){const t=e[0],n=e[1],i=Object(o["a"])(e[2],0);return new g(t,n,i)}function a_e(e){const t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=r_e(e[o]);const i=[n];return i}function s_e(e){const t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=a_e(e[i])[0];return n}function c_e(e){const t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=a_e(e[i])[0];return n}function l_e(e){const t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,c_e(e[i]));return n}Object(r["a"])(Object.create)&&(n_e.prototype=Object.create(a8.prototype),n_e.prototype.constructor=n_e),Object.defineProperties(n_e.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}}),n_e.prototype.load=function(){const e=this,t=new Promise((function(t){e._process=function(e,n){Object(r["a"])(e._components)||(e._components=m_e(e._geoJson,n),e._geoJson=void 0,t(e))}}));return this._promise=t,t},n_e.prototype.process=function(e){i["a"].typeOf.object("frameState",e),this._process(this,e)};const u_e={LineString:a_e,MultiLineString:s_e,MultiPolygon:l_e,Polygon:c_e};function h_e(e,t){if(!Object(r["a"])(e.geometry))return;const n=e.geometry.type,i=u_e[n],o=e.geometry.coordinates;if(!Object(r["a"])(i))return;if(!Object(r["a"])(o))return;const a=new i_e;a.lines=i(o),a.properties=e.properties,t.features.push(a)}function d_e(e,t){const n=e.features,i=n.length;for(let o=0;o<i;o++)h_e(n[o],t)}const f_e={FeatureCollection:d_e,Feature:h_e},p_e=new g;function m_e(e,t){const n=new o_e,i=f_e[e.type];Object(r["a"])(i)&&i(e,n);const a=n.features.length;if(0===a)throw new ye["a"]("GeoJSON must have at least one feature");const s={};for(let g=0;g<a;g++){const e=n.features[g],t=Object(o["a"])(e.properties,o["a"].EMPTY_OBJECT);for(const n in t)t.hasOwnProperty(n)&&(Object(r["a"])(s[n])||(s[n]=new Array(a)))}for(let r=0;r<a;r++){const e=n.features[r];for(const t in s)if(s.hasOwnProperty(t)){const n=Object(o["a"])(e.properties[t],"");s[t][r]=n}}const c=new Vme({count:a,properties:s}),l=new mle({id:0,count:a,jsonMetadataTable:c}),u=[l],h=new k9({}),d=new Ele({schema:h,propertyTables:u}),f=new g(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p=new g(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);for(let o=0;o<a;o++){const e=n.features[o],t=e.lines.length;for(let n=0;n<t;n++){const t=e.lines[n],i=t.length;for(let e=0;e<i;e++)g.minimumByComponent(f,t[e],f),g.maximumByComponent(p,t[e],p)}}const m=g.midpoint(f,p,new g),_=g.fromDegrees(m.x,m.y,m.z,z.WGS84,new g),b=Hs.eastNorthUpToFixedFrame(_,z.WGS84,new Ne),y=Ne.inverseTransformation(b,new Ne);let v=0,O=0;for(let o=0;o<a;o++){const e=n.features[o],t=e.lines.length;for(let n=0;n<t;n++){const t=e.lines[n];v+=t.length,O+=2*(t.length-1)}}const w=new Float32Array(3*v),A=new Float32Array(v),T=uu.createTypedArray(v,O),C=uu.fromTypedArray(T),E=new g(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),x=new g(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);let S=0,I=0;for(let o=0;o<a;o++){const e=n.features[o],t=e.lines.length;for(let n=0;n<t;n++){const t=e.lines[n],i=t.length;for(let e=0;e<i;e++){const n=t[e],r=g.fromDegrees(n.x,n.y,n.z,z.WGS84,p_e),a=Ne.multiplyByPoint(y,r,p_e);g.minimumByComponent(E,a,E),g.maximumByComponent(x,a,x),g.pack(a,w,3*S),A[S]=o,e<i-1&&(T[2*I]=S,T[2*I+1]=S+1,I++),S++}}}const D=SG.createVertexBuffer({typedArray:w,context:t.context,usage:EG.STATIC_DRAW});D.vertexArrayDestroyable=!1;const j=SG.createVertexBuffer({typedArray:A,context:t.context,usage:EG.STATIC_DRAW});j.vertexArrayDestroyable=!1;const P=SG.createIndexBuffer({typedArray:T,context:t.context,usage:EG.STATIC_DRAW,indexDatatype:C});P.vertexArrayDestroyable=!1;const R=new _9.Attribute;R.semantic=Kte.POSITION,R.componentDatatype=$c.FLOAT,R.type=cl.VEC3,R.count=v,R.min=E,R.max=x,R.buffer=D;const M=new _9.Attribute;M.semantic=Kte.FEATURE_ID,M.setIndex=0,M.componentDatatype=$c.FLOAT,M.type=cl.SCALAR,M.count=v,M.buffer=j;const N=[R,M],L=new _9.Material;L.unlit=!0;const B=new _9.Indices;B.indexDatatype=C,B.count=T.length,B.buffer=P;const F=new _9.FeatureIdAttribute;F.featureCount=a,F.propertyTableId=0,F.setIndex=0,F.positionalLabel="featureId_0";const k=[F],U=new _9.Primitive;U.attributes=N,U.indices=B,U.featureIds=k,U.primitiveType=xh.LINES,U.material=L;const V=[U],H=new _9.Node;H.index=0,H.primitives=V;const G=[H],q=new _9.Scene;q.nodes=G;const W=new _9.Components;return W.scene=q,W.nodes=G,W.transform=b,W.structuralMetadata=d,W}n_e.prototype.unload=function(){this._components=void 0};const __e={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},g_e=_9.Attribute,b_e=_9.FeatureIdAttribute,y_e=_9.Instances;function v_e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.i3dmResource,n=e.arrayBuffer;let a=e.baseResource;const s=Object(o["a"])(e.byteOffset,0),c=Object(o["a"])(e.releaseGltfJson,!1),l=Object(o["a"])(e.asynchronous,!0),u=Object(o["a"])(e.incrementallyLoadTextures,!0),h=Object(o["a"])(e.upAxis,vJ.Y),d=Object(o["a"])(e.forwardAxis,vJ.X),f=Object(o["a"])(e.loadAttributesAsTypedArray,!1),p=Object(o["a"])(e.loadIndicesForWireframe,!1);i["a"].typeOf.object("options.i3dmResource",t),i["a"].typeOf.object("options.arrayBuffer",n),a=Object(r["a"])(a)?a:t.clone(),this._i3dmResource=t,this._baseResource=a,this._arrayBuffer=n,this._byteOffset=s,this._releaseGltfJson=c,this._asynchronous=l,this._incrementallyLoadTextures=u,this._upAxis=h,this._forwardAxis=d,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=p,this._state=__e.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._transform=Ne.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}function O_e(e,t){e.unload(),e._state=__e.FAILED;const n="Failed to load i3dm";return t=e.getError(n,t),Promise.reject(t)}function w_e(e,t){const n=e._batchTable,i=e._instancesLength;if(0===i)return;let o;if(Object(r["a"])(n.json))o=Hme({count:i,batchTable:n.json,binaryBody:n.binary});else{const e=new mle({name:R9.BATCH_TABLE_CLASS_NAME,count:i});o=new Ele({schema:{},propertyTables:[e]})}t.structuralMetadata=o}Object(r["a"])(Object.create)&&(v_e.prototype=Object.create(a8.prototype),v_e.prototype.constructor=v_e),Object.defineProperties(v_e.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}}),v_e.prototype.load=function(){const e=Qee.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,a=e.gltfFormat,s=new PZ(t,n);this._featureTable=s;const c=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=c,!Object(r["a"])(c))throw new ye["a"]("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=c;const l=s.getGlobalProperty("RTC_CENTER",$c.FLOAT,3);Object(r["a"])(l)&&(this._transform=Ne.fromTranslation(g.fromArray(l))),this._batchTable={json:i,binary:o};const u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadIndicesForWireframe:this._loadIndicesForWireframe};if(0===a){let t=Bd(e.gltf);t=t.replace(/[\s\0]+$/,"");const n=this._baseResource.getDerivedResource({url:t});u.gltfResource=n,u.baseResource=n}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;const h=new _ue(u);this._gltfLoader=h,this._state=__e.LOADING;const d=this;return h.load(),this._promise=h.promise.then((function(){if(d.isDestroyed())return;const e=h.components;return e.transform=d._transform,C_e(d,e),w_e(d,e),d._components=e,d._state=__e.READY,d})).catch((function(e){if(!d.isDestroyed())return O_e(d,e)})),this._promise},v_e.prototype.process=function(e){i["a"].typeOf.object("frameState",e),this._state===__e.LOADING&&(this._state=__e.PROCESSING),this._state===__e.PROCESSING&&this._gltfLoader.process(e)};const A_e=new g,T_e=new Array(4);function C_e(e,t){let n;const i=e._featureTable,o=e._instancesLength;if(0===o)return;const a=i.getGlobalProperty("RTC_CENTER",$c.FLOAT,3),s=i.getGlobalProperty("EAST_NORTH_UP"),c=i.hasProperty("NORMAL_UP")||i.hasProperty("NORMAL_UP_OCT32P")||s,l=i.hasProperty("SCALE")||i.hasProperty("SCALE_NON_UNIFORM"),u=E_e(i,o);let h,d;c&&(h=new Float32Array(4*o)),l&&(d=new Float32Array(3*o));const f=new Float32Array(o),p=g.unpackArray(u);let m=new g;const _=new g,b=new g,y=new g,v=new ce,O=new $a,w=new Array(4),A=new g,T=new Array(3),C=new Ne;if(!Object(r["a"])(a)){const e=Tt.fromPoints(p);for(n=0;n<p.length;n++)g.subtract(p[n],e.center,A_e),u[3*n+0]=A_e.x,u[3*n+1]=A_e.y,u[3*n+2]=A_e.z;t.transform=Ne.fromTranslation(e.center)}for(n=0;n<o;n++){m=g.clone(p[n]),Object(r["a"])(a)&&g.add(m,g.unpack(a),m),c&&(S_e(i,s,n,O,m,b,_,y,v,C),$a.pack(O,w,0),h[4*n+0]=w[0],h[4*n+1]=w[1],h[4*n+2]=w[2],h[4*n+3]=w[3]),l&&(I_e(i,n,A),g.pack(A,T,0),d[3*n+0]=T[0],d[3*n+1]=T[1],d[3*n+2]=T[2]);let e=i.getProperty("BATCH_ID",$c.UNSIGNED_SHORT,1,n);Object(r["a"])(e)||(e=n),f[n]=e}const E=new y_e;E.transformInWorldSpace=!0;const x=new g_e;if(x.name="Instance Translation",x.semantic=Wle.TRANSLATION,x.componentDatatype=$c.FLOAT,x.type=cl.VEC3,x.count=o,x.packedTypedArray=u,E.attributes.push(x),c){const e=new g_e;e.name="Instance Rotation",e.semantic=Wle.ROTATION,e.componentDatatype=$c.FLOAT,e.type=cl.VEC4,e.count=o,e.packedTypedArray=h,E.attributes.push(e)}if(l){const e=new g_e;e.name="Instance Scale",e.semantic=Wle.SCALE,e.componentDatatype=$c.FLOAT,e.type=cl.VEC3,e.count=o,e.packedTypedArray=d,E.attributes.push(e)}const S=new g_e;S.name="Instance Feature ID",S.setIndex=0,S.semantic=Wle.FEATURE_ID,S.componentDatatype=$c.FLOAT,S.type=cl.SCALAR,S.count=o,S.packedTypedArray=f,E.attributes.push(S);const I=new b_e;for(I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",E.featureIds.push(I),n=0;n<t.nodes.length;n++){const e=t.nodes[n];e.primitives.length>0&&(e.instances=E)}}function E_e(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",$c.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){const t=e.getPropertyArray("POSITION_QUANTIZED",$c.UNSIGNED_SHORT,3),n=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",$c.FLOAT,3);if(!Object(r["a"])(n))throw new ye["a"]("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");const i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",$c.FLOAT,3);if(!Object(r["a"])(i))throw new ye["a"]("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");for(let e=0;e<t.length/3;e++){const o=t[e];for(let r=0;r<3;r++)t[3*e+r]=o[r]/65535*i[r]+n[r]}return t}throw new ye["a"]("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}const x_e=new Array(4);function S_e(e,t,n,i,o,a,s,c,l,u){const h=e.getProperty("NORMAL_UP",$c.FLOAT,3,n,T_e),d=e.getProperty("NORMAL_RIGHT",$c.FLOAT,3,n,x_e);let f=!1;if(Object(r["a"])(h)){if(!Object(r["a"])(d))throw new ye["a"]("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");g.unpack(h,0,a),g.unpack(d,0,s),f=!0}else{const i=e.getProperty("NORMAL_UP_OCT32P",$c.UNSIGNED_SHORT,2,n,T_e),c=e.getProperty("NORMAL_RIGHT_OCT32P",$c.UNSIGNED_SHORT,2,n,x_e);if(Object(r["a"])(i)){if(!Object(r["a"])(c))throw new ye["a"]("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");gl.octDecodeInRange(i[0],i[1],65535,a),gl.octDecodeInRange(c[0],c[1],65535,s),f=!0}else t?(Hs.eastNorthUpToFixedFrame(o,z.WGS84,u),Ne.getMatrix3(u,l)):ce.clone(ce.IDENTITY,l)}f&&(g.cross(s,a,c),g.normalize(c,c),ce.setColumn(l,0,s,l),ce.setColumn(l,1,a,l),ce.setColumn(l,2,c,l)),$a.fromRotationMatrix(l,i)}function I_e(e,t,n){n=g.fromElements(1,1,1,n);const i=e.getProperty("SCALE",$c.FLOAT,1,t);Object(r["a"])(i)&&g.multiplyByScalar(n,i,n);const o=e.getProperty("SCALE_NON_UNIFORM",$c.FLOAT,3,t,T_e);Object(r["a"])(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}v_e.prototype.unload=function(){Object(r["a"])(this._gltfLoader)&&this._gltfLoader.unload(),this._components=void 0};var D_e=v_e;const j_e=_9.Components,P_e=_9.Scene,R_e=_9.Node,M_e=_9.Primitive,N_e=_9.Attribute,L_e=_9.Quantization,B_e=_9.FeatureIdAttribute,F_e=_9.Material,k_e=_9.MetallicRoughness;function z_e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.arrayBuffer,n=Object(o["a"])(e.byteOffset,0);i["a"].typeOf.object("options.arrayBuffer",t),this._arrayBuffer=t,this._byteOffset=n,this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._process=function(e){},this._state=c8.UNLOADED,this._buffers=[],this._components=void 0,this._transform=Ne.IDENTITY}function U_e(e,t){const n=e._parsedContent,i=n.draco;let o;if(o=Object(r["a"])(i)?V2.decodePointCloud(i,t):Promise.resolve(),Object(r["a"])(o))return e._decodePromise=o,o.then((function(n){if(!e.isDestroyed())return Object(r["a"])(n)&&V_e(e,i,n),ege(e,t),e._state=c8.READY,e})).catch((function(t){e.unload(),e._state=c8.FAILED;const n="Failed to load Draco";return Promise.reject(e.getError(n,t))}))}function V_e(e,t,n){e._state=c8.READY;const i=e._parsedContent;let o;if(Object(r["a"])(n.POSITION)){if(o={name:"POSITION",semantic:Kte.POSITION,typedArray:n.POSITION.array,componentDatatype:$c.FLOAT,type:cl.VEC3,isQuantized:!1},Object(r["a"])(n.POSITION.data.quantization)){const e=n.POSITION.data.quantization,t=e.range,i=g.fromElements(t,t,t),r=g.unpack(e.minValues),a=(1<<e.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=a,o.quantizedVolumeOffset=r,o.quantizedVolumeScale=i,o.quantizedComponentDatatype=$c.UNSIGNED_SHORT,o.quantizedType=cl.VEC3}i.positions=o}if(Object(r["a"])(n.NORMAL)){if(o={name:"NORMAL",semantic:Kte.NORMAL,typedArray:n.NORMAL.array,componentDatatype:$c.FLOAT,type:cl.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},Object(r["a"])(n.NORMAL.data.quantization)){const e=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=e,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=$c.UNSIGNED_BYTE,o.quantizedType=cl.VEC2}i.normals=o}if(Object(r["a"])(n.RGBA)?i.colors={name:"COLOR",semantic:Kte.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:$c.UNSIGNED_BYTE,type:cl.VEC4,normalized:!0,isTranslucent:!0}:Object(r["a"])(n.RGB)&&(i.colors={name:"COLOR",semantic:Kte.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:$c.UNSIGNED_BYTE,type:cl.VEC3,normalized:!0,isTranslucent:!1}),Object(r["a"])(n.BATCH_ID)){const e=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:Kte.FEATURE_ID,setIndex:0,typedArray:e,componentDatatype:$c.fromTypedArray(e),type:cl.SCALAR}}let a=i.styleableProperties;const s=t.batchTableProperties;for(const c in s)if(s.hasOwnProperty(c)){const e=n[c];Object(r["a"])(a)||(a={}),a[c]={typedArray:e.array,componentCount:e.data.componentsPerAttribute}}i.styleableProperties=a}function H_e(e,t,n){let i,a=t.typedArray;if(t.octEncoded&&(i=new L_e,i.octEncoded=t.octEncoded,i.octEncodedZXY=t.octEncodedZXY,i.normalizationRange=t.quantizedRange,i.type=t.quantizedType,i.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){i=new L_e;const e=t.quantizedRange;i.normalizationRange=e,i.quantizedVolumeOffset=g.ZERO;const n=t.quantizedVolumeScale;i.quantizedVolumeDimensions=n,i.quantizedVolumeStepSize=g.divideByScalar(n,e,new g),i.componentDatatype=t.quantizedComponentDatatype,i.type=t.quantizedType}const s=new N_e;if(s.name=t.name,s.semantic=t.semantic,s.setIndex=t.setIndex,s.componentDatatype=t.componentDatatype,s.type=t.type,s.normalized=Object(o["a"])(t.normalized,!1),s.min=t.min,s.max=t.max,s.quantization=i,t.isRGB565&&(a=gl.decodeRGB565(a)),Object(r["a"])(t.constantColor)){const e=new Array(4);s.constant=j_.pack(t.constantColor,e)}else{const t=SG.createVertexBuffer({typedArray:a,context:n,usage:EG.STATIC_DRAW});t.vertexArrayDestroyable=!1,e._buffers.push(t),s.buffer=t}return s}let G_e,q_e;function W_e(e){if(!Object(r["a"])(q_e)){G_e=new Wte["a"](0),q_e=new Array(e);for(let t=0;t<e;++t)q_e[t]=G_e.random()}return q_e}Object(r["a"])(Object.create)&&(z_e.prototype=Object.create(a8.prototype),z_e.prototype.constructor=z_e),Object.defineProperties(z_e.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}}),z_e.prototype.load=function(){this._parsedContent=ine.parse(this._arrayBuffer,this._byteOffset),this._state=c8.PROCESSING;const e=this;this._promise=new Promise((function(t,n){e._process=function(i){e._state===c8.PROCESSING&&(Object(r["a"])(e._decodePromise)||U_e(e,i.context).then(t).catch(n))}}))},z_e.prototype.process=function(e){this._process(e)};const Y_e=new g,X_e=new g,K_e=new g;function J_e(e){const t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=W_e(n),a=Number.MAX_VALUE,s=-Number.MAX_VALUE;let c,l,u,h=g.fromElements(a,a,a,Y_e),d=g.fromElements(s,s,s,X_e);if(e.isQuantized)h=g.ZERO,d=e.quantizedVolumeScale;else for(c=0;c<o;++c)l=Math.floor(r[c]*i),u=g.unpack(t,3*l,K_e),g.minimumByComponent(h,u,h),g.maximumByComponent(d,u,d);e.min=g.clone(h),e.max=g.clone(d)}const Z_e={name:Kte.COLOR,semantic:Kte.COLOR,setIndex:0,constantColor:j_.DARKGRAY,componentDatatype:$c.FLOAT,type:cl.VEC4,isQuantized:!1,isTranslucent:!1};function $_e(e,t,n){const i=[];let o;const a=t.positions;return Object(r["a"])(a)&&(J_e(a),o=H_e(e,a,n),o.count=t.pointsLength,i.push(o)),Object(r["a"])(t.normals)&&(o=H_e(e,t.normals,n),i.push(o)),Object(r["a"])(t.colors)?(o=H_e(e,t.colors,n),i.push(o)):(o=H_e(e,Z_e,n),i.push(o)),Object(r["a"])(t.batchIds)&&(o=H_e(e,t.batchIds,n),i.push(o)),i}function Q_e(e){const t=e.batchLength,n=e.pointsLength,i=e.batchTableBinary;if(Object(r["a"])(i)){const r=Object(o["a"])(t,n);return Hme({count:r,batchTable:e.batchTableJson,binaryBody:i})}const a=new mle({name:R9.BATCH_TABLE_CLASS_NAME,count:n});return new Ele({schema:{},propertyTables:[a]})}function ege(e,t){const n=e._parsedContent,i=new k_e;i.metallicFactor=0,i.roughnessFactor=.9;const o=new F_e;o.metallicRoughness=i;const a=n.colors;Object(r["a"])(a)&&a.isTranslucent&&(o.alphaMode=q8.BLEND);const s=!Object(r["a"])(n.normals);o.unlit=s;const c=new M_e;if(c.attributes=$_e(e,n,t),c.primitiveType=xh.POINTS,c.material=o,Object(r["a"])(n.batchIds)){const e=new B_e;e.propertyTableId=0,e.setIndex=0,e.positionalLabel="featureId_0",c.featureIds.push(e)}const l=new R_e;l.index=0,l.primitives=[c];const u=new P_e;u.nodes=[l],u.upAxis=vJ.Z,u.forwardAxis=vJ.X;const h=new j_e;h.scene=u,h.nodes=[l],h.structuralMetadata=Q_e(n),Object(r["a"])(n.rtcCenter)&&(h.transform=Ne.multiplyByTranslation(h.transform,n.rtcCenter,h.transform));const d=n.positions;Object(r["a"])(d)&&d.isQuantized&&(h.transform=Ne.multiplyByTranslation(h.transform,d.quantizedVolumeOffset,h.transform)),e._components=h,e._parsedContent=void 0}function tge(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.loader",e.loader),i["a"].typeOf.object("options.resource",e.resource),this._loader=e.loader,this._resource=e.resource,this.type=Object(o["a"])(e.type,Ofe.GLTF),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(this.modelMatrix),this._scale=Object(o["a"])(e.scale,1),this._minimumPixelSize=Object(o["a"])(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=Object(r["a"])(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=ce.clone(ce.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new Ihe(this),this._clampAnimations=Object(o["a"])(e.clampAnimations,!0);const t=e.color;this._color=Object(o["a"])(t)?j_.clone(t):void 0,this._colorBlendMode=Object(o["a"])(e.colorBlendMode,L2.HIGHLIGHT),this._colorBlendAmount=Object(o["a"])(e.colorBlendAmount,.5),this._cull=Object(o["a"])(e.cull,!0),this._opaquePass=Object(o["a"])(e.opaquePass,oz.OPAQUE),this._allowPicking=Object(o["a"])(e.allowPicking,!0),this._show=Object(o["a"])(e.show,!0),this._style=void 0;let n=Object(o["a"])(e.featureIdLabel,"featureId_0");"number"===typeof n&&(n="featureId_"+n),this._featureIdLabel=n;let a=Object(o["a"])(e.instanceFeatureIdLabel,"instanceFeatureId_0");"number"===typeof a&&(a="instanceFeatureId_"+a),this._instanceFeatureIdLabel=a,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._resources=[],this._modelResources=[],this._boundingSphere=new Tt,this._initialRadius=void 0;const s=new oie(e.pointCloudShading);this._attenuation=s.attenuation,this._pointCloudShading=s;const c=e.clippingPlanes;Object(r["a"])(c)&&void 0===c.owner?M2.setOwner(c,this,"_clippingPlanes"):this._clippingPlanes=c,this._clippingPlanesState=0,this._clippingPlanesMatrix=Ne.clone(Ne.IDENTITY),this._lightColor=g.clone(e.lightColor),this._imageBasedLighting=Object(r["a"])(e.imageBasedLighting)?e.imageBasedLighting:new mJ,this._shouldDestroyImageBasedLighting=!Object(r["a"])(e.imageBasedLighting),this._backFaceCulling=Object(o["a"])(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=Object(o["a"])(e.shadows,wq.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=Object(o["a"])(e.enableDebugWireframe,!1),this._debugWireframe=Object(o["a"])(e.debugWireframe,!1),this._showCreditsOnScreen=Object(o["a"])(e.showCreditsOnScreen,!1),this._splitDirection=Object(o["a"])(e.splitDirection,z3.NONE),this._sceneMode=void 0,this._projectTo2D=Object(o["a"])(e.projectTo2D,!1),this._completeLoad=function(e,t){},this._texturesLoadedPromise=void 0,this._readyPromise=oge(this)}function nge(e,t){const n=e._featureTables,i=t.propertyTables;for(let o=0;o<i.length;o++){const t=i[o],r=new Fme({model:e,propertyTable:t});n.push(r)}return n}function ige(e,t){const n=t._featureIdLabel,i=t._instanceFeatureIdLabel;let o,a,s,c;for(o=0;o<e.nodes.length;o++)if(c=e.nodes[o],Object(r["a"])(c.instances)&&(s=Xhe.getFeatureIdsByLabel(c.instances.featureIds,i),Object(r["a"])(s)&&Object(r["a"])(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(c=e.nodes[o],a=0;a<c.primitives.length;a++){const e=c.primitives[a],t=Xhe.getFeatureIdsByLabel(e.featureIds,n);if(Object(r["a"])(t))return t.propertyTableId}}function oge(e){const t=e._loader,n=e._resource;t.load();const i=t.promise.then((function(t){const n=t.components,i=n.structuralMetadata;Object(r["a"])(i)&&i.propertyTableCount>0&&nge(e,i),e._sceneGraph=new Eme({model:e,modelComponents:n}),e._resourcesLoaded=!0})),a=Object(o["a"])(t.texturesLoadedPromise,Promise.resolve());e._texturesLoadedPromise=a.then((function(){e._texturesLoaded=!0})).catch(Xhe.getFailedLoadFunction(e,"model",n));const s=new Promise((function(t,n){e._completeLoad=function(e,n){n.afterRender.push((function(){e._ready=!0,t(e)}))}}));return i.then((function(){return s})).catch(Xhe.getFailedLoadFunction(e,"model",n))}z_e.prototype.unload=function(){const e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0},Object.defineProperties(tge.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}},loader:{get:function(){return this._loader}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){i["a"].defined("pointCloudShading",e),e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){e!==this._style&&this.applyStyle(e),this._style=e}},color:{get:function(){return this._color},set:function(e){j_.equals(this._color,e)||this.resetDrawCommands(),this._color=j_.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},boundingSphere:{get:function(){if(!this._ready)throw new a["a"]("The model is not loaded. Use ModelExperimental.readyPromise or wait for ModelExperimental.ready to be true.");return this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){"number"===typeof e&&(e="featureId_"+e),i["a"].typeOf.string("value",e),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){"number"===typeof e&&(e="instanceFeatureId_"+e),i["a"].typeOf.string("value",e),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(M2.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},lightColor:{get:function(){return this._lightColor},set:function(e){Object(r["a"])(e)!==Object(r["a"])(this._lightColor)&&this.resetDrawCommands(),this._lightColor=g.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){i["a"].typeOf.object("imageBasedLighting",this._imageBasedLighting),e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}}}),tge.prototype.resetDrawCommands=function(){this._drawCommandsBuilt&&(this.destroyResources(),this._drawCommandsBuilt=!1)};const rge=new Ne,age=new ce,sge=new Ne;function cge(e){const t=e._sceneGraph.components,n=t.structuralMetadata;Object(r["a"])(n)&&n.propertyTableCount>0&&(e.featureTableId=ige(t,e),e.applyStyle(e._style))}tge.prototype.update=function(e){this._resourcesLoaded&&this._texturesLoaded||this._loader.process(e),Object(r["a"])(this._customShader)&&this._customShader.update(e),this.pointCloudShading.attenuation!==this._attenuation&&(this.resetDrawCommands(),this._attenuation=this.pointCloudShading.attenuation);const t=e.context,n=Object(o["a"])(this.referenceMatrix,this.modelMatrix);if(this._imageBasedLighting.update(e),this._imageBasedLighting.useSphericalHarmonicCoefficients||this._imageBasedLighting.useSpecularEnvironmentMaps){let e=age,i=rge;i=Ne.multiply(t.uniformState.view3D,n,i),e=Ne.getMatrix3(i,e),e=ce.getRotation(e,e),this._iblReferenceFrameMatrix=ce.transpose(e,this._iblReferenceFrameMatrix)}this._imageBasedLighting.shouldRegenerateShaders&&this.resetDrawCommands();let i=0;if(this.isClippingEnabled()){this._clippingPlanes.owner===this&&this._clippingPlanes.update(e);let o=sge;o=Ne.multiply(t.uniformState.view3D,n,o),o=Ne.multiply(o,this._clippingPlanes.modelMatrix,o),this._clippingPlanesMatrix=Ne.inverseTranspose(o,this._clippingPlanesMatrix),i=this._clippingPlanes.clippingPlanesState}if(i!==this._clippingPlanesState&&(this.resetDrawCommands(),this._clippingPlanesState=i),this._defaultTexture=t.defaultTexture,!this._resourcesLoaded||e.mode===vq.MORPHING)return;e.mode!==this._sceneMode&&(this._projectTo2D?this.resetDrawCommands():this._updateModelMatrix=!0,this._sceneMode=e.mode),this._featureTableIdDirty&&(cge(this),this._featureTableIdDirty=!1);const s=this._featureTables;for(let o=0;o<s.length;o++)s[o].update(e),s[o].styleCommandsNeededDirty&&this.resetDrawCommands();if(!this._drawCommandsBuilt){this._sceneGraph.buildDrawCommands(e),this._drawCommandsBuilt=!0;const t=this;if(!t._ready)return void t._completeLoad(t,e)}if(!Ne.equals(this.modelMatrix,this._modelMatrix)){if(e.mode!==vq.SCENE3D&&this._projectTo2D)throw new a["a"]("ModelExperimental.modelMatrix cannot be changed in 2D or Columbus View if projectTo2D is true.");this._updateModelMatrix=!0,this._modelMatrix=Ne.clone(this.modelMatrix,this._modelMatrix),this._boundingSphere=Tt.transform(this._sceneGraph.boundingSphere,this.modelMatrix,this._boundingSphere)}(this._updateModelMatrix||0!==this._minimumPixelSize)&&(this._clampedScale=Object(r["a"])(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._boundingSphere.radius=this._initialRadius*this._clampedScale,this._computedScale=fge(this,e),this._sceneGraph.updateModelMatrix(e),this._updateModelMatrix=!1),this._backFaceCullingDirty&&(this.sceneGraph.updateBackFaceCulling(this._backFaceCulling),this._backFaceCullingDirty=!1),this._shadowsDirty&&(this.sceneGraph.updateShadows(this._shadows),this._shadowsDirty=!1),this._debugShowBoundingVolumeDirty&&(this._sceneGraph.updateShowBoundingVolume(this._debugShowBoundingVolume),this._debugShowBoundingVolumeDirty=!1);const c=this._activeAnimations.update(e);if(this._sceneGraph.update(e,c),this._show&&0!==this._computedScale){const t=this._sceneGraph.components.asset,n=t.credits,i=n.length;for(let r=0;r<i;r++){const t=n[r];t.showOnScreen=this._showCreditsOnScreen,e.creditDisplay.addCredit(t)}const o=this._sceneGraph.getDrawCommands(e);e.commandList.push.apply(e.commandList,o)}};const lge=new Tt;function uge(e,t,n){return lge.center=e,lge.radius=t,n.camera.getPixelSize(lge,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}const hge=new g,dge=new I;function fge(e,t){let n=e.scale;if(0!==e.minimumPixelSize&&!e._projectTo2D){const i=t.context,o=Math.max(i.drawingBufferWidth,i.drawingBufferHeight),r=e.modelMatrix;if(hge.x=r[12],hge.y=r[13],hge.z=r[14],e._sceneMode!==vq.SCENE3D){const e=t.mapProjection,n=e.ellipsoid.cartesianToCartographic(hge,dge);e.project(n,hge),g.fromElements(hge.z,hge.x,hge.y,hge)}const a=e._boundingSphere.radius,s=uge(hge,a,t),c=1/s,l=Math.min(c*(2*a),o);l<e.minimumPixelSize&&(n=e.minimumPixelSize*s/(2*e._initialRadius))}return Object(r["a"])(e.maximumScale)?Math.min(e.maximumScale,n):n}function pge(e,t,n){return{loader:e,type:t,resource:n.resource,modelMatrix:n.modelMatrix,scale:n.scale,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,allowPicking:n.allowPicking,customShader:n.customShader,content:n.content,show:n.show,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,clippingPlanes:n.clippingPlanes,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,shadows:n.shadows,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D}}function mge(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0}function _ge(e,t,n,i){const o={cull:!1,releaseGltfJson:!0,opaquePass:oz.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._gltfUpAxis,forwardAxis:vJ.X,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,show:e.show,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:!0};return Object(xS["a"])(i,o)}tge.prototype.isClippingEnabled=function(){const e=this._clippingPlanes;return Object(r["a"])(e)&&e.enabled&&0!==e.length},tge.prototype.isDestroyed=function(){return!1},tge.prototype.destroy=function(){const e=this._loader;Object(r["a"])(e)&&e.destroy();const t=this._featureTables;if(Object(r["a"])(t))for(let i=0;i<t.length;i++)t[i].destroy();this.destroyResources(),this.destroyModelResources();const n=this._clippingPlanes;Object(r["a"])(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,Wl(this)},tge.prototype.destroyResources=function(){const e=this._resources;for(let t=0;t<e.length;t++)e[t].destroy();this._resources=[]},tge.prototype.destroyModelResources=function(){const e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources=[]},tge.fromGltf=function(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url)&&!Object(r["a"])(e.gltf))throw new a["a"]("options.url is required.");const t=Object(o["a"])(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadPositionsFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe},i=Object(o["a"])(e.basePath,""),s=Et["a"].createIfNeeded(i);Object(r["a"])(t.asset)?(n.gltfJson=t,n.baseResource=s,n.gltfResource=s):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=s,n.gltfResource=s):n.gltfResource=Et["a"].createIfNeeded(t);const c=new _ue(n),l=Object(r["a"])(e.content),u=l?Ofe.TILE_GLTF:Ofe.GLTF,h=pge(c,u,e);h.resource=n.gltfResource;const d=new tge(h);return d},tge.fromB3dm=function(e){const t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadPositionsFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe},n=new t_e(t),i=pge(n,Ofe.TILE_B3DM,e),o=new tge(i);return o},tge.fromPnts=function(e){const t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset},n=new z_e(t),i=pge(n,Ofe.TILE_PNTS,e),o=new tge(i);return o},tge.fromI3dm=function(e){const t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadIndicesForWireframe:e.enableDebugWireframe},n=new D_e(t),i=pge(n,Ofe.TILE_I3DM,e),o=new tge(i);return o},tge.fromGeoJson=function(e){const t={geoJson:e.geoJson},n=new n_e(t),i=pge(n,Ofe.TILE_GEOJSON,e),o=new tge(i);return o},tge.prototype.applyColorAndShow=function(e){const t=Object(r["a"])(e)&&Object(r["a"])(e.color),n=Object(r["a"])(e)&&Object(r["a"])(e.show);this._color=t?e.color.evaluateColor(void 0,this._color):j_.clone(j_.WHITE,this._color),this._show=!n||e.show.evaluate(void 0)},tge.prototype.applyStyle=function(e){if(Object(r["a"])(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0){const t=this.featureTables[this.featureTableId];t.applyStyle(e)}else this.applyColorAndShow(e);this.resetDrawCommands()},Object.defineProperties(mge.prototype,{featuresLength:{get:function(){const e=this._model,t=e.featureTables,n=e.featureTableId;return Object(r["a"])(t)&&Object(r["a"])(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._model.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){const e=this._model,t=e.featureTables,n=e.featureTableId;if(Object(r["a"])(t)&&Object(r["a"])(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}}),mge.prototype.getFeature=function(e){const t=this._model,n=t.featureTableId;if(!Object(r["a"])(n))return;const i=t.featureTables[n];return i.getFeature(e)},mge.prototype.hasProperty=function(e,t){const n=this._model,i=n.featureTableId;if(!Object(r["a"])(i))return!1;const o=n.featureTables[i];return o.hasProperty(e,t)},mge.prototype.applyDebugSettings=function(e,t){t=e?t:j_.WHITE,0===this.featuresLength?this._model.color=t:Object(r["a"])(this.batchTable)&&this.batchTable.setAllColor(t)},mge.prototype.applyStyle=function(e){this._model.style=e},mge.prototype.update=function(e,t){const n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.pointCloudShading=e.pointCloudShading,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe;const o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,Object(r["a"])(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),Object(r["a"])(o)&&Object(r["a"])(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o),n.update(t)},mge.prototype.isDestroyed=function(){return!1},mge.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),Wl(this)},mge.fromGltf=function(e,t,n,i){const o=new mge(e,t,n),r={gltf:i,basePath:n},a=_ge(e,t,o,r);return o._model=tge.fromGltf(a),o},mge.fromB3dm=function(e,t,n,i,o){const r=new mge(e,t,n),a={arrayBuffer:i,byteOffset:o,resource:n},s=_ge(e,t,r,a);return r._model=tge.fromB3dm(s),r},mge.fromI3dm=function(e,t,n,i,o){const r=new mge(e,t,n),a={arrayBuffer:i,byteOffset:o,resource:n},s=_ge(e,t,r,a);return r._model=tge.fromI3dm(s),r},mge.fromPnts=function(e,t,n,i,o){const r=new mge(e,t,n),a={arrayBuffer:i,byteOffset:o,resource:n},s=_ge(e,t,r,a);return r._model=tge.fromPnts(s),r},mge.fromGeoJson=function(e,t,n,i){const o=new mge(e,t,n),r={geoJson:i,resource:n},a=_ge(e,t,o,r);return o._model=tge.fromGeoJson(a),o};const gge={b3dm:function(e,t,n,i,o){return e.enableModelExperimental?mge.fromB3dm(e,t,n,i,o):new L6(e,t,n,i,o)},pnts:function(e,t,n,i,o){return e.enableModelExperimental?mge.fromPnts(e,t,n,i,o):new pie(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return e.enableModelExperimental?mge.fromI3dm(e,t,n,i,o):new Hte(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return new z6(e,t,n,i,o,gge)},externalTileset:function(e,t,n,i){return new gie(e,t,n,i)},geom:function(e,t,n,i,o){return new n7(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new dle(e,t,n,i,o)},subt:function(e,t,n,i,o){return new xee(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return new xee(e,t,n,i)},glb:function(e,t,n,i,o){const r=i.byteLength;if(r<12)throw new ye["a"]("Invalid glb content");const a=new DataView(i,o),s=a.getUint32(8,!0),c=new Uint8Array(i,o,s);return mge.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return mge.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return mge.fromGeoJson(e,t,n,i)}};var bge=gge;const yge={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5};var vge=Object.freeze(yge);const Oge={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",isBinaryFormat:function(e){switch(e){case Oge.BATCHED_3D_MODEL:case Oge.INSTANCED_3D_MODEL:case Oge.COMPOSITE:case Oge.POINT_CLOUD:case Oge.VECTOR:case Oge.GEOMETRY:case Oge.IMPLICIT_SUBTREE:case Oge.GLTF_BINARY:return!0;default:return!1}}};var wge=Object.freeze(Oge);const Age={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};var Tge=Object.freeze(Age);function Cge(){}const Ege={stack:new Jx,stackMaximumLength:0};function xge(e){return e._visible&&e._inRequestVolume}function Sge(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function Ige(e){return!Sge(e)&&e.contentUnloaded}function Dge(e,t){return 0!==t.children.length&&(t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:(t.hasEmptyContent,!0))}function jge(e,t,n,i){const o=t.children,r=o.length;for(let a=0;a<r;++a){const e=o[a];e.updateVisibility(i),xge(e)&&n.push(e)}}function Pge(e,t){(Ige(t)||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function Rge(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function Mge(e){++e.statistics.visited}function Nge(e,t,n){t.contentAvailable&&t.contentVisibility(n)!==G.OUTSIDE&&e._selectedTiles.push(t)}Cge.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e._hasMixedContent=!1;let n=!0;const i=e.root;if(i.updateVisibility(t),!xge(i))return n;const o=Ege.stack;o.push(e.root);while(o.length>0){Ege.stackMaximumLength=Math.max(Ege.stackMaximumLength,o.length);const i=o.pop(),r=i.refine===qte.ADD,a=i.refine===qte.REPLACE,s=Dge(e,i);s&&jge(e,i,o,t),(r||a&&!s)&&(Pge(e,i),Rge(e,i,t),Nge(e,i,t),Sge(i)||i.contentAvailable||(n=!1)),Mge(e)}return Ege.stack.trim(Ege.stackMaximumLength),n};var Lge=Cge;function Bge(){}function Fge(e){return e._visible&&e._inRequestVolume}const kge={stack:new Jx,stackMaximumLength:0},zge={stack:new Jx,stackMaximumLength:0},Uge={stack:new Jx,stackMaximumLength:0},Vge={stack:new Jx,stackMaximumLength:0,ancestorStack:new Jx,ancestorStackMaximumLength:0},Hge=2;function Gge(e,t,n){const i=e._maximumScreenSpaceError,o=e._maximumScreenSpaceError;_be(e,t,i,o,n)}function qge(e,t,n){const i=Number.MAX_VALUE,o=e._maximumScreenSpaceError;_be(e,t,i,o,n),bbe(e,t,n)}function Wge(e,t,n){const i=Math.max(e.baseScreenSpaceError,e.maximumScreenSpaceError),o=e.maximumScreenSpaceError;_be(e,t,i,o,n),bbe(e,t,n)}function Yge(e){return e._skipLevelOfDetail}function Xge(e,t){e._emptyTiles.push(t)}function Kge(e,t,n){if(t.contentVisibility(n)!==G.OUTSIDE){const i=t.content;i.featurePropertiesDirty?(i.featurePropertiesDirty=!1,t.lastStyleTime=0,e._selectedTilesToStyle.push(t)):t._selectedFrame<n.frameNumber-1&&e._selectedTilesToStyle.push(t),t._selectedFrame=n.frameNumber,e._selectedTiles.push(t)}}function Jge(e,t,n){const i=Uge.stack;i.push(t);while(i.length>0){Uge.stackMaximumLength=Math.max(Uge.stackMaximumLength,i.length);const o=i.pop(),r=o.children,a=r.length;for(let s=0;s<a;++s){const o=r[s];Fge(o)&&(o.contentAvailable?(sbe(e,o,n),Qge(e,o,n),Kge(e,o,n)):o._depth-t._depth<Hge&&i.push(o))}}}function Zge(e,t,n){if(!Yge(e))return void(t.contentAvailable&&Kge(e,t,n));const i=t.contentAvailable?t:t._ancestorWithContentAvailable;Object(r["a"])(i)?i._shouldSelect=!0:Jge(e,t,n)}function $ge(e,t,n){++e._statistics.visited,t._visitedFrame=n.frameNumber}function Qge(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function ebe(e,t){e._maximumPriority.distance=Math.max(t._priorityHolder._distanceToCamera,e._maximumPriority.distance),e._minimumPriority.distance=Math.min(t._priorityHolder._distanceToCamera,e._minimumPriority.distance),e._maximumPriority.depth=Math.max(t._depth,e._maximumPriority.depth),e._minimumPriority.depth=Math.min(t._depth,e._minimumPriority.depth),e._maximumPriority.foveatedFactor=Math.max(t._priorityHolder._foveatedFactor,e._maximumPriority.foveatedFactor),e._minimumPriority.foveatedFactor=Math.min(t._priorityHolder._foveatedFactor,e._minimumPriority.foveatedFactor),e._maximumPriority.reverseScreenSpaceError=Math.max(t._priorityReverseScreenSpaceError,e._maximumPriority.reverseScreenSpaceError),e._minimumPriority.reverseScreenSpaceError=Math.min(t._priorityReverseScreenSpaceError,e._minimumPriority.reverseScreenSpaceError)}function tbe(e,t,n){if(!e._cullRequestsWhileMoving)return!0;const i=t.boundingSphere,o=Math.max(2*i.radius,1),r=n.camera,a=0!==r.positionWCDeltaMagnitude?r.positionWCDeltaMagnitude:r.positionWCDeltaMagnitudeLastFrame,s=e.cullRequestsWhileMovingMultiplier*a/o;return s<1}function nbe(e,t,n){if(t._requestedFrame===n.frameNumber||!ube(t)&&!t.contentExpired)return;if(!tbe(e,t,n))return;const i=n.camera.timeSinceMoved<e.foveatedTimeDelay;t.priorityDeferred&&i||(t._requestedFrame=n.frameNumber,e._requestedTiles.push(t))}function ibe(e,t,n){t._updatedVisibilityFrame!==e._updatedVisibilityFrame&&(t.updateVisibility(n),t._updatedVisibilityFrame=e._updatedVisibilityFrame)}function obe(e,t,n){let i=!1;const o=t.children,r=o.length;for(let a=0;a<r;++a){const t=o[a];ibe(e,t,n),i=i||Fge(t)}return i}function rbe(e,t,n){const i=t.parent;return!(!Object(r["a"])(i)||i.hasTilesetContent||i.hasImplicitContent||i.refine!==qte.ADD)&&t.getScreenSpaceError(n,!0)<=e._maximumScreenSpaceError}function abe(e,t,n){if(ibe(e,t,n),!Fge(t))return;const i=t.children.length>0;if((t.hasTilesetContent||t.hasImplicitContent)&&i){const i=t.children[0];return abe(e,i,n),void(t._visible=i._visible)}if(rbe(e,t,n))return void(t._visible=!1);const o=t.refine===qte.REPLACE,r=t._optimChildrenWithinParent===Tge.USE_OPTIMIZATION;return o&&r&&i&&!obe(e,t,n)?(++e._statistics.numberOfTilesCulledWithChildrenUnion,void(t._visible=!1)):void 0}function sbe(e,t,n){abe(e,t,n),t.updateExpiration(),t._wasMinPriorityChild=!1,t._priorityHolder=t,ebe(e,t),t._shouldSelect=!1,t._finalResolution=!0}function cbe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;const n=e.parent;if(Object(r["a"])(n)){const i=!ube(n)||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}}function lbe(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function ube(e){return!lbe(e)&&e.contentUnloaded}function hbe(e,t){const n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||Object(r["a"])(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function dbe(e,t){return 0===t._distanceToCamera&&0===e._distanceToCamera?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}function fbe(e,t,n,i){let o;const r=t.refine===qte.REPLACE,a=t.children,s=a.length;for(o=0;o<s;++o)sbe(e,a[o],i);a.sort(dbe);const c=!Yge(e)&&r&&!lbe(t);let l,u=!0,h=!1,d=-1,f=Number.MAX_VALUE;for(o=0;o<s;++o)if(l=a[o],Fge(l)?(n.push(l),l._foveatedFactor<f&&(d=o,f=l._foveatedFactor),h=!0):(c||e.loadSiblings)&&(l._foveatedFactor<f&&(d=o,f=l._foveatedFactor),nbe(e,l,i),Qge(e,l,i)),c){let t;t=!!l._inRequestVolume&&(lbe(l)?gbe(e,l,i):l.contentAvailable),u=u&&t}if(h||(u=!1),-1!==d&&!Yge(e)&&r){const n=a[d];n._wasMinPriorityChild=!0;const i=(t._wasMinPriorityChild||t===e.root)&&f<=t._priorityHolder._foveatedFactor?t._priorityHolder:t;for(i._foveatedFactor=Math.min(n._foveatedFactor,i._foveatedFactor),i._distanceToCamera=Math.min(n._distanceToCamera,i._distanceToCamera),o=0;o<s;++o)l=a[o],l._priorityHolder=i}return u}function pbe(e,t,n){return!Yge(e)||!e.immediatelyLoadDesiredLevelOfDetail&&(!Object(r["a"])(t._ancestorWithContent)||(0===t._screenSpaceError?t.parent._screenSpaceError>n:t._screenSpaceError>n))}function mbe(e,t){return 0!==t.children.length&&(t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:t._screenSpaceError>e._maximumScreenSpaceError)}function _be(e,t,n,i,o){const a=kge.stack;a.push(t);while(a.length>0){kge.stackMaximumLength=Math.max(kge.stackMaximumLength,a.length);const t=a.pop();cbe(t,o);const i=pbe(e,t,n),s=t.refine===qte.ADD,c=t.refine===qte.REPLACE,l=t.parent,u=!Object(r["a"])(l)||l._refines;let h=!1;mbe(e,t)&&(h=fbe(e,t,a,o)&&u);const d=!h&&u;lbe(t)?(Xge(e,t,o),nbe(e,t,o),d&&Zge(e,t,o)):s?(Zge(e,t,o),nbe(e,t,o)):c&&(i?(nbe(e,t,o),d&&Zge(e,t,o)):d?(Zge(e,t,o),nbe(e,t,o)):hbe(e,t)&&nbe(e,t,o)),$ge(e,t,o),Qge(e,t,o),t._refines=h}}function gbe(e,t,n){let i=!0;const o=zge.stack;o.push(t);while(o.length>0){zge.stackMaximumLength=Math.max(zge.stackMaximumLength,o.length);const t=o.pop(),r=t.children,a=r.length,s=lbe(t),c=s&&mbe(e,t),l=s&&0===t.children.length;if(c||t.contentAvailable||l||(i=!1),sbe(e,t,n),Fge(t)||(nbe(e,t,n),Qge(e,t,n)),c)for(let e=0;e<a;++e){const t=r[e];o.push(t)}}return i}function bbe(e,t,n){const i=Vge.stack,o=Vge.ancestorStack;let a;i.push(t);while(i.length>0||o.length>0){if(Vge.stackMaximumLength=Math.max(Vge.stackMaximumLength,i.length),Vge.ancestorStackMaximumLength=Math.max(Vge.ancestorStackMaximumLength,o.length),o.length>0){const t=o.peek();if(t._stackLength===i.length){o.pop(),t!==a&&(t._finalResolution=!1),Kge(e,t,n);continue}}const t=i.pop();if(!Object(r["a"])(t))continue;const s=t.refine===qte.ADD,c=t._shouldSelect,l=t.children,u=l.length,h=mbe(e,t);if(c)if(s)Kge(e,t,n);else{if(t._selectionDepth=o.length,t._selectionDepth>0&&(e._hasMixedContent=!0),a=t,!h){Kge(e,t,n);continue}o.push(t),t._stackLength=i.length}if(h)for(let e=0;e<u;++e){const t=l[e];Fge(t)&&i.push(t)}}}Bge.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e._hasMixedContent=!1;const n=e.root;if(sbe(e,n,t),!Fge(n))return;if(n.getScreenSpaceError(t,!0)<=e._maximumScreenSpaceError)return;Yge(e)?e.immediatelyLoadDesiredLevelOfDetail?qge(e,n,t):Wge(e,n,t):Gge(e,n,t),kge.stack.trim(kge.stackMaximumLength),zge.stack.trim(zge.stackMaximumLength),Uge.stack.trim(Uge.stackMaximumLength),Vge.stack.trim(Vge.stackMaximumLength),Vge.ancestorStack.trim(Vge.ancestorStackMaximumLength);const i=e._requestedTiles,o=i.length;for(let r=0;r<o;++r)i[r].updatePriority()};var ybe=Bge;const vbe={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},Obe=new Array(vbe.NUMBER_OF_PASSES);Obe[vbe.RENDER]=Object.freeze({traversal:ybe,isRender:!0,requestTiles:!0,ignoreCommands:!1}),Obe[vbe.PICK]=Object.freeze({traversal:ybe,isRender:!1,requestTiles:!1,ignoreCommands:!1}),Obe[vbe.SHADOW]=Object.freeze({traversal:ybe,isRender:!1,requestTiles:!0,ignoreCommands:!1}),Obe[vbe.PRELOAD]=Object.freeze({traversal:ybe,isRender:!1,requestTiles:!0,ignoreCommands:!0}),Obe[vbe.PRELOAD_FLIGHT]=Object.freeze({traversal:ybe,isRender:!1,requestTiles:!0,ignoreCommands:!0}),Obe[vbe.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({traversal:ybe,isRender:!1,requestTiles:!0,ignoreCommands:!0}),Obe[vbe.MOST_DETAILED_PRELOAD]=Object.freeze({traversal:Lge,isRender:!1,requestTiles:!0,ignoreCommands:!0}),Obe[vbe.MOST_DETAILED_PICK]=Object.freeze({traversal:Lge,isRender:!1,requestTiles:!1,ignoreCommands:!1}),vbe.getPassOptions=function(e){return Obe[e]};var wbe=Object.freeze(vbe);function Abe(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(Abe.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){throw new a["a"]("Empty3DTileContent cannot have content metadata")}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){throw new a["a"]("Empty3DTileContent cannot have group metadata")}}}),Abe.prototype.hasProperty=function(e,t){return!1},Abe.prototype.getFeature=function(e){},Abe.prototype.applyDebugSettings=function(e,t){},Abe.prototype.applyStyle=function(e){},Abe.prototype.update=function(e,t){},Abe.prototype.isDestroyed=function(){return!1},Abe.prototype.destroy=function(){return Wl(this)};var Tbe=Abe;function Cbe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.content,n=e.class;i["a"].typeOf.object("options.content",t),i["a"].typeOf.object("options.class",n),this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}function Ebe(e,t){const n=i7(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!Object(r["a"])(n))return;if(!Object(r["a"])(e.schema))return void Ebe._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");const i=Object(o["a"])(e.schema.classes,o["a"].EMPTY_OBJECT);if(Object(r["a"])(n.class)){const e=i[n.class];return new Cbe({content:n,class:e})}}Object.defineProperties(Cbe.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Cbe.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},Cbe.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},Cbe.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},Cbe.prototype.getProperty=function(e){return u7.getProperty(e,this._properties,this._class)},Cbe.prototype.setProperty=function(e,t){return u7.setProperty(e,t,this._properties,this._class)},Cbe.prototype.getPropertyBySemantic=function(e){return u7.getPropertyBySemantic(e,this._properties,this._class)},Cbe.prototype.setPropertyBySemantic=function(e,t){return u7.setPropertyBySemantic(e,t,this._properties,this._class)},Ebe._oneTimeWarning=ky;var xbe=Ebe;function Sbe(e,t){const n=e.metadataExtension;if(!Object(r["a"])(n))return;const i=n.groups,o=i7(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if("number"===typeof o)return i[o];const a=n.groupIds.findIndex((function(e){return e===o}));return a>=0?i[a]:void 0}function Ibe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.tile,n=e.class;i["a"].typeOf.object("options.tile",t),i["a"].typeOf.object("options.class",n),this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}function Dbe(e,t){const n=i7(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!Object(r["a"])(n))return;if(!Object(r["a"])(e.schema))return void Dbe._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");const i=Object(o["a"])(e.schema.classes,o["a"].EMPTY_OBJECT);if(Object(r["a"])(n.class)){const e=i[n.class];return new Ibe({tile:n,class:e})}}Object.defineProperties(Ibe.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Ibe.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},Ibe.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},Ibe.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},Ibe.prototype.getProperty=function(e){return u7.getProperty(e,this._properties,this._class)},Ibe.prototype.setProperty=function(e,t){return u7.setProperty(e,t,this._properties,this._class)},Ibe.prototype.getPropertyBySemantic=function(e){return u7.getPropertyBySemantic(e,this._properties,this._class)},Ibe.prototype.setPropertyBySemantic=function(e,t){return u7.setPropertyBySemantic(e,t,this._properties,this._class)},Dbe._oneTimeWarning=ky;var jbe=Dbe;function Pbe(e){const t=new Uint8Array(e);let n=$L(t);if("glTF"===n&&(n="glb"),wge.isBinaryFormat(n))return{contentType:n,binaryPayload:t};const i=Rbe(t);if(Object(r["a"])(i.root))return{contentType:wge.EXTERNAL_TILESET,jsonPayload:i};if(Object(r["a"])(i.asset))return{contentType:wge.GLTF,jsonPayload:i};if(Object(r["a"])(i.tileAvailability))return{contentType:wge.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(Object(r["a"])(i.type))return{contentType:wge.GEOJSON,jsonPayload:i};throw new ye["a"]("Invalid tile content.")}function Rbe(e){let t;try{t=kd(e)}catch(n){throw new ye["a"]("Invalid tile content.")}return t}function Mbe(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[];const o=Object(r["a"])(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;const a=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(a),this._requests=new Array(a),this._innerContentResources=new Array(a),this._serverKeys=new Array(a);for(let r=0;r<a;r++){const e=n.getDerivedResource({url:o[r].uri}),t=iP["a"].getServerKey(e.getUrlComponent());this._innerContentResources[r]=e,this._serverKeys[r]=t}this._contentsFetchedPromise=void 0}function Nbe(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function Lbe(e,t){e._cancelCount++,e._tile._contentState=t,e.tileset.statistics.numberOfPendingRequests-=e._requestsInFlight,e._requestsInFlight=0;const n=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(n)}function Bbe(e){const t={};for(let n=0;n<e.length;n++){const i=e[n];Object(r["a"])(t[i])?t[i]++:t[i]=1}for(const n in t)if(t.hasOwnProperty(n)&&!iP["a"].serverHasOpenSlots(n,t[n]))return!1;return iP["a"].heapHasOpenSlots(e.length)}function Fbe(e,t,n,i){const o=e._innerContentResources[t].clone(),r=e.tile,a=function(){return r._priority},s=e._serverKeys[t],c=new Iu["a"]({throttle:!0,throttleByServer:!0,type:ju["a"].TILES3D,priorityFunction:a,serverKey:s});return o.request=c,e._requests[t]=c,o.fetchArrayBuffer().then((function(t){if(!(n<e._cancelCount))return Nbe(e,-1),t})).catch((function(r){n<e._cancelCount||(o.request.state!==Du["a"].CANCELLED?(Nbe(e,-1),Ube(e,t,r)):Lbe(e,i))}))}function kbe(e){const t=e._cancelCount;return Promise.all(e._arrayFetchPromises).then((function(n){if(t<e._cancelCount)return;const i=n.map((function(t,n){if(Object(r["a"])(t))return zbe(e,t,n)}));e._contents=i.filter(r["a"])}))}function zbe(e,t,n){const i=Pbe(t);if(i.contentType===wge.EXTERNAL_TILESET){const t=new ye["a"]("External tilesets are disallowed inside multiple contents");return Ube(e,n,t)}e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===wge.GEOMETRY||i.contentType===wge.VECTOR;const o=e._tileset,a=e._innerContentResources[n],s=e._tile;let c;const l=bge[i.contentType];c=Object(r["a"])(i.binaryPayload)?l(o,s,a,i.binaryPayload.buffer,0):l(o,s,a,i.jsonPayload);const u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){const e=s.implicitSubtree,t=s.implicitCoordinates;c.metadata=e.getContentMetadataView(t,n)}else s.hasImplicitContent||(c.metadata=xbe(o,u));const h=Sbe(o,u);return Object(r["a"])(h)&&(c.group=new OJ({metadata:h})),c}function Ube(e,t,n){const i=e._tileset,o=e._innerContentResources[t].url,a=Object(r["a"])(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:a}):(console.log("A content failed to load: "+o),console.log("Error: "+a))}function Vbe(e){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.rectangle",e.rectangle),this.rectangle=Fe.clone(e.rectangle),this.minimumHeight=Object(o["a"])(e.minimumHeight,0),this.maximumHeight=Object(o["a"])(e.maximumHeight,0),this.southwestCornerCartesian=new g,this.northeastCornerCartesian=new g,this.westNormal=new g,this.southNormal=new g,this.eastNormal=new g,this.northNormal=new g;const t=Object(o["a"])(e.ellipsoid,z.WGS84);Qbe(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,Object(o["a"])(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(Mbe.prototype,{featurePropertiesDirty:{get:function(){const e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){const e=this._contents.map((function(e){return e.readyPromise})),t=this;return Promise.all(e).then((function(){return t}))}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){throw new a["a"]("Multiple3DTileContent cannot have metadata")}},batchTable:{get:function(){}},group:{get:function(){},set:function(){throw new a["a"]("Multiple3DTileContent cannot have group metadata")}},innerContentUrls:{get:function(){return this._innerContentHeaders.map((function(e){return e.uri}))}},contentsFetchedPromise:{get:function(){return this._contentsFetchedPromise}}}),Mbe.prototype.requestInnerContents=function(){if(!Bbe(this._serverKeys))return this._serverKeys.length;const e=this._innerContentHeaders;Nbe(this,e.length);for(let t=0;t<e.length;t++)this._arrayFetchPromises[t]=Fbe(this,t,this._cancelCount,this._tile._contentState);return this._contentsFetchedPromise=kbe(this),0},Mbe.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){const t=this._requests[e];Object(r["a"])(t)&&t.cancel()}},Mbe.prototype.hasProperty=function(e,t){return!1},Mbe.prototype.getFeature=function(e){},Mbe.prototype.applyDebugSettings=function(e,t){const n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)},Mbe.prototype.applyStyle=function(e){const t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)},Mbe.prototype.update=function(e,t){const n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)},Mbe.prototype.isDestroyed=function(){return!1},Mbe.prototype.destroy=function(){const e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return Wl(this)},Object.defineProperties(Vbe.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}}),Vbe.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=Xc.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=Tt.fromOrientedBoundingBox(this._orientedBoundingBox)};const Hbe=new g,Gbe=new g,qbe=new g,Wbe=new g,Ybe=new g,Xbe=new g,Kbe=new g,Jbe=new I,Zbe=new No(g.UNIT_X,0),$be=new Ki;function Qbe(e,t,n){n.cartographicToCartesian(Fe.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(Fe.northeast(t),e.northeastCornerCartesian),Jbe.longitude=t.west,Jbe.latitude=.5*(t.south+t.north),Jbe.height=0;const i=n.cartographicToCartesian(Jbe,Xbe),o=g.cross(i,g.UNIT_Z,Wbe);g.normalize(o,e.westNormal),Jbe.longitude=t.east;const r=n.cartographicToCartesian(Jbe,Kbe),a=g.cross(g.UNIT_Z,r,Hbe);g.normalize(a,e.eastNormal);let s=g.subtract(i,r,Hbe);0===g.magnitude(s)&&(s=g.clone(o,s));const c=g.normalize(s,Ybe),l=t.south;let u;if(l>0){Jbe.longitude=.5*(t.west+t.east),Jbe.latitude=l;const i=n.cartographicToCartesian(Jbe,$be.origin);g.clone(c,$be.direction);const o=No.fromPointNormal(e.southwestCornerCartesian,e.westNormal,Zbe);So.rayPlane($be,o,e.southwestCornerCartesian),u=n.geodeticSurfaceNormal(i,Gbe)}else u=n.geodeticSurfaceNormalCartographic(Fe.southeast(t),Gbe);const h=g.cross(u,s,qbe);g.normalize(h,e.southNormal);const d=t.north;let f;if(d<0){Jbe.longitude=.5*(t.west+t.east),Jbe.latitude=d;const i=n.cartographicToCartesian(Jbe,$be.origin);g.negate(c,$be.direction);const o=No.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,Zbe);So.rayPlane($be,o,e.northeastCornerCartesian),f=n.geodeticSurfaceNormal(i,Gbe)}else f=n.geodeticSurfaceNormalCartographic(Fe.northwest(t),Gbe);const p=g.cross(s,f,qbe);g.normalize(p,e.northNormal)}const eye=new g,tye=new g,nye=new g(0,-1,0),iye=new g(0,0,-1),oye=new g;function rye(e,t){const n=t.camera,i=n.positionWC,o=n.positionCartographic;let r,a,s,c=0;if(!Fe.contains(e.rectangle,o)){let n=e.southwestCornerCartesian,o=e.northeastCornerCartesian,r=e.westNormal,a=e.southNormal,s=e.eastNormal,l=e.northNormal;t.mode!==vq.SCENE3D&&(n=t.mapProjection.project(Fe.southwest(e.rectangle),eye),n.z=n.y,n.y=n.x,n.x=0,o=t.mapProjection.project(Fe.northeast(e.rectangle),tye),o.z=o.y,o.y=o.x,o.x=0,r=nye,s=g.UNIT_Y,a=iye,l=g.UNIT_Z);const u=g.subtract(i,n,oye),h=g.dot(u,r),d=g.dot(u,a),f=g.subtract(i,o,oye),p=g.dot(f,s),m=g.dot(f,l);h>0?c+=h*h:p>0&&(c+=p*p),d>0?c+=d*d:m>0&&(c+=m*m)}if(t.mode===vq.SCENE3D?(r=o.height,a=e.minimumHeight,s=e.maximumHeight):(r=i.x,a=0,s=0),r>s){const e=r-s;c+=e*e}else if(r<a){const e=a-r;c+=e*e}return Math.sqrt(c)}Vbe.prototype.distanceToCamera=function(e){i["a"].defined("frameState",e);const t=rye(this,e);if(e.mode===vq.SCENE3D&&Object(r["a"])(this._orientedBoundingBox)){const n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t},Vbe.prototype.intersectPlane=function(e){return i["a"].defined("plane",e),this._orientedBoundingBox.intersectPlane(e)},Vbe.prototype.createDebugVolume=function(e){i["a"].defined("color",e);const t=new Ne.clone(Ne.IDENTITY),n=new Qj({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),o=new Df({geometry:n,id:"outline",modelMatrix:t,attributes:{color:R_.fromColor(e)}});return new bW({geometryInstances:o,appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})};var aye=Vbe;let sye=new I;function cye(e){i["a"].typeOf.object("options",e),i["a"].typeOf.string("options.token",e.token);const t=RP.fromToken(e.token),n=Object(o["a"])(e.minimumHeight,0),r=Object(o["a"])(e.maximumHeight,0),a=Object(o["a"])(e.ellipsoid,z.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=r,this.ellipsoid=a;const s=gye(t,n,r,a);this._boundingPlanes=s;const c=Rye(s);let l;for(this._vertices=c,this._edgeNormals=new Array(6),this._edgeNormals[0]=Lye(s[0],c.slice(0,4)),l=0;l<4;l++)this._edgeNormals[0][l]=g.negate(this._edgeNormals[0][l],this._edgeNormals[0][l]);for(this._edgeNormals[1]=Lye(s[1],c.slice(4,8)),l=0;l<4;l++)this._edgeNormals[2+l]=Lye(s[2+l],[c[l%4],c[(l+1)%4],c[4+(l+1)%4],c[4+l]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],l=0;l<4;l++)this._planeVertices.push([this._vertices[l%4],this._vertices[(l+1)%4],this._vertices[4+(l+1)%4],this._vertices[4+l]]);const u=t.getCenter();sye=a.cartesianToCartographic(u,sye),sye.height=(r+n)/2,this.center=a.cartographicToCartesian(sye,u),this._boundingSphere=Tt.fromPoints(c)}const lye=new g,uye=new I,hye=new g,dye=new I,fye=new g,pye=new g,mye=new g,_ye=new g;function gye(e,t,n,i){const o=new Array(6),r=e.getCenter(),a=i.geodeticSurfaceNormal(r,lye),s=i.cartesianToCartographic(r,uye);s.height=n;const c=i.cartographicToCartesian(s,hye),l=No.fromPointNormal(c,a);o[0]=l;let u,h=0;const d=[];let f,p;for(u=0;u<4;u++){f=e.getVertex(u),d[u]=f,p=i.cartesianToCartographic(f,dye),p.height=t;const n=No.getPointDistance(l,i.cartographicToCartesian(p,fye));n<h&&(h=n)}const m=No.clone(l);for(m.normal=g.negate(m.normal,m.normal),m.distance=-1*m.distance+h,o[1]=m,u=0;u<4;u++){f=d[u];const e=d[(u+1)%4],t=i.geodeticSurfaceNormal(f,pye),n=g.subtract(e,f,_ye);let r=g.cross(n,t,mye);r=g.normalize(r,r),o[2+u]=No.fromPointNormal(f,r)}return o}let bye=new g,yye=new g,vye=new g,Oye=new g,wye=new g,Aye=new g;const Tye=new g,Cye=new g,Eye=new g;let xye=new g,Sye=new g,Iye=new g,Dye=new g;const jye=new ce;function Pye(e,t,n){bye=e.normal,yye=t.normal,vye=n.normal,Oye=g.multiplyByScalar(e.normal,-e.distance,Oye),wye=g.multiplyByScalar(t.normal,-t.distance,wye),Aye=g.multiplyByScalar(n.normal,-n.distance,Aye),xye=g.multiplyByScalar(g.cross(yye,vye,Tye),g.dot(Oye,bye),xye),Sye=g.multiplyByScalar(g.cross(vye,bye,Cye),g.dot(wye,yye),Sye),Iye=g.multiplyByScalar(g.cross(bye,yye,Eye),g.dot(Aye,vye),Iye),jye[0]=bye.x,jye[1]=yye.x,jye[2]=vye.x,jye[3]=bye.y,jye[4]=yye.y,jye[5]=vye.y,jye[6]=bye.z,jye[7]=yye.z,jye[8]=vye.z;const i=ce.determinant(jye);return Dye=g.add(xye,Sye,Dye),Dye=g.add(Dye,Iye,Dye),new g(Dye.x/i,Dye.y/i,Dye.z/i)}function Rye(e){const t=new Array(8);for(let n=0;n<4;n++)t[n]=Pye(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=Pye(e[1],e[2+(n+3)%4],e[2+n%4]);return t}let Mye=new g,Nye=new g;function Lye(e,t){const n=[];for(let i=0;i<4;i++)Mye=g.subtract(t[(i+1)%4],t[i],Mye),Nye=g.cross(e.normal,Mye,Nye),Nye=g.normalize(Nye,Nye),n[i]=g.clone(Nye);return n}Object.defineProperties(cye.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});const Bye=new g;cye.prototype.distanceToCamera=function(e){i["a"].defined("frameState",e);const t=e.camera.positionWC,n=[],o=[];let r,a,s,c,l;for(No.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),o.push(this._planeVertices[0]),r=this._edgeNormals[0]):No.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),o.push(this._planeVertices[1]),r=this._edgeNormals[1]),a=0;a<4;a++)s=2+a,No.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),o.push(this._planeVertices[s]),r=this._edgeNormals[s]);if(0===n.length)return 0;if(1===n.length)return l=this._boundingPlanes[n[0]],c=Vye(No.projectPointOntoPlane(l,t,Bye),o[0],l,r),g.distance(c,t);if(2===n.length){if(0===n[0]){const e=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return c=zye(t,e[0],e[1]),g.distance(c,t)}let e,i=Number.MAX_VALUE;for(a=0;a<2;a++)l=this._boundingPlanes[n[a]],c=Vye(No.projectPointOntoPlane(l,t,Bye),o[a],l,this._edgeNormals[n[a]]),e=g.distanceSquared(c,t),e<i&&(i=e);return Math.sqrt(i)}if(n.length>3)return c=Vye(No.projectPointOntoPlane(this._boundingPlanes[1],t,Bye),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),g.distance(c,t);const u=2===n[1]&&5===n[2]?0:1;return 0===n[0]?g.distance(t,this._vertices[(n[1]-2+u)%4]):g.distance(t,this._vertices[4+(n[1]-2+u)%4])};const Fye=new g,kye=new g;function zye(e,t,n){const i=g.subtract(n,t,Fye),o=g.subtract(e,t,kye);let r=g.dot(i,o);if(r<=0)return t;const a=g.dot(i,i);return r>=a?n:(r/=a,new g((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}const Uye=new No(g.UNIT_X,0);function Vye(e,t,n,i){let o,a,s,c=Number.MAX_VALUE;for(let r=0;r<t.length;r++){const n=No.fromPointNormal(t[r],i[r],Uye),l=No.getPointDistance(n,e);l<0||(s=zye(e,t[r],t[(r+1)%4]),o=g.distance(e,s),o<c&&(c=o,a=s))}return Object(r["a"])(a)?a:e}cye.prototype.intersectPlane=function(e){i["a"].defined("plane",e);let t=0,n=0;for(let i=0;i<this._vertices.length;i++){const o=g.dot(e.normal,this._vertices[i])+e.distance;o<0?n++:t++}return t===this._vertices.length?G.INSIDE:n===this._vertices.length?G.OUTSIDE:G.INTERSECTING},cye.prototype.createDebugVolume=function(e){i["a"].defined("color",e);const t=new Ne.clone(Ne.IDENTITY),n=new ty({polygonHierarchy:{positions:this._planeVertices[0]}}),o=ty.createGeometry(n),r=new Df({geometry:o,id:"outline",modelMatrix:t,attributes:{color:R_.fromColor(e)}}),a=new ty({polygonHierarchy:{positions:this._planeVertices[1]}}),s=ty.createGeometry(a),c=new Df({geometry:s,id:"outline",modelMatrix:t,attributes:{color:R_.fromColor(e)}}),l=[];for(let i=0;i<4;i++){const n=new ty({polygonHierarchy:{positions:this._planeVertices[2+i]}}),o=ty.createGeometry(n);l[i]=new Df({geometry:o,id:"outline",modelMatrix:t,attributes:{color:R_.fromColor(e)}})}return new bW({geometryInstances:[l[0],l[1],l[2],l[3],c,r],appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})};var Hye=cye;function Gye(e,t){0===t&&(t=s["a"].EPSILON7),this._boundingSphere=new Tt(e,t)}Object.defineProperties(Gye.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}}),Gye.prototype.distanceToCamera=function(e){i["a"].defined("frameState",e);const t=this._boundingSphere;return Math.max(0,g.distance(t.center,e.camera.positionWC)-t.radius)},Gye.prototype.intersectPlane=function(e){return i["a"].defined("plane",e),Tt.intersectPlane(this._boundingSphere,e)},Gye.prototype.update=function(e,t){g.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t},Gye.prototype.createDebugVolume=function(e){i["a"].defined("color",e);const t=new aN({radius:this.radius}),n=Ne.fromTranslation(this.center,new Ne.clone(Ne.IDENTITY)),o=new Df({geometry:t,id:"outline",modelMatrix:n,attributes:{color:R_.fromColor(e)}});return new bW({geometryInstances:o,appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})};var qye=Gye;const Wye=new g,Yye=new g,Xye=new g,Kye=new g;function Jye(e,t,n){n=g.cross(e,t,n);const i=g.magnitude(n);return g.multiplyByScalar(n,s["a"].EPSILON7/i,n)}function Zye(e,t){const n=g.normalize(e,Kye),i=g.equalsEpsilon(n,g.UNIT_X,s["a"].EPSILON6)?g.UNIT_Y:g.UNIT_X;return Jye(e,i,t)}function $ye(e){let t=ce.getColumn(e,0,Wye),n=ce.getColumn(e,1,Yye),i=ce.getColumn(e,2,Xye);const o=g.equals(t,g.ZERO),r=g.equals(n,g.ZERO),a=g.equals(i,g.ZERO);return o||r||a?o&&r&&a?(e[0]=s["a"].EPSILON7,e[4]=s["a"].EPSILON7,e[8]=s["a"].EPSILON7,e):(!o||r||a?o||!r||a?o||r||!a?o?r?a||(t=Zye(i,t),n=Jye(i,t,n)):(t=Zye(n,t),i=Jye(n,t,i)):(n=Zye(t,n),i=Jye(n,t,i)):i=Jye(n,t,i):n=Jye(t,i,n):t=Jye(n,i,t),ce.setColumn(e,0,t,e),ce.setColumn(e,1,n,e),ce.setColumn(e,2,i,e),e):e}function Qye(e,t){t=$ye(t),this._orientedBoundingBox=new Xc(e,t),this._boundingSphere=Tt.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(Qye.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}}),Qye.prototype.distanceToCamera=function(e){return i["a"].defined("frameState",e),Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))},Qye.prototype.intersectPlane=function(e){return i["a"].defined("plane",e),this._orientedBoundingBox.intersectPlane(e)},Qye.prototype.update=function(e,t){g.clone(e,this._orientedBoundingBox.center),t=$ye(t),ce.clone(t,this._orientedBoundingBox.halfAxes),Tt.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)},Qye.prototype.createDebugVolume=function(e){i["a"].defined("color",e);const t=new sd({minimum:new g(-1,-1,-1),maximum:new g(1,1,1)}),n=Ne.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),o=new Df({geometry:t,id:"outline",modelMatrix:n,attributes:{color:R_.fromColor(e)}});return new bW({geometryInstances:o,appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})};var eve=Qye;function tve(e,t,n,i){this._tileset=e,this._header=n;const o=Object(r["a"])(n.contents),a=o&&n.contents.length>1||i7(n,"3DTILES_multiple_contents"),s=o&&!a?n.contents[0]:n.content;this._contentHeader=s,this.transform=Object(r["a"])(n.transform)?Ne.unpack(n.transform):Ne.clone(Ne.IDENTITY);const c=Object(r["a"])(i)?i.computedTransform:e.modelMatrix,l=Ne.multiply(c,this.transform,new Ne),u=Object(r["a"])(i)?i._initialTransform:Ne.IDENTITY;let h,d,f,p;this._initialTransform=Ne.multiply(u,this.transform,new Ne),this.computedTransform=l,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,l),this._boundingVolume2D=void 0,Object(r["a"])(s)&&Object(r["a"])(s.boundingVolume)&&(h=this.createBoundingVolume(s.boundingVolume,l)),this._contentBoundingVolume=h,this._contentBoundingVolume2D=void 0,Object(r["a"])(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,l)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,Object(r["a"])(this._geometricError)||(this._geometricError=Object(r["a"])(i)?i.geometricError:e._geometricError,tve._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale(),Object(r["a"])(n.refine)?("replace"!==n.refine&&"add"!==n.refine||tve._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),f="REPLACE"===n.refine.toUpperCase()?qte.REPLACE:qte.ADD):f=Object(r["a"])(i)?i.refine:qte.REPLACE,this.refine=f,this.children=[],this.parent=i;let m,_,g,b=!1;if(t=Et["a"].createIfNeeded(t),a)m=vge.UNLOADED,_=t.clone();else if(Object(r["a"])(s)){let e=s.uri;Object(r["a"])(s.url)&&(tve._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),e=s.url),m=vge.UNLOADED,_=t.getDerivedResource({url:e}),g=iP["a"].getServerKey(_.getUrlComponent())}else p=new Tbe(e,this),b=!0,m=vge.READY;this._content=p,this._contentResource=_,this._contentState=m,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this._expiredContent=void 0,this._serverKey=g,this.hasEmptyContent=b,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=a,this.metadata=jbe(e,n),this.cacheNode=void 0;const y=n.expire;let v,O;Object(r["a"])(y)&&(v=y.duration,Object(r["a"])(y.date)&&(O=gr.fromIso8601(y.date))),this.expireDuration=v,this.expireDate=O,this.lastStyleTime=0,this._optimChildrenWithinParent=Tge.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=j_.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new gr,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}tve._deprecationWarning=WL,Object.defineProperties(tve.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return Object(o["a"])(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},extras:{get:function(){return this._header.extras}},color:{get:function(){return Object(r["a"])(this._color)||(this._color=new j_),j_.clone(this._color)},set:function(e){this._color=j_.clone(e,this._color),this._colorDirty=!0}},contentAvailable:{get:function(){return this.contentReady&&!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent||Object(r["a"])(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===vge.READY}},contentUnloaded:{get:function(){return this._contentState===vge.UNLOADED}},contentExpired:{get:function(){return this._contentState===vge.EXPIRED}},contentFailed:{get:function(){return this._contentState===vge.FAILED}},contentReadyToProcessPromise:{get:function(){return this._contentReadyToProcessPromise}},contentReadyPromise:{get:function(){return this._contentReadyPromise}},commandsLength:{get:function(){return this._commandsLength}}});const nve=new g;function ive(e,t){const n=e._tileset,i=t.camera,o=e.boundingSphere,a=o.radius,c=g.multiplyByScalar(i.directionWC,e._centerZDepth,nve),l=g.add(i.positionWC,c,nve),u=g.subtract(l,o.center,nve),h=g.magnitude(u),d=h>a;if(d){const t=g.normalize(u,nve),n=g.multiplyByScalar(t,a,nve),r=g.add(o.center,n,nve),s=g.subtract(r,i.positionWC,nve),c=g.normalize(s,nve);e._foveatedFactor=1-Math.abs(g.dot(i.directionWC,c))}else e._foveatedFactor=0;const f=e.refine===qte.REPLACE,p=n._skipLevelOfDetail;if(f&&!p||!n.foveatedScreenSpaceError||1===n.foveatedConeSize||e._priorityProgressiveResolution&&f&&p||n._pass===wbe.PRELOAD_FLIGHT||n._pass===wbe.PRELOAD)return!1;const m=1-Math.cos(.5*i.frustum.fov),_=n.foveatedConeSize*m;if(e._foveatedFactor<=_)return!1;const b=m-_,y=s["a"].clamp((e._foveatedFactor-_)/b,0,1),v=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.maximumScreenSpaceError,y),O=0===e._screenSpaceError&&Object(r["a"])(e.parent)?.5*e.parent._screenSpaceError:e._screenSpaceError;return n.maximumScreenSpaceError-v<=O}const ove=new gr;function rve(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=t._screenSpaceErrorProgressiveResolution>e._maximumScreenSpaceError;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;const i=t.parent,o=e._maximumScreenSpaceError,a=t._screenSpaceErrorProgressiveResolution<=o,s=Object(r["a"])(i)&&i._screenSpaceErrorProgressiveResolution>o;return a&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,n=!0),n}function ave(e,t){const n=t.parent,i=Object(r["a"])(n)&&(!e._skipLevelOfDetail||0===t._screenSpaceError||n.hasTilesetContent||n.hasImplicitContent),o=i?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}function sve(e){if(Object(r["a"])(e.expireDuration)){const t=gr.now(ove);gr.addSeconds(t,e.expireDuration,t),Object(r["a"])(e.expireDate)?gr.lessThan(e.expireDate,t)&&gr.clone(t,e.expireDate):e.expireDate=gr.clone(t)}}function cve(e){return function(){return e._priority}}function lve(e){let t=e._content;const n=e._tileset;if(!Object(r["a"])(t)){const i=i7(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new Mbe(n,e,e._contentResource.clone(),i),e._content=t}const i=t.requestInnerContents();if(i>0)return i;e._contentState=vge.LOADING;const o=t.contentsFetchedPromise.then((function(){if(e._contentState===vge.LOADING){if(!e.isDestroyed())return e._contentState=vge.PROCESSING,t;uve(e,n,"Tile was unloaded while content was loading")}}));return e._contentReadyToProcessPromise=o,e._contentReadyPromise=o.then((function(e){if(Object(r["a"])(e))return t.readyPromise})).then((function(t){if(Object(r["a"])(t)){if(!e.isDestroyed())return e._selectedFrame=0,e.lastStyleTime=0,gr.now(e._loadTimestamp),e._contentState=vge.READY,t;uve(e,n,"Tile was unloaded while content was processing")}})).catch((function(t){uve(e,n,t)})),0}function uve(e,t,n){e._contentState===vge.PROCESSING&&--t.statistics.numberOfTilesProcessing,e._contentState=vge.FAILED}function hve(e){const t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});const i=new Iu["a"]({throttle:!0,throttleByServer:!0,type:ju["a"].TILES3D,priorityFunction:cve(e),serverKey:e._serverKey});e._request=i,t.request=i;const o=t.fetchArrayBuffer();if(!Object(r["a"])(o))return 1;const a=e._contentState,s=e._tileset;e._contentState=vge.LOADING,++s.statistics.numberOfPendingRequests;const c=o.then((function(t){if(e.isDestroyed())return void dve(e,s);const i=fve(e,t);return n&&(e.expireDate=void 0),e._content=i,e._contentState=vge.PROCESSING,i}));return e._contentReadyToProcessPromise=c,e._contentReadyPromise=c.then((function(e){if(Object(r["a"])(e))return--s.statistics.numberOfPendingRequests,e.readyPromise})).then((function(t){if(Object(r["a"])(t)){if(!e.isDestroyed())return sve(e),e._selectedFrame=0,e.lastStyleTime=0,gr.now(e._loadTimestamp),e._contentState=vge.READY,t;dve(e,s)}})).catch((function(t){return i.state===Du["a"].CANCELLED?(e._contentState=a,--s.statistics.numberOfPendingRequests,++s.statistics.numberOfAttemptedRequests,Promise.reject("Cancelled")):(dve(e,s),Promise.reject(t))})),0}function dve(e,t){e._contentState===vge.PROCESSING?--t.statistics.numberOfTilesProcessing:--t.statistics.numberOfPendingRequests,e._contentState=vge.FAILED}function fve(e,t){const n=Pbe(t),i=e._tileset;let o;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===wge.GEOMETRY||n.contentType===wge.VECTOR,n.contentType!==wge.IMPLICIT_SUBTREE&&n.contentType!==wge.IMPLICIT_SUBTREE_JSON||(e.hasImplicitContent=!0),n.contentType===wge.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);const a=bge[n.contentType];o=Object(r["a"])(n.binaryPayload)?a(i,e,e._contentResource,n.binaryPayload.buffer,0):a(i,e,e._contentResource,n.jsonPayload);const s=e._contentHeader;if(e.hasImplicitContentMetadata){const t=e.implicitSubtree,n=e.implicitCoordinates;o.metadata=t.getContentMetadataView(n,0)}else e.hasImplicitContent||(o.metadata=xbe(i,s));const c=Sbe(i,s);return Object(r["a"])(c)&&(o.group=new OJ({metadata:c})),o}tve.prototype.getScreenSpaceError=function(e,t,n){const i=this._tileset,a=Object(o["a"])(n,1),c=Object(r["a"])(this.parent)?this.parent.geometricError:i._geometricError,l=t?c:this.geometricError;if(0===l)return 0;const u=e.camera;let h=u.frustum;const d=e.context,f=d.drawingBufferWidth,p=d.drawingBufferHeight*a;let m;if(e.mode===vq.SCENE2D||h instanceof uA){Object(r["a"])(h._offCenterFrustum)&&(h=h._offCenterFrustum);const e=Math.max(h.top-h.bottom,h.right-h.left)/Math.max(f,p);m=l/e}else{const e=Math.max(this._distanceToCamera,s["a"].EPSILON7),t=u.frustum.sseDenominator;if(m=l*p/(e*t),i.dynamicScreenSpaceError){const t=i._dynamicScreenSpaceErrorComputedDensity,n=i.dynamicScreenSpaceErrorFactor,o=s["a"].fog(e,t)*n;m-=o}}return m/=e.pixelRatio,m},tve.prototype.updateVisibility=function(e){const t=this.parent,n=this._tileset,i=Object(r["a"])(t)?t.computedTransform:n.modelMatrix,o=Object(r["a"])(t)?t._visibilityPlaneMask:kO.MASK_INDETERMINATE;this.updateTransform(i),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==kO.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=ave(n,this),this._priorityProgressiveResolution=rve(n,this),this.priorityDeferred=ive(this,e)},tve.prototype.updateExpiration=function(){if(Object(r["a"])(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){const e=gr.now(ove);gr.lessThan(this.expireDate,e)&&(this._contentState=vge.EXPIRED,this._expiredContent=this._content)}},tve.prototype.requestContent=function(){return this.hasEmptyContent?0:this.hasMultipleContents?lve(this):hve(this)},tve.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()},tve.prototype.unloadContent=function(){this.hasEmptyContent||this.hasTilesetContent||this.hasImplicitContent||(this._content=this._content&&this._content.destroy(),this._contentState=vge.UNLOADED,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this.lastStyleTime=0,this.clippingPlanesDirty=0===this._clippingPlanesState,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};const pve=new Tt;function mve(e,t){if(t.mode!==vq.SCENE3D&&!Object(r["a"])(e._boundingVolume2D)){const n=e._boundingVolume.boundingSphere,i=Tt.projectTo2D(n,t.mapProjection,pve);e._boundingVolume2D=new qye(i.center,i.radius)}return t.mode!==vq.SCENE3D?e._boundingVolume2D:e._boundingVolume}function _ve(e,t){if(t.mode!==vq.SCENE3D&&!Object(r["a"])(e._contentBoundingVolume2D)){const n=e._contentBoundingVolume.boundingSphere,i=Tt.projectTo2D(n,t.mapProjection,pve);e._contentBoundingVolume2D=new qye(i.center,i.radius)}return t.mode!==vq.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}tve.prototype.visibility=function(e,t){const n=e.cullingVolume,i=mve(this,e),o=this._tileset,a=o.clippingPlanes;if(Object(r["a"])(a)&&a.enabled){const e=a.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=e!==G.INSIDE,e===G.OUTSIDE)return kO.MASK_OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)},tve.prototype.contentVisibility=function(e){if(!Object(r["a"])(this._contentBoundingVolume))return G.INSIDE;if(this._visibilityPlaneMask===kO.MASK_INSIDE)return G.INSIDE;const t=e.cullingVolume,n=_ve(this,e),i=this._tileset,o=i.clippingPlanes;if(Object(r["a"])(o)&&o.enabled){const e=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=e!==G.INSIDE,e===G.OUTSIDE)return G.OUTSIDE}return t.computeVisibility(n)},tve.prototype.distanceToTile=function(e){const t=mve(this,e);return t.distanceToCamera(e)};const gve=new g;tve.prototype.distanceToTileCenter=function(e){const t=mve(this,e),n=t.boundingVolume,i=g.subtract(n.center,e.camera.positionWC,gve);return g.dot(e.camera.directionWC,i)},tve.prototype.insideViewerRequestVolume=function(e){const t=this._viewerRequestVolume;return!Object(r["a"])(t)||0===t.distanceToCamera(e)};const bve=new ce,yve=new g,vve=new ce,Ove=new g,wve=new Fe,Ave=new Xc,Tve=new Ne;function Cve(e,t,n){let i=g.fromElements(e[0],e[1],e[2],Ove),o=ce.fromArray(e,3,vve);i=Ne.multiplyByPoint(t,i,i);const a=Ne.getMatrix3(t,bve);return o=ce.multiply(a,o,o),Object(r["a"])(n)?(n.update(i,o),n):new eve(i,o)}function Eve(e,t,n,i){const o=Fe.unpack(e,0,wve),a=e[4],s=e[5],c=Xc.fromRectangle(o,a,s,z.WGS84,Ave);let l=c.center,u=c.halfAxes;t=Ne.multiplyTransformation(t,Ne.inverseTransformation(n,Tve),Tve),l=Ne.multiplyByPoint(t,l,l);const h=Ne.getMatrix3(t,bve);return u=ce.multiply(h,u,u),Object(r["a"])(i)&&i instanceof eve?(i.update(l,u),i):new eve(l,u)}function xve(e,t,n,i){if(!Ne.equalsEpsilon(t,n,s["a"].EPSILON8))return Eve(e,t,n,i);if(Object(r["a"])(i))return i;const o=Fe.unpack(e,0,wve);return new aye({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function Sve(e,t,n){let i=g.fromElements(e[0],e[1],e[2],Ove),o=e[3];i=Ne.multiplyByPoint(t,i,i);const a=Ne.getScale(t,yve),s=g.maximumComponent(a);return o*=s,Object(r["a"])(n)?(n.update(i,o),n):new qye(i,o)}function Ive(e,t,n,i){if(!i.isRender)return;const o=Object(r["a"])(e._contentHeader)&&Object(r["a"])(e._contentHeader.boundingVolume),a=e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent,s=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(s){let t;t=e._finalResolution?a?j_.DARKGRAY:j_.WHITE:j_.YELLOW,Object(r["a"])(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(t)),e._debugBoundingVolume.update(n);const i=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");i.color=R_.toValue(t,i.color)}else!s&&Object(r["a"])(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(Object(r["a"])(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(j_.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&Object(r["a"])(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&Object(r["a"])(e._viewerRequestVolume)?(Object(r["a"])(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(j_.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&Object(r["a"])(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());const c=t.debugColorizeTiles&&!e._debugColorizeTiles||Object(r["a"])(t._heatmap.tilePropertyName),l=!t.debugColorizeTiles&&e._debugColorizeTiles;c?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):l&&(e._debugColorizeTiles=!1,e.color=j_.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),l&&t.makeStyleDirty()}function Dve(e,t,n){const i=e._content,o=e._expiredContent;if(!e.hasMultipleContents&&Object(r["a"])(o)){if(!e.contentReady)return void o.update(t,n);e._expiredContent.destroy(),e._expiredContent=void 0}i.update(t,n)}function jve(e,t){const n=t.clippingPlanes;let i=0;Object(r["a"])(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}tve.prototype.createBoundingVolume=function(e,t,n){if(!Object(r["a"])(e))throw new ye["a"]("boundingVolume must be defined");if(i7(e,"3DTILES_bounding_volume_S2"))return new Hye(e.extensions["3DTILES_bounding_volume_S2"]);if(Object(r["a"])(e.box))return Cve(e.box,t,n);if(Object(r["a"])(e.region))return xve(e.region,t,this._initialTransform,n);if(Object(r["a"])(e.sphere))return Sve(e.sphere,t,n);throw new ye["a"]("boundingVolume must contain a sphere, region, or box")},tve.prototype.updateTransform=function(e){e=Object(o["a"])(e,Ne.IDENTITY);const t=Ne.multiply(e,this.transform,Tve),n=!Ne.equals(t,this.computedTransform);if(!n)return;Ne.clone(t,this.computedTransform);const i=this._header,a=this._contentHeader;this._boundingVolume=this.createBoundingVolume(i.boundingVolume,this.computedTransform,this._boundingVolume),Object(r["a"])(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(a.boundingVolume,this.computedTransform,this._contentBoundingVolume)),Object(r["a"])(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(i.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()},tve.prototype.updateGeometricErrorScale=function(){const e=Ne.getScale(this.computedTransform,yve),t=g.maximumComponent(e);this.geometricError=this._geometricError*t},tve.prototype.update=function(e,t,n){const i=t.commandList.length;jve(this,e),Ive(this,e,t,n),Dve(this,e,t);const o=t.commandList.length,r=o-i;this._commandsLength=r;for(let a=0;a<r;++a){const e=t.commandList[i+a],n=e.pass===oz.TRANSLUCENT;e.depthForTranslucentClassification=n}this.clippingPlanesDirty=!1};const Pve=[];function Rve(e,t,n){const i=e*Math.pow(10,t),o=parseInt(i);return o*Math.pow(10,n)}function Mve(e,t,n){return Math.max(s["a"].normalize(e,t,n)-s["a"].EPSILON7,0)}tve.prototype.process=function(e,t){const n=t.commandList;t.commandList=Pve,this._content.update(e,t),Pve.length=0,t.commandList=n},tve.prototype.updatePriority=function(){const e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,a=0,s=o,c=a+s,l=o,u=c+l,h=r,d=Math.pow(10,u),f=u+h,p=r,m=Math.pow(10,f),_=f+p,g=Math.pow(10,_);let b=Mve(this._depth,n.depth,i.depth);b=t?1-b:b;const y=!e._skipLevelOfDetail&&this.refine===qte.REPLACE,v=y?Mve(this._priorityHolder._distanceToCamera,n.distance,i.distance):Mve(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),O=Rve(v,s,a),w=this._priorityProgressiveResolution?0:d,A=Mve(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),T=Rve(A,l,c),C=this.priorityDeferred?m:0,E=e._pass===wbe.PRELOAD_FLIGHT?0:g;this._priority=b+O+w+T+C+E},tve.prototype.isDestroyed=function(){return!1},tve.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),Wl(this)};var Nve=tve;function Lve(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.id,n=e.group,a=e.class;i["a"].typeOf.object("options.group",n),i["a"].typeOf.object("options.class",a);const s=Object(r["a"])(n.properties)?n.properties:{};this._class=a,this._properties=s,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(Lve.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Lve.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},Lve.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},Lve.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},Lve.prototype.getProperty=function(e){return u7.getProperty(e,this._properties,this._class)},Lve.prototype.setProperty=function(e,t){return u7.setProperty(e,t,this._properties,this._class)},Lve.prototype.getPropertyBySemantic=function(e){return u7.getPropertyBySemantic(e,this._properties,this._class)},Lve.prototype.setPropertyBySemantic=function(e,t){return u7.setPropertyBySemantic(e,t,this._properties,this._class)};var Bve=Lve;function Fve(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.tileset,n=e.class;i["a"].typeOf.object("options.tileset",t),i["a"].typeOf.object("options.class",n);const a=Object(r["a"])(t.properties)?t.properties:{};this._class=n,this._properties=a,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Fve.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}}),Fve.prototype.hasProperty=function(e){return u7.hasProperty(e,this._properties,this._class)},Fve.prototype.hasPropertyBySemantic=function(e){return u7.hasPropertyBySemantic(e,this._properties,this._class)},Fve.prototype.getPropertyIds=function(e){return u7.getPropertyIds(this._properties,this._class,e)},Fve.prototype.getProperty=function(e){return u7.getProperty(e,this._properties,this._class)},Fve.prototype.setProperty=function(e,t){return u7.setProperty(e,t,this._properties,this._class)},Fve.prototype.getPropertyBySemantic=function(e){return u7.getPropertyBySemantic(e,this._properties,this._class)},Fve.prototype.setPropertyBySemantic=function(e,t){return u7.setPropertyBySemantic(e,t,this._properties,this._class)};var kve=Fve;function zve(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.metadataJson,n=e.schema;i["a"].typeOf.object("options.metadataJson",t),i["a"].typeOf.object("options.schema",n);const a=Object(o["a"])(t.metadata,t.tileset);let s;Object(r["a"])(a)&&(s=new kve({tileset:a,class:n.classes[a.class]}));let c=[];const l=[],u=t.groups;if(Array.isArray(u)){const e=u.length;for(let t=0;t<e;t++){const e=u[t];l.push(new Bve({group:e,class:n.classes[e.class]}))}}else if(Object(r["a"])(u)){c=Object.keys(u).sort();const e=c.length;for(let t=0;t<e;t++){const e=c[t];if(u.hasOwnProperty(e)){const t=u[e];l.push(new Bve({id:e,group:u[e],class:n.classes[t.class]}))}}}this._schema=n,this._groups=l,this._groupIds=c,this._tileset=s,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(zve.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var Uve=zve;const Vve={},Hve=new g;Vve.checkChildrenWithinParent=function(e){i["a"].typeOf.object("tile",e);const t=e.children,n=t.length,o=e.boundingVolume;if(o instanceof eve||o instanceof aye){const i=o._orientedBoundingBox;e._optimChildrenWithinParent=Tge.USE_OPTIMIZATION;for(let o=0;o<n;++o){const n=t[o],r=n.boundingVolume;if(!(r instanceof eve||r instanceof aye)){e._optimChildrenWithinParent=Tge.SKIP_OPTIMIZATION;break}const a=r._orientedBoundingBox,s=g.subtract(a.center,i.center,Hve),c=g.magnitude(s);g.divideByScalar(s,c,s);const l=Math.abs(i.halfAxes[0]*s.x)+Math.abs(i.halfAxes[1]*s.y)+Math.abs(i.halfAxes[2]*s.z)+Math.abs(i.halfAxes[3]*s.x)+Math.abs(i.halfAxes[4]*s.y)+Math.abs(i.halfAxes[5]*s.z)+Math.abs(i.halfAxes[6]*s.x)+Math.abs(i.halfAxes[7]*s.y)+Math.abs(i.halfAxes[8]*s.z),u=Math.abs(a.halfAxes[0]*s.x)+Math.abs(a.halfAxes[1]*s.y)+Math.abs(a.halfAxes[2]*s.z)+Math.abs(a.halfAxes[3]*s.x)+Math.abs(a.halfAxes[4]*s.y)+Math.abs(a.halfAxes[5]*s.z)+Math.abs(a.halfAxes[6]*s.x)+Math.abs(a.halfAxes[7]*s.y)+Math.abs(a.halfAxes[8]*s.z);if(l<=u+c){e._optimChildrenWithinParent=Tge.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Tge.USE_OPTIMIZATION};var Gve=Vve;function qve(){this._list=new vw,this._sentinel=this._list.add(),this._trimTiles=!1}qve.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)},qve.prototype.touch=function(e){const t=e.cacheNode;Object(r["a"])(t)&&this._list.splice(this._sentinel,t)},qve.prototype.add=function(e){Object(r["a"])(e.cacheNode)||(e.cacheNode=this._list.add(e))},qve.prototype.unloadTile=function(e,t,n){const i=t.cacheNode;Object(r["a"])(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))},qve.prototype.unloadTiles=function(e,t){const n=this._trimTiles;this._trimTiles=!1;const i=this._list,o=1024*e.maximumMemoryUsage*1024,r=this._sentinel;let a=i.head;while(a!==r&&(e.totalMemoryUsageInBytes>o||n)){const n=a.item;a=a.next,this.unloadTile(e,n,t)}},qve.prototype.trim=function(){this._trimTiles=!0};var Wve=qve;function Yve(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function Xve(e,t){let n;return n="_loadTimestamp"===t?gr.toDate(e).getTime():e,n}function Kve(e,t){const n=e.tilePropertyName;if(Object(r["a"])(n)){const i=Xve(t[n],n);return Object(r["a"])(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}Yve.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=Xve(e,n),this._referenceMaximum[n]=Xve(t,n)};const Jve=[new j_(.1,.1,.1,1),new j_(.153,.278,.878,1),new j_(.827,.231,.49,1),new j_(.827,.188,.22,1),new j_(1,.592,.259,1),new j_(1,.843,0,1)];Yve.prototype.colorize=function(e,t){const n=this.tilePropertyName;if(!Object(r["a"])(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;const i=Kve(this,e),o=this._previousMinimum,a=this._previousMaximum;if(o===Number.MAX_VALUE||a===-Number.MAX_VALUE)return;const c=a-o+s["a"].EPSILON7,l=s["a"].clamp(i-o,0,c),u=l/c,h=Jve.length-1,d=u*h,f=Math.floor(d),p=Math.ceil(d),m=d-f,_=Jve[f],g=Jve[p],b=j_.clone(j_.WHITE);b.red=s["a"].lerp(_.red,g.red,m),b.green=s["a"].lerp(_.green,g.green,m),b.blue=s["a"].lerp(_.blue,g.blue,m),e._debugColor=b},Yve.prototype.resetMinimumMaximum=function(){const e=this.tilePropertyName;if(Object(r["a"])(e)){const t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=Object(r["a"])(t)&&Object(r["a"])(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var Zve=Yve;function $ve(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}function Qve(e,t,n,i){const o=t.innerContents,a=t.pointsLength,s=t.trianglesLength,c=t.featuresLength,l=t.geometryByteLength,u=t.texturesByteLength,h=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-c:c,e.numberOfPointsLoaded+=n?-a:a,e.geometryByteLength+=n?-l:l,e.texturesByteLength+=n?-u:u,e.batchTableByteLength+=n?-h:h):(e.numberOfFeaturesSelected+=n?-c:c,e.numberOfPointsSelected+=n?-a:a,e.numberOfTrianglesSelected+=n?-s:s),Object(r["a"])(o)){const t=o.length;for(let r=0;r<t;++r)Qve(e,o[r],n,i)}}$ve.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0},$ve.prototype.incrementSelectionCounts=function(e){Qve(this,e,!1,!1)},$ve.prototype.incrementLoadCounts=function(e){Qve(this,e,!1,!0)},$ve.prototype.decrementLoadCounts=function(e){Qve(this,e,!0,!0)},$ve.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength};var eOe=$ve;function tOe(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(tOe.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}}),tOe.prototype.makeDirty=function(){this._styleDirty=!0},tOe.prototype.resetDirty=function(){this._styleDirty=!1},tOe.prototype.applyStyle=function(e){if(!e.ready)return;if(Object(r["a"])(this._style)&&!this._style._ready)return;const t=this._styleDirty;t&&++this._lastStyleTime;const n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,a=o.length;for(let r=0;r<a;++r){const e=o[r];if(e.lastStyleTime!==n){const t=e.content;e.lastStyleTime=n,t.applyStyle(this._style),i.numberOfFeaturesStyled+=t.featuresLength,++i.numberOfTilesStyled}}};var nOe=tOe;function iOe(e,t,n){const o=i7(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;i["a"].typeOf.object("implicitTiling",o),this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;const a=t.boundingVolume;if(!Object(r["a"])(a.box)&&!Object(r["a"])(a.region)&&!i7(a,"3DTILES_bounding_volume_S2"))throw new ye["a"]("Only box, region and 3DTILES_bounding_volume_S2 are supported for implicit tiling");this.boundingVolume=a,this.refine=t.refine,this.subtreeUriTemplate=new Et["a"]({url:o.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];const s=oOe(t);for(let i=0;i<s.length;i++){const e=s[i];this.contentHeaders.push(Object(jL["a"])(e,!0));const t=new Et["a"]({url:e.uri});this.contentUriTemplates.push(t)}this.contentCount=this.contentHeaders.length,this.tileHeader=rOe(t),this.subdivisionScheme=c7[o.subdivisionScheme],this.branchingFactor=c7.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=o.subtreeLevels,Object(r["a"])(o.availableLevels)?this.availableLevels=o.availableLevels:this.availableLevels=o.maximumLevel+1}function oOe(e){if(i7(e,"3DTILES_multiple_contents")){const t=e.extensions["3DTILES_multiple_contents"];return Object(r["a"])(t.contents)?t.contents:t.content}return Object(r["a"])(e.contents)?e.contents:Object(r["a"])(e.content)?[e.content]:[]}function rOe(e){const t=Object(jL["a"])(e,!0);return Object(r["a"])(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],0===Object.keys(t.extensions).length&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}function aOe(e){if(i["a"].typeOf.string("options.subdivisionScheme",e.subdivisionScheme),i["a"].typeOf.number("options.subtreeLevels",e.subtreeLevels),i["a"].typeOf.number("options.level",e.level),i["a"].typeOf.number("options.x",e.x),i["a"].typeOf.number("options.y",e.y),e.subdivisionScheme===c7.OCTREE&&i["a"].typeOf.number("options.z",e.z),e.level<0)throw new a["a"]("level must be non-negative");if(e.x<0)throw new a["a"]("x must be non-negative");if(e.y<0)throw new a["a"]("y must be non-negative");if(e.subdivisionScheme===c7.OCTREE&&e.z<0)throw new a["a"]("z must be non-negative");const t=1<<e.level;if(e.x>=t)throw new a["a"]("x is out of range");if(e.y>=t)throw new a["a"]("y is out of range");if(e.subdivisionScheme===c7.OCTREE&&e.z>=t)throw new a["a"]("z is out of range");this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===c7.OCTREE&&(this.z=e.z)}function sOe(e,t){if(e.subdivisionScheme!==t.subdivisionScheme)throw new a["a"]("coordinates must have same subdivisionScheme");if(e.subtreeLevels!==t.subtreeLevels)throw new a["a"]("coordinates must have same subtreeLevels")}Object.defineProperties(aOe.prototype,{childIndex:{get:function(){let e=0;return e|=1&this.x,e|=(1&this.y)<<1,this.subdivisionScheme===c7.OCTREE&&(e|=(1&this.z)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===c7.OCTREE?aS.encode3D(this.x,this.y,this.z):aS.encode2D(this.x,this.y)}},tileIndex:{get:function(){const e=this.subdivisionScheme===c7.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}}),aOe.prototype.getDescendantCoordinates=function(e){i["a"].typeOf.object("offsetCoordinates",e),sOe(this,e);const t=this.level+e.level,n=(this.x<<e.level)+e.x,o=(this.y<<e.level)+e.y;if(this.subdivisionScheme===c7.OCTREE){const i=(this.z<<e.level)+e.z;return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:o,z:i})}return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:o})},aOe.prototype.getAncestorCoordinates=function(e){if(i["a"].typeOf.number("offsetLevels",e),e<0)throw new a["a"]("offsetLevels must be non-negative");if(e>this.level)throw new a["a"]("ancestor cannot be above the tileset root");const t=1<<e,n=this.level-e,o=Math.floor(this.x/t),r=Math.floor(this.y/t);if(this.subdivisionScheme===c7.OCTREE){const e=Math.floor(this.z/t);return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:o,y:r,z:e})}return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:o,y:r})},aOe.prototype.getOffsetCoordinates=function(e){if(i["a"].typeOf.object("descendantCoordinates",e),!this.isEqual(e)&&!this.isAncestor(e))throw new a["a"]("this is not an ancestor of descendant");sOe(this,e);const t=e.level-this.level,n=1<<t,o=e.x%n,r=e.y%n;if(this.subdivisionScheme===c7.OCTREE){const i=e.z%n;return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:o,y:r,z:i})}return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:o,y:r})},aOe.prototype.getChildCoordinates=function(e){i["a"].typeOf.number("childIndex",e);const t=c7.getBranchingFactor(this.subdivisionScheme);if(e<0||t<=e)throw new a["a"]("childIndex must be at least 0 and less than "+t);const n=this.level+1,o=2*this.x+e%2,r=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===c7.OCTREE){const t=2*this.z+Math.floor(e/4)%2;return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:o,y:r,z:t})}return new aOe({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:o,y:r})},aOe.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)},aOe.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)},aOe.prototype.isAncestor=function(e){i["a"].typeOf.object("descendantCoordinates",e),sOe(this,e);const t=e.level-this.level;if(t<=0)return!1;const n=e.x>>t,o=e.y>>t,r=this.x===n,a=this.y===o;if(this.subdivisionScheme===c7.OCTREE){const n=e.z>>t,i=this.z===n;return r&&a&&i}return r&&a},aOe.prototype.isEqual=function(e){return i["a"].typeOf.object("otherCoordinates",e),this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme!==c7.OCTREE||this.z===e.z)},aOe.prototype.isImplicitTilesetRoot=function(){return 0===this.level},aOe.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0},aOe.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1},aOe.prototype.getTemplateValues=function(){const e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===c7.OCTREE&&(e.z=this.z),e};const cOe=[0,0,0];function lOe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.url",e.url),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._gltfUpAxis=void 0,this._cache=new Wve,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=Object(o["a"])(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=Object(o["a"])(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new Jx,this._maximumScreenSpaceError=Object(o["a"])(e.maximumScreenSpaceError,16),this._maximumMemoryUsage=Object(o["a"])(e.maximumMemoryUsage,512),this._styleEngine=new nOe,this._modelMatrix=Object(r["a"])(e.modelMatrix)?Ne.clone(e.modelMatrix):Ne.clone(Ne.IDENTITY),this._statistics=new eOe,this._statisticsLast=new eOe,this._statisticsPerPass=new Array(wbe.NUMBER_OF_PASSES);for(let i=0;i<wbe.NUMBER_OF_PASSES;++i)this._statisticsPerPass[i]=new eOe;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new Zve(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=Object(o["a"])(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=Object(o["a"])(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=s["a"].clamp(Object(o["a"])(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=Object(o["a"])(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84),this._initialClippingPlanesOriginMatrix=Ne.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=Object(o["a"])(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=Object(o["a"])(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=Object(o["a"])(e.preloadWhenHidden,!1),this.preloadFlightDestinations=Object(o["a"])(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=Object(o["a"])(e.dynamicScreenSpaceError,!1),this.foveatedScreenSpaceError=Object(o["a"])(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=Object(o["a"])(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=Object(o["a"])(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=Object(o["a"])(e.foveatedInterpolationCallback,s["a"].lerp),this.foveatedTimeDelay=Object(o["a"])(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorFactor=4,this.dynamicScreenSpaceErrorHeightFalloff=.25,this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=Object(o["a"])(e.shadows,wq.ENABLED),this.show=Object(o["a"])(e.show,!0),this.colorBlendMode=QJ.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new oie(e.pointCloudShading),this._pointCloudEyeDomeLighting=new nie,this.loadProgress=new pi["a"],this.allTilesLoaded=new pi["a"],this.initialTilesLoaded=new pi["a"],this.tileLoad=new pi["a"],this.tileUnload=new pi["a"],this.tileFailed=new pi["a"],this.tileVisible=new pi["a"],this.skipLevelOfDetail=Object(o["a"])(e.skipLevelOfDetail,!1),this._skipLevelOfDetail=this.skipLevelOfDetail,this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=Object(o["a"])(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=Object(o["a"])(e.skipScreenSpaceErrorFactor,16),this.skipLevels=Object(o["a"])(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=Object(o["a"])(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=Object(o["a"])(e.loadSiblings,!1),this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,Object(r["a"])(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new mJ,this._shouldDestroyImageBasedLighting=!0),this.lightColor=e.lightColor,this.backFaceCulling=Object(o["a"])(e.backFaceCulling,!0),this.showOutline=Object(o["a"])(e.showOutline,!0),this.splitDirection=Object(o["a"])(e.splitDirection,z3.NONE),this.debugFreezeFrame=Object(o["a"])(e.debugFreezeFrame,!1),this.debugColorizeTiles=Object(o["a"])(e.debugColorizeTiles,!1),this._enableDebugWireframe=Object(o["a"])(e.enableDebugWireframe,!1),this.debugWireframe=Object(o["a"])(e.debugWireframe,!1),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=Object(o["a"])(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=Object(o["a"])(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=Object(o["a"])(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=Object(o["a"])(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=Object(o["a"])(e.debugShowMemoryUsage,!1),this.debugShowUrl=Object(o["a"])(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader,this.enableModelExperimental=Object(o["a"])(e.enableModelExperimental,$w.enableModelExperimental);let t=Object(o["a"])(e.featureIdLabel,"featureId_0");"number"===typeof t&&(t="featureId_"+t),this._featureIdLabel=t;let n=Object(o["a"])(e.instanceFeatureIdLabel,"instanceFeatureId_0");"number"===typeof n&&(n="instanceFeatureId_"+n),this._instanceFeatureIdLabel=n,this._schemaLoader=void 0;const a=this;let c;this._readyPromise=Promise.resolve(e.url).then((function(e){let t;return c=Et["a"].createIfNeeded(e),a._resource=c,a._credits=c.credits,"json"===c.extension?t=c.getBaseUri(!0):c.isDataUri&&(t=""),a._url=c.url,a._basePath=t,lOe.loadJson(c)})).then((function(e){if(!a.isDestroyed())return hOe(a,e)})).then((function(e){if(a.isDestroyed())return;a._root=a.loadTileset(c,e);const t=Object(r["a"])(e.asset.gltfUpAxis)?vJ.fromName(e.asset.gltfUpAxis):vJ.Y,n=e.asset;a._asset=n,a._properties=e.properties,a._geometricError=e.geometricError,a._extensionsUsed=e.extensionsUsed,a._extensions=e.extensions,a._gltfUpAxis=t,a._extras=e.extras;const i=n.extras;if(Object(r["a"])(i)&&Object(r["a"])(i.cesium)&&Object(r["a"])(i.cesium.credits)){const e=i.cesium.credits;let t=a._credits;Object(r["a"])(t)||(t=[],a._credits=t);for(let n=0;n<e.length;++n){const i=e[n];t.push(new fi(i.html,a._showCreditsOnScreen))}}const o=a._root.createBoundingVolume(e.root.boundingVolume,Ne.IDENTITY),s=o.boundingSphere.center,l=a._ellipsoid.cartesianToCartographic(s);return Object(r["a"])(l)&&l.height>on._defaultMinTerrainHeight&&(a._initialClippingPlanesOriginMatrix=Hs.eastNorthUpToFixedFrame(s)),a._clippingPlanesOriginMatrix=Ne.clone(a._initialClippingPlanesOriginMatrix),a}))}function uOe(e,t,n,i){const o=Object(r["a"])(n.implicitTiling)||i7(n,"3DTILES_implicit_tiling");if(o){const o=e.schema,r=new iOe(t,n,o),a=new aOe({subdivisionScheme:r.subdivisionScheme,subtreeLevels:r.subtreeLevels,level:0,x:0,y:0,z:0}),s=r.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,c=!0,l=Object(jL["a"])(n,c);l.contents=[{uri:s}],delete l.content,delete l.extensions;const u=new Nve(e,t,l,i);return u.implicitTileset=r,u.implicitCoordinates=a,u}return new Nve(e,t,n,i)}function hOe(e,t){const n=i7(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t;let i;if(Object(r["a"])(n.schemaUri)){const t=e._resource.getDerivedResource({url:n.schemaUri});i=tee.loadSchema({resource:t})}else{if(!Object(r["a"])(n.schema))return Promise.resolve(t);i=tee.loadSchema({schema:n.schema})}return e._schemaLoader=i,i.promise.then((function(i){return e._metadataExtension=new Uve({schema:i.schema,metadataJson:n}),t}))}aOe.fromMortonIndex=function(e,t,n,i){let o;return e===c7.OCTREE?(o=aS.decode3D(i,cOe),new aOe({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=aS.decode2D(i,cOe),new aOe({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))},aOe.fromTileIndex=function(e,t,n){let i,o,r;return e===c7.OCTREE?(i=Math.floor(s["a"].log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(s["a"].log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),aOe.fromMortonIndex(e,t,i,r)},Object.defineProperties(lOe.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._asset}},extensions:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){M2.setOwner(e,this,"_clippingPlanes")}},properties:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._properties}},ready:{get:function(){return Object(r["a"])(this._root)}},readyPromise:{get:function(){return this._readyPromise}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return WL("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(Object(r["a"])(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(Object(r["a"])(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("maximumScreenSpaceError",e,0),this._maximumScreenSpaceError=e}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._maximumMemoryUsage=e}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){i["a"].defined("pointCloudShading",e),this._pointCloudShading=e}},root:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._root}},boundingSphere:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=Ne.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){const e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return Object(r["a"])(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(Ne.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):Ne.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("foveatedConeSize",e,0),i["a"].typeOf.number.lessThanOrEquals("foveatedConeSize",e,1),this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("foveatedMinimumScreenSpaceErrorRelaxation",e,0),i["a"].typeOf.number.lessThanOrEquals("foveatedMinimumScreenSpaceErrorRelaxation",e,this.maximumScreenSpaceError),this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){if(!this.ready)throw new a["a"]("The tileset is not loaded. Use Cesium3DTileset.readyPromise or wait for Cesium3DTileset.ready to be true.");return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){i["a"].typeOf.object("imageBasedLighting",this._imageBasedLighting),e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){"number"===typeof e&&(e="featureId_"+e),i["a"].typeOf.string("value",e),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){"number"===typeof e&&(e="instanceFeatureId_"+e),i["a"].typeOf.string("value",e),this._instanceFeatureIdLabel=e}}}),lOe.loadJson=function(e){const t=Et["a"].createIfNeeded(e);return t.fetchJson()},lOe.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()},lOe.prototype.loadTileset=function(e,t,n){const i=t.asset;if(!Object(r["a"])(i))throw new ye["a"]("Tileset must have an asset property.");if("0.0"!==i.version&&"1.0"!==i.version&&"1.1"!==i.version)throw new ye["a"]("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");Object(r["a"])(t.extensionsRequired)&&lOe.checkSupportedExtensions(t.extensionsRequired);const o=this._statistics,a=i.tilesetVersion;Object(r["a"])(a)&&(this._basePath+="?v="+a,e=e.clone(),e.setQueryParameters({v:a}));const s=uOe(this,e,t.root,n);Object(r["a"])(n)&&(n.children.push(s),s._depth=n._depth+1);const c=[];c.push(s);while(c.length>0){const t=c.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&t.refine===qte.ADD;const n=t._header.children;if(Object(r["a"])(n)){const i=n.length;for(let o=0;o<i;++o){const i=n[o],r=uOe(this,e,i,t);t.children.push(r),r._depth=t._depth+1,c.push(r)}}this._cullWithChildrenBounds&&Gve.checkChildrenWithinParent(t)}return s};const dOe=new g,fOe=new I,pOe=new Ne,mOe=new g,_Oe=new g,gOe=new g;function bOe(e,t){let n,i,o,r,a;const c=t.camera,l=e._root,u=l.contentBoundingVolume;if(u instanceof aye)n=g.normalize(c.positionWC,dOe),i=c.directionWC,o=c.positionCartographic.height,r=u.minimumHeight,a=u.maximumHeight;else{const e=Ne.inverseTransformation(l.computedTransform,pOe),s=t.mapProjection.ellipsoid,h=u.boundingVolume,d=Ne.multiplyByPoint(e,h.center,mOe);if(g.magnitude(d)>s.minimumRadius){const e=I.fromCartesian(d,s,fOe);n=g.normalize(c.positionWC,dOe),i=c.directionWC,o=c.positionCartographic.height,r=0,a=2*e.height}else{const t=Ne.multiplyByPoint(e,c.positionWC,_Oe);if(n=g.UNIT_Z,i=Ne.multiplyByPointAsVector(e,c.directionWC,gOe),i=g.normalize(i,i),o=t.z,u instanceof eve){const e=l._header.boundingVolume.box[11];r=d.z-e,a=d.z+e}else if(u instanceof qye){const e=h.radius;r=d.z-e,a=d.z+e}}}const h=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(a-r)*h,f=a,p=s["a"].clamp((o-d)/(f-d),0,1),m=Math.abs(g.dot(i,n));let _=1-m;_*=1-p;let b=e.dynamicScreenSpaceErrorDensity;b*=_,e._dynamicScreenSpaceErrorComputedDensity=b}function yOe(e,t){if(t.hasEmptyContent)return;const n=e._statistics,i=t.contentExpired,o=t.requestContent();o>0?n.numberOfAttemptedRequests+=o:(i&&(t.hasTilesetContent||t.hasImplicitContent?LOe(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t),t.contentReadyToProcessPromise.then(AOe(e,t)).catch((function(e){})),t.contentReadyPromise.then(COe(e,t)).catch(TOe(e,t)))}function vOe(e,t){return e._priority-t._priority}function OOe(e,t){const n=e._requestedTilesInFlight;let i=0;const o=n.length;for(let r=0;r<o;++r){const e=n[r],o=t.frameNumber-e._touchedFrame>=1;e._contentState===vge.LOADING?o?(e.cancelRequests(),++i):i>0&&(n[r-i]=e):++i}n.length-=i}function wOe(e,t){const n=e._requestedTiles,i=n.length;n.sort(vOe);for(let o=0;o<i;++o)yOe(e,n[o])}function AOe(e,t){return function(){e._processingQueue.push(t),++e._statistics.numberOfTilesProcessing}}function TOe(e,t){return function(n){if(t._contentState!==vge.FAILED)return;const i=t._contentResource.url,o=Object(r["a"])(n.message)?n.message:n.toString();e.tileFailed.numberOfListeners>0?e.tileFailed.raiseEvent({url:i,message:o}):(console.log("A 3D tile failed to load: "+i),console.log("Error: "+o))}}function COe(e,t){return function(n){--e._statistics.numberOfTilesProcessing,Object(r["a"])(n)&&(t.hasTilesetContent||t.hasImplicitContent||(e._statistics.incrementLoadCounts(t.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(t)),e.tileLoad.raiseEvent(t))}}function EOe(e){const t=e._processingQueue,n=t.length;let i=0;for(let o=0;o<n;++o){const e=t[o];e._contentState===vge.PROCESSING?i>0&&(t[o-i]=e):++i}t.length-=i}function xOe(e,t){EOe(e);const n=e._processingQueue,i=n.length;for(let o=0;o<i;++o)n[o].process(e,t)}lOe.prototype.postPassesUpdate=function(e){this.ready&&(OOe(this,e),kOe(this,e),this._cache.unloadTiles(this,BOe),this._styleEngine.resetDirty())},lOe.prototype.prePassesUpdate=function(e){if(!this.ready)return;xOe(this,e);const t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,Object(r["a"])(t)&&t.enabled&&t.update(e),Object(r["a"])(this._loadTimestamp)||(this._loadTimestamp=gr.clone(e.time)),this._timeSinceLoad=Math.max(1e3*gr.secondsDifference(e.time,this._loadTimestamp),0),this._skipLevelOfDetail=this.skipLevelOfDetail&&!Object(r["a"])(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive,this.dynamicScreenSpaceError&&bOe(this,e),e.newFrame&&this._cache.reset()};const SOe=new g,IOe={maximumFractionDigits:3};function DOe(e){const t=e/1048576;return t<1?t.toLocaleString(void 0,IOe):Math.round(t).toLocaleString()}function jOe(e){const t=e.boundingVolume.boundingVolume,n=t.halfAxes,i=t.radius;let o=g.clone(t.center,SOe);if(Object(r["a"])(n))o.x+=.75*(n[0]+n[3]+n[6]),o.y+=.75*(n[1]+n[4]+n[7]),o.z+=.75*(n[2]+n[5]+n[8]);else if(Object(r["a"])(i)){let e=g.normalize(t.center,SOe);e=g.multiplyByScalar(e,.75*i,SOe),o=g.add(e,t.center,SOe)}return o}function POe(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+="\nGeometric error: "+e.geometricError,o++),t.debugShowRenderingStatistics){i+="\nCommands: "+e.commandsLength,o++;const t=e.content.pointsLength;t>0&&(i+="\nPoints: "+e.content.pointsLength,o++);const n=e.content.trianglesLength;n>0&&(i+="\nTriangles: "+e.content.trianglesLength,o++),i+="\nFeatures: "+e.content.featuresLength,o++}if(t.debugShowMemoryUsage&&(i+="\nTexture Memory: "+DOe(e.content.texturesByteLength),i+="\nGeometry Memory: "+DOe(e.content.geometryByteLength),o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+="\nUrls:";const t=e.content.innerContentUrls;for(let e=0;e<t.length;e++)i+="\n- "+t[e];o+=t.length}else i+="\nUrl: "+e._contentHeader.uri,o++;const r={text:i.substring(1),position:n,font:19-o+"px sans-serif",showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function ROe(e,t){let n,i;const o=e._selectedTiles,a=o.length,s=e._emptyTiles,c=s.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(Object(r["a"])(e.debugPickedTile)){const t=Object(r["a"])(e.debugPickPosition)?e.debugPickPosition:jOe(e.debugPickedTile),n=POe(e.debugPickedTile,e,t);n.pixelOffset=new Ht(15,-15)}}else{for(n=0;n<a;++n)i=o[n],POe(i,e,jOe(i));for(n=0;n<c;++n)i=s[n],(i.hasTilesetContent||i.hasImplicitContent)&&POe(i,e,jOe(i))}e._tileDebugLabels.update(t)}function MOe(e,t,n){e._styleEngine.applyStyle(e);const i=n.isRender,o=e._statistics,a=t.commandList,s=a.length,c=e._selectedTiles,l=c.length,u=e._emptyTiles,h=u.length,d=e.tileVisible;let f,p;const m=e._skipLevelOfDetail&&e._hasMixedContent&&t.context.stencilBuffer&&l>0;e._backfaceCommands.length=0,m&&(Object(r["a"])(e._stencilClearCommand)||(e._stencilClearCommand=new bJ({stencil:0,pass:oz.CESIUM_3D_TILE,renderState:Mz.fromCache({stencilMask:eY.SKIP_LOD_MASK})})),a.push(e._stencilClearCommand));const _=a.length;for(f=0;f<l;++f)p=c[f],i&&d.raiseEvent(p),p.update(e,t,n),o.incrementSelectionCounts(p.content),++o.selected;for(f=0;f<h;++f)p=u[f],p.update(e,t,n);let g=a.length-_;if(e._backfaceCommands.trim(),m){const t=e._backfaceCommands.values,n=t.length;for(a.length+=n,f=g-1;f>=0;--f)a[_+n+f]=a[_+f];for(f=0;f<n;++f)a[_+f]=t[f]}g=a.length-s,o.numberOfCommands=g,i&&e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&g>0&&e._pointCloudEyeDomeLighting.update(t,s,e.pointCloudShading,e.boundingSphere),i&&(e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(Object(r["a"])(e._tileDebugLabels)||(e._tileDebugLabels=new Bae),ROe(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}const NOe=[];function LOe(e,t){const n=t,i=NOe;i.push(t);while(i.length>0){t=i.pop();const o=t.children,r=o.length;for(let e=0;e<r;++e)i.push(o[e]);t!==n&&(FOe(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function BOe(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function FOe(e,t){e._cache.unloadTile(e,t,BOe),t.destroy()}function kOe(e,t){const n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,a=i.numberOfPendingRequests,s=i.numberOfTilesProcessing;eOe.clone(n,i);const c=o!==a||r!==s;c&&t.afterRender.push((function(){e.loadProgress.raiseEvent(o,r)})),e._tilesLoaded=0===n.numberOfPendingRequests&&0===n.numberOfTilesProcessing&&0===n.numberOfAttemptedRequests,c&&e._tilesLoaded&&(t.afterRender.push((function(){e.allTilesLoaded.raiseEvent()})),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push((function(){e.initialTilesLoaded.raiseEvent()}))))}function zOe(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function UOe(e,t){t.frameNumber===e._updatedModelMatrixFrame&&Object(r["a"])(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!Ne.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=Ne.clone(e.modelMatrix,e._previousModelMatrix)))}function VOe(e,t,n,i){if(t.mode===vq.MORPHING)return!1;if(!e.ready)return!1;const o=e._statistics;o.clear();const a=i.isRender;++e._updatedVisibilityFrame,zOe(e),UOe(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;const s=i.traversal.selectTiles(e,t);if(i.requestTiles&&wOe(e),MOe(e,t,i),eOe.clone(o,n),a){const n=e._credits;if(Object(r["a"])(n)&&0!==o.selected){const i=n.length;for(let o=0;o<i;++o){const i=n[o];i.showOnScreen=e._showCreditsOnScreen,t.creditDisplay.addCredit(i)}}}return s}lOe.prototype.trimLoadedTiles=function(){this._cache.trim()},lOe.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)},lOe.prototype.updateForPass=function(e,t){i["a"].typeOf.object("frameState",e),i["a"].typeOf.object("tilesetPassState",t);const n=t.pass;if(n===wbe.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===wbe.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===wbe.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;const r=e.commandList,a=e.camera,s=e.cullingVolume;t.ready=!1;const c=wbe.getPassOptions(n),l=c.ignoreCommands,u=Object(o["a"])(t.commandList,r),h=u.length;e.commandList=u,e.camera=Object(o["a"])(t.camera,a),e.cullingVolume=Object(o["a"])(t.cullingVolume,s);const d=this._statisticsPerPass[n];(this.show||l)&&(this._pass=n,t.ready=VOe(this,e,d,c)),l&&(u.length=h),e.commandList=r,e.camera=a,e.cullingVolume=s},lOe.prototype.hasExtension=function(e){return!!Object(r["a"])(this._extensionsUsed)&&this._extensionsUsed.indexOf(e)>-1},lOe.prototype.isDestroyed=function(){return!1},lOe.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),Object(r["a"])(this._schemaLoader)&&tee.unload(this._schemaLoader),Object(r["a"])(this._root)){const e=NOe;e.push(this._root);while(e.length>0){const t=e.pop();t.destroy();const n=t.children,i=n.length;for(let o=0;o<i;++o)e.push(n[o])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,Wl(this)},lOe.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0},lOe.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!lOe.supportedExtensions[e[t]])throw new ye["a"]("Unsupported 3D Tiles Extension: "+e[t])};var HOe=lOe;const GOe=new Ne;function qOe(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(qOe.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new fh,this._onCollectionChanged(t,t.values,[],[])}function WOe(e,t,n,i){const o=n[t.id];Object(r["a"])(o)&&(i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}function YOe(e,t,n){e.readyPromise.catch((function(e){console.error(e),n[t.id].loadFail=!0}))}qOe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,a=t.length;o<a;o++){const a=t[o],s=a._tileset;let c,l=n[a.id];const u=a.isShowing&&a.isAvailable(e)&&QB.getValueOrDefault(s._show,e,!0);let h;if(u&&(h=a.computeModelMatrix(e,GOe),c=Et["a"].createIfNeeded(QB.getValueOrUndefined(s._uri,e))),!u){Object(r["a"])(l)&&(l.tilesetPrimitive.show=!1);continue}let d=Object(r["a"])(l)?l.tilesetPrimitive:void 0;Object(r["a"])(d)&&c.url===l.url||(Object(r["a"])(d)&&(i.removeAndDestroy(d),delete n[a.id]),d=new HOe({url:c}),d.id=a,i.add(d),l={tilesetPrimitive:d,url:c.url,loadFail:!1},n[a.id]=l,YOe(d,a,n)),d.show=!0,Object(r["a"])(h)&&(d.modelMatrix=h),d.maximumScreenSpaceError=QB.getValueOrDefault(s.maximumScreenSpaceError,e,d.maximumScreenSpaceError)}return!0},qOe.prototype.isDestroyed=function(){return!1},qOe.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(qOe.prototype._onCollectionChanged,this);const e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)WOe(this,e[i],t,n);return Wl(this)},qOe.prototype.getBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");if(!Object(r["a"])(t))throw new a["a"]("result is required.");const n=this._tilesetHash[e.id];if(!Object(r["a"])(n)||n.loadFail)return ZB.FAILED;const i=n.tilesetPrimitive;return Object(r["a"])(i)&&i.show?i.ready?(Tt.clone(i.boundingSphere,t),ZB.DONE):ZB.PENDING:ZB.FAILED},qOe.prototype._onCollectionChanged=function(e,t,n,i){let o,a;const s=this._entitiesToVisualize,c=this._tilesetHash,l=this._primitives;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._tileset)&&s.set(a.id,a);for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._tileset)?s.set(a.id,a):(WOe(this,a,c,l),s.remove(a.id));for(o=n.length-1;o>-1;o--)a=n[o],WOe(this,a,c,l),s.remove(a.id)};var XOe=qOe;const KOe=j_.WHITE,JOe=j_.BLACK,ZOe=new Ht(2,2);function $Oe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties($Oe.prototype,{isConstant:{get:function(){return QB.isConstant(this._evenColor)&&QB.isConstant(this._oddColor)&&QB.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:UB("evenColor"),oddColor:UB("oddColor"),repeat:UB("repeat")}),$Oe.prototype.getType=function(e){return"Checkerboard"},$Oe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.lightColor=QB.getValueOrClonedDefault(this._evenColor,e,KOe,t.lightColor),t.darkColor=QB.getValueOrClonedDefault(this._oddColor,e,JOe,t.darkColor),t.repeat=QB.getValueOrDefault(this._repeat,e,ZOe),t},$Oe.prototype.equals=function(e){return this===e||e instanceof $Oe&&QB.equals(this._evenColor,e._evenColor)&&QB.equals(this._oddColor,e._oddColor)&&QB.equals(this._repeat,e._repeat)};var QOe=$Oe;const ewe={id:void 0};function twe(e){if(e._firing)e._refire=!0;else if(0===e._suspendCount){const t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(0!==i.length||0!==t.length||0!==n.length){e._firing=!0;do{e._refire=!1;const o=t.values.slice(0),r=n.values.slice(0),a=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,a)}while(e._refire);e._firing=!1}}}function nwe(e){this._owner=e,this._entities=new fh,this._addedEntities=new fh,this._removedEntities=new fh,this._changedEntities=new fh,this._suspendCount=0,this._collectionChanged=new pi["a"],this._id=RL(),this._show=!0,this._firing=!1,this._refire=!1}nwe.prototype.suspendEvents=function(){this._suspendCount++},nwe.prototype.resumeEvents=function(){if(0===this._suspendCount)throw new a["a"]("resumeEvents can not be called before suspendEvents.");this._suspendCount--,twe(this)},Object.defineProperties(nwe.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");if(e===this._show)return;let t;this.suspendEvents();const n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){const e=n[t],o=i[t];e!==o.isShowing&&o.definitionChanged.raiseEvent(o,"isShowing",o.isShowing,e)}this.resumeEvents()}},owner:{get:function(){return this._owner}}}),nwe.prototype.computeAvailability=function(){let e=kx.MAXIMUM_VALUE,t=kx.MINIMUM_VALUE;const n=this._entities.values;for(let i=0,o=n.length;i<o;i++){const o=n[i],a=o.availability;if(Object(r["a"])(a)){const n=a.start,i=a.stop;gr.lessThan(n,e)&&!n.equals(kx.MINIMUM_VALUE)&&(e=n),gr.greaterThan(i,t)&&!i.equals(kx.MAXIMUM_VALUE)&&(t=i)}}return kx.MAXIMUM_VALUE.equals(e)&&(e=kx.MINIMUM_VALUE),kx.MINIMUM_VALUE.equals(t)&&(t=kx.MAXIMUM_VALUE),new Mx({start:e,stop:t})},nwe.prototype.add=function(e){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");e instanceof vK||(e=new vK(e));const t=e.id,n=this._entities;if(n.contains(t))throw new ye["a"](`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(nwe.prototype._onEntityDefinitionChanged,this),twe(this),e},nwe.prototype.remove=function(e){return!!Object(r["a"])(e)&&this.removeById(e.id)},nwe.prototype.contains=function(e){if(!Object(r["a"])(e))throw new a["a"]("entity is required");return this._entities.get(e.id)===e},nwe.prototype.removeById=function(e){if(!Object(r["a"])(e))return!1;const t=this._entities,n=t.get(e);return!!this._entities.remove(e)&&(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(nwe.prototype._onEntityDefinitionChanged,this),twe(this),!0)},nwe.prototype.removeAll=function(){const e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let a=0;a<t;a++){const e=n[a],t=e.id,s=i.get(t);Object(r["a"])(s)||(e.definitionChanged.removeEventListener(nwe.prototype._onEntityDefinitionChanged,this),o.set(t,e))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),twe(this)},nwe.prototype.getById=function(e){if(!Object(r["a"])(e))throw new a["a"]("id is required.");return this._entities.get(e)},nwe.prototype.getOrCreateEntity=function(e){if(!Object(r["a"])(e))throw new a["a"]("id is required.");let t=this._entities.get(e);return Object(r["a"])(t)||(ewe.id=e,t=new vK(ewe),this.add(t)),t},nwe.prototype._onEntityDefinitionChanged=function(e){const t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),twe(this)};var iwe=nwe;const owe={id:void 0},rwe=new Array(2);function awe(e){const t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function swe(e,t,n,i){rwe[0]=n,rwe[1]=i.id,t[JSON.stringify(rwe)]=i.definitionChanged.addEventListener(uwe.prototype._onDefinitionChanged,e)}function cwe(e,t,n,i){rwe[0]=n,rwe[1]=i.id;const o=JSON.stringify(rwe);t[o](),t[o]=void 0}function lwe(e){if(e._shouldRecomposite=!0,0!==e._suspendCount)return;const t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length;let a,s,c,l,u;const h=e._composite,d=new iwe(e),f=e._eventHash;let p;for(a=0;a<o;a++)for(u=i[a],u.collectionChanged.removeEventListener(uwe.prototype._onCollectionChanged,e),c=u.values,p=u.id,l=c.length-1;l>-1;l--)s=c[l],cwe(e,f,p,s);for(a=n-1;a>=0;a--)for(u=t[a],u.collectionChanged.addEventListener(uwe.prototype._onCollectionChanged,e),c=u.values,p=u.id,l=c.length-1;l>-1;l--){s=c[l],swe(e,f,p,s);let t=d.getById(s.id);Object(r["a"])(t)||(t=h.getById(s.id),Object(r["a"])(t)?awe(t):(owe.id=s.id,t=new vK(owe)),d.add(t)),t.merge(s)}e._collectionsCopy=t.slice(0),h.suspendEvents(),h.removeAll();const m=d.values;for(a=0;a<m.length;a++)h.add(m[a]);h.resumeEvents()}function uwe(e,t){this._owner=t,this._composite=new iwe(this),this._suspendCount=0,this._collections=Object(r["a"])(e)?e.slice():[],this._collectionsCopy=[],this._id=RL(),this._eventHash={},lwe(this),this._shouldRecomposite=!1}function hwe(e,t){if(!Object(r["a"])(t))throw new a["a"]("collection is required.");const n=e.indexOf(t);if(-1===n)throw new a["a"]("collection is not in this composite.");return n}function dwe(e,t,n){const i=e._collections;if(t=s["a"].clamp(t,0,i.length-1),n=s["a"].clamp(n,0,i.length-1),t===n)return;const o=i[t];i[t]=i[n],i[n]=o,lwe(e)}Object.defineProperties(uwe.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}}),uwe.prototype.addCollection=function(e,t){const n=Object(r["a"])(t);if(!Object(r["a"])(e))throw new a["a"]("collection is required.");if(n){if(t<0)throw new a["a"]("index must be greater than or equal to zero.");if(t>this._collections.length)throw new a["a"]("index must be less than or equal to the number of collections.")}n?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),lwe(this)},uwe.prototype.removeCollection=function(e){const t=this._collections.indexOf(e);return-1!==t&&(this._collections.splice(t,1),lwe(this),!0)},uwe.prototype.removeAllCollections=function(){this._collections.length=0,lwe(this)},uwe.prototype.containsCollection=function(e){return-1!==this._collections.indexOf(e)},uwe.prototype.contains=function(e){return this._composite.contains(e)},uwe.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)},uwe.prototype.getCollection=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.","index");return this._collections[e]},uwe.prototype.getCollectionsLength=function(){return this._collections.length},uwe.prototype.raiseCollection=function(e){const t=hwe(this._collections,e);dwe(this,t,t+1)},uwe.prototype.lowerCollection=function(e){const t=hwe(this._collections,e);dwe(this,t,t-1)},uwe.prototype.raiseCollectionToTop=function(e){const t=hwe(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),lwe(this))},uwe.prototype.lowerCollectionToBottom=function(e){const t=hwe(this._collections,e);0!==t&&(this._collections.splice(t,1),this._collections.splice(0,0,e),lwe(this))},uwe.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()},uwe.prototype.resumeEvents=function(){if(0===this._suspendCount)throw new a["a"]("resumeEvents can not be called before suspendEvents.");this._suspendCount--,this._shouldRecomposite&&0===this._suspendCount&&(lwe(this),this._shouldRecomposite=!1),this._composite.resumeEvents()},uwe.prototype.computeAvailability=function(){return this._composite.computeAvailability()},uwe.prototype.getById=function(e){return this._composite.getById(e)},uwe.prototype._onCollectionChanged=function(e,t,n){const i=this._collectionsCopy,o=i.length,a=this._composite;let s,c,l,u;a.suspendEvents();const h=n.length,d=this._eventHash,f=e.id;for(s=0;s<h;s++){const e=n[s];cwe(this,d,f,e);const t=e.id;for(c=o-1;c>=0;c--)l=i[c].getById(t),Object(r["a"])(l)&&(Object(r["a"])(u)||(u=a.getById(t),awe(u)),u.merge(l));Object(r["a"])(u)||a.removeById(t),u=void 0}const p=t.length;for(s=0;s<p;s++){const e=t[s];swe(this,d,f,e);const n=e.id;for(c=o-1;c>=0;c--)l=i[c].getById(n),Object(r["a"])(l)&&(Object(r["a"])(u)||(u=a.getById(n),Object(r["a"])(u)?awe(u):(owe.id=n,u=new vK(owe),a.add(u))),u.merge(l));u=void 0}a.resumeEvents()},uwe.prototype._onDefinitionChanged=function(e,t,n,i){const o=this._collections,a=this._composite,s=o.length,c=e.id,l=a.getById(c);let u=l[t];const h=!Object(r["a"])(u);let d=!0;for(let f=s-1;f>=0;f--){const n=o[f].getById(e.id);if(Object(r["a"])(n)){const e=n[t];if(Object(r["a"])(e)){if(d){if(d=!1,!Object(r["a"])(e.merge)||!Object(r["a"])(e.clone)){u=e;break}u=e.clone(u)}u.merge(e)}}}h&&-1===l.propertyNames.indexOf(t)&&l.addProperty(t),l[t]=u};var fwe=uwe;function pwe(e,t,n,i){function o(){n.raiseEvent(e)}const a=[];t.removeAll();const s=i.length;for(let c=0;c<s;c++){const e=i.get(c);Object(r["a"])(e.data)&&-1===a.indexOf(e.data)&&t.add(e.data.definitionChanged,o)}}function mwe(){this._eventHelper=new Jw,this._definitionChanged=new pi["a"],this._intervals=new CN,this._intervals.changedEvent.addEventListener(mwe.prototype._intervalsChanged,this)}Object.defineProperties(mwe.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),mwe.prototype.getValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("time is required");const n=this._intervals.findDataForIntervalContainingDate(e);if(Object(r["a"])(n))return n.getValue(e,t)},mwe.prototype.equals=function(e){return this===e||e instanceof mwe&&this._intervals.equals(e._intervals,QB.equals)},mwe.prototype._intervalsChanged=function(){pwe(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var _we=mwe;function gwe(){this._definitionChanged=new pi["a"],this._composite=new _we,this._composite.definitionChanged.addEventListener(gwe.prototype._raiseDefinitionChanged,this)}Object.defineProperties(gwe.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}}),gwe.prototype.getType=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required");const t=this._composite._intervals.findDataForIntervalContainingDate(e);if(Object(r["a"])(t))return t.getType(e)},gwe.prototype.getValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("time is required");const n=this._composite._intervals.findDataForIntervalContainingDate(e);if(Object(r["a"])(n))return n.getValue(e,t)},gwe.prototype.equals=function(e){return this===e||e instanceof gwe&&this._composite.equals(e._composite,QB.equals)},gwe.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var bwe=gwe;function ywe(e){this._referenceFrame=Object(o["a"])(e,tP.FIXED),this._definitionChanged=new pi["a"],this._composite=new _we,this._composite.definitionChanged.addEventListener(ywe.prototype._raiseDefinitionChanged,this)}Object.defineProperties(ywe.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}}),ywe.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},ywe.prototype.getValueInReferenceFrame=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceFrame is required.");const i=this._composite._intervals.findDataForIntervalContainingDate(e);if(Object(r["a"])(i))return i.getValueInReferenceFrame(e,t,n)},ywe.prototype.equals=function(e){return this===e||e instanceof ywe&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,QB.equals)},ywe.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var vwe=ywe;const Owe=new BB(0);function wwe(e){DK.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}Object(r["a"])(Object.create)&&(wwe.prototype=Object.create(DK.prototype),wwe.prototype.constructor=wwe),Object.defineProperties(wwe.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),wwe.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!Object(r["a"])(t.height)&&!Object(r["a"])(t.extrudedHeight)&&PY.isSupported(this._scene)},wwe.prototype._getIsClosed=function(e){const t=e.height,n=e.extrudedHeight;return 0===t||Object(r["a"])(n)&&n!==t},wwe.prototype._computeCenter=a["a"].throwInstantiationError,wwe.prototype._onEntityPropertyChanged=function(e,t,n,i){if(DK.prototype._onEntityPropertyChanged.call(this,e,t,n,i),-1===this._observedPropertyNames.indexOf(t))return;const a=this._entity[this._geometryPropertyName];if(!Object(r["a"])(a))return;Object(r["a"])(a.zIndex)&&(Object(r["a"])(a.height)||Object(r["a"])(a.extrudedHeight))&&ky(ky.geometryZIndex),this._zIndex=Object(o["a"])(a.zIndex,Owe),Object(r["a"])(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);const s=a.heightReference,c=a.extrudedHeightReference;if(Object(r["a"])(s)||Object(r["a"])(c)){const e=new PK(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new LK(this._scene,e,s,c)}},wwe.prototype.destroy=function(){Object(r["a"])(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),DK.prototype.destroy.call(this)},wwe.getGeometryHeight=function(e,t){if(i["a"].defined("heightReference",t),Object(r["a"])(e))return t!==qB.CLAMP_TO_GROUND?e:0;t!==qB.NONE&&ky(ky.geometryHeightReference)},wwe.getGeometryExtrudedHeight=function(e,t){if(i["a"].defined("extrudedHeightReference",t),Object(r["a"])(e))return t!==qB.CLAMP_TO_GROUND?e:wwe.CLAMP_TO_GROUND;t!==qB.NONE&&ky(ky.geometryExtrudedHeightReference)},wwe.CLAMP_TO_GROUND="clamp",wwe.computeGeometryOffsetAttribute=function(e,t,n,i){Object(r["a"])(e)&&Object(r["a"])(t)||(t=qB.NONE),Object(r["a"])(n)&&Object(r["a"])(i)||(i=qB.NONE);let o=0;return t!==qB.NONE&&o++,i===qB.RELATIVE_TO_GROUND&&o++,2===o?qh.ALL:1===o?qh.TOP:void 0};var Awe=wwe;const Twe=new j_,Cwe=g.ZERO,Ewe=new g,xwe=new Fe;function Swe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function Iwe(e,t){Awe.call(this,{entity:e,scene:t,geometryOptions:new Swe(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}function Dwe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(Iwe.prototype=Object.create(Awe.prototype),Iwe.prototype.constructor=Iwe),Iwe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:lw.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,Twe)),Object(r["a"])(t)||(t=j_.WHITE),o.color=R_.fromColor(t)}return Object(r["a"])(this._options.offsetAttribute)&&(o.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,Cwe,Ewe))),new Df({id:t,geometry:new AO(this._options),attributes:o})},Iwe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,Twe),s={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(s.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,Cwe,Ewe))),new Df({id:t,geometry:new RO(this._options),attributes:s})},Iwe.prototype._computeCenter=function(e,t){const n=QB.getValueOrUndefined(this._entity.corridor.positions,e);if(Object(r["a"])(n)&&0!==n.length)return g.clone(n[Math.floor(n.length/2)],t)},Iwe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.positions)||!Object(r["a"])(t.width)||DK.prototype._isHidden.call(this,e,t)},Iwe.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!QB.isConstant(t.height)||!QB.isConstant(t.extrudedHeight)||!QB.isConstant(t.granularity)||!QB.isConstant(t.width)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.cornerType)||!QB.isConstant(t.zIndex)||this._onTerrain&&!QB.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Zk)},Iwe.prototype._setStaticOptions=function(e,t){let n=QB.getValueOrUndefined(t.height,kx.MINIMUM_VALUE);const i=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE);let o=QB.getValueOrUndefined(t.extrudedHeight,kx.MINIMUM_VALUE);const a=QB.getValueOrDefault(t.extrudedHeightReference,kx.MINIMUM_VALUE,qB.NONE);Object(r["a"])(o)&&!Object(r["a"])(n)&&(n=0);const s=this._options;s.vertexFormat=this._materialProperty instanceof Zk?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(kx.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(kx.MINIMUM_VALUE),s.granularity=QB.getValueOrUndefined(t.granularity,kx.MINIMUM_VALUE),s.cornerType=QB.getValueOrUndefined(t.cornerType,kx.MINIMUM_VALUE),s.offsetAttribute=Awe.computeGeometryOffsetAttribute(n,i,o,a),s.height=Awe.getGeometryHeight(n,i),o=Awe.getGeometryExtrudedHeight(o,a),o===Awe.CLAMP_TO_GROUND&&(o=on.getMinimumMaximumHeights(AO.computeRectangle(s,xwe)).minimumTerrainHeight),s.extrudedHeight=o},Iwe.DynamicGeometryUpdater=Dwe,Object(r["a"])(Object.create)&&(Dwe.prototype=Object.create(LY.prototype),Dwe.prototype.constructor=Dwe),Dwe.prototype._isHidden=function(e,t,n){const i=this._options;return!Object(r["a"])(i.positions)||!Object(r["a"])(i.width)||LY.prototype._isHidden.call(this,e,t,n)},Dwe.prototype._setOptions=function(e,t,n){const i=this._options;let o=QB.getValueOrUndefined(t.height,n);const a=QB.getValueOrDefault(t.heightReference,n,qB.NONE);let s=QB.getValueOrUndefined(t.extrudedHeight,n);const c=QB.getValueOrDefault(t.extrudedHeightReference,n,qB.NONE);Object(r["a"])(s)&&!Object(r["a"])(o)&&(o=0),i.positions=QB.getValueOrUndefined(t.positions,n),i.width=QB.getValueOrUndefined(t.width,n),i.granularity=QB.getValueOrUndefined(t.granularity,n),i.cornerType=QB.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=Awe.computeGeometryOffsetAttribute(o,a,s,c),i.height=Awe.getGeometryHeight(o,a),s=Awe.getGeometryExtrudedHeight(s,c),s===Awe.CLAMP_TO_GROUND&&(s=on.getMinimumMaximumHeights(AO.computeRectangle(i,xwe)).minimumTerrainHeight),i.extrudedHeight=s};var jwe=Iwe;function Pwe(){a["a"].throwInstantiationError()}Object.defineProperties(Pwe.prototype,{name:{get:a["a"].throwInstantiationError},clock:{get:a["a"].throwInstantiationError},entities:{get:a["a"].throwInstantiationError},isLoading:{get:a["a"].throwInstantiationError},changedEvent:{get:a["a"].throwInstantiationError},errorEvent:{get:a["a"].throwInstantiationError},loadingEvent:{get:a["a"].throwInstantiationError},show:{get:a["a"].throwInstantiationError},clustering:{get:a["a"].throwInstantiationError}}),Pwe.prototype.update=function(e){a["a"].throwInstantiationError()},Pwe.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Rwe=Pwe;function Mwe(e,t){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),Object(r["a"])(e.disableDepthTestDistance)&&e.disableDepthTestDistance<0)throw new a["a"]("disableDepthTestDistance must be greater than or equal to 0.0.");let n=e.translucencyByDistance,i=e.scaleByDistance,s=e.distanceDisplayCondition;if(Object(r["a"])(n)){if(n.far<=n.near)throw new a["a"]("translucencyByDistance.far must be greater than translucencyByDistance.near.");n=cS.clone(n)}if(Object(r["a"])(i)){if(i.far<=i.near)throw new a["a"]("scaleByDistance.far must be greater than scaleByDistance.near.");i=cS.clone(i)}if(Object(r["a"])(s)){if(s.far<=s.near)throw new a["a"]("distanceDisplayCondition.far must be greater than distanceDisplayCondition.near.");s=sw.clone(s)}this._show=Object(o["a"])(e.show,!0),this._position=g.clone(Object(o["a"])(e.position,g.ZERO)),this._actualPosition=g.clone(this._position),this._color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this._outlineColor=j_.clone(Object(o["a"])(e.outlineColor,j_.TRANSPARENT)),this._outlineWidth=Object(o["a"])(e.outlineWidth,0),this._pixelSize=Object(o["a"])(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=s,this._disableDepthTestDistance=Object(o["a"])(e.disableDepthTestDistance,0),this._id=e.id,this._collection=Object(o["a"])(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1}const Nwe=Mwe.SHOW_INDEX=0,Lwe=Mwe.POSITION_INDEX=1,Bwe=Mwe.COLOR_INDEX=2,Fwe=Mwe.OUTLINE_COLOR_INDEX=3,kwe=Mwe.OUTLINE_WIDTH_INDEX=4,zwe=Mwe.PIXEL_SIZE_INDEX=5,Uwe=Mwe.SCALE_BY_DISTANCE_INDEX=6,Vwe=Mwe.TRANSLUCENCY_BY_DISTANCE_INDEX=7,Hwe=Mwe.DISTANCE_DISPLAY_CONDITION_INDEX=8,Gwe=Mwe.DISABLE_DEPTH_DISTANCE_INDEX=9;function qwe(e,t){const n=e._pointPrimitiveCollection;Object(r["a"])(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Mwe.NUMBER_OF_PROPERTIES=10,Object.defineProperties(Mwe.prototype,{show:{get:function(){return this._show},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._show!==e&&(this._show=e,qwe(this,Nwe))}},position:{get:function(){return this._position},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._position;g.equals(t,e)||(g.clone(e,t),g.clone(e,this._actualPosition),qwe(this,Lwe))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");const t=this._scaleByDistance;cS.equals(t,e)||(this._scaleByDistance=cS.clone(e,t),qwe(this,Uwe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far distance must be greater than near distance.");const t=this._translucencyByDistance;cS.equals(t,e)||(this._translucencyByDistance=cS.clone(e,t),qwe(this,Vwe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._pixelSize!==e&&(this._pixelSize=e,qwe(this,zwe))}},color:{get:function(){return this._color},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._color;j_.equals(t,e)||(j_.clone(e,t),qwe(this,Bwe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");const t=this._outlineColor;j_.equals(t,e)||(j_.clone(e,t),qwe(this,Fwe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._outlineWidth!==e&&(this._outlineWidth=e,qwe(this,kwe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(Object(r["a"])(e)&&e.far<=e.near)throw new a["a"]("far must be greater than near");sw.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=sw.clone(e,this._distanceDisplayCondition),qwe(this,Hwe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){if(!Object(r["a"])(e)||e<0)throw new a["a"]("disableDepthTestDistance must be greater than or equal to 0.0.");this._disableDepthTestDistance=e,qwe(this,Gwe)}}},id:{get:function(){return this._id},set:function(e){this._id=e,Object(r["a"])(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,qwe(this,Nwe))}}}),Mwe.prototype.getPickId=function(e){return Object(r["a"])(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId},Mwe.prototype._getActualPosition=function(){return this._actualPosition},Mwe.prototype._setActualPosition=function(e){g.clone(e,this._actualPosition),qwe(this,Lwe)};const Wwe=new be;Mwe._computeActualPosition=function(e,t,n){return t.mode===vq.SCENE3D?e:(Ne.multiplyByPoint(n,e,Wwe),qie.computeActualWgs84Position(t,Wwe))};const Ywe=new be;Mwe._computeScreenSpacePosition=function(e,t,n,i){const o=Ne.multiplyByVector(e,be.fromElements(t.x,t.y,t.z,1,Ywe),Ywe),r=qie.wgs84ToWindowCoordinates(n,o,i);return r},Mwe.prototype.computeScreenSpacePosition=function(e,t){const n=this._pointPrimitiveCollection;if(Object(r["a"])(t)||(t=new Ht),!Object(r["a"])(n))throw new a["a"]("PointPrimitive must be in a collection.");if(!Object(r["a"])(e))throw new a["a"]("scene is required.");const i=n.modelMatrix,o=Mwe._computeScreenSpacePosition(i,this._actualPosition,e,t);if(Object(r["a"])(o))return o.y=e.canvas.clientHeight-o.y,o},Mwe.getScreenSpaceBoundingBox=function(e,t,n){const i=e.pixelSize,o=.5*i,a=t.x-o,s=t.y-o,c=i,l=i;return Object(r["a"])(n)||(n=new Oh),n.x=a,n.y=s,n.width=c,n.height=l,n},Mwe.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&this._id===e._id&&g.equals(this._position,e._position)&&j_.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&j_.equals(this._outlineColor,e._outlineColor)&&cS.equals(this._scaleByDistance,e._scaleByDistance)&&cS.equals(this._translucencyByDistance,e._translucencyByDistance)&&sw.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance},Mwe.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Xwe=Mwe,Kwe="varying vec4 v_color;\nvarying vec4 v_outlineColor;\nvarying float v_innerPercent;\nvarying float v_pixelDistance;\nvarying vec4 v_pickColor;\n\nvoid main()\n{\n // The distance in UV space from this fragment to the center of the point, at most 0.5.\n float distanceToCenter = length(gl_PointCoord - vec2(0.5));\n // The max distance stops one pixel shy of the edge to leave space for anti-aliasing.\n float maxDistance = max(0.0, 0.5 - v_pixelDistance);\n float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter);\n float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter);\n\n vec4 color = mix(v_outlineColor, v_color, innerAlpha);\n color.a *= wholeAlpha;\n\n// Fully transparent parts of the billboard are not pickable.\n#if !defined(OPAQUE) && !defined(TRANSLUCENT)\n if (color.a < 0.005) // matches 0/255 and 1/255\n {\n discard;\n }\n#else\n// The billboard is rendered twice. The opaque pass discards translucent fragments\n// and the translucent pass discards opaque fragments.\n#ifdef OPAQUE\n if (color.a < 0.995) // matches < 254/255\n {\n discard;\n }\n#else\n if (color.a >= 0.995) // matches 254/255 and 255/255\n {\n discard;\n }\n#endif\n#endif\n\n gl_FragColor = czm_gammaCorrect(color);\n czm_writeLogDepth();\n}\n",Jwe='uniform float u_maxTotalPointSize;\n\nattribute vec4 positionHighAndSize;\nattribute vec4 positionLowAndOutline;\nattribute vec4 compressedAttribute0; // color, outlineColor, pick color\nattribute vec4 compressedAttribute1; // show, translucency by distance, some free space\nattribute vec4 scaleByDistance; // near, nearScale, far, farScale\nattribute vec3 distanceDisplayConditionAndDisableDepth; // near, far, disableDepthTestDistance\n\nvarying vec4 v_color;\nvarying vec4 v_outlineColor;\nvarying float v_innerPercent;\nvarying float v_pixelDistance;\nvarying vec4 v_pickColor;\n\nconst float SHIFT_LEFT8 = 256.0;\nconst float SHIFT_RIGHT8 = 1.0 / 256.0;\n\nvoid main()\n{\n // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition\n\n // unpack attributes\n vec3 positionHigh = positionHighAndSize.xyz;\n vec3 positionLow = positionLowAndOutline.xyz;\n float outlineWidthBothSides = 2.0 * positionLowAndOutline.w;\n float totalSize = positionHighAndSize.w + outlineWidthBothSides;\n float outlinePercent = outlineWidthBothSides / totalSize;\n // Scale in response to browser-zoom.\n totalSize *= czm_pixelRatio;\n // Add padding for anti-aliasing on both sides.\n totalSize += 3.0;\n\n float temp = compressedAttribute1.x * SHIFT_RIGHT8;\n float show = floor(temp);\n\n#ifdef EYE_DISTANCE_TRANSLUCENCY\n vec4 translucencyByDistance;\n translucencyByDistance.x = compressedAttribute1.z;\n translucencyByDistance.z = compressedAttribute1.w;\n\n translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n\n temp = compressedAttribute1.y * SHIFT_RIGHT8;\n translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n#endif\n\n ///////////////////////////////////////////////////////////////////////////\n\n vec4 color;\n vec4 outlineColor;\n vec4 pickColor;\n\n // compressedAttribute0.z => pickColor.rgb\n\n temp = compressedAttribute0.z * SHIFT_RIGHT8;\n pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\n pickColor.r = floor(temp);\n\n // compressedAttribute0.x => color.rgb\n\n temp = compressedAttribute0.x * SHIFT_RIGHT8;\n color.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n color.g = (temp - floor(temp)) * SHIFT_LEFT8;\n color.r = floor(temp);\n\n // compressedAttribute0.y => outlineColor.rgb\n\n temp = compressedAttribute0.y * SHIFT_RIGHT8;\n outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\n temp = floor(temp) * SHIFT_RIGHT8;\n outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\n outlineColor.r = floor(temp);\n\n // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a\n\n temp = compressedAttribute0.w * SHIFT_RIGHT8;\n pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\n pickColor = pickColor / 255.0;\n\n temp = floor(temp) * SHIFT_RIGHT8;\n outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\n outlineColor /= 255.0;\n color.a = floor(temp);\n color /= 255.0;\n\n ///////////////////////////////////////////////////////////////////////////\n\n vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n vec4 positionEC = czm_modelViewRelativeToEye * p;\n\n ///////////////////////////////////////////////////////////////////////////\n\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)\n float lengthSq;\n if (czm_sceneMode == czm_sceneMode2D)\n {\n // 2D camera distance is a special case\n // treat all billboards as flattened to the z=0.0 plane\n lengthSq = czm_eyeHeight2D.y;\n }\n else\n {\n lengthSq = dot(positionEC.xyz, positionEC.xyz);\n }\n#endif\n\n#ifdef EYE_DISTANCE_SCALING\n totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq);\n#endif\n // Clamp to max point size.\n totalSize = min(totalSize, u_maxTotalPointSize);\n // If size is too small, push vertex behind near plane for clipping.\n // Note that context.minimumAliasedPointSize "will be at most 1.0".\n if (totalSize < 1.0)\n {\n positionEC.xyz = vec3(0.0);\n totalSize = 1.0;\n }\n\n float translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\n translucency = czm_nearFarScalar(translucencyByDistance, lengthSq);\n // push vertex behind near plane for clipping\n if (translucency < 0.004)\n {\n positionEC.xyz = vec3(0.0);\n }\n#endif\n\n#ifdef DISTANCE_DISPLAY_CONDITION\n float nearSq = distanceDisplayConditionAndDisableDepth.x;\n float farSq = distanceDisplayConditionAndDisableDepth.y;\n if (lengthSq < nearSq || lengthSq > farSq) {\n // push vertex behind camera to force it to be clipped\n positionEC.xyz = vec3(0.0, 0.0, 1.0);\n }\n#endif\n\n gl_Position = czm_projection * positionEC;\n czm_vertexLogDepth();\n\n#ifdef DISABLE_DEPTH_DISTANCE\n float disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z;\n if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)\n {\n disableDepthTestDistance = czm_minimumDisableDepthTestDistance;\n }\n\n if (disableDepthTestDistance != 0.0)\n {\n // Don\'t try to "multiply both sides" by w. Greater/less-than comparisons won\'t work for negative values of w.\n float zclip = gl_Position.z / gl_Position.w;\n bool clipped = (zclip < -1.0 || zclip > 1.0);\n if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))\n {\n // Position z on the near plane.\n gl_Position.z = -gl_Position.w;\n#ifdef LOG_DEPTH\n czm_vertexLogDepth(vec4(czm_currentFrustum.x));\n#endif\n }\n }\n#endif\n\n v_color = color;\n v_color.a *= translucency * show;\n v_outlineColor = outlineColor;\n v_outlineColor.a *= translucency * show;\n\n v_innerPercent = 1.0 - outlinePercent;\n v_pixelDistance = 2.0 / totalSize;\n gl_PointSize = totalSize * show;\n gl_Position *= show;\n\n v_pickColor = pickColor;\n}\n';const Zwe=Xwe.SHOW_INDEX,$we=Xwe.POSITION_INDEX,Qwe=Xwe.COLOR_INDEX,eAe=Xwe.OUTLINE_COLOR_INDEX,tAe=Xwe.OUTLINE_WIDTH_INDEX,nAe=Xwe.PIXEL_SIZE_INDEX,iAe=Xwe.SCALE_BY_DISTANCE_INDEX,oAe=Xwe.TRANSLUCENCY_BY_DISTANCE_INDEX,rAe=Xwe.DISTANCE_DISPLAY_CONDITION_INDEX,aAe=Xwe.DISABLE_DEPTH_DISTANCE_INDEX,sAe=Xwe.NUMBER_OF_PROPERTIES,cAe={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function lAe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(sAe),this._maxPixelSize=1,this._baseVolume=new Tt,this._baseVolumeWC=new Tt,this._baseVolume2D=new Tt,this._boundingVolume=new Tt,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=Ne.clone(Ne.IDENTITY),this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.blendOption=Object(o["a"])(e.blendOption,boe.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=vq.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW,EG.STATIC_DRAW];const t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}function uAe(e){const t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}function hAe(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;const t=[],n=e._pointPrimitives,i=n.length;for(let e=0,o=0;e<i;++e){const i=n[e];i&&(i._index=o++,t.push(i))}e._pointPrimitives=t}}function dAe(e,t,n){return new Aie(e,[{index:cAe.positionHighAndSize,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[$we]},{index:cAe.positionLowAndShow,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[$we]},{index:cAe.compressedAttribute0,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[Qwe]},{index:cAe.compressedAttribute1,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[oAe]},{index:cAe.scaleByDistance,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:n[iAe]},{index:cAe.distanceDisplayConditionAndDisableDepth,componentsPerAttribute:3,componentDatatype:$c.FLOAT,usage:n[rAe]}],t)}Object.defineProperties(lAe.prototype,{length:{get:function(){return hAe(this),this._pointPrimitives.length}}}),lAe.prototype.add=function(e){const t=new Xwe(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t},lAe.prototype.remove=function(e){return!!this.contains(e)&&(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0)},lAe.prototype.removeAll=function(){uAe(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0},lAe.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]},lAe.prototype.contains=function(e){return Object(r["a"])(e)&&e._pointPrimitiveCollection===this},lAe.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return hAe(this),this._pointPrimitives[e]},lAe.prototype.computeNewBuffersUsage=function(){const e=this._buffersUsage;let t=!1;const n=this._propertiesChanged;for(let i=0;i<sAe;++i){const o=0===n[i]?EG.STATIC_DRAW:EG.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};const fAe=new kf;function pAe(e,t,n,i){const o=i._index,r=i._getActualPosition();e._mode===vq.SCENE3D&&(Tt.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),kf.fromCartesian(r,fAe);const a=i.pixelSize,s=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,a+s);const c=n[cAe.positionHighAndSize],l=fAe.high;c(o,l.x,l.y,l.z,a);const u=n[cAe.positionLowAndOutline],h=fAe.low;u(o,h.x,h.y,h.z,s)}const mAe=65536,_Ae=256;function gAe(e,t,n,i){const o=i._index,r=i.color,a=i.getPickId(t).color,s=i.outlineColor;let c=j_.floatToByte(r.red),l=j_.floatToByte(r.green),u=j_.floatToByte(r.blue);const h=c*mAe+l*_Ae+u;c=j_.floatToByte(s.red),l=j_.floatToByte(s.green),u=j_.floatToByte(s.blue);const d=c*mAe+l*_Ae+u;c=j_.floatToByte(a.red),l=j_.floatToByte(a.green),u=j_.floatToByte(a.blue);const f=c*mAe+l*_Ae+u,p=j_.floatToByte(r.alpha)*mAe+j_.floatToByte(s.alpha)*_Ae+j_.floatToByte(a.alpha),m=n[cAe.compressedAttribute0];m(o,h,d,f,p)}function bAe(e,t,n,i){const o=i._index;let a=0,c=1,l=1,u=1;const h=i.translucencyByDistance;Object(r["a"])(h)&&(a=h.near,c=h.nearValue,l=h.far,u=h.farValue,1===c&&1===u||(e._shaderTranslucencyByDistance=!0));let d=i.show&&i.clusterShow;0===i.color.alpha&&0===i.outlineColor.alpha&&(d=!1),c=s["a"].clamp(c,0,1),c=1===c?255:255*c|0;const f=(d?1:0)*_Ae+c;u=s["a"].clamp(u,0,1),u=1===u?255:255*u|0;const p=u,m=n[cAe.compressedAttribute1];m(o,f,p,a,l)}function yAe(e,t,n,i){const o=i._index,a=n[cAe.scaleByDistance];let s=0,c=1,l=1,u=1;const h=i.scaleByDistance;Object(r["a"])(h)&&(s=h.near,c=h.nearValue,l=h.far,u=h.farValue,1===c&&1===u||(e._shaderScaleByDistance=!0)),a(o,s,c,l,u)}function vAe(e,t,n,i){const o=i._index,a=n[cAe.distanceDisplayConditionAndDisableDepth];let s=0,c=Number.MAX_VALUE;const l=i.distanceDisplayCondition;Object(r["a"])(l)&&(s=l.near,c=l.far,s*=s,c*=c,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1)),a(o,s,c,u)}function OAe(e,t,n,i){pAe(e,t,n,i),gAe(e,t,n,i),bAe(e,t,n,i),yAe(e,t,n,i),vAe(e,t,n,i)}function wAe(e,t,n,i,o,a){let s;i.mode===vq.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;const c=[];for(let l=0;l<n;++l){const e=t[l],n=e.position,u=Xwe._computeActualPosition(n,i,o);Object(r["a"])(u)&&(e._setActualPosition(u),a?c.push(u):Tt.expand(s,u,s))}a&&Tt.fromPoints(c,s)}function AAe(e,t){const n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==vq.SCENE3D&&!Ne.equals(r,e.modelMatrix)?(e._mode=n,Ne.clone(e.modelMatrix,r),e._createVertexArray=!0,n!==vq.SCENE3D&&n!==vq.SCENE2D&&n!==vq.COLUMBUS_VIEW||wAe(e,i,i.length,t,r,!0)):n===vq.MORPHING?wAe(e,i,i.length,t,r,!0):n!==vq.SCENE2D&&n!==vq.COLUMBUS_VIEW||wAe(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function TAe(e,t,n){const i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight),o=i*e._maxPixelSize;n.radius+=o}const CAe=[];lAe.prototype.update=function(e){if(hAe(this),!this.show)return;this._maxTotalPointSize=zF.maximumAliasedPointSize,AAe(this,e);const t=this._pointPrimitives,n=t.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,a=this._propertiesChanged,s=this._createVertexArray;let c;const l=e.context,u=e.passes,h=u.pick;if(s||!h&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let e=0;e<sAe;++e)a[e]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=dAe(l,n,this._buffersUsage),c=this._vaf.writers;for(let e=0;e<n;++e){const t=this._pointPrimitives[e];t._dirty=!1,OAe(this,l,c,t)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){const e=CAe;e.length=0,(a[$we]||a[tAe]||a[nAe])&&e.push(pAe),(a[Qwe]||a[eAe])&&e.push(gAe),(a[Zwe]||a[oAe])&&e.push(bAe),a[iAe]&&e.push(yAe),(a[rAe]||a[aAe])&&e.push(vAe);const t=e.length;if(c=this._vaf.writers,o/n>.1){for(let n=0;n<o;++n){const o=i[n];o._dirty=!1;for(let n=0;n<t;++n)e[n](this,l,c,o)}this._vaf.commit()}else{for(let n=0;n<o;++n){const o=i[n];o._dirty=!1;for(let n=0;n<t;++n)e[n](this,l,c,o);this._vaf.subCommit(o._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>1.5*n&&(i.length=n),!Object(r["a"])(this._vaf)||!Object(r["a"])(this._vaf.va))return;let d;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,Tt.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let f=Ne.IDENTITY;e.mode===vq.SCENE3D?(f=this.modelMatrix,d=Tt.clone(this._baseVolumeWC,this._boundingVolume)):d=Tt.clone(this._baseVolume2D,this._boundingVolume),TAe(this,e,d);const p=this._blendOption!==this.blendOption;let m,_,g,b,y,v;this._blendOption=this.blendOption,p&&(this._blendOption===boe.OPAQUE||this._blendOption===boe.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Mz.fromCache({depthTest:{enabled:!0,func:Jc.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===boe.TRANSLUCENT||this._blendOption===boe.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Mz.fromCache({depthTest:{enabled:!0,func:Jc.LEQUAL},depthMask:!1,blending:MF.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||0!==e.minimumDisableDepthTestDistance,(p||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new bG({sources:[Jwe]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===boe.OPAQUE_AND_TRANSLUCENT&&(_=new bG({defines:["OPAQUE"],sources:[Kwe]}),this._sp=IU.replaceCache({context:l,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:_,attributeLocations:cAe}),_=new bG({defines:["TRANSLUCENT"],sources:[Kwe]}),this._spTranslucent=IU.replaceCache({context:l,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:_,attributeLocations:cAe})),this._blendOption===boe.OPAQUE&&(_=new bG({sources:[Kwe]}),this._sp=IU.replaceCache({context:l,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:_,attributeLocations:cAe})),this._blendOption===boe.TRANSLUCENT&&(_=new bG({sources:[Kwe]}),this._spTranslucent=IU.replaceCache({context:l,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:_,attributeLocations:cAe})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);const O=e.commandList;if(u.render||h){const e=this._colorCommands,t=this._blendOption===boe.OPAQUE,n=this._blendOption===boe.OPAQUE_AND_TRANSLUCENT;g=this._vaf.va,b=g.length,e.length=b;const i=n?2*b:b;for(v=0;v<i;++v){const i=t||n&&v%2===0;y=e[v],Object(r["a"])(y)||(y=e[v]=new nz),y.primitiveType=xh.POINTS,y.pass=i||!n?oz.OPAQUE:oz.TRANSLUCENT,y.owner=this;const o=n?Math.floor(v/2):v;y.boundingVolume=d,y.modelMatrix=f,y.shaderProgram=i?this._sp:this._spTranslucent,y.uniformMap=this._uniforms,y.vertexArray=g[o].va,y.renderState=i?this._rsOpaque:this._rsTranslucent,y.debugShowBoundingVolume=this.debugShowBoundingVolume,y.pickId="v_pickColor",O.push(y)}}},lAe.prototype.isDestroyed=function(){return!1},lAe.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),uAe(this._pointPrimitives),Wl(this)};var EAe=lAe;function xAe(e,t,n,i,o,r){if(o-i<=n)return;const a=i+o>>1;SAe(e,t,a,i,o,r%2),xAe(e,t,n,i,a-1,r+1),xAe(e,t,n,a+1,o,r+1)}function SAe(e,t,n,i,o,r){while(o>i){if(o-i>600){const a=o-i+1,s=n-i+1,c=Math.log(a),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(a-l)/a)*(s-a/2<0?-1:1),h=Math.max(i,Math.floor(n-s*l/a+u)),d=Math.min(o,Math.floor(n+(a-s)*l/a+u));SAe(e,t,n,h,d,r)}const a=t[2*n+r];let s=i,c=o;IAe(e,t,i,n),t[2*o+r]>a&&IAe(e,t,i,o);while(s<c){IAe(e,t,s,c),s++,c--;while(t[2*s+r]<a)s++;while(t[2*c+r]>a)c--}t[2*i+r]===a?IAe(e,t,i,c):(c++,IAe(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function IAe(e,t,n,i){DAe(e,n,i),DAe(t,2*n,2*i),DAe(t,2*n+1,2*i+1)}function DAe(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function jAe(e,t,n,i,o,r,a){const s=[0,e.length-1,0],c=[];let l,u;while(s.length){const h=s.pop(),d=s.pop(),f=s.pop();if(d-f<=a){for(let a=f;a<=d;a++)l=t[2*a],u=t[2*a+1],l>=n&&l<=o&&u>=i&&u<=r&&c.push(e[a]);continue}const p=Math.floor((f+d)/2);l=t[2*p],u=t[2*p+1],l>=n&&l<=o&&u>=i&&u<=r&&c.push(e[p]);const m=(h+1)%2;(0===h?n<=l:i<=u)&&(s.push(f),s.push(p-1),s.push(m)),(0===h?o>=l:r>=u)&&(s.push(p+1),s.push(d),s.push(m))}return c}function PAe(e,t,n,i,o,r){const a=[0,e.length-1,0],s=[],c=o*o;while(a.length){const l=a.pop(),u=a.pop(),h=a.pop();if(u-h<=r){for(let o=h;o<=u;o++)RAe(t[2*o],t[2*o+1],n,i)<=c&&s.push(e[o]);continue}const d=Math.floor((h+u)/2),f=t[2*d],p=t[2*d+1];RAe(f,p,n,i)<=c&&s.push(e[d]);const m=(l+1)%2;(0===l?n-o<=f:i-o<=p)&&(a.push(h),a.push(d-1),a.push(m)),(0===l?n+o>=f:i+o>=p)&&(a.push(d+1),a.push(u),a.push(m))}return s}function RAe(e,t,n,i){const o=e-n,r=t-i;return o*o+r*r}const MAe=e=>e[0],NAe=e=>e[1];class LAe{constructor(e,t=MAe,n=NAe,i=64,o=Float64Array){this.nodeSize=i,this.points=e;const r=e.length<65536?Uint16Array:Uint32Array,a=this.ids=new r(e.length),s=this.coords=new o(2*e.length);for(let c=0;c<e.length;c++)a[c]=c,s[2*c]=t(e[c]),s[2*c+1]=n(e[c]);xAe(a,s,i,0,a.length-1,0)}range(e,t,n,i){return jAe(this.ids,this.coords,e,t,n,i,this.nodeSize)}within(e,t,n){return PAe(this.ids,this.coords,e,t,n,this.nodeSize)}}function BAe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._enabled=Object(o["a"])(e.enabled,!1),this._pixelRange=Object(o["a"])(e.pixelRange,80),this._minimumClusterSize=Object(o["a"])(e.minimumClusterSize,2),this._clusterBillboards=Object(o["a"])(e.clusterBillboards,!0),this._clusterLabels=Object(o["a"])(e.clusterLabels,!0),this._clusterPoints=Object(o["a"])(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new pi["a"],this.show=Object(o["a"])(e.show,!0)}function FAe(e){return e.coord.x}function kAe(e){return e.coord.y}function zAe(e,t){e.x-=t,e.y-=t,e.width+=2*t,e.height+=2*t}const UAe=new Oh;function VAe(e,t,n,i,o){if(Object(r["a"])(e._labelCollection)&&i._clusterLabels?o=_ae.getScreenSpaceBoundingBox(e,t,o):Object(r["a"])(e._billboardCollection)&&i._clusterBillboards?o=_oe.getScreenSpaceBoundingBox(e,t,o):Object(r["a"])(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=Xwe.getScreenSpaceBoundingBox(e,t,o)),zAe(o,n),i._clusterLabels&&!Object(r["a"])(e._labelCollection)&&Object(r["a"])(e.id)&&qAe(i,e.id.id)&&Object(r["a"])(e.id._label)){const r=i._collectionIndicesByEntity[e.id.id].labelIndex,a=i._labelCollection.get(r),s=_ae.getScreenSpaceBoundingBox(a,t,UAe);zAe(s,n),o=Oh.union(o,s,o)}return o}function HAe(e,t){if(e.clusterShow=!0,!Object(r["a"])(e._labelCollection)&&Object(r["a"])(e.id)&&qAe(t,e.id.id)&&Object(r["a"])(e.id._label)){const n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function GAe(e,t,n,i){const o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function qAe(e,t){return Object(r["a"])(e)&&Object(r["a"])(e._collectionIndicesByEntity[t])&&Object(r["a"])(e._collectionIndicesByEntity[t].labelIndex)}function WAe(e,t,n,i,o){if(!Object(r["a"])(e))return;const a=e.length;for(let s=0;s<a;++s){const a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===vq.SCENE3D&&!i.isPointVisible(a.position))continue;const c=o._clusterLabels&&Object(r["a"])(a._labelCollection),l=o._clusterBillboards&&Object(r["a"])(a.id._billboard),u=o._clusterPoints&&Object(r["a"])(a.id._point);if(c&&(u||l))continue;const h=a.computeScreenSpacePosition(n);Object(r["a"])(h)&&t.push({index:s,collection:e,clustered:!1,coord:h})}}const YAe=new Oh,XAe=new Oh,KAe=new Oh;function JAe(e){return function(t){if(Object(r["a"])(t)&&t<.05||!e.enabled)return;const n=e._scene,i=e._labelCollection,o=e._billboardCollection,a=e._pointCollection;if(!Object(r["a"])(i)&&!Object(r["a"])(o)&&!Object(r["a"])(a)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,c=e._clusterBillboardCollection,l=e._clusterPointCollection;Object(r["a"])(s)?s.removeAll():s=e._clusterLabelCollection=new Bae({scene:n}),Object(r["a"])(c)?c.removeAll():c=e._clusterBillboardCollection=new Bre({scene:n}),Object(r["a"])(l)?l.removeAll():l=e._clusterPointCollection=new EAe;const u=e._pixelRange,h=e._minimumClusterSize,d=e._previousClusters,f=[],p=e._previousHeight,m=n.camera.positionCartographic.height,_=n.mapProjection.ellipsoid,b=n.camera.positionWC,y=new Bi(_,b),v=[];let O,w,A,T,C,E,x,S,I,D,j,P;e._clusterLabels&&WAe(i,v,n,y,e),e._clusterBillboards&&WAe(o,v,n,y,e),e._clusterPoints&&WAe(a,v,n,y,e);const R=new LAe(v,FAe,kAe,64,Int32Array);if(m<p)for(A=d.length,O=0;O<A;++O){const t=d[O];if(!y.isPointVisible(t.position))continue;const i=_oe._computeScreenSpacePosition(Ne.IDENTITY,t.position,g.ZERO,Ht.ZERO,n);if(!Object(r["a"])(i))continue;const o=1-m/p;let a=t.width=t.width*o,s=t.height=t.height*o;a=Math.max(a,t.minimumWidth),s=Math.max(s,t.minimumHeight);const c=i.x-.5*a,l=i.y-.5*s,u=i.x+a,_=i.y+s;for(C=R.range(c,l,u,_),E=C.length,D=0,I=[],w=0;w<E;++w)x=C[w],S=v[x],S.clustered||(++D,j=S.collection,P=S.index,I.push(j.get(P).id));if(D>=h)for(GAe(t.position,D,I,e),f.push(t),w=0;w<E;++w)v[C[w]].clustered=!0}for(A=v.length,O=0;O<A;++O){const t=v[O];if(t.clustered)continue;t.clustered=!0,j=t.collection,P=t.index;const n=j.get(P);T=VAe(n,t.coord,u,e,YAe);const i=Oh.clone(T,XAe);C=R.range(T.x,T.y,T.x+T.width,T.y+T.height),E=C.length;const o=g.clone(n.position);for(D=1,I=[n.id],w=0;w<E;++w)if(x=C[w],S=v[x],!S.clustered){const t=S.collection.get(S.index),n=VAe(t,S.coord,u,e,KAe);g.add(t.position,o,o),Oh.union(i,n,i),++D,I.push(t.id)}if(D>=h){const t=g.multiplyByScalar(o,1/D,o);for(GAe(t,D,I,e),f.push({position:t,width:i.width,height:i.height,minimumWidth:T.width,minimumHeight:T.height}),w=0;w<E;++w)v[C[w]].clustered=!0}else HAe(n,e)}0===s.length&&(s.destroy(),e._clusterLabelCollection=void 0),0===c.length&&(c.destroy(),e._clusterBillboardCollection=void 0),0===l.length&&(l.destroy(),e._clusterPointCollection=void 0),e._previousClusters=f,e._previousHeight=m}}function ZAe(e,t,n,i){return function(o){let a=this[e];Object(r["a"])(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s,c,l=this._collectionIndicesByEntity[o.id];if(Object(r["a"])(l)||(l=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),Object(r["a"])(a)&&Object(r["a"])(l[i]))return a.get(l[i]);Object(r["a"])(a)||(a=this[e]=new t({scene:this._scene}));const u=this[n];u.length>0?(s=u.pop(),c=a.get(s)):(c=a.add(),s=a.length-1),l[i]=s;const h=this;return Promise.resolve().then((function(){h._clusterDirty=!0})),c}}function $Ae(e,t){const n=e._collectionIndicesByEntity[t];Object(r["a"])(n.billboardIndex)||Object(r["a"])(n.labelIndex)||Object(r["a"])(n.pointIndex)||delete e._collectionIndicesByEntity[t]}function QAe(e){if(!Object(r["a"])(e))return;const t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function eTe(e){e.enabled||(Object(r["a"])(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),Object(r["a"])(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),Object(r["a"])(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,QAe(e._labelCollection),QAe(e._billboardCollection),QAe(e._pointCollection))}BAe.prototype._initialize=function(e){this._scene=e;const t=JAe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)},Object.defineProperties(BAe.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}}),BAe.prototype.getLabel=ZAe("_labelCollection",Bae,"_unusedLabelIndices","labelIndex"),BAe.prototype.removeLabel=function(e){const t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!Object(r["a"])(this._labelCollection)||!Object(r["a"])(t)||!Object(r["a"])(t.labelIndex))return;const n=t.labelIndex;t.labelIndex=void 0,$Ae(this,e.id);const i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0},BAe.prototype.getBillboard=ZAe("_billboardCollection",Bre,"_unusedBillboardIndices","billboardIndex"),BAe.prototype.removeBillboard=function(e){const t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!Object(r["a"])(this._billboardCollection)||!Object(r["a"])(t)||!Object(r["a"])(t.billboardIndex))return;const n=t.billboardIndex;t.billboardIndex=void 0,$Ae(this,e.id);const i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0},BAe.prototype.getPoint=ZAe("_pointCollection",EAe,"_unusedPointIndices","pointIndex"),BAe.prototype.removePoint=function(e){const t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!Object(r["a"])(this._pointCollection)||!Object(r["a"])(t)||!Object(r["a"])(t.pointIndex))return;const n=t.pointIndex;t.pointIndex=void 0,$Ae(this,e.id);const i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0},BAe.prototype.update=function(e){if(!this.show)return;let t;Object(r["a"])(this._labelCollection)&&this._labelCollection.length>0&&0===this._labelCollection.get(0)._glyphs.length&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),Object(r["a"])(this._billboardCollection)&&this._billboardCollection.length>0&&!Object(r["a"])(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,eTe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),Object(r["a"])(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),Object(r["a"])(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),Object(r["a"])(this._clusterPointCollection)&&this._clusterPointCollection.update(e),Object(r["a"])(this._labelCollection)&&this._labelCollection.update(e),Object(r["a"])(this._billboardCollection)&&this._billboardCollection.update(e),Object(r["a"])(this._pointCollection)&&this._pointCollection.update(e)},BAe.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),Object(r["a"])(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var tTe=BAe;function nTe(e){this._name=e,this._clock=void 0,this._changed=new pi["a"],this._error=new pi["a"],this._isLoading=!1,this._loading=new pi["a"],this._entityCollection=new iwe(this),this._entityCluster=new tTe}Object.defineProperties(nTe.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Rwe.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value must be defined.");this._entityCluster=e}}}),nTe.prototype.update=function(e){return!0};var iTe=nTe;const oTe=g.ZERO,rTe=new g,aTe=new g,sTe=new j_;function cTe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function lTe(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new cTe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}function uTe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(lTe.prototype=Object.create(DK.prototype),lTe.prototype.constructor=lTe),Object.defineProperties(lTe.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),lTe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o=new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),c=lw.fromDistanceDisplayCondition(s),l={show:o,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,sTe)),Object(r["a"])(t)||(t=j_.WHITE),l.color=R_.fromColor(t)}return Object(r["a"])(this._options.offsetAttribute)&&(l.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,oTe,rTe))),new Df({id:t,geometry:new QO(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,.5*this._options.length,this._scene.mapProjection.ellipsoid),attributes:l})},lTe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,sTe),s=this._distanceDisplayConditionProperty.getValue(e),c={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(s),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(c.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,oTe,rTe))),new Df({id:t,geometry:new iw(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,.5*this._options.length,this._scene.mapProjection.ellipsoid),attributes:c})},lTe.prototype._computeCenter=function(e,t){return QB.getValueOrUndefined(this._entity.position,e,t)},lTe.prototype._isHidden=function(e,t){return!Object(r["a"])(e.position)||!Object(r["a"])(t.length)||!Object(r["a"])(t.topRadius)||!Object(r["a"])(t.bottomRadius)||DK.prototype._isHidden.call(this,e,t)},lTe.prototype._isDynamic=function(e,t){return!e.position.isConstant||!QB.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!QB.isConstant(t.slices)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.numberOfVerticalLines)},lTe.prototype._setStaticOptions=function(e,t){const n=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Zk?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(kx.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(kx.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(kx.MINIMUM_VALUE),i.slices=QB.getValueOrUndefined(t.slices,kx.MINIMUM_VALUE),i.numberOfVerticalLines=QB.getValueOrUndefined(t.numberOfVerticalLines,kx.MINIMUM_VALUE),i.offsetAttribute=n!==qB.NONE?qh.ALL:void 0},lTe.prototype._onEntityPropertyChanged=FK,lTe.DynamicGeometryUpdater=uTe,Object(r["a"])(Object.create)&&(uTe.prototype=Object.create(LY.prototype),uTe.prototype.constructor=uTe),uTe.prototype._isHidden=function(e,t,n){const i=this._options,o=QB.getValueOrUndefined(e.position,n,aTe);return!Object(r["a"])(o)||!Object(r["a"])(i.length)||!Object(r["a"])(i.topRadius)||!Object(r["a"])(i.bottomRadius)||LY.prototype._isHidden.call(this,e,t,n)},uTe.prototype._setOptions=function(e,t,n){const i=QB.getValueOrDefault(t.heightReference,n,qB.NONE),o=this._options;o.length=QB.getValueOrUndefined(t.length,n),o.topRadius=QB.getValueOrUndefined(t.topRadius,n),o.bottomRadius=QB.getValueOrUndefined(t.bottomRadius,n),o.slices=QB.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=QB.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==qB.NONE?qh.ALL:void 0};var hTe=lTe;function dTe(){this._definitionChanged=new pi["a"],this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(dTe.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:CX("startTime"),stopTime:CX("stopTime"),currentTime:CX("currentTime"),clockRange:CX("clockRange"),clockStep:CX("clockStep"),multiplier:CX("multiplier")}),dTe.prototype.clone=function(e){return Object(r["a"])(e)||(e=new dTe),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e},dTe.prototype.equals=function(e){return this===e||Object(r["a"])(e)&&gr.equals(this.startTime,e.startTime)&&gr.equals(this.stopTime,e.stopTime)&&gr.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier},dTe.prototype.merge=function(e){if(!Object(r["a"])(e))throw new a["a"]("source is required.");this.startTime=Object(o["a"])(this.startTime,e.startTime),this.stopTime=Object(o["a"])(this.stopTime,e.stopTime),this.currentTime=Object(o["a"])(this.currentTime,e.currentTime),this.clockRange=Object(o["a"])(this.clockRange,e.clockRange),this.clockStep=Object(o["a"])(this.clockStep,e.clockStep),this.multiplier=Object(o["a"])(this.multiplier,e.multiplier)},dTe.prototype.getValue=function(e){return Object(r["a"])(e)||(e=new O_),e.startTime=Object(o["a"])(this.startTime,e.startTime),e.stopTime=Object(o["a"])(this.stopTime,e.stopTime),e.currentTime=Object(o["a"])(this.currentTime,e.currentTime),e.clockRange=Object(o["a"])(this.clockRange,e.clockRange),e.multiplier=Object(o["a"])(this.multiplier,e.multiplier),e.clockStep=Object(o["a"])(this.clockStep,e.clockStep),e};var fTe=dTe;const pTe=j_.WHITE,mTe=.1,_Te=new Ht(8,8),gTe=new Ht(0,0),bTe=new Ht(1,1);function yTe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(yTe.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)&&QB.isConstant(this._cellAlpha)&&QB.isConstant(this._lineCount)&&QB.isConstant(this._lineThickness)&&QB.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color"),cellAlpha:UB("cellAlpha"),lineCount:UB("lineCount"),lineThickness:UB("lineThickness"),lineOffset:UB("lineOffset")}),yTe.prototype.getType=function(e){return"Grid"},yTe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,pTe,t.color),t.cellAlpha=QB.getValueOrDefault(this._cellAlpha,e,mTe),t.lineCount=QB.getValueOrClonedDefault(this._lineCount,e,_Te,t.lineCount),t.lineThickness=QB.getValueOrClonedDefault(this._lineThickness,e,bTe,t.lineThickness),t.lineOffset=QB.getValueOrClonedDefault(this._lineOffset,e,gTe,t.lineOffset),t},yTe.prototype.equals=function(e){return this===e||e instanceof yTe&&QB.equals(this._color,e._color)&&QB.equals(this._cellAlpha,e._cellAlpha)&&QB.equals(this._lineCount,e._lineCount)&&QB.equals(this._lineThickness,e._lineThickness)&&QB.equals(this._lineOffset,e._lineOffset)};var vTe=yTe;function OTe(e){this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(OTe.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color")}),OTe.prototype.getType=function(e){return"PolylineArrow"},OTe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,j_.WHITE,t.color),t},OTe.prototype.equals=function(e){return this===e||e instanceof OTe&&QB.equals(this._color,e._color)};var wTe=OTe;const ATe=j_.WHITE,TTe=j_.TRANSPARENT,CTe=16,ETe=255;function xTe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(xTe.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)&&QB.isConstant(this._gapColor)&&QB.isConstant(this._dashLength)&&QB.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color"),gapColor:UB("gapColor"),dashLength:UB("dashLength"),dashPattern:UB("dashPattern")}),xTe.prototype.getType=function(e){return"PolylineDash"},xTe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,ATe,t.color),t.gapColor=QB.getValueOrClonedDefault(this._gapColor,e,TTe,t.gapColor),t.dashLength=QB.getValueOrDefault(this._dashLength,e,CTe,t.dashLength),t.dashPattern=QB.getValueOrDefault(this._dashPattern,e,ETe,t.dashPattern),t},xTe.prototype.equals=function(e){return this===e||e instanceof xTe&&QB.equals(this._color,e._color)&&QB.equals(this._gapColor,e._gapColor)&&QB.equals(this._dashLength,e._dashLength)&&QB.equals(this._dashPattern,e._dashPattern)};var STe=xTe;const ITe=j_.WHITE,DTe=.25,jTe=1;function PTe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(PTe.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)&&QB.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color"),glowPower:UB("glowPower"),taperPower:UB("taperPower")}),PTe.prototype.getType=function(e){return"PolylineGlow"},PTe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,ITe,t.color),t.glowPower=QB.getValueOrDefault(this._glowPower,e,DTe,t.glowPower),t.taperPower=QB.getValueOrDefault(this._taperPower,e,jTe,t.taperPower),t},PTe.prototype.equals=function(e){return this===e||e instanceof PTe&&QB.equals(this._color,e._color)&&QB.equals(this._glowPower,e._glowPower)&&QB.equals(this._taperPower,e._taperPower)};var RTe=PTe;const MTe=j_.WHITE,NTe=j_.BLACK,LTe=1;function BTe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(BTe.prototype,{isConstant:{get:function(){return QB.isConstant(this._color)&&QB.isConstant(this._outlineColor)&&QB.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:UB("color"),outlineColor:UB("outlineColor"),outlineWidth:UB("outlineWidth")}),BTe.prototype.getType=function(e){return"PolylineOutline"},BTe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.color=QB.getValueOrClonedDefault(this._color,e,MTe,t.color),t.outlineColor=QB.getValueOrClonedDefault(this._outlineColor,e,NTe,t.outlineColor),t.outlineWidth=QB.getValueOrDefault(this._outlineWidth,e,LTe),t},BTe.prototype.equals=function(e){return this===e||e instanceof BTe&&QB.equals(this._color,e._color)&&QB.equals(this._outlineColor,e._outlineColor)&&QB.equals(this._outlineWidth,e._outlineWidth)};var FTe=BTe;function kTe(e,t){this._value=void 0,this._definitionChanged=new pi["a"],this._eventHelper=new Jw,this._referenceFrame=Object(o["a"])(t,tP.FIXED),this.setValue(e)}Object.defineProperties(kTe.prototype,{isConstant:{get:function(){const e=this._value;if(!Object(r["a"])(e))return!0;const t=e.length;for(let n=0;n<t;n++)if(!QB.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),kTe.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},kTe.prototype.getValueInReferenceFrame=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceFrame is required.");const i=this._value;if(!Object(r["a"])(i))return;const o=i.length;Object(r["a"])(n)||(n=new Array(o));let s=0,c=0;while(s<o){const o=i[s],a=o.getValueInReferenceFrame(e,t,n[s]);Object(r["a"])(a)&&(n[c]=a,c++),s++}return n.length=c,n},kTe.prototype.setValue=function(e){const t=this._eventHelper;if(t.removeAll(),Object(r["a"])(e)){this._value=e.slice();const n=e.length;for(let i=0;i<n;i++){const n=e[i];Object(r["a"])(n)&&t.add(n.definitionChanged,kTe.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},kTe.prototype.equals=function(e){return this===e||e instanceof kTe&&this._referenceFrame===e._referenceFrame&&QB.arrayEquals(this._value,e._value)},kTe.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var zTe=kTe;function UTe(e){this._value=void 0,this._definitionChanged=new pi["a"],this._eventHelper=new Jw,this.setValue(e)}Object.defineProperties(UTe.prototype,{isConstant:{get:function(){const e=this._value;if(!Object(r["a"])(e))return!0;const t=e.length;for(let n=0;n<t;n++)if(!QB.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}}),UTe.prototype.getValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const n=this._value;if(!Object(r["a"])(n))return;const i=n.length;Object(r["a"])(t)||(t=new Array(i));let o=0,s=0;while(o<i){const n=this._value[o],i=n.getValue(e,t[o]);Object(r["a"])(i)&&(t[s]=i,s++),o++}return t.length=s,t},UTe.prototype.setValue=function(e){const t=this._eventHelper;if(t.removeAll(),Object(r["a"])(e)){this._value=e.slice();const n=e.length;for(let i=0;i<n;i++){const n=e[i];Object(r["a"])(n)&&t.add(n.definitionChanged,UTe.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},UTe.prototype.equals=function(e){return this===e||e instanceof UTe&&QB.arrayEquals(this._value,e._value)},UTe.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var VTe=UTe;function HTe(e){let t=e._targetProperty;if(!Object(r["a"])(t)){let n=e._targetEntity;if(!Object(r["a"])(n)){if(n=e._targetCollection.getById(e._targetId),!Object(r["a"])(n))return void(e._targetEntity=e._targetProperty=void 0);n.definitionChanged.addEventListener(GTe.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}const i=e._targetPropertyNames;t=e._targetEntity;for(let e=0,o=i.length;e<o&&Object(r["a"])(t);++e)t=t[i[e]];e._targetProperty=t}return t}function GTe(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("targetCollection is required.");if(!Object(r["a"])(t)||""===t)throw new a["a"]("targetId is required.");if(!Object(r["a"])(n)||0===n.length)throw new a["a"]("targetPropertyNames is required.");for(let i=0;i<n.length;i++){const e=n[i];if(!Object(r["a"])(e)||""===e)throw new a["a"]("reference contains invalid properties.")}this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new pi["a"],e.collectionChanged.addEventListener(GTe.prototype._onCollectionChanged,this)}Object.defineProperties(GTe.prototype,{isConstant:{get:function(){return QB.isConstant(HTe(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){const e=HTe(this);return Object(r["a"])(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return HTe(this)}}}),GTe.fromString=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("targetCollection is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceString is required.");let n;const i=[];let o=!0,s=!1,c="";for(let r=0;r<t.length;++r){const e=t.charAt(r);s?(c+=e,s=!1):"\\"===e?s=!0:o&&"#"===e?(n=c,o=!1,c=""):o||"."!==e?c+=e:(i.push(c),c="")}return i.push(c),new GTe(e,n,i)},GTe.prototype.getValue=function(e,t){const n=HTe(this);return Object(r["a"])(n)?n.getValue(e,t):void 0},GTe.prototype.getValueInReferenceFrame=function(e,t,n){const i=HTe(this);return Object(r["a"])(i)?i.getValueInReferenceFrame(e,t,n):void 0},GTe.prototype.getType=function(e){const t=HTe(this);return Object(r["a"])(t)?t.getType(e):void 0},GTe.prototype.equals=function(e){if(this===e)return!0;const t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;const i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0},GTe.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){Object(r["a"])(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))},GTe.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;Object(r["a"])(i)&&-1!==n.indexOf(i)?(i.definitionChanged.removeEventListener(GTe.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):Object(r["a"])(i)||(i=HTe(this),Object(r["a"])(i)&&this._definitionChanged.raiseEvent(this))};var qTe=GTe;const WTe={packedLength:1,pack:function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("value is required");if(!Object(r["a"])(t))throw new a["a"]("array is required");return n=Object(o["a"])(n,0),t[n]=e,t},unpack:function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("array is required");return t=Object(o["a"])(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("packedArray is required");let c;Object(r["a"])(i)||(i=[]),t=Object(o["a"])(t,0),n=Object(o["a"])(n,e.length);for(let o=0,r=n-t+1;o<r;o++){const n=e[t+o];0===o||Math.abs(c-n)<Math.PI?i[o]=n:i[o]=n-s["a"].TWO_PI,c=n}},unpackInterpolationResult:function(e,t,n,i,o){if(!Object(r["a"])(e))throw new a["a"]("array is required");if(!Object(r["a"])(t))throw new a["a"]("sourceArray is required");return o=e[0],o<0?o+s["a"].TWO_PI:o}};var YTe=WTe;const XTe={packedLength:1,pack:function(e,t,n){n=Object(o["a"])(n,0),t[n]=e},unpack:function(e,t,n){return t=Object(o["a"])(t,0),e[t]}};function KTe(e,t,n){let i;const o=e.length,r=n.length,a=o+r;if(e.length=a,o!==t){let n=o-1;for(i=a-1;i>=t;i--)e[i]=e[n--]}for(i=0;i<r;i++)e[t++]=n[i]}function JTe(e,t){return e instanceof gr?e:"string"===typeof e?gr.fromIso8601(e):gr.addSeconds(t,e,new gr)}const ZTe=[],$Te=[];function QTe(e,t,n,i,o){let a,s,c,l,u,h,d=0;while(d<i.length){u=JTe(i[d],e),c=Bo(t,u,gr.compare);let f=0,p=0;if(c<0){c=~c,l=c*o,s=void 0,h=t[c];while(d<i.length){if(u=JTe(i[d],e),Object(r["a"])(s)&&gr.compare(s,u)>=0||Object(r["a"])(h)&&gr.compare(u,h)>=0)break;for(ZTe[f++]=u,d+=1,a=0;a<o;a++)$Te[p++]=i[d],d+=1;s=u}f>0&&($Te.length=p,KTe(n,l,$Te),ZTe.length=f,KTe(t,c,ZTe))}else{for(a=0;a<o;a++)d++,n[c*o+a]=i[d];d++}}}function eCe(e,t){i["a"].defined("type",e);let n=e;n===Number&&(n=XTe);let a,s=n.packedLength,c=Object(o["a"])(n.packedInterpolationLength,s),l=0;if(Object(r["a"])(t)){const e=t.length;a=new Array(e);for(let n=0;n<e;n++){let e=t[n];e===Number&&(e=XTe);const i=e.packedLength;s+=i,c+=Object(o["a"])(e.packedInterpolationLength,i),a[n]=e}l=e}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=Xx,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=s,this._packedInterpolationLength=c,this._updateTableLength=!0,this._interpolationResult=new Array(c),this._definitionChanged=new pi["a"],this._derivativeTypes=t,this._innerDerivativeTypes=a,this._inputOrder=l,this._forwardExtrapolationType=eA.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=eA.NONE,this._backwardExtrapolationDuration=0}function tCe(e,t,n){const i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}Object.defineProperties(eCe.prototype,{isConstant:{get:function(){return 0===this._values.length}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}}),eCe.prototype.getValue=function(e,t){i["a"].defined("time",e);const n=this._times,o=n.length;if(0===o)return;let a;const s=this._innerType,c=this._values;let l=Bo(n,e,gr.compare);if(l<0){if(l=~l,0===l){const i=n[l];if(a=this._backwardExtrapolationDuration,this._backwardExtrapolationType===eA.NONE||0!==a&&gr.secondsDifference(i,e)>a)return;if(this._backwardExtrapolationType===eA.HOLD)return s.unpack(c,0,t)}if(l>=o){l=o-1;const i=n[l];if(a=this._forwardExtrapolationDuration,this._forwardExtrapolationType===eA.NONE||0!==a&&gr.secondsDifference(e,i)>a)return;if(this._forwardExtrapolationType===eA.HOLD)return l=o-1,s.unpack(c,l*s.packedLength,t)}const i=this._xTable,u=this._yTable,h=this._interpolationAlgorithm,d=this._packedInterpolationLength,f=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;const e=Math.min(h.getRequiredDataPoints(this._interpolationDegree,f),o);e!==this._numberOfPoints&&(this._numberOfPoints=e,i.length=e,u.length=e*d)}const p=this._numberOfPoints-1;if(p<1)return;let m=0,_=o-1;const g=_-m+1;if(g>=p+1){let e=l-(p/2|0)-1;e<m&&(e=m);let t=e+p;t>_&&(t=_,e=t-p,e<m&&(e=m)),m=e,_=t}const b=_-m+1;for(let e=0;e<b;++e)i[e]=gr.secondsDifference(n[m+e],n[_]);if(Object(r["a"])(s.convertPackedArrayForInterpolation))s.convertPackedArrayForInterpolation(c,m,_,u);else{let e=0;const t=this._packedLength;let n=m*t;const i=(_+1)*t;while(n<i)u[e]=c[n],n++,e++}const y=gr.secondsDifference(e,n[_]);let v;if(0!==f&&Object(r["a"])(h.interpolate)){const e=Math.floor(d/(f+1));v=h.interpolate(y,i,u,e,f,f,this._interpolationResult)}else v=h.interpolateOrderZero(y,i,u,d,this._interpolationResult);return Object(r["a"])(s.unpackInterpolationResult)?s.unpackInterpolationResult(v,c,m,_,t):s.unpack(v,0,t)}return s.unpack(c,l*this._packedLength,t)},eCe.prototype.setInterpolationOptions=function(e){if(!Object(r["a"])(e))return;let t=!1;const n=e.interpolationAlgorithm,i=e.interpolationDegree;Object(r["a"])(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),Object(r["a"])(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))},eCe.prototype.addSample=function(e,t,n){const o=this._innerDerivativeTypes,a=Object(r["a"])(o);i["a"].defined("time",e),i["a"].defined("value",t),a&&i["a"].defined("derivatives",n);const s=this._innerType,c=[];if(c.push(e),s.pack(t,c,c.length),a){const e=o.length;for(let t=0;t<e;t++)o[t].pack(n[t],c,c.length)}QTe(void 0,this._times,this._values,c,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},eCe.prototype.addSamples=function(e,t,n){const o=this._innerDerivativeTypes,s=Object(r["a"])(o);if(i["a"].defined("times",e),i["a"].defined("values",t),e.length!==t.length)throw new a["a"]("times and values must be the same length.");if(s&&(!Object(r["a"])(n)||n.length!==e.length))throw new a["a"]("times and derivativeValues must be the same length.");const c=this._innerType,l=e.length,u=[];for(let i=0;i<l;i++)if(u.push(e[i]),c.pack(t[i],u,u.length),s){const e=n[i],t=o.length;for(let n=0;n<t;n++)o[n].pack(e[n],u,u.length)}QTe(void 0,this._times,this._values,u,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},eCe.prototype.addSamplesPackedArray=function(e,t){i["a"].defined("packedSamples",e),QTe(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},eCe.prototype.removeSample=function(e){i["a"].defined("time",e);const t=Bo(this._times,e,gr.compare);return!(t<0)&&(tCe(this,t,1),!0)},eCe.prototype.removeSamples=function(e){i["a"].defined("timeInterval",e);const t=this._times;let n=Bo(t,e.start,gr.compare);n<0?n=~n:e.isStartIncluded||++n;let o=Bo(t,e.stop,gr.compare);o<0?o=~o:e.isStopIncluded&&++o,tCe(this,n,o-n)},eCe.prototype.equals=function(e){if(this===e)return!0;if(!Object(r["a"])(e))return!1;if(this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;const t=this._derivativeTypes,n=Object(r["a"])(t),i=e._derivativeTypes,o=Object(r["a"])(i);if(n!==o)return!1;let a,s;if(n){if(s=t.length,s!==i.length)return!1;for(a=0;a<s;a++)if(t[a]!==i[a])return!1}const c=this._times,l=e._times;if(s=c.length,s!==l.length)return!1;for(a=0;a<s;a++)if(!gr.equals(c[a],l[a]))return!1;const u=this._values,h=e._values;for(s=u.length,a=0;a<s;a++)if(u[a]!==h[a])return!1;return!0},eCe._mergeNewSamples=QTe;var nCe=eCe;function iCe(e,t){let n;if(t=Object(o["a"])(t,0),t>0){n=new Array(t);for(let e=0;e<t;e++)n[e]=g}this._numberOfDerivatives=t,this._property=new nCe(g,n),this._definitionChanged=new pi["a"],this._referenceFrame=Object(o["a"])(e,tP.FIXED),this._property._definitionChanged.addEventListener((function(){this._definitionChanged.raiseEvent(this)}),this)}Object.defineProperties(iCe.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}}),iCe.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},iCe.prototype.getValueInReferenceFrame=function(e,t,n){if(i["a"].defined("time",e),i["a"].defined("referenceFrame",t),n=this._property.getValue(e,n),Object(r["a"])(n))return bX.convertToReferenceFrame(e,n,this._referenceFrame,t,n)},iCe.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)},iCe.prototype.addSample=function(e,t,n){const i=this._numberOfDerivatives;if(i>0&&(!Object(r["a"])(n)||n.length!==i))throw new a["a"]("derivatives length must be equal to the number of derivatives.");this._property.addSample(e,t,n)},iCe.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)},iCe.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)},iCe.prototype.removeSample=function(e){return this._property.removeSample(e)},iCe.prototype.removeSamples=function(e){this._property.removeSamples(e)},iCe.prototype.equals=function(e){return this===e||e instanceof iCe&&QB.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var oCe=iCe;const rCe={HORIZONTAL:0,VERTICAL:1};var aCe=Object.freeze(rCe);const sCe=aCe.HORIZONTAL,cCe=j_.WHITE,lCe=j_.BLACK,uCe=0,hCe=1;function dCe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._definitionChanged=new pi["a"],this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(dCe.prototype,{isConstant:{get:function(){return QB.isConstant(this._orientation)&&QB.isConstant(this._evenColor)&&QB.isConstant(this._oddColor)&&QB.isConstant(this._offset)&&QB.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:UB("orientation"),evenColor:UB("evenColor"),oddColor:UB("oddColor"),offset:UB("offset"),repeat:UB("repeat")}),dCe.prototype.getType=function(e){return"Stripe"},dCe.prototype.getValue=function(e,t){return Object(r["a"])(t)||(t={}),t.horizontal=QB.getValueOrDefault(this._orientation,e,sCe)===aCe.HORIZONTAL,t.evenColor=QB.getValueOrClonedDefault(this._evenColor,e,cCe,t.evenColor),t.oddColor=QB.getValueOrClonedDefault(this._oddColor,e,lCe,t.oddColor),t.offset=QB.getValueOrDefault(this._offset,e,uCe),t.repeat=QB.getValueOrDefault(this._repeat,e,hCe),t},dCe.prototype.equals=function(e){return this===e||e instanceof dCe&&QB.equals(this._orientation,e._orientation)&&QB.equals(this._evenColor,e._evenColor)&&QB.equals(this._oddColor,e._oddColor)&&QB.equals(this._offset,e._offset)&&QB.equals(this._repeat,e._repeat)};var fCe=dCe;function pCe(e){this._definitionChanged=new pi["a"],this._intervals=new CN,this._intervals.changedEvent.addEventListener(pCe.prototype._intervalsChanged,this),this._referenceFrame=Object(o["a"])(e,tP.FIXED)}Object.defineProperties(pCe.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}}),pCe.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},pCe.prototype.getValueInReferenceFrame=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceFrame is required.");const i=this._intervals.findDataForIntervalContainingDate(e);if(Object(r["a"])(i))return bX.convertToReferenceFrame(e,i,this._referenceFrame,t,n)},pCe.prototype.equals=function(e){return this===e||e instanceof pCe&&this._intervals.equals(e._intervals,QB.equals)&&this._referenceFrame===e._referenceFrame},pCe.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var mCe=pCe;function _Ce(){this._definitionChanged=new pi["a"],this._intervals=new CN,this._intervals.changedEvent.addEventListener(_Ce.prototype._intervalsChanged,this)}Object.defineProperties(_Ce.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),_Ce.prototype.getValue=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("time is required");const n=this._intervals.findDataForIntervalContainingDate(e);return Object(r["a"])(n)&&"function"===typeof n.clone?n.clone(t):n},_Ce.prototype.equals=function(e){return this===e||e instanceof _Ce&&this._intervals.equals(e._intervals,QB.equals)},_Ce.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var gCe=_Ce;function bCe(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new pi["a"],this._normalize=Object(o["a"])(t,!0),this.position=e}Object.defineProperties(bCe.prototype,{isConstant:{get:function(){return QB.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){const t=this._position;t!==e&&(Object(r["a"])(t)&&this._subscription(),this._position=e,Object(r["a"])(e)&&(this._subscription=e._definitionChanged.addEventListener((function(){this._definitionChanged.raiseEvent(this)}),this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});const yCe=new g,vCe=new g,OCe=new gr,wCe=1/60;bCe.prototype.getValue=function(e,t){return this._getValue(e,t)},bCe.prototype._getValue=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required");Object(r["a"])(t)||(t=new g);const i=this._position;if(QB.isConstant(i))return this._normalize?void 0:g.clone(g.ZERO,t);let o=i.getValue(e,yCe),s=i.getValue(gr.addSeconds(e,wCe,OCe),vCe);if(!Object(r["a"])(o))return;if(!Object(r["a"])(s)&&(s=o,o=i.getValue(gr.addSeconds(e,-wCe,OCe),vCe),!Object(r["a"])(o)))return;if(g.equals(o,s))return this._normalize?void 0:g.clone(g.ZERO,t);Object(r["a"])(n)&&o.clone(n);const c=g.subtract(s,o,t);return this._normalize?g.normalize(c,t):g.divideByScalar(c,wCe,t)},bCe.prototype.equals=function(e){return this===e||e instanceof bCe&&QB.equals(this._position,e._position)};var ACe=bCe;function TCe(e,t){this._velocityVectorProperty=new ACe(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new pi["a"],this.ellipsoid=Object(o["a"])(t,z.WGS84);const n=this;this._velocityVectorProperty.definitionChanged.addEventListener((function(){n._definitionChanged.raiseEvent(n)}))}Object.defineProperties(TCe.prototype,{isConstant:{get:function(){return QB.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){const t=this._ellipsoid;t!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});const CCe=new g,ECe=new g,xCe=new ce;TCe.prototype.getValue=function(e,t){const n=this._velocityVectorProperty._getValue(e,ECe,CCe);if(Object(r["a"])(n))return Hs.rotationMatrixFromPositionVelocity(CCe,n,this._ellipsoid,xCe),$a.fromRotationMatrix(xCe,t)},TCe.prototype.equals=function(e){return this===e||e instanceof TCe&&QB.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var SCe=TCe;function ICe(){}let DCe;function jCe(e,t){return"#"===t[0]&&(t=DCe+t),qTe.fromString(e,t)}function PCe(e,t,n){if(Object(r["a"])(n.reference))return jCe(t,n.reference);if(Object(r["a"])(n.velocityReference)){const i=jCe(t,n.velocityReference);switch(e){case g:case ICe:return new ACe(i,e===ICe);case $a:return new SCe(i)}}throw new ye["a"](JSON.stringify(n)+" is not valid CZML.")}function RCe(e,t){return new PK((function(n,i){return t(e.getValue(n,i))}),e.isConstant)}ICe.packedLength=g.packedLength,ICe.unpack=g.unpack,ICe.pack=g.pack;const MCe=new g,NCe=new cN,LCe=new I,BCe=new Mx,FCe=new $a;function kCe(e){let t=e.rgbaf;if(Object(r["a"])(t))return t;const n=e.rgba;if(!Object(r["a"])(n))return;const i=n.length;if(i===j_.packedLength)return[j_.byteToFloat(n[0]),j_.byteToFloat(n[1]),j_.byteToFloat(n[2]),j_.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=j_.byteToFloat(n[o+1]),t[o+2]=j_.byteToFloat(n[o+2]),t[o+3]=j_.byteToFloat(n[o+3]),t[o+4]=j_.byteToFloat(n[o+4]);return t}function zCe(e,t){const n=Object(o["a"])(e.uri,e);return Object(r["a"])(t)?t.getDerivedResource({url:n}):Et["a"].createIfNeeded(n)}function UCe(e){let t=e.wsen;if(Object(r["a"])(t))return t;const n=e.wsenDegrees;if(!Object(r["a"])(n))return;const i=n.length;if(i===Fe.packedLength)return[s["a"].toRadians(n[0]),s["a"].toRadians(n[1]),s["a"].toRadians(n[2]),s["a"].toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=s["a"].toRadians(n[o+1]),t[o+2]=s["a"].toRadians(n[o+2]),t[o+3]=s["a"].toRadians(n[o+3]),t[o+4]=s["a"].toRadians(n[o+4]);return t}function VCe(e){const t=e.length;if(NCe.magnitude=1,2===t)return NCe.clock=e[0],NCe.cone=e[1],g.fromSpherical(NCe,MCe),[MCe.x,MCe.y,MCe.z];const n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],NCe.clock=e[i+1],NCe.cone=e[i+2],g.fromSpherical(NCe,MCe),n[o+1]=MCe.x,n[o+2]=MCe.y,n[o+3]=MCe.z;return n}function HCe(e){const t=e.length;if(3===t)return NCe.clock=e[0],NCe.cone=e[1],NCe.magnitude=e[2],g.fromSpherical(NCe,MCe),[MCe.x,MCe.y,MCe.z];const n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],NCe.clock=e[i+1],NCe.cone=e[i+2],NCe.magnitude=e[i+3],g.fromSpherical(NCe,MCe),n[i+1]=MCe.x,n[i+2]=MCe.y,n[i+3]=MCe.z;return n}function GCe(e){const t=e.length;if(3===t)return LCe.longitude=e[0],LCe.latitude=e[1],LCe.height=e[2],z.WGS84.cartographicToCartesian(LCe,MCe),[MCe.x,MCe.y,MCe.z];const n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],LCe.longitude=e[i+1],LCe.latitude=e[i+2],LCe.height=e[i+3],z.WGS84.cartographicToCartesian(LCe,MCe),n[i+1]=MCe.x,n[i+2]=MCe.y,n[i+3]=MCe.z;return n}function qCe(e){const t=e.length;if(3===t)return LCe.longitude=s["a"].toRadians(e[0]),LCe.latitude=s["a"].toRadians(e[1]),LCe.height=e[2],z.WGS84.cartographicToCartesian(LCe,MCe),[MCe.x,MCe.y,MCe.z];const n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],LCe.longitude=s["a"].toRadians(e[i+1]),LCe.latitude=s["a"].toRadians(e[i+2]),LCe.height=e[i+3],z.WGS84.cartographicToCartesian(LCe,MCe),n[i+1]=MCe.x,n[i+2]=MCe.y,n[i+3]=MCe.z;return n}function WCe(e){const t=e.cartesian;if(Object(r["a"])(t))return t;const n=e.cartesianVelocity;if(Object(r["a"])(n))return n;const i=e.unitCartesian;if(Object(r["a"])(i))return i;const o=e.unitSpherical;if(Object(r["a"])(o))return VCe(o);const a=e.spherical;if(Object(r["a"])(a))return HCe(a);const s=e.cartographicRadians;if(Object(r["a"])(s))return GCe(s);const c=e.cartographicDegrees;if(Object(r["a"])(c))return qCe(c);throw new ye["a"](JSON.stringify(e)+" is not a valid CZML interval.")}function YCe(e,t){g.unpack(e,t,MCe),g.normalize(MCe,MCe),g.pack(MCe,e,t)}function XCe(e){const t=WCe(e);if(3===t.length)return YCe(t,0),t;for(let n=1;n<t.length;n+=4)YCe(t,n);return t}function KCe(e,t){$a.unpack(e,t,FCe),$a.normalize(FCe,FCe),$a.pack(FCe,e,t)}function JCe(e){const t=e.unitQuaternion;if(Object(r["a"])(t)){if(4===t.length)return KCe(t,0),t;for(let e=1;e<t.length;e+=5)KCe(t,e)}return t}function ZCe(e){return"boolean"===typeof e?Boolean:"number"===typeof e?Number:"string"===typeof e?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?Oh:e.hasOwnProperty("cartesian2")?Ht:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?g:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?ICe:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?j_:e.hasOwnProperty("arcType")?hh:e.hasOwnProperty("classificationType")?wG:e.hasOwnProperty("colorBlendMode")?L2:e.hasOwnProperty("cornerType")?iy:e.hasOwnProperty("heightReference")?qB:e.hasOwnProperty("horizontalOrigin")?YB:e.hasOwnProperty("date")?gr:e.hasOwnProperty("labelStyle")?Jre:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?cS:e.hasOwnProperty("distanceDisplayCondition")?sw:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?$a:e.hasOwnProperty("shadowMode")?wq:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?aCe:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?Fe:e.hasOwnProperty("uri")?Hl["a"]:e.hasOwnProperty("verticalOrigin")?KB:Object}function $Ce(e,t,n){switch(e){case hh:return hh[Object(o["a"])(t.arcType,t)];case Array:return t.array;case Boolean:return Object(o["a"])(t["boolean"],t);case Oh:return t.boundingRectangle;case Ht:return t.cartesian2;case g:return WCe(t);case ICe:return XCe(t);case j_:return kCe(t);case wG:return wG[Object(o["a"])(t.classificationType,t)];case L2:return L2[Object(o["a"])(t.colorBlendMode,t)];case iy:return iy[Object(o["a"])(t.cornerType,t)];case qB:return qB[Object(o["a"])(t.heightReference,t)];case YB:return YB[Object(o["a"])(t.horizontalOrigin,t)];case Image:return zCe(t,n);case gr:return gr.fromIso8601(Object(o["a"])(t.date,t));case Jre:return Jre[Object(o["a"])(t.labelStyle,t)];case Number:return Object(o["a"])(t.number,t);case cS:return t.nearFarScalar;case sw:return t.distanceDisplayCondition;case Object:return Object(o["a"])(Object(o["a"])(t.object,t.value),t);case $a:return JCe(t);case YTe:return Object(o["a"])(t.number,t);case wq:return wq[Object(o["a"])(Object(o["a"])(t.shadowMode,t.shadows),t)];case String:return Object(o["a"])(t.string,t);case aCe:return aCe[Object(o["a"])(t.stripeOrientation,t)];case Fe:return UCe(t);case Hl["a"]:return zCe(t,n);case KB:return KB[Object(o["a"])(t.verticalOrigin,t)];default:throw new ye["a"](e)}}const QCe={HERMITE:kE,LAGRANGE:Wx,LINEAR:Xx};function eEe(e,t){const n=e.interpolationAlgorithm,i=e.interpolationDegree;(Object(r["a"])(n)||Object(r["a"])(i))&&t.setInterpolationOptions({interpolationAlgorithm:QCe[n],interpolationDegree:i});const o=e.forwardExtrapolationType;Object(r["a"])(o)&&(t.forwardExtrapolationType=eA[o]);const a=e.forwardExtrapolationDuration;Object(r["a"])(a)&&(t.forwardExtrapolationDuration=a);const s=e.backwardExtrapolationType;Object(r["a"])(s)&&(t.backwardExtrapolationType=eA[s]);const c=e.backwardExtrapolationDuration;Object(r["a"])(c)&&(t.backwardExtrapolationDuration=c)}const tEe={iso8601:void 0};function nEe(e){if(Object(r["a"])(e))return tEe.iso8601=e,Mx.fromIso8601(tEe)}function iEe(e){const t=kx.MAXIMUM_INTERVAL.clone();return t.data=e,t}function oEe(e){const t=new _we;return t.intervals.addInterval(iEe(e)),t}function rEe(e){const t=new vwe(e.referenceFrame);return t.intervals.addInterval(iEe(e)),t}function aEe(e,t,n,i,a,s,c){let l,u,h,d=nEe(i.interval);Object(r["a"])(a)&&(d=Object(r["a"])(d)?Mx.intersect(d,a,BCe):a);const f=!Object(r["a"])(i.reference)&&!Object(r["a"])(i.velocityReference),p=Object(r["a"])(d)&&!d.equals(kx.MAXIMUM_INTERVAL);if(!0===i.delete)return p?sEe(t[n],d):void(t[n]=void 0);let m=!1;if(f){if(u=$Ce(e,i,s),!Object(r["a"])(u))return;l=Object(o["a"])(e.packedLength,1),h=Object(o["a"])(u.length,1),m=!Object(r["a"])(i.array)&&"string"!==typeof u&&h>l&&e!==Object}const _="function"===typeof e.unpack&&e!==YTe;if(!m&&!p)return void(t[n]=f?new BB(_?e.unpack(u,0):u):PCe(e,c,i));let g,b=t[n];const y=i.epoch;if(Object(r["a"])(y)&&(g=gr.fromIso8601(y)),m&&!p)return b instanceof nCe||(t[n]=b=new nCe(e)),b.addSamplesPackedArray(u,g),void eEe(i,b);let v;if(!m&&p)return d=d.clone(),d.data=f?_?e.unpack(u,0):u:PCe(e,c,i),Object(r["a"])(b)||(t[n]=b=f?new gCe:new _we),void(f&&b instanceof gCe?b.intervals.addInterval(d):b instanceof _we?(f&&(d.data=new BB(d.data)),b.intervals.addInterval(d)):(t[n]=b=oEe(b),f&&(d.data=new BB(d.data)),b.intervals.addInterval(d)));Object(r["a"])(b)||(t[n]=b=new _we),b instanceof _we||(t[n]=b=oEe(b));const O=b.intervals;v=O.findInterval(d),Object(r["a"])(v)&&v.data instanceof nCe||(v=d.clone(),v.data=new nCe(e),O.addInterval(v)),v.data.addSamplesPackedArray(u,g),eEe(i,v.data)}function sEe(e,t){if(e instanceof nCe)e.removeSamples(t);else if(e instanceof gCe)e.intervals.removeInterval(t);else if(e instanceof _we){const n=e.intervals;for(let e=0;e<n.length;++e){const i=Mx.intersect(n.get(e),t,BCe);i.isEmpty||sEe(i.data,t)}n.removeInterval(t)}else;}function cEe(e,t,n,i,o,a,s){if(Object(r["a"])(i))if(Array.isArray(i))for(let r=0,c=i.length;r<c;++r)aEe(e,t,n,i[r],o,a,s);else aEe(e,t,n,i,o,a,s)}function lEe(e,t,n,i,a,s){let c=nEe(n.interval);Object(r["a"])(i)&&(c=Object(r["a"])(c)?Mx.intersect(c,i,BCe):i);const l=Object(r["a"])(n.cartesianVelocity)?1:0,u=g.packedLength*(l+1);let h,d;const f=!Object(r["a"])(n.reference),p=Object(r["a"])(c)&&!c.equals(kx.MAXIMUM_INTERVAL);if(!0===n.delete)return p?uEe(e[t],c):void(e[t]=void 0);let m,_=!1;if(f&&(Object(r["a"])(n.referenceFrame)&&(m=tP[n.referenceFrame]),m=Object(o["a"])(m,tP.FIXED),h=WCe(n),d=Object(o["a"])(h.length,1),_=d>u),!_&&!p)return void(e[t]=f?new vX(g.unpack(h),m):jCe(s,n.reference));let b,y=e[t];const v=n.epoch;if(Object(r["a"])(v)&&(b=gr.fromIso8601(v)),_&&!p)return y instanceof oCe&&(!Object(r["a"])(m)||y.referenceFrame===m)||(e[t]=y=new oCe(m,l)),y.addSamplesPackedArray(h,b),void eEe(n,y);let O;if(!_&&p)return c=c.clone(),c.data=f?g.unpack(h):jCe(s,n.reference),Object(r["a"])(y)||(y=f?new mCe(m):new vwe(m),e[t]=y),void(f&&y instanceof mCe&&Object(r["a"])(m)&&y.referenceFrame===m?y.intervals.addInterval(c):y instanceof vwe?(f&&(c.data=new vX(c.data,m)),y.intervals.addInterval(c)):(e[t]=y=rEe(y),f&&(c.data=new vX(c.data,m)),y.intervals.addInterval(c)));Object(r["a"])(y)?y instanceof vwe||(e[t]=y=rEe(y)):e[t]=y=new vwe(m);const w=y.intervals;O=w.findInterval(c),Object(r["a"])(O)&&O.data instanceof oCe&&(!Object(r["a"])(m)||O.data.referenceFrame===m)||(O=c.clone(),O.data=new oCe(m,l),w.addInterval(O)),O.data.addSamplesPackedArray(h,b),eEe(n,O.data)}function uEe(e,t){if(e instanceof oCe)e.removeSamples(t);else if(e instanceof mCe)e.intervals.removeInterval(t);else if(e instanceof vwe){const n=e.intervals;for(let e=0;e<n.length;++e){const i=Mx.intersect(n.get(e),t,BCe);i.isEmpty||uEe(i.data,t)}n.removeInterval(t)}else;}function hEe(e,t,n,i,o,a){if(Object(r["a"])(n))if(Array.isArray(n))for(let r=0,s=n.length;r<s;++r)lEe(e,t,n[r],i,o,a);else lEe(e,t,n,i,o,a)}function dEe(e,t,n,i){Object(r["a"])(n.references)?OEe(e,t,n.references,n.interval,i,VTe,_we):(Object(r["a"])(n.cartesian2)?n.array=Ht.unpackArray(n.cartesian2):Object(r["a"])(n.cartesian)&&(n.array=Ht.unpackArray(n.cartesian)),Object(r["a"])(n.array)&&cEe(Array,e,t,n,void 0,void 0,i))}function fEe(e,t,n,i,o,a){let s=nEe(n.interval);Object(r["a"])(i)&&(s=Object(r["a"])(s)?Mx.intersect(s,i,BCe):i);let c,l,u,h=e[t];if(Object(r["a"])(s)){h instanceof bwe||(h=new bwe,e[t]=h);const n=h.intervals;l=n.findInterval({start:s.start,stop:s.stop}),Object(r["a"])(l)?c=l.data:(l=s.clone(),n.addInterval(l))}else c=h;Object(r["a"])(n.solidColor)?(c instanceof Zk||(c=new Zk),u=n.solidColor,cEe(j_,c,"color",u.color,void 0,void 0,a)):Object(r["a"])(n.grid)?(c instanceof vTe||(c=new vTe),u=n.grid,cEe(j_,c,"color",u.color,void 0,o,a),cEe(Number,c,"cellAlpha",u.cellAlpha,void 0,o,a),cEe(Ht,c,"lineCount",u.lineCount,void 0,o,a),cEe(Ht,c,"lineThickness",u.lineThickness,void 0,o,a),cEe(Ht,c,"lineOffset",u.lineOffset,void 0,o,a)):Object(r["a"])(n.image)?(c instanceof uX||(c=new uX),u=n.image,cEe(Image,c,"image",u.image,void 0,o,a),cEe(Ht,c,"repeat",u.repeat,void 0,o,a),cEe(j_,c,"color",u.color,void 0,o,a),cEe(Boolean,c,"transparent",u.transparent,void 0,o,a)):Object(r["a"])(n.stripe)?(c instanceof fCe||(c=new fCe),u=n.stripe,cEe(aCe,c,"orientation",u.orientation,void 0,o,a),cEe(j_,c,"evenColor",u.evenColor,void 0,o,a),cEe(j_,c,"oddColor",u.oddColor,void 0,o,a),cEe(Number,c,"offset",u.offset,void 0,o,a),cEe(Number,c,"repeat",u.repeat,void 0,o,a)):Object(r["a"])(n.polylineOutline)?(c instanceof FTe||(c=new FTe),u=n.polylineOutline,cEe(j_,c,"color",u.color,void 0,o,a),cEe(j_,c,"outlineColor",u.outlineColor,void 0,o,a),cEe(Number,c,"outlineWidth",u.outlineWidth,void 0,o,a)):Object(r["a"])(n.polylineGlow)?(c instanceof RTe||(c=new RTe),u=n.polylineGlow,cEe(j_,c,"color",u.color,void 0,o,a),cEe(Number,c,"glowPower",u.glowPower,void 0,o,a),cEe(Number,c,"taperPower",u.taperPower,void 0,o,a)):Object(r["a"])(n.polylineArrow)?(c instanceof wTe||(c=new wTe),u=n.polylineArrow,cEe(j_,c,"color",u.color,void 0,void 0,a)):Object(r["a"])(n.polylineDash)?(c instanceof STe||(c=new STe),u=n.polylineDash,cEe(j_,c,"color",u.color,void 0,void 0,a),cEe(j_,c,"gapColor",u.gapColor,void 0,void 0,a),cEe(Number,c,"dashLength",u.dashLength,void 0,o,a),cEe(Number,c,"dashPattern",u.dashPattern,void 0,o,a)):Object(r["a"])(n.checkerboard)&&(c instanceof QOe||(c=new QOe),u=n.checkerboard,cEe(j_,c,"evenColor",u.evenColor,void 0,o,a),cEe(j_,c,"oddColor",u.oddColor,void 0,o,a),cEe(Ht,c,"repeat",u.repeat,void 0,o,a)),Object(r["a"])(l)?l.data=c:e[t]=c}function pEe(e,t,n,i,o,a){if(Object(r["a"])(n))if(Array.isArray(n))for(let r=0,s=n.length;r<s;++r)fEe(e,t,n[r],i,o,a);else fEe(e,t,n,i,o,a)}function mEe(e,t,n,i){const o=t.name;Object(r["a"])(o)&&(e.name=t.name)}function _Ee(e,t,n,i){const o=t.description;Object(r["a"])(o)&&cEe(String,e,"description",o,void 0,i,n)}function gEe(e,t,n,i){const o=t.position;Object(r["a"])(o)&&hEe(e,"position",o,void 0,i,n)}function bEe(e,t,n,i){const o=t.viewFrom;Object(r["a"])(o)&&cEe(g,e,"viewFrom",o,void 0,i,n)}function yEe(e,t,n,i){const o=t.orientation;Object(r["a"])(o)&&cEe($a,e,"orientation",o,void 0,i,n)}function vEe(e,t,n,i){const o=t.properties;if(Object(r["a"])(o)){Object(r["a"])(e.properties)||(e.properties=new zX);for(const t in o)if(o.hasOwnProperty(t)){e.properties.hasProperty(t)||e.properties.addProperty(t);const r=o[t];if(Array.isArray(r))for(let o=0,a=r.length;o<a;++o)aEe(ZCe(r[o]),e.properties,t,r[o],void 0,i,n);else aEe(ZCe(r),e.properties,t,r,void 0,i,n)}}}function OEe(e,t,n,i,o,a,s){const c=n.map((function(e){return jCe(o,e)}));if(Object(r["a"])(i)){i=nEe(i);let n=e[t];if(!(n instanceof s)){const i=new s;i.intervals.addInterval(iEe(n)),e[t]=n=i}i.data=new a(c),n.intervals.addInterval(i)}else e[t]=new a(c)}function wEe(e,t,n,i){const o=n.references;Object(r["a"])(o)?OEe(e,t,o,n.interval,i,VTe,_we):cEe(Array,e,t,n,void 0,void 0,i)}function AEe(e,t,n,i){if(Object(r["a"])(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)wEe(e,t,n[o],i);else wEe(e,t,n,i)}function TEe(e,t,n,i){const o=n.references;Object(r["a"])(o)?OEe(e,t,o,n.interval,i,zTe,vwe):(Object(r["a"])(n.cartesian)?n.array=g.unpackArray(n.cartesian):Object(r["a"])(n.cartographicRadians)?n.array=g.fromRadiansArrayHeights(n.cartographicRadians):Object(r["a"])(n.cartographicDegrees)&&(n.array=g.fromDegreesArrayHeights(n.cartographicDegrees)),Object(r["a"])(n.array)&&cEe(Array,e,t,n,void 0,void 0,i))}function CEe(e,t,n,i){if(Object(r["a"])(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)TEe(e,t,n[o],i);else TEe(e,t,n,i)}function EEe(e){return g.unpackArray(e)}function xEe(e){return g.fromRadiansArrayHeights(e)}function SEe(e){return g.fromDegreesArrayHeights(e)}function IEe(e,t,n,i){const o=n.references;if(Object(r["a"])(o)){const r=o.map((function(e){const t={};return OEe(t,"positions",e,n.interval,i,zTe,vwe),t.positions}));e[t]=new zTe(r)}else Object(r["a"])(n.cartesian)?n.array=n.cartesian.map(EEe):Object(r["a"])(n.cartographicRadians)?n.array=n.cartographicRadians.map(xEe):Object(r["a"])(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(SEe)),Object(r["a"])(n.array)&&cEe(Array,e,t,n,void 0,void 0,i)}function DEe(e,t,n,i){if(Object(r["a"])(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)IEe(e,t,n[o],i);else IEe(e,t,n,i)}function jEe(e,t,n,i){if(Object(r["a"])(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)dEe(e,t,n[o],i);else dEe(e,t,n,i)}function PEe(e,t,n,i){const o=t.availability;if(!Object(r["a"])(o))return;let a;if(Array.isArray(o))for(let s=0,c=o.length;s<c;++s)Object(r["a"])(a)||(a=new CN),a.addInterval(nEe(o[s]));else a=new CN,a.addInterval(nEe(o));e.availability=a}function REe(e,t,n,i,o){Object(r["a"])(t)&&cEe(ICe,e,"alignedAxis",t,n,i,o)}function MEe(e,t,n,i){const o=t.billboard;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.billboard;Object(r["a"])(s)||(e.billboard=s=new HB),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Image,s,"image",o.image,a,i,n),cEe(Number,s,"scale",o.scale,a,i,n),cEe(Ht,s,"pixelOffset",o.pixelOffset,a,i,n),cEe(g,s,"eyeOffset",o.eyeOffset,a,i,n),cEe(YB,s,"horizontalOrigin",o.horizontalOrigin,a,i,n),cEe(KB,s,"verticalOrigin",o.verticalOrigin,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(j_,s,"color",o.color,a,i,n),cEe(YTe,s,"rotation",o.rotation,a,i,n),REe(s,o.alignedAxis,a,i,n),cEe(Boolean,s,"sizeInMeters",o.sizeInMeters,a,i,n),cEe(Number,s,"width",o.width,a,i,n),cEe(Number,s,"height",o.height,a,i,n),cEe(cS,s,"scaleByDistance",o.scaleByDistance,a,i,n),cEe(cS,s,"translucencyByDistance",o.translucencyByDistance,a,i,n),cEe(cS,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,a,i,n),cEe(Oh,s,"imageSubRegion",o.imageSubRegion,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,a,i,n)}function NEe(e,t,n,i){const o=t.box;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.box;Object(r["a"])(s)||(e.box=s=new mX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(g,s,"dimensions",o.dimensions,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function LEe(e,t,n,i){const o=t.corridor;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.corridor;Object(r["a"])(s)||(e.corridor=s=new wX),cEe(Boolean,s,"show",o.show,a,i,n),CEe(s,"positions",o.positions,n),cEe(Number,s,"width",o.width,a,i,n),cEe(Number,s,"height",o.height,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Number,s,"extrudedHeight",o.extrudedHeight,a,i,n),cEe(qB,s,"extrudedHeightReference",o.extrudedHeightReference,a,i,n),cEe(iy,s,"cornerType",o.cornerType,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(wG,s,"classificationType",o.classificationType,a,i,n),cEe(Number,s,"zIndex",o.zIndex,a,i,n)}function BEe(e,t,n,i){const o=t.cylinder;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.cylinder;Object(r["a"])(s)||(e.cylinder=s=new xX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Number,s,"length",o.length,a,i,n),cEe(Number,s,"topRadius",o.topRadius,a,i,n),cEe(Number,s,"bottomRadius",o.bottomRadius,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,a,i,n),cEe(Number,s,"slices",o.slices,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function FEe(e,t){const n=e.version;if(Object(r["a"])(n)&&"string"===typeof n){const e=n.split(".");if(2===e.length){if("1"!==e[0])throw new ye["a"]("Cesium only supports CZML version 1.");t._version=n}}if(!Object(r["a"])(t._version))throw new ye["a"]("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");const i=t._documentPacket;Object(r["a"])(e.name)&&(i.name=e.name);const a=e.clock;if(Object(r["a"])(a)){const e=i.clock;Object(r["a"])(e)?(e.interval=Object(o["a"])(a.interval,e.interval),e.currentTime=Object(o["a"])(a.currentTime,e.currentTime),e.range=Object(o["a"])(a.range,e.range),e.step=Object(o["a"])(a.step,e.step),e.multiplier=Object(o["a"])(a.multiplier,e.multiplier)):i.clock={interval:a.interval,currentTime:a.currentTime,range:a.range,step:a.step,multiplier:a.multiplier}}}function kEe(e,t,n,i){const o=t.ellipse;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.ellipse;Object(r["a"])(s)||(e.ellipse=s=new IX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Number,s,"semiMajorAxis",o.semiMajorAxis,a,i,n),cEe(Number,s,"semiMinorAxis",o.semiMinorAxis,a,i,n),cEe(Number,s,"height",o.height,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Number,s,"extrudedHeight",o.extrudedHeight,a,i,n),cEe(qB,s,"extrudedHeightReference",o.extrudedHeightReference,a,i,n),cEe(YTe,s,"rotation",o.rotation,a,i,n),cEe(YTe,s,"stRotation",o.stRotation,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(wG,s,"classificationType",o.classificationType,a,i,n),cEe(Number,s,"zIndex",o.zIndex,a,i,n)}function zEe(e,t,n,i){const o=t.ellipsoid;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.ellipsoid;Object(r["a"])(s)||(e.ellipsoid=s=new jX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(g,s,"radii",o.radii,a,i,n),cEe(g,s,"innerRadii",o.innerRadii,a,i,n),cEe(Number,s,"minimumClock",o.minimumClock,a,i,n),cEe(Number,s,"maximumClock",o.maximumClock,a,i,n),cEe(Number,s,"minimumCone",o.minimumCone,a,i,n),cEe(Number,s,"maximumCone",o.maximumCone,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(Number,s,"stackPartitions",o.stackPartitions,a,i,n),cEe(Number,s,"slicePartitions",o.slicePartitions,a,i,n),cEe(Number,s,"subdivisions",o.subdivisions,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function UEe(e,t,n,i){const o=t.label;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.label;Object(r["a"])(s)||(e.label=s=new RX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(String,s,"text",o.text,a,i,n),cEe(String,s,"font",o.font,a,i,n),cEe(Jre,s,"style",o.style,a,i,n),cEe(Number,s,"scale",o.scale,a,i,n),cEe(Boolean,s,"showBackground",o.showBackground,a,i,n),cEe(j_,s,"backgroundColor",o.backgroundColor,a,i,n),cEe(Ht,s,"backgroundPadding",o.backgroundPadding,a,i,n),cEe(Ht,s,"pixelOffset",o.pixelOffset,a,i,n),cEe(g,s,"eyeOffset",o.eyeOffset,a,i,n),cEe(YB,s,"horizontalOrigin",o.horizontalOrigin,a,i,n),cEe(KB,s,"verticalOrigin",o.verticalOrigin,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(j_,s,"fillColor",o.fillColor,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(cS,s,"translucencyByDistance",o.translucencyByDistance,a,i,n),cEe(cS,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,a,i,n),cEe(cS,s,"scaleByDistance",o.scaleByDistance,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,a,i,n)}function VEe(e,t,n,i){const o=t.model;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s,c,l=e.model;Object(r["a"])(l)||(e.model=l=new qX),cEe(Boolean,l,"show",o.show,a,i,n),cEe(Hl["a"],l,"uri",o.gltf,a,i,n),cEe(Number,l,"scale",o.scale,a,i,n),cEe(Number,l,"minimumPixelSize",o.minimumPixelSize,a,i,n),cEe(Number,l,"maximumScale",o.maximumScale,a,i,n),cEe(Boolean,l,"incrementallyLoadTextures",o.incrementallyLoadTextures,a,i,n),cEe(Boolean,l,"runAnimations",o.runAnimations,a,i,n),cEe(Boolean,l,"clampAnimations",o.clampAnimations,a,i,n),cEe(wq,l,"shadows",o.shadows,a,i,n),cEe(qB,l,"heightReference",o.heightReference,a,i,n),cEe(j_,l,"silhouetteColor",o.silhouetteColor,a,i,n),cEe(Number,l,"silhouetteSize",o.silhouetteSize,a,i,n),cEe(j_,l,"color",o.color,a,i,n),cEe(L2,l,"colorBlendMode",o.colorBlendMode,a,i,n),cEe(Number,l,"colorBlendAmount",o.colorBlendAmount,a,i,n),cEe(sw,l,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n);const u=o.nodeTransformations;if(Object(r["a"])(u))if(Array.isArray(u))for(s=0,c=u.length;s<c;++s)HEe(l,u[s],a,i,n);else HEe(l,u,a,i,n);const h=o.articulations;if(Object(r["a"])(h))if(Array.isArray(h))for(s=0,c=h.length;s<c;++s)GEe(l,h[s],a,i,n);else GEe(l,h,a,i,n)}function HEe(e,t,n,i,o){let a=nEe(t.interval);Object(r["a"])(n)&&(a=Object(r["a"])(a)?Mx.intersect(a,n,BCe):n);let s=e.nodeTransformations;const c=Object.keys(t);for(let l=0,u=c.length;l<u;++l){const n=c[l];if("interval"===n)continue;const u=t[n];if(!Object(r["a"])(u))continue;Object(r["a"])(s)||(e.nodeTransformations=s=new zX),s.hasProperty(n)||s.addProperty(n);let h=s[n];Object(r["a"])(h)||(s[n]=h=new LX),cEe(g,h,"translation",u.translation,a,i,o),cEe($a,h,"rotation",u.rotation,a,i,o),cEe(g,h,"scale",u.scale,a,i,o)}}function GEe(e,t,n,i,o){let a=nEe(t.interval);Object(r["a"])(n)&&(a=Object(r["a"])(a)?Mx.intersect(a,n,BCe):n);let s=e.articulations;const c=Object.keys(t);for(let l=0,u=c.length;l<u;++l){const n=c[l];if("interval"===n)continue;const u=t[n];Object(r["a"])(u)&&(Object(r["a"])(s)||(e.articulations=s=new zX),s.hasProperty(n)||s.addProperty(n),cEe(Number,s,n,u,a,i,o))}}function qEe(e,t,n,i){const o=t.path;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.path;Object(r["a"])(s)||(e.path=s=new KX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Number,s,"leadTime",o.leadTime,a,i,n),cEe(Number,s,"trailTime",o.trailTime,a,i,n),cEe(Number,s,"width",o.width,a,i,n),cEe(Number,s,"resolution",o.resolution,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function WEe(e,t,n,i){const o=t.point;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.point;Object(r["a"])(s)||(e.point=s=new QX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Number,s,"pixelSize",o.pixelSize,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(j_,s,"color",o.color,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(cS,s,"scaleByDistance",o.scaleByDistance,a,i,n),cEe(cS,s,"translucencyByDistance",o.translucencyByDistance,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,a,i,n)}function YEe(e){this.polygon=e,this._definitionChanged=new pi["a"]}function XEe(e,t,n,i){const o=t.polygon;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.polygon;Object(r["a"])(s)||(e.polygon=s=new nK),cEe(Boolean,s,"show",o.show,a,i,n),CEe(s,"_positions",o.positions,n),DEe(s,"_holes",o.holes,n),(Object(r["a"])(s._positions)||Object(r["a"])(s._holes))&&(s.hierarchy=new YEe(s)),cEe(Number,s,"height",o.height,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Number,s,"extrudedHeight",o.extrudedHeight,a,i,n),cEe(qB,s,"extrudedHeightReference",o.extrudedHeightReference,a,i,n),cEe(YTe,s,"stRotation",o.stRotation,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(Boolean,s,"perPositionHeight",o.perPositionHeight,a,i,n),cEe(Boolean,s,"closeTop",o.closeTop,a,i,n),cEe(Boolean,s,"closeBottom",o.closeBottom,a,i,n),cEe(hh,s,"arcType",o.arcType,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(wG,s,"classificationType",o.classificationType,a,i,n),cEe(Number,s,"zIndex",o.zIndex,a,i,n)}function KEe(e){return e?hh.GEODESIC:hh.NONE}function JEe(e,t,n,i){const o=t.polyline;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.polyline;if(Object(r["a"])(s)||(e.polyline=s=new oK),cEe(Boolean,s,"show",o.show,a,i,n),CEe(s,"positions",o.positions,n),cEe(Number,s,"width",o.width,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),pEe(s,"material",o.material,a,i,n),pEe(s,"depthFailMaterial",o.depthFailMaterial,a,i,n),cEe(hh,s,"arcType",o.arcType,a,i,n),cEe(Boolean,s,"clampToGround",o.clampToGround,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(wG,s,"classificationType",o.classificationType,a,i,n),cEe(Number,s,"zIndex",o.zIndex,a,i,n),Object(r["a"])(o.followSurface)&&!Object(r["a"])(o.arcType)){const e={};cEe(Boolean,e,"followSurface",o.followSurface,a,i,n),s.arcType=RCe(e.followSurface,KEe)}}function ZEe(e,t,n,i){const o=t.polylineVolume;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.polylineVolume;Object(r["a"])(s)||(e.polylineVolume=s=new aK),CEe(s,"positions",o.positions,n),jEe(s,"shape",o.shape,n),cEe(Boolean,s,"show",o.show,a,i,n),cEe(iy,s,"cornerType",o.cornerType,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function $Ee(e,t,n,i){const o=t.rectangle;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.rectangle;Object(r["a"])(s)||(e.rectangle=s=new cK),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Fe,s,"coordinates",o.coordinates,a,i,n),cEe(Number,s,"height",o.height,a,i,n),cEe(qB,s,"heightReference",o.heightReference,a,i,n),cEe(Number,s,"extrudedHeight",o.extrudedHeight,a,i,n),cEe(qB,s,"extrudedHeightReference",o.extrudedHeightReference,a,i,n),cEe(YTe,s,"rotation",o.rotation,a,i,n),cEe(YTe,s,"stRotation",o.stRotation,a,i,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n),cEe(wG,s,"classificationType",o.classificationType,a,i,n),cEe(Number,s,"zIndex",o.zIndex,a,i,n)}function QEe(e,t,n,i){const o=t.tileset;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.tileset;Object(r["a"])(s)||(e.tileset=s=new YX),cEe(Boolean,s,"show",o.show,a,i,n),cEe(Hl["a"],s,"uri",o.uri,a,i,n),cEe(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,a,i,n)}function exe(e,t,n,i){const o=t.wall;if(!Object(r["a"])(o))return;const a=nEe(o.interval);let s=e.wall;Object(r["a"])(s)||(e.wall=s=new uK),cEe(Boolean,s,"show",o.show,a,i,n),CEe(s,"positions",o.positions,n),AEe(s,"minimumHeights",o.minimumHeights,n),AEe(s,"maximumHeights",o.maximumHeights,n),cEe(Number,s,"granularity",o.granularity,a,i,n),cEe(Boolean,s,"fill",o.fill,a,i,n),pEe(s,"material",o.material,a,i,n),cEe(Boolean,s,"outline",o.outline,a,i,n),cEe(j_,s,"outlineColor",o.outlineColor,a,i,n),cEe(Number,s,"outlineWidth",o.outlineWidth,a,i,n),cEe(wq,s,"shadows",o.shadows,a,i,n),cEe(sw,s,"distanceDisplayCondition",o.distanceDisplayCondition,a,i,n)}function txe(e,t,n,i,o){let a=e.id;if(Object(r["a"])(a)||(a=RL()),DCe=a,!Object(r["a"])(o._version)&&"document"!==a)throw new ye["a"]("The first CZML packet is required to be the document object.");if(!0===e["delete"])t.removeById(a);else if("document"===a)FEe(e,o);else{const o=t.getOrCreateEntity(a),s=e.parent;Object(r["a"])(s)&&(o.parent=t.getOrCreateEntity(s));for(let r=n.length-1;r>-1;r--)n[r](o,e,t,i)}DCe=void 0}function nxe(e){let t;const n=e._documentPacket.clock;if(!Object(r["a"])(n)){if(!Object(r["a"])(e._clock)){const n=e._entityCollection.computeAvailability();if(!n.start.equals(kx.MINIMUM_VALUE)){const i=n.start,o=n.stop,r=gr.secondsDifference(o,i),a=Math.round(r/120);return t=new fTe,t.startTime=gr.clone(i),t.stopTime=gr.clone(o),t.clockRange=m_.LOOP_STOP,t.multiplier=a,t.currentTime=gr.clone(i),t.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}Object(r["a"])(e._clock)?t=e._clock.clone():(t=new fTe,t.startTime=kx.MINIMUM_VALUE.clone(),t.stopTime=kx.MAXIMUM_VALUE.clone(),t.currentTime=kx.MINIMUM_VALUE.clone(),t.clockRange=m_.LOOP_STOP,t.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);const i=nEe(n.interval);return Object(r["a"])(i)&&(t.startTime=i.start,t.stopTime=i.stop),Object(r["a"])(n.currentTime)&&(t.currentTime=gr.fromIso8601(n.currentTime)),Object(r["a"])(n.range)&&(t.clockRange=Object(o["a"])(m_[n.range],m_.LOOP_STOP)),Object(r["a"])(n.step)&&(t.clockStep=Object(o["a"])(g_[n.step],g_.SYSTEM_CLOCK_MULTIPLIER)),Object(r["a"])(n.multiplier)&&(t.multiplier=n.multiplier),!t.equals(e._clock)&&(e._clock=t.clone(e._clock),!0)}function ixe(e,t,n,i){if(!Object(r["a"])(t))throw new a["a"]("czml is required.");n=Object(o["a"])(n,o["a"].EMPTY_OBJECT);let s=t,c=n.sourceUri,l=n.credit;if("string"===typeof l&&(l=new fi(l)),e._credit=l,"string"===typeof t||t instanceof Et["a"]){t=Et["a"].createIfNeeded(t),s=t.fetchJson(),c=Object(o["a"])(c,t.clone());const n=e._resourceCredits,i=t.credits;if(Object(r["a"])(i)){const e=i.length;for(let t=0;t<e;t++)n.push(i[t])}}return c=Et["a"].createIfNeeded(c),Rwe.setLoading(e,!0),Promise.resolve(s).then((function(t){return oxe(e,t,c,i)})).catch((function(t){return Rwe.setLoading(e,!1),e._error.raiseEvent(e,t),console.log(t),Promise.reject(t)}))}function oxe(e,t,n,i){Rwe.setLoading(e,!0);const o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new rxe,o.removeAll()),axe._processCzml(t,o,n,void 0,e);let a=nxe(e);const s=e._documentPacket;return Object(r["a"])(s.name)&&e._name!==s.name?(e._name=s.name,a=!0):!Object(r["a"])(e._name)&&Object(r["a"])(n)&&(e._name=JL(n.getUrlComponent()),a=!0),Rwe.setLoading(e,!1),a&&e._changed.raiseEvent(e),e}function rxe(){this.name=void 0,this.clock=void 0}function axe(e){this._name=e,this._changed=new pi["a"],this._error=new pi["a"],this._isLoading=!1,this._loading=new pi["a"],this._clock=void 0,this._documentPacket=new rxe,this._version=void 0,this._entityCollection=new iwe(this),this._entityCluster=new tTe,this._credit=void 0,this._resourceCredits=[]}Object.defineProperties(YEe.prototype,{isConstant:{get:function(){const e=this.polygon._positions,t=this.polygon._holes;return(!Object(r["a"])(e)||e.isConstant)&&(!Object(r["a"])(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}}),YEe.prototype.getValue=function(e,t){let n,i;return Object(r["a"])(this.polygon._positions)&&(n=this.polygon._positions.getValue(e)),Object(r["a"])(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),Object(r["a"])(i)&&(i=i.map((function(e){return new UI(e)})))),Object(r["a"])(t)?(t.positions=n,t.holes=i,t):new UI(n,i)},YEe.prototype.equals=function(e){return this===e||e instanceof YEe&&QB.equals(this.polygon._positions,e.polygon._positions)&&QB.equals(this.polygon._holes,e.polygon._holes)},axe.load=function(e,t){return(new axe).load(e,t)},Object.defineProperties(axe.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value must be defined.");this._entityCluster=e}},credit:{get:function(){return this._credit}}}),axe.updaters=[MEe,NEe,LEe,BEe,kEe,zEe,UEe,VEe,mEe,_Ee,qEe,WEe,XEe,JEe,ZEe,vEe,$Ee,gEe,QEe,bEe,exe,yEe,PEe],axe.prototype.process=function(e,t){return ixe(this,e,t,!1)},axe.prototype.load=function(e,t){return ixe(this,e,t,!0)},axe.prototype.update=function(e){return!0},axe.processPacketData=cEe,axe.processPositionPacketData=hEe,axe.processMaterialPacketData=pEe,axe._processCzml=function(e,t,n,i,r){if(i=Object(o["a"])(i,axe.updaters),Array.isArray(e))for(let o=0,a=e.length;o<a;++o)txe(e[o],t,i,n,r);else txe(e,t,i,n,r)};var sxe=axe;function cxe(){this._dataSources=[],this._dataSourceAdded=new pi["a"],this._dataSourceRemoved=new pi["a"],this._dataSourceMoved=new pi["a"]}function lxe(e,t){if(!Object(r["a"])(t))throw new a["a"]("dataSource is required.");const n=e.indexOf(t);if(-1===n)throw new a["a"]("dataSource is not in this collection.");return n}function uxe(e,t,n){const i=e._dataSources,o=i.length-1;if(t=s["a"].clamp(t,0,o),n=s["a"].clamp(n,0,o),t===n)return;const r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}Object.defineProperties(cxe.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}}),cxe.prototype.add=function(e){if(!Object(r["a"])(e))throw new a["a"]("dataSource is required.");const t=this,n=this._dataSources;return Promise.resolve(e).then((function(e){return n===t._dataSources&&(t._dataSources.push(e),t._dataSourceAdded.raiseEvent(t,e)),e}))},cxe.prototype.remove=function(e,t){t=Object(o["a"])(t,!1);const n=this._dataSources.indexOf(e);return-1!==n&&(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&"function"===typeof e.destroy&&e.destroy(),!0)},cxe.prototype.removeAll=function(e){e=Object(o["a"])(e,!1);const t=this._dataSources;for(let n=0,i=t.length;n<i;++n){const i=t[n];this._dataSourceRemoved.raiseEvent(this,i),e&&"function"===typeof i.destroy&&i.destroy()}this._dataSources=[]},cxe.prototype.contains=function(e){return-1!==this.indexOf(e)},cxe.prototype.indexOf=function(e){return this._dataSources.indexOf(e)},cxe.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._dataSources[e]},cxe.prototype.getByName=function(e){if(!Object(r["a"])(e))throw new a["a"]("name is required.");return this._dataSources.filter((function(t){return t.name===e}))},cxe.prototype.raise=function(e){const t=lxe(this._dataSources,e);uxe(this,t,t+1)},cxe.prototype.lower=function(e){const t=lxe(this._dataSources,e);uxe(this,t,t-1)},cxe.prototype.raiseToTop=function(e){const t=lxe(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))},cxe.prototype.lowerToBottom=function(e){const t=lxe(this._dataSources,e);0!==t&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))},cxe.prototype.isDestroyed=function(){return!1},cxe.prototype.destroy=function(){return this.removeAll(!0),Wl(this)};var hxe=cxe;function dxe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._primitives=[],this._guid=RL(),this._zIndex=void 0,this.show=Object(o["a"])(e.show,!0),this.destroyPrimitives=Object(o["a"])(e.destroyPrimitives,!0)}function fxe(e,t){if(!e.contains(t))throw new a["a"]("primitive is not in this collection.");return e._primitives.indexOf(t)}Object.defineProperties(dxe.prototype,{length:{get:function(){return this._primitives.length}}}),dxe.prototype.add=function(e,t){const n=Object(r["a"])(t);if(!Object(r["a"])(e))throw new a["a"]("primitive is required.");if(n){if(t<0)throw new a["a"]("index must be greater than or equal to zero.");if(t>this._primitives.length)throw new a["a"]("index must be less than or equal to the number of primitives.")}const i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),e},dxe.prototype.remove=function(e){if(this.contains(e)){const t=this._primitives.indexOf(e);if(-1!==t)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),!0}return!1},dxe.prototype.removeAndDestroy=function(e){const t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t},dxe.prototype.removeAll=function(){const e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy();this._primitives=[]},dxe.prototype.contains=function(e){return!!(Object(r["a"])(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])},dxe.prototype.raise=function(e){if(Object(r["a"])(e)){const t=fxe(this,e),n=this._primitives;if(t!==n.length-1){const e=n[t];n[t]=n[t+1],n[t+1]=e}}},dxe.prototype.raiseToTop=function(e){if(Object(r["a"])(e)){const t=fxe(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}},dxe.prototype.lower=function(e){if(Object(r["a"])(e)){const t=fxe(this,e),n=this._primitives;if(0!==t){const e=n[t];n[t]=n[t-1],n[t-1]=e}}},dxe.prototype.lowerToBottom=function(e){if(Object(r["a"])(e)){const t=fxe(this,e),n=this._primitives;0!==t&&(n.splice(t,1),n.unshift(e))}},dxe.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._primitives[e]},dxe.prototype.update=function(e){if(!this.show)return;const t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)},dxe.prototype.prePassesUpdate=function(e){const t=this._primitives;for(let n=0;n<t.length;++n){const i=t[n];Object(r["a"])(i.prePassesUpdate)&&i.prePassesUpdate(e)}},dxe.prototype.updateForPass=function(e,t){const n=this._primitives;for(let i=0;i<n.length;++i){const o=n[i];Object(r["a"])(o.updateForPass)&&o.updateForPass(e,t)}},dxe.prototype.postPassesUpdate=function(e){const t=this._primitives;for(let n=0;n<t.length;++n){const i=t[n];Object(r["a"])(i.postPassesUpdate)&&i.postPassesUpdate(e)}},dxe.prototype.isDestroyed=function(){return!1},dxe.prototype.destroy=function(){return this.removeAll(),Wl(this)};var pxe=dxe;function mxe(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(mxe.prototype,{length:{get:function(){return this._length}}}),mxe.prototype.add=function(e,t){i["a"].defined("primitive",e),Object(r["a"])(t)&&i["a"].typeOf.number("zIndex",t),t=Object(o["a"])(t,0);let n=this._collections[t];if(!Object(r["a"])(n)){n=new pxe({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;const e=this._collectionsArray;let i=0;while(i<e.length&&e[i]._zIndex<t)i++;e.splice(i,0,n)}return n.add(e),this._length++,e._zIndex=t,e},mxe.prototype.set=function(e,t){return i["a"].defined("primitive",e),i["a"].typeOf.number("zIndex",t),t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e},mxe.prototype.remove=function(e,t){if(this.contains(e)){const n=e._zIndex,i=this._collections[n];let o;return o=t?i.remove(e):i.removeAndDestroy(e),o&&this._length--,0===i.length&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1},mxe.prototype.removeAll=function(){const e=this._collectionsArray;for(let t=0;t<e.length;t++){const n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0},mxe.prototype.contains=function(e){if(!Object(r["a"])(e))return!1;const t=this._collections[e._zIndex];return Object(r["a"])(t)&&t.contains(e)},mxe.prototype.update=function(e){if(!this.show)return;const t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)},mxe.prototype.isDestroyed=function(){return!1},mxe.prototype.destroy=function(){return this.removeAll(),Wl(this)};var _xe=mxe;function gxe(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new fh}gxe.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))},gxe.prototype.remove=function(e){const t=e.id,n=this._dynamicUpdaters.get(t);Object(r["a"])(n)&&(this._dynamicUpdaters.remove(t),n.destroy())},gxe.prototype.update=function(e){const t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0},gxe.prototype.removeAllPrimitives=function(){const e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()},gxe.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),Object(r["a"])(e)&&Object(r["a"])(e.getBoundingSphere)?e.getBoundingSphere(t):ZB.FAILED};var bxe=gxe;const yxe=new j_,vxe=g.ZERO,Oxe=new g,wxe=new Fe;function Axe(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Txe(e,t){Awe.call(this,{entity:e,scene:t,geometryOptions:new Axe(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}function Cxe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(Txe.prototype=Object.create(Awe.prototype),Txe.prototype.constructor=Txe),Txe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:lw.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,yxe)),Object(r["a"])(t)||(t=j_.WHITE),o.color=R_.fromColor(t)}return Object(r["a"])(this._options.offsetAttribute)&&(o.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,vxe,Oxe))),new Df({id:t,geometry:new Xm(this._options),attributes:o})},Txe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,yxe),s=this._distanceDisplayConditionProperty.getValue(e),c={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(s),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(c.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,vxe,Oxe))),new Df({id:t,geometry:new l_(this._options),attributes:c})},Txe.prototype._computeCenter=function(e,t){return QB.getValueOrUndefined(this._entity.position,e,t)},Txe.prototype._isHidden=function(e,t){const n=e.position;return!Object(r["a"])(n)||!Object(r["a"])(t.semiMajorAxis)||!Object(r["a"])(t.semiMinorAxis)||DK.prototype._isHidden.call(this,e,t)},Txe.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!QB.isConstant(t.rotation)||!QB.isConstant(t.height)||!QB.isConstant(t.extrudedHeight)||!QB.isConstant(t.granularity)||!QB.isConstant(t.stRotation)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.numberOfVerticalLines)||!QB.isConstant(t.zIndex)||this._onTerrain&&!QB.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Zk)},Txe.prototype._setStaticOptions=function(e,t){let n=QB.getValueOrUndefined(t.height,kx.MINIMUM_VALUE);const i=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE);let o=QB.getValueOrUndefined(t.extrudedHeight,kx.MINIMUM_VALUE);const a=QB.getValueOrDefault(t.extrudedHeightReference,kx.MINIMUM_VALUE,qB.NONE);Object(r["a"])(o)&&!Object(r["a"])(n)&&(n=0);const s=this._options;s.vertexFormat=this._materialProperty instanceof Zk?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(kx.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(kx.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(kx.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=QB.getValueOrUndefined(t.rotation,kx.MINIMUM_VALUE),s.granularity=QB.getValueOrUndefined(t.granularity,kx.MINIMUM_VALUE),s.stRotation=QB.getValueOrUndefined(t.stRotation,kx.MINIMUM_VALUE),s.numberOfVerticalLines=QB.getValueOrUndefined(t.numberOfVerticalLines,kx.MINIMUM_VALUE),s.offsetAttribute=Awe.computeGeometryOffsetAttribute(n,i,o,a),s.height=Awe.getGeometryHeight(n,i),o=Awe.getGeometryExtrudedHeight(o,a),o===Awe.CLAMP_TO_GROUND&&(o=on.getMinimumMaximumHeights(Xm.computeRectangle(s,wxe)).minimumTerrainHeight),s.extrudedHeight=o},Txe.DynamicGeometryUpdater=Cxe,Object(r["a"])(Object.create)&&(Cxe.prototype=Object.create(LY.prototype),Cxe.prototype.constructor=Cxe),Cxe.prototype._isHidden=function(e,t,n){const i=this._options;return!Object(r["a"])(i.center)||!Object(r["a"])(i.semiMajorAxis)||!Object(r["a"])(i.semiMinorAxis)||LY.prototype._isHidden.call(this,e,t,n)},Cxe.prototype._setOptions=function(e,t,n){const i=this._options;let o=QB.getValueOrUndefined(t.height,n);const a=QB.getValueOrDefault(t.heightReference,n,qB.NONE);let s=QB.getValueOrUndefined(t.extrudedHeight,n);const c=QB.getValueOrDefault(t.extrudedHeightReference,n,qB.NONE);Object(r["a"])(s)&&!Object(r["a"])(o)&&(o=0),i.center=QB.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=QB.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=QB.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=QB.getValueOrUndefined(t.rotation,n),i.granularity=QB.getValueOrUndefined(t.granularity,n),i.stRotation=QB.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=QB.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=Awe.computeGeometryOffsetAttribute(o,a,s,c),i.height=Awe.getGeometryHeight(o,a),s=Awe.getGeometryExtrudedHeight(s,c),s===Awe.CLAMP_TO_GROUND&&(s=on.getMinimumMaximumHeights(Xm.computeRectangle(i,wxe)).minimumTerrainHeight),i.extrudedHeight=s};var Exe=Txe;const xxe=new Zk(j_.WHITE),Sxe=g.ZERO,Ixe=new g,Dxe=new g,jxe=new g,Pxe=new j_,Rxe=new g(1,1,1);function Mxe(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function Nxe(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new Mxe(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}function Lxe(e,t,n){LY.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new Ne,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new g,this._material={}}Object(r["a"])(Object.create)&&(Nxe.prototype=Object.create(DK.prototype),Nxe.prototype.constructor=Nxe),Object.defineProperties(Nxe.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),Nxe.prototype.createFillGeometryInstance=function(e,t,n){i["a"].defined("time",e);const o=this._entity,a=o.isAvailable(e);let s;const c=new OR(a&&o.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),l=this._distanceDisplayConditionProperty.getValue(e),u=lw.fromDistanceDisplayCondition(l),h={show:c,distanceDisplayCondition:u,color:void 0,offset:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||a)&&(t=this._materialProperty.color.getValue(e,Pxe)),Object(r["a"])(t)||(t=j_.WHITE),s=R_.fromColor(t),h.color=s}return Object(r["a"])(this._options.offsetAttribute)&&(h.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,Sxe,Ixe))),new Df({id:o,geometry:new Fw(this._options),modelMatrix:t?void 0:o.computeModelMatrixForHeightReference(e,o.ellipsoid.heightReference,.5*this._options.radii.z,this._scene.mapProjection.ellipsoid,n),attributes:h})},Nxe.prototype.createOutlineGeometryInstance=function(e,t,n){i["a"].defined("time",e);const o=this._entity,a=o.isAvailable(e),s=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,Pxe),c=this._distanceDisplayConditionProperty.getValue(e),l={show:new OR(a&&o.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(s),distanceDisplayCondition:lw.fromDistanceDisplayCondition(c),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(l.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,Sxe,Ixe))),new Df({id:o,geometry:new Ww(this._options),modelMatrix:t?void 0:o.computeModelMatrixForHeightReference(e,o.ellipsoid.heightReference,.5*this._options.radii.z,this._scene.mapProjection.ellipsoid,n),attributes:l})},Nxe.prototype._computeCenter=function(e,t){return QB.getValueOrUndefined(this._entity.position,e,t)},Nxe.prototype._isHidden=function(e,t){return!Object(r["a"])(e.position)||!Object(r["a"])(t.radii)||DK.prototype._isHidden.call(this,e,t)},Nxe.prototype._isDynamic=function(e,t){return!e.position.isConstant||!QB.isConstant(e.orientation)||!t.radii.isConstant||!QB.isConstant(t.innerRadii)||!QB.isConstant(t.stackPartitions)||!QB.isConstant(t.slicePartitions)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.minimumClock)||!QB.isConstant(t.maximumClock)||!QB.isConstant(t.minimumCone)||!QB.isConstant(t.maximumCone)||!QB.isConstant(t.subdivisions)},Nxe.prototype._setStaticOptions=function(e,t){const n=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Zk?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(kx.MINIMUM_VALUE,i.radii),i.innerRadii=QB.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=QB.getValueOrUndefined(t.minimumClock,kx.MINIMUM_VALUE),i.maximumClock=QB.getValueOrUndefined(t.maximumClock,kx.MINIMUM_VALUE),i.minimumCone=QB.getValueOrUndefined(t.minimumCone,kx.MINIMUM_VALUE),i.maximumCone=QB.getValueOrUndefined(t.maximumCone,kx.MINIMUM_VALUE),i.stackPartitions=QB.getValueOrUndefined(t.stackPartitions,kx.MINIMUM_VALUE),i.slicePartitions=QB.getValueOrUndefined(t.slicePartitions,kx.MINIMUM_VALUE),i.subdivisions=QB.getValueOrUndefined(t.subdivisions,kx.MINIMUM_VALUE),i.offsetAttribute=n!==qB.NONE?qh.ALL:void 0},Nxe.prototype._onEntityPropertyChanged=FK,Nxe.DynamicGeometryUpdater=Lxe,Object(r["a"])(Object.create)&&(Lxe.prototype=Object.create(LY.prototype),Lxe.prototype.constructor=Lxe),Lxe.prototype.update=function(e){i["a"].defined("time",e);const t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!QB.getValueOrDefault(n.show,e,!0))return Object(r["a"])(this._primitive)&&(this._primitive.show=!1),void(Object(r["a"])(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1));const a=QB.getValueOrUndefined(n.radii,e,Dxe);let s=Object(r["a"])(a)?t.computeModelMatrixForHeightReference(e,n.heightReference,.5*a.z,this._scene.mapProjection.ellipsoid,this._modelMatrix):void 0;if(!Object(r["a"])(s)||!Object(r["a"])(a))return Object(r["a"])(this._primitive)&&(this._primitive.show=!1),void(Object(r["a"])(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1));const c=QB.getValueOrDefault(n.fill,e,!0),l=QB.getValueOrDefault(n.outline,e,!1),u=QB.getValueOrClonedDefault(n.outlineColor,e,j_.BLACK,Pxe),h=MY.getValue(e,Object(o["a"])(n.material,xxe),this._material),d=QB.getValueOrUndefined(n.innerRadii,e,jxe),f=QB.getValueOrUndefined(n.minimumClock,e),p=QB.getValueOrUndefined(n.maximumClock,e),m=QB.getValueOrUndefined(n.minimumCone,e),_=QB.getValueOrUndefined(n.maximumCone,e),b=QB.getValueOrUndefined(n.stackPartitions,e),y=QB.getValueOrUndefined(n.slicePartitions,e),v=QB.getValueOrUndefined(n.subdivisions,e),O=QB.getValueOrDefault(n.outlineWidth,e,1),w=QB.getValueOrDefault(n.heightReference,e,qB.NONE),A=w!==qB.NONE?qh.ALL:void 0,T=this._scene.mode,C=T===vq.SCENE3D&&w===qB.NONE,E=this._options,x=this._geometryUpdater.shadowsProperty.getValue(e),S=this._geometryUpdater.distanceDisplayConditionProperty,I=S.getValue(e),D=QB.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,Sxe,Ixe),j=!C||this._lastSceneMode!==T||!Object(r["a"])(this._primitive)||E.stackPartitions!==b||E.slicePartitions!==y||Object(r["a"])(d)&&!g.equals(E.innerRadii!==d)||E.minimumClock!==f||E.maximumClock!==p||E.minimumCone!==m||E.maximumCone!==_||E.subdivisions!==v||this._lastOutlineWidth!==O||E.offsetAttribute!==A;if(j){const t=this._primitives;if(t.removeAndDestroy(this._primitive),t.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=T,this._lastOutlineWidth=O,E.stackPartitions=b,E.slicePartitions=y,E.subdivisions=v,E.offsetAttribute=A,E.radii=g.clone(C?Rxe:a,E.radii),Object(r["a"])(d))if(C){const e=g.magnitude(a);E.innerRadii=g.fromElements(d.x/e,d.y/e,d.z/e,E.innerRadii)}else E.innerRadii=g.clone(d,E.innerRadii);else E.innerRadii=void 0;E.minimumClock=f,E.maximumClock=p,E.minimumCone=m,E.maximumCone=_;const n=new Hk({material:h,translucent:h.isTranslucent(),closed:!0});E.vertexFormat=n.vertexFormat;const i=this._geometryUpdater.createFillGeometryInstance(e,C,this._modelMatrix);this._primitive=t.add(new bW({geometryInstances:i,appearance:n,asynchronous:!1,shadows:x}));const o=this._geometryUpdater.createOutlineGeometryInstance(e,C,this._modelMatrix);this._outlinePrimitive=t.add(new bW({geometryInstances:o,appearance:new Kk({flat:!0,translucent:255!==o.attributes.color.value[3],renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(O)}}),asynchronous:!1,shadows:x})),this._lastShow=c,this._lastOutlineShow=l,this._lastOutlineColor=j_.clone(u,this._lastOutlineColor),this._lastDistanceDisplayCondition=I,this._lastOffset=g.clone(D,this._lastOffset)}else if(this._primitive.ready){const e=this._primitive,n=this._outlinePrimitive;e.show=!0,n.show=!0,e.appearance.material=h;let i=this._attributes;Object(r["a"])(i)||(i=e.getGeometryInstanceAttributes(t),this._attributes=i),c!==this._lastShow&&(i.show=OR.toValue(c,i.show),this._lastShow=c);let o=this._outlineAttributes;Object(r["a"])(o)||(o=n.getGeometryInstanceAttributes(t),this._outlineAttributes=o),l!==this._lastOutlineShow&&(o.show=OR.toValue(l,o.show),this._lastOutlineShow=l),j_.equals(u,this._lastOutlineColor)||(o.color=R_.toValue(u,o.color),j_.clone(u,this._lastOutlineColor)),sw.equals(I,this._lastDistanceDisplayCondition)||(i.distanceDisplayCondition=lw.toValue(I,i.distanceDisplayCondition),o.distanceDisplayCondition=lw.toValue(I,o.distanceDisplayCondition),sw.clone(I,this._lastDistanceDisplayCondition)),g.equals(D,this._lastOffset)||(i.offset=ES.toValue(D,i.offset),o.offset=ES.toValue(D,i.offset),g.clone(D,this._lastOffset))}C&&(a.x=Math.max(a.x,.001),a.y=Math.max(a.y,.001),a.z=Math.max(a.z,.001),s=Ne.multiplyByScale(s,a,s),this._primitive.modelMatrix=s,this._outlinePrimitive.modelMatrix=s)};var Bxe=Nxe;const Fxe=new g,kxe=new j_;function zxe(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function Uxe(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new zxe(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}function Vxe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(Uxe.prototype=Object.create(DK.prototype),Uxe.prototype.constructor=Uxe),Uxe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e);let o,s;const c=new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),l=this._distanceDisplayConditionProperty.getValue(e),u=lw.fromDistanceDisplayCondition(l);if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,kxe)),Object(r["a"])(t)||(t=j_.WHITE),s=R_.fromColor(t),o={show:c,distanceDisplayCondition:u,color:s}}else o={show:c,distanceDisplayCondition:u};const h=t.plane,d=this._options;let f=t.computeModelMatrix(e);const p=QB.getValueOrDefault(h.plane,e,d.plane),m=QB.getValueOrUndefined(h.dimensions,e,d.dimensions);return d.plane=p,d.dimensions=m,f=Jxe(p,m,f,f),new Df({id:t,geometry:new eI(this._options),modelMatrix:f,attributes:o})},Uxe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,kxe),r=this._distanceDisplayConditionProperty.getValue(e),s=t.plane,c=this._options;let l=t.computeModelMatrix(e);const u=QB.getValueOrDefault(s.plane,e,c.plane),h=QB.getValueOrUndefined(s.dimensions,e,c.dimensions);return c.plane=u,c.dimensions=h,l=Jxe(u,h,l,l),new Df({id:t,geometry:new oI,modelMatrix:l,attributes:{show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(r)}})},Uxe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.plane)||!Object(r["a"])(t.dimensions)||!Object(r["a"])(e.position)||DK.prototype._isHidden.call(this,e,t)},Uxe.prototype._getIsClosed=function(e){return!1},Uxe.prototype._isDynamic=function(e,t){return!e.position.isConstant||!QB.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!QB.isConstant(t.outlineWidth)},Uxe.prototype._setStaticOptions=function(e,t){const n=this._materialProperty instanceof Zk,i=this._options;i.vertexFormat=n?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(kx.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(kx.MINIMUM_VALUE,i.dimensions)},Uxe.DynamicGeometryUpdater=Vxe,Object(r["a"])(Object.create)&&(Vxe.prototype=Object.create(LY.prototype),Vxe.prototype.constructor=Vxe),Vxe.prototype._isHidden=function(e,t,n){const i=this._options,o=QB.getValueOrUndefined(e.position,n,Fxe);return!Object(r["a"])(o)||!Object(r["a"])(i.plane)||!Object(r["a"])(i.dimensions)||LY.prototype._isHidden.call(this,e,t,n)},Vxe.prototype._setOptions=function(e,t,n){const i=this._options;i.plane=QB.getValueOrDefault(t.plane,n,i.plane),i.dimensions=QB.getValueOrUndefined(t.dimensions,n,i.dimensions)};const Hxe=new g,Gxe=new g,qxe=new g,Wxe=new g,Yxe=new ce,Xxe=new ce,Kxe=new Ne;function Jxe(e,t,n,i){const o=e.normal,r=e.distance,a=g.multiplyByScalar(o,-r,qxe);let c=g.clone(g.UNIT_Z,Gxe);s["a"].equalsEpsilon(Math.abs(g.dot(c,o)),1,s["a"].EPSILON8)&&(c=g.clone(g.UNIT_Y,c));const l=g.cross(c,o,Hxe);c=g.cross(o,l,c),g.normalize(l,l),g.normalize(c,c);const u=Yxe;ce.setColumn(u,0,l,u),ce.setColumn(u,1,c,u),ce.setColumn(u,2,o,u);const h=g.fromElements(t.x,t.y,1,Wxe),d=ce.multiplyByScale(u,h,Xxe),f=Ne.fromRotationTranslation(d,a,Kxe);return Ne.multiplyTransformation(n,f,i)}Uxe.createPrimitiveMatrix=Jxe;var Zxe=Uxe;const $xe="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Qxe="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",eSe=new j_,tSe=g.ZERO,nSe=new g,iSe=new Fe,oSe=[],rSe=new Ht;function aSe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function sSe(e,t){Awe.call(this,{entity:e,scene:t,geometryOptions:new aSe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}function cSe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(sSe.prototype=Object.create(Awe.prototype),sSe.prototype.constructor=sSe),sSe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o=this._options,s={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:lw.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,eSe)),Object(r["a"])(t)||(t=j_.WHITE),s.color=R_.fromColor(t)}let c;return Object(r["a"])(o.offsetAttribute)&&(s.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,tSe,nSe))),c=o.perPositionHeight&&!Object(r["a"])(o.extrudedHeight)?new Zb(o):new kI(o),new Df({id:t,geometry:c,attributes:s})},sSe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=this._options,s=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,eSe),c=this._distanceDisplayConditionProperty.getValue(e),l={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(s),distanceDisplayCondition:lw.fromDistanceDisplayCondition(c),offset:void 0};let u;return Object(r["a"])(o.offsetAttribute)&&(l.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,tSe,nSe))),u=o.perPositionHeight&&!Object(r["a"])(o.extrudedHeight)?new ty(o):new KI(o),new Df({id:t,geometry:u,attributes:l})},sSe.prototype._computeCenter=function(e,t){const n=QB.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!Object(r["a"])(n))return;const i=n.positions;if(0===i.length)return;const o=this._scene.mapProjection.ellipsoid,a=Js.fromPoints(i,o),s=a.projectPointsOntoPlane(i,oSe),c=s.length;let l=0,u=c-1,h=new Ht;for(let r=0;r<c;u=r++){const e=s[r],t=s[u],n=e.x*t.y-t.x*e.y;let i=Ht.add(e,t,rSe);i=Ht.multiplyByScalar(i,n,i),h=Ht.add(h,i,h),l+=n}const d=1/(3*l);return h=Ht.multiplyByScalar(h,d,h),a.projectPointOntoEllipsoid(h,t)},sSe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.hierarchy)||DK.prototype._isHidden.call(this,e,t)},sSe.prototype._isOnTerrain=function(e,t){const n=Awe.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=Object(r["a"])(i)&&(!i.isConstant||i.getValue(kx.MINIMUM_VALUE));return n&&!o},sSe.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!QB.isConstant(t.height)||!QB.isConstant(t.extrudedHeight)||!QB.isConstant(t.granularity)||!QB.isConstant(t.stRotation)||!QB.isConstant(t.textureCoordinates)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.perPositionHeight)||!QB.isConstant(t.closeTop)||!QB.isConstant(t.closeBottom)||!QB.isConstant(t.zIndex)||!QB.isConstant(t.arcType)||this._onTerrain&&!QB.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Zk)},sSe.prototype._setStaticOptions=function(e,t){const n=this._materialProperty instanceof Zk,i=this._options;i.vertexFormat=n?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat;const o=t.hierarchy.getValue(kx.MINIMUM_VALUE);let a=QB.getValueOrUndefined(t.height,kx.MINIMUM_VALUE);const s=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE);let c=QB.getValueOrUndefined(t.extrudedHeight,kx.MINIMUM_VALUE);const l=QB.getValueOrDefault(t.extrudedHeightReference,kx.MINIMUM_VALUE,qB.NONE),u=QB.getValueOrDefault(t.perPositionHeight,kx.MINIMUM_VALUE,!1);let h;a=Awe.getGeometryHeight(a,s),u?(Object(r["a"])(a)&&(a=void 0,ky($xe)),s!==qB.NONE&&u&&(a=void 0,ky(Qxe))):(Object(r["a"])(c)&&!Object(r["a"])(a)&&(a=0),h=Awe.computeGeometryOffsetAttribute(a,s,c,l)),i.polygonHierarchy=o,i.granularity=QB.getValueOrUndefined(t.granularity,kx.MINIMUM_VALUE),i.stRotation=QB.getValueOrUndefined(t.stRotation,kx.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=QB.getValueOrDefault(t.closeTop,kx.MINIMUM_VALUE,!0),i.closeBottom=QB.getValueOrDefault(t.closeBottom,kx.MINIMUM_VALUE,!0),i.offsetAttribute=h,i.height=a,i.arcType=QB.getValueOrDefault(t.arcType,kx.MINIMUM_VALUE,hh.GEODESIC),i.textureCoordinates=QB.getValueOrUndefined(t.textureCoordinates,kx.MINIMUM_VALUE),c=Awe.getGeometryExtrudedHeight(c,l),c===Awe.CLAMP_TO_GROUND&&(c=on.getMinimumMaximumHeights(kI.computeRectangle(i,iSe)).minimumTerrainHeight),i.extrudedHeight=c},sSe.prototype._getIsClosed=function(e){const t=e.height,n=e.extrudedHeight,i=Object(r["a"])(n)&&n!==t;return!e.perPositionHeight&&(!i&&0===t||i&&e.closeTop&&e.closeBottom)},sSe.DynamicGeometryUpdater=cSe,Object(r["a"])(Object.create)&&(cSe.prototype=Object.create(LY.prototype),cSe.prototype.constructor=cSe),cSe.prototype._isHidden=function(e,t,n){return!Object(r["a"])(this._options.polygonHierarchy)||LY.prototype._isHidden.call(this,e,t,n)},cSe.prototype._setOptions=function(e,t,n){const i=this._options;i.polygonHierarchy=QB.getValueOrUndefined(t.hierarchy,n);let o=QB.getValueOrUndefined(t.height,n);const a=QB.getValueOrDefault(t.heightReference,n,qB.NONE),s=QB.getValueOrDefault(t.extrudedHeightReference,n,qB.NONE);let c=QB.getValueOrUndefined(t.extrudedHeight,n);const l=QB.getValueOrUndefined(t.perPositionHeight,n);let u;o=Awe.getGeometryHeight(o,s),l?(Object(r["a"])(o)&&(o=void 0,ky($xe)),a!==qB.NONE&&l&&(o=void 0,ky(Qxe))):(Object(r["a"])(c)&&!Object(r["a"])(o)&&(o=0),u=Awe.computeGeometryOffsetAttribute(o,a,c,s)),i.granularity=QB.getValueOrUndefined(t.granularity,n),i.stRotation=QB.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=QB.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=QB.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=QB.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=QB.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=QB.getValueOrDefault(t.arcType,n,hh.GEODESIC),c=Awe.getGeometryExtrudedHeight(c,s),c===Awe.CLAMP_TO_GROUND&&(c=on.getMinimumMaximumHeights(kI.computeRectangle(i,iSe)).minimumTerrainHeight),i.extrudedHeight=c};var lSe=sSe;const uSe=new j_;function hSe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function dSe(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new hSe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}function fSe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(dSe.prototype=Object.create(DK.prototype),dSe.prototype.constructor=dSe),dSe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e);let o,s;const c=new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),l=this._distanceDisplayConditionProperty.getValue(e),u=lw.fromDistanceDisplayCondition(l);if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,uSe)),Object(r["a"])(t)||(t=j_.WHITE),s=R_.fromColor(t),o={show:c,distanceDisplayCondition:u,color:s}}else o={show:c,distanceDisplayCondition:u};return new Df({id:t,geometry:new fD(this._options),attributes:o})},dSe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,uSe),r=this._distanceDisplayConditionProperty.getValue(e);return new Df({id:t,geometry:new yD(this._options),attributes:{show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(r)}})},dSe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.positions)||!Object(r["a"])(t.shape)||DK.prototype._isHidden.call(this,e,t)},dSe.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!QB.isConstant(t.granularity)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.cornerType)},dSe.prototype._setStaticOptions=function(e,t){const n=t.granularity,i=t.cornerType,o=this._options,a=this._materialProperty instanceof Zk;o.vertexFormat=a?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(kx.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(kx.MINIMUM_VALUE,o.shape),o.granularity=Object(r["a"])(n)?n.getValue(kx.MINIMUM_VALUE):void 0,o.cornerType=Object(r["a"])(i)?i.getValue(kx.MINIMUM_VALUE):void 0},dSe.DynamicGeometryUpdater=fSe,Object(r["a"])(Object.create)&&(fSe.prototype=Object.create(LY.prototype),fSe.prototype.constructor=fSe),fSe.prototype._isHidden=function(e,t,n){const i=this._options;return!Object(r["a"])(i.polylinePositions)||!Object(r["a"])(i.shapePositions)||LY.prototype._isHidden.call(this,e,t,n)},fSe.prototype._setOptions=function(e,t,n){const i=this._options;i.polylinePositions=QB.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=QB.getValueOrUndefined(t.shape,n),i.granularity=QB.getValueOrUndefined(t.granularity,n),i.cornerType=QB.getValueOrUndefined(t.cornerType,n)};var pSe=dSe;const mSe=new j_,_Se=g.ZERO,gSe=new g,bSe=new Fe,ySe=new Fe,vSe=new I;function OSe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function wSe(e,t){Awe.call(this,{entity:e,scene:t,geometryOptions:new OSe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}function ASe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(wSe.prototype=Object.create(Awe.prototype),wSe.prototype.constructor=wSe),wSe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),o={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:lw.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,mSe)),Object(r["a"])(t)||(t=j_.WHITE),o.color=R_.fromColor(t)}return Object(r["a"])(this._options.offsetAttribute)&&(o.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,_Se,gSe))),new Df({id:t,geometry:new Uj(this._options),attributes:o})},wSe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,mSe),s=this._distanceDisplayConditionProperty.getValue(e),c={show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(s),offset:void 0};return Object(r["a"])(this._options.offsetAttribute)&&(c.offset=ES.fromCartesian3(QB.getValueOrDefault(this._terrainOffsetProperty,e,_Se,gSe))),new Df({id:t,geometry:new Qj(this._options),attributes:c})},wSe.prototype._computeCenter=function(e,t){const n=QB.getValueOrUndefined(this._entity.rectangle.coordinates,e,ySe);if(!Object(r["a"])(n))return;const i=Fe.center(n,vSe);return I.toCartesian(i,z.WGS84,t)},wSe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.coordinates)||DK.prototype._isHidden.call(this,e,t)},wSe.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!QB.isConstant(t.height)||!QB.isConstant(t.extrudedHeight)||!QB.isConstant(t.granularity)||!QB.isConstant(t.stRotation)||!QB.isConstant(t.rotation)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.zIndex)||this._onTerrain&&!QB.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Zk)},wSe.prototype._setStaticOptions=function(e,t){const n=this._materialProperty instanceof Zk;let i=QB.getValueOrUndefined(t.height,kx.MINIMUM_VALUE);const o=QB.getValueOrDefault(t.heightReference,kx.MINIMUM_VALUE,qB.NONE);let a=QB.getValueOrUndefined(t.extrudedHeight,kx.MINIMUM_VALUE);const s=QB.getValueOrDefault(t.extrudedHeightReference,kx.MINIMUM_VALUE,qB.NONE);Object(r["a"])(a)&&!Object(r["a"])(i)&&(i=0);const c=this._options;c.vertexFormat=n?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,c.rectangle=t.coordinates.getValue(kx.MINIMUM_VALUE,c.rectangle),c.granularity=QB.getValueOrUndefined(t.granularity,kx.MINIMUM_VALUE),c.stRotation=QB.getValueOrUndefined(t.stRotation,kx.MINIMUM_VALUE),c.rotation=QB.getValueOrUndefined(t.rotation,kx.MINIMUM_VALUE),c.offsetAttribute=Awe.computeGeometryOffsetAttribute(i,o,a,s),c.height=Awe.getGeometryHeight(i,o),a=Awe.getGeometryExtrudedHeight(a,s),a===Awe.CLAMP_TO_GROUND&&(a=on.getMinimumMaximumHeights(Uj.computeRectangle(c,bSe)).minimumTerrainHeight),c.extrudedHeight=a},wSe.DynamicGeometryUpdater=ASe,Object(r["a"])(Object.create)&&(ASe.prototype=Object.create(LY.prototype),ASe.prototype.constructor=ASe),ASe.prototype._isHidden=function(e,t,n){return!Object(r["a"])(this._options.rectangle)||LY.prototype._isHidden.call(this,e,t,n)},ASe.prototype._setOptions=function(e,t,n){const i=this._options;let o=QB.getValueOrUndefined(t.height,n);const a=QB.getValueOrDefault(t.heightReference,n,qB.NONE);let s=QB.getValueOrUndefined(t.extrudedHeight,n);const c=QB.getValueOrDefault(t.extrudedHeightReference,n,qB.NONE);Object(r["a"])(s)&&!Object(r["a"])(o)&&(o=0),i.rectangle=QB.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=QB.getValueOrUndefined(t.granularity,n),i.stRotation=QB.getValueOrUndefined(t.stRotation,n),i.rotation=QB.getValueOrUndefined(t.rotation,n),i.offsetAttribute=Awe.computeGeometryOffsetAttribute(o,a,s,c),i.height=Awe.getGeometryHeight(o,a),s=Awe.getGeometryExtrudedHeight(s,c),s===Awe.CLAMP_TO_GROUND&&(s=on.getMinimumMaximumHeights(Uj.computeRectangle(i,bSe)).minimumTerrainHeight),i.extrudedHeight=s};var TSe=wSe;const CSe=new j_,ESe=new sw,xSe=new sw,SSe=g.ZERO,ISe=new g;function DSe(e,t,n,i,o,a,s){let c;this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=a,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.updaters=new fh,this.updatersWithAttributes=new fh,this.attributes=new fh,this.subscriptions=new fh,this.showsUpdated=new fh,this.itemsToRemove=[],this.invalidated=!1,Object(r["a"])(o)&&(c=o.definitionChanged.addEventListener(DSe.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=c}function jSe(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}function PSe(e,t){const n=e.length;for(let i=n-1;i>=0;i--){const n=e[i];if(n.remove(t))return 0===n.updaters.length&&(e.splice(i,1),n.destroy()),!0}return!1}function RSe(e,t,n){let i=!1;const o=t.length;for(let r=0;r<o;++r){const o=t[r],a=o.itemsToRemove,s=a.length;if(s>0)for(r=0;r<s;r++){const t=a[r];o.remove(t),e.add(n,t),i=!0}}return i}function MSe(e,t,n,i){let o,r=t.length;for(o=r-1;o>=0;o--){const i=t[o];if(i.invalidated){t.splice(o,1);const r=i.updaters.values,a=r.length;for(let t=0;t<a;t++)e.add(n,r[t]);i.destroy()}}for(r=t.length,o=0;o<r;++o)i=t[o].update(n)&&i;return i}function NSe(e,t,n){const i=e.length;for(let o=0;o<i;o++){const i=e[o];if(i.contains(t))return i.getBoundingSphere(t,n)}return ZB.FAILED}function LSe(e){const t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}DSe.prototype.onMaterialChanged=function(){this.invalidated=!0},DSe.prototype.isMaterial=function(e){const t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t||!!Object(r["a"])(t)&&t.equals(n)},DSe.prototype.add=function(e,t){const n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),e.hasConstantFill&&e.fillMaterialProperty.isConstant&&QB.isConstant(e.distanceDisplayConditionProperty)&&QB.isConstant(e.terrainOffsetProperty)){const t=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&t.showsUpdated.set(e.id,e)})))}else this.updatersWithAttributes.set(n,e)},DSe.prototype.remove=function(e){const t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},DSe.prototype.update=function(e){let t=!0,n=0,i=this.primitive;const o=this.primitives;let a;if(this.createPrimitive){const n=this.geometry.values,a=n.length;if(a>0){let a;Object(r["a"])(i)&&(Object(r["a"])(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),Object(r["a"])(this.depthFailAppearanceType)&&(Object(r["a"])(this.depthFailMaterialProperty)&&(this.depthFailMaterial=MY.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new bW({show:!1,asynchronous:!0,geometryInstances:n.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),o.add(i),t=!1}else{Object(r["a"])(i)&&(o.remove(i),i=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(o.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(Object(r["a"])(i)&&i.ready){i.show=!0,Object(r["a"])(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),!Object(r["a"])(this.depthFailAppearanceType)||this.depthFailMaterialProperty instanceof Zk||(this.depthFailMaterial=MY.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);const t=this.updatersWithAttributes.values,s=t.length,c=this.waitingOnCreate;for(a=0;a<s;a++){const o=t[a],s=this.geometry.get(o.id);let l=this.attributes.get(s.id.id);if(Object(r["a"])(l)||(l=i.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,l)),!o.fillMaterialProperty.isConstant||c){const t=o.fillMaterialProperty.color,i=QB.getValueOrDefault(t,e,j_.WHITE,CSe);j_.equals(l._lastColor,i)||(l._lastColor=j_.clone(i,l._lastColor),l.color=R_.toValue(i,l.color),(this.translucent&&255===l.color[3]||!this.translucent&&255!==l.color[3])&&(this.itemsToRemove[n++]=o))}if(Object(r["a"])(this.depthFailAppearanceType)&&o.depthFailMaterialProperty instanceof Zk&&(!o.depthFailMaterialProperty.isConstant||c)){const t=o.depthFailMaterialProperty.color,n=QB.getValueOrDefault(t,e,j_.WHITE,CSe);j_.equals(l._lastDepthFailColor,n)||(l._lastDepthFailColor=j_.clone(n,l._lastDepthFailColor),l.depthFailColor=R_.toValue(n,l.depthFailColor))}const u=o.entity.isShowing&&(o.hasConstantFill||o.isFilled(e)),h=1===l.show[0];u!==h&&(l.show=OR.toValue(u,l.show));const d=o.distanceDisplayConditionProperty;if(!QB.isConstant(d)){const t=QB.getValueOrDefault(d,e,xSe,ESe);sw.equals(t,l._lastDistanceDisplayCondition)||(l._lastDistanceDisplayCondition=sw.clone(t,l._lastDistanceDisplayCondition),l.distanceDisplayCondition=lw.toValue(t,l.distanceDisplayCondition))}const f=o.terrainOffsetProperty;if(!QB.isConstant(f)){const t=QB.getValueOrDefault(f,e,SSe,ISe);g.equals(t,l._lastOffset)||(l._lastOffset=g.clone(t,l._lastOffset),l.offset=ES.toValue(t,l.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else Object(r["a"])(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t},DSe.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=this.geometry.get(n.id);let a=this.attributes.get(o.id.id);Object(r["a"])(a)||(a=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,a));const s=n.entity.isShowing,c=1===a.show[0];s!==c&&(a.show=OR.toValue(s,a.show),o.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()},DSe.prototype.contains=function(e){return this.updaters.contains(e.id)},DSe.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getGeometryInstanceAttributes(e.entity);return!Object(r["a"])(i)||!Object(r["a"])(i.boundingSphere)||Object(r["a"])(i.show)&&0===i.show[0]?ZB.FAILED:(i.boundingSphere.clone(t),ZB.DONE)},DSe.prototype.destroy=function(){const e=this.primitive,t=this.primitives;Object(r["a"])(e)&&t.remove(e);const n=this.oldPrimitive;Object(r["a"])(n)&&t.remove(n),Object(r["a"])(this.removeMaterialSubscription)&&this.removeMaterialSubscription()},jSe.prototype.add=function(e,t){let n,i;const o=t.createFillGeometryInstance(e);255===o.attributes.color.value[3]?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);const r=n.length;for(let s=0;s<r;s++){const e=n[s];if(e.isMaterial(t))return void e.add(t,o)}const a=new DSe(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);a.add(t,o),n.push(a)},jSe.prototype.remove=function(e){PSe(this._solidItems,e)||PSe(this._translucentItems,e)},jSe.prototype.update=function(e){let t=MSe(this,this._solidItems,e,!0);t=MSe(this,this._translucentItems,e,t)&&t;const n=RSe(this,this._solidItems,e),i=RSe(this,this._translucentItems,e);return(n||i)&&(t=MSe(this,this._solidItems,e,t)&&t,t=MSe(this,this._translucentItems,e,t)&&t),t},jSe.prototype.getBoundingSphere=function(e,t){const n=NSe(this._solidItems,e,t);return n===ZB.FAILED?NSe(this._translucentItems,e,t):n},jSe.prototype.removeAllPrimitives=function(){LSe(this._solidItems),LSe(this._translucentItems)};var BSe=jSe;const FSe=new sw,kSe=new sw,zSe=g.ZERO,USe=new g;function VSe(e,t,n,i,o,r,a){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=a,this.updaters=new fh,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new fh,this.attributes=new fh,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(VSe.prototype.onMaterialChanged,this),this.subscriptions=new fh,this.showsUpdated=new fh}VSe.prototype.onMaterialChanged=function(){this.invalidated=!0},VSe.prototype.isMaterial=function(e){const t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let a=Object(r["a"])(t)&&t.equals(n);return a=(!Object(r["a"])(i)&&!Object(r["a"])(o)||Object(r["a"])(i)&&i.equals(o))&&a,a},VSe.prototype.add=function(e,t){const n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),t.hasConstantFill&&t.fillMaterialProperty.isConstant&&QB.isConstant(t.distanceDisplayConditionProperty)&&QB.isConstant(t.terrainOffsetProperty)){const e=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&e.showsUpdated.set(t.id,t)})))}else this.updatersWithAttributes.set(n,t);this.createPrimitive=!0},VSe.prototype.remove=function(e){const t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};const HSe=new j_;function GSe(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}VSe.prototype.update=function(e){let t=!0,n=this.primitive;const i=this.primitives,o=this.geometry.values;let a;if(this.createPrimitive){const a=o.length;if(a>0){let a;Object(r["a"])(n)&&(Object(r["a"])(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=MY.getValue(e,this.materialProperty,this.material),Object(r["a"])(this.depthFailMaterialProperty)&&(this.depthFailMaterial=MY.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new bW({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{Object(r["a"])(n)&&(i.remove(n),n=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(i.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(Object(r["a"])(n)&&n.ready){n.show=!0,Object(r["a"])(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=MY.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,!Object(r["a"])(this.depthFailAppearanceType)||this.depthFailMaterialProperty instanceof Zk||(this.depthFailMaterial=MY.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);const t=this.updatersWithAttributes.values,o=t.length;for(a=0;a<o;a++){const i=t[a],o=i.entity,s=this.geometry.get(i.id);let c=this.attributes.get(s.id.id);if(Object(r["a"])(c)||(c=n.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,c)),Object(r["a"])(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Zk&&!i.depthFailMaterialProperty.isConstant){const t=i.depthFailMaterialProperty.color,n=QB.getValueOrDefault(t,e,j_.WHITE,HSe);j_.equals(c._lastDepthFailColor,n)||(c._lastDepthFailColor=j_.clone(n,c._lastDepthFailColor),c.depthFailColor=R_.toValue(n,c.depthFailColor))}const l=o.isShowing&&(i.hasConstantFill||i.isFilled(e)),u=1===c.show[0];l!==u&&(c.show=OR.toValue(l,c.show));const h=i.distanceDisplayConditionProperty;if(!QB.isConstant(h)){const t=QB.getValueOrDefault(h,e,kSe,FSe);sw.equals(t,c._lastDistanceDisplayCondition)||(c._lastDistanceDisplayCondition=sw.clone(t,c._lastDistanceDisplayCondition),c.distanceDisplayCondition=lw.toValue(t,c.distanceDisplayCondition))}const d=i.terrainOffsetProperty;if(!QB.isConstant(d)){const t=QB.getValueOrDefault(d,e,zSe,USe);g.equals(t,c._lastOffset)||(c._lastOffset=g.clone(t,c._lastOffset),c.offset=ES.toValue(t,c.offset))}}this.updateShows(n)}else Object(r["a"])(n)&&!n.ready&&(t=!1);return t},VSe.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=n.entity,a=this.geometry.get(n.id);let s=this.attributes.get(a.id.id);Object(r["a"])(s)||(s=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,s));const c=o.isShowing,l=1===s.show[0];c!==l&&(s.show=OR.toValue(c,s.show),a.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()},VSe.prototype.contains=function(e){return this.updaters.contains(e.id)},VSe.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getGeometryInstanceAttributes(e.entity);return!Object(r["a"])(i)||!Object(r["a"])(i.boundingSphere)||Object(r["a"])(i.show)&&0===i.show[0]?ZB.FAILED:(i.boundingSphere.clone(t),ZB.DONE)},VSe.prototype.destroy=function(){const e=this.primitive,t=this.primitives;Object(r["a"])(e)&&t.remove(e);const n=this.oldPrimitive;Object(r["a"])(n)&&t.remove(n),this.removeMaterialSubscription()},GSe.prototype.add=function(e,t){const n=this._items,i=n.length;for(let r=0;r<i;r++){const i=n[r];if(i.isMaterial(t))return void i.add(e,t)}const o=new VSe(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)},GSe.prototype.remove=function(e){const t=this._items,n=t.length;for(let i=n-1;i>=0;i--){const n=t[i];if(n.remove(e)){0===n.updaters.length&&(t.splice(i,1),n.destroy());break}}},GSe.prototype.update=function(e){let t;const n=this._items,i=n.length;for(t=i-1;t>=0;t--){const i=n[t];if(i.invalidated){n.splice(t,1);const o=i.updaters.values,r=o.length;for(let t=0;t<r;t++)this.add(e,o[t]);i.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o},GSe.prototype.getBoundingSphere=function(e,t){const n=this._items,i=n.length;for(let o=0;o<i;o++){const i=n[o];if(i.contains(e))return i.getBoundingSphere(e,t)}return ZB.FAILED},GSe.prototype.removeAllPrimitives=function(){const e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var qSe=GSe;const WSe=new j_,YSe=new sw,XSe=new sw;function KSe(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.updaters=new fh,this.updatersWithAttributes=new fh,this.attributes=new fh,this.subscriptions=new fh,this.showsUpdated=new fh,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new KD}function JSe(e,t){this._batches=[],this._primitives=e,this._classificationType=t}KSe.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)},KSe.prototype.add=function(e,t){const n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),e.hasConstantFill&&e.fillMaterialProperty.isConstant&&QB.isConstant(e.distanceDisplayConditionProperty)){const t=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&t.showsUpdated.set(e.id,e)})))}else this.updatersWithAttributes.set(n,e)},KSe.prototype.remove=function(e){const t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},KSe.prototype.update=function(e){let t=!0;const n=0;let i=this.primitive;const o=this.primitives;let a;if(this.createPrimitive){const e=this.geometry.values,n=e.length;if(n>0)Object(r["a"])(i)&&(Object(r["a"])(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new PY({show:!1,asynchronous:!0,geometryInstances:e.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{Object(r["a"])(i)&&(o.remove(i),i=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(o.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(Object(r["a"])(i)&&i.ready){i.show=!0,Object(r["a"])(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);const t=this.updatersWithAttributes.values,n=t.length,s=this.waitingOnCreate;for(a=0;a<n;a++){const n=t[a],o=this.geometry.get(n.id);let c=this.attributes.get(o.id.id);if(Object(r["a"])(c)||(c=i.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,c)),!n.fillMaterialProperty.isConstant||s){const t=n.fillMaterialProperty.color,i=QB.getValueOrDefault(t,e,j_.WHITE,WSe);j_.equals(c._lastColor,i)||(c._lastColor=j_.clone(i,c._lastColor),c.color=R_.toValue(i,c.color))}const l=n.entity.isShowing&&(n.hasConstantFill||n.isFilled(e)),u=1===c.show[0];l!==u&&(c.show=OR.toValue(l,c.show));const h=n.distanceDisplayConditionProperty;if(!QB.isConstant(h)){const t=QB.getValueOrDefault(h,e,XSe,YSe);sw.equals(t,c._lastDistanceDisplayCondition)||(c._lastDistanceDisplayCondition=sw.clone(t,c._lastDistanceDisplayCondition),c.distanceDisplayCondition=lw.toValue(t,c.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else Object(r["a"])(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t},KSe.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=this.geometry.get(n.id);let a=this.attributes.get(o.id.id);Object(r["a"])(a)||(a=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,a));const s=n.entity.isShowing,c=1===a.show[0];s!==c&&(a.show=OR.toValue(s,a.show),o.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()},KSe.prototype.contains=function(e){return this.updaters.contains(e.id)},KSe.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getBoundingSphere(e.entity);return Object(r["a"])(i)?(i.clone(t),ZB.DONE):ZB.FAILED},KSe.prototype.removeAllPrimitives=function(){const e=this.primitives,t=this.primitive;Object(r["a"])(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());const n=this.oldPrimitive;Object(r["a"])(n)&&(e.remove(n),this.oldPrimitive=void 0)},JSe.prototype.add=function(e,t){const n=t.createFillGeometryInstance(e),i=this._batches,o=QB.getValueOrDefault(t.zIndex,0);let a;const s=i.length;for(let r=0;r<s;++r){const e=i[r];if(e.zIndex===o&&!e.overlapping(n.geometry.rectangle)){a=e;break}}return Object(r["a"])(a)||(a=new KSe(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(a)),a.add(t,n),a},JSe.prototype.remove=function(e){const t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return},JSe.prototype.update=function(e){let t,n,i=!0;const o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){const i=o[t],r=i.itemsToRemove,a=r.length;for(let t=0;t<a;t++){n=r[t],i.remove(n);const o=this.add(e,n);i.isDirty=!0,o.isDirty=!0}}for(t=r-1;t>=0;--t){const n=o[t];n.isDirty&&(i=o[t].update(e)&&i,n.isDirty=!1),0===n.geometry.length&&o.splice(t,1)}return i},JSe.prototype.getBoundingSphere=function(e,t){const n=this._batches,i=n.length;for(let o=0;o<i;++o){const i=n[o];if(i.contains(e))return i.getBoundingSphere(e,t)}return ZB.FAILED},JSe.prototype.removeAllPrimitives=function(){const e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var ZSe=JSe;const $Se=new sw,QSe=new sw;function eIe(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new fh,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.material=void 0,this.updatersWithAttributes=new fh,this.attributes=new fh,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(eIe.prototype.onMaterialChanged,this),this.subscriptions=new fh,this.showsUpdated=new fh,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new KD}function tIe(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}eIe.prototype.onMaterialChanged=function(){this.invalidated=!0},eIe.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)},eIe.prototype.isMaterial=function(e){const t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Zk&&t instanceof Zk||Object(r["a"])(t)&&t.equals(n)},eIe.prototype.add=function(e,t,n){const i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),t.hasConstantFill&&t.fillMaterialProperty.isConstant&&QB.isConstant(t.distanceDisplayConditionProperty)){const e=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&e.showsUpdated.set(t.id,t)})))}else this.updatersWithAttributes.set(i,t);this.createPrimitive=!0},eIe.prototype.remove=function(e){const t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t)),!0}return!1},eIe.prototype.update=function(e){let t=!0,n=this.primitive;const i=this.primitives,o=this.geometry.values;let a;if(this.createPrimitive){const a=o.length;if(a>0)Object(r["a"])(n)&&(Object(r["a"])(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=MY.getValue(e,this.materialProperty,this.material),n=new PY({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{Object(r["a"])(n)&&(i.remove(n),n=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(i.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(Object(r["a"])(n)&&n.ready){n.show=!0,Object(r["a"])(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=MY.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;const t=this.updatersWithAttributes.values,o=t.length;for(a=0;a<o;a++){const i=t[a],o=i.entity,s=this.geometry.get(i.id);let c=this.attributes.get(s.id.id);Object(r["a"])(c)||(c=n.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,c));const l=o.isShowing&&(i.hasConstantFill||i.isFilled(e)),u=1===c.show[0];l!==u&&(c.show=OR.toValue(l,c.show));const h=i.distanceDisplayConditionProperty;if(!QB.isConstant(h)){const t=QB.getValueOrDefault(h,e,QSe,$Se);sw.equals(t,c._lastDistanceDisplayCondition)||(c._lastDistanceDisplayCondition=sw.clone(t,c._lastDistanceDisplayCondition),c.distanceDisplayCondition=lw.toValue(t,c.distanceDisplayCondition))}}this.updateShows(n)}else Object(r["a"])(n)&&!n.ready&&(t=!1);return t},eIe.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=n.entity,a=this.geometry.get(n.id);let s=this.attributes.get(a.id.id);Object(r["a"])(s)||(s=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,s));const c=o.isShowing,l=1===s.show[0];c!==l&&(s.show=OR.toValue(c,s.show),a.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()},eIe.prototype.contains=function(e){return this.updaters.contains(e.id)},eIe.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getGeometryInstanceAttributes(e.entity);return!Object(r["a"])(i)||!Object(r["a"])(i.boundingSphere)||Object(r["a"])(i.show)&&0===i.show[0]?ZB.FAILED:(i.boundingSphere.clone(t),ZB.DONE)},eIe.prototype.destroy=function(){const e=this.primitive,t=this.primitives;Object(r["a"])(e)&&t.remove(e);const n=this.oldPrimitive;Object(r["a"])(n)&&t.remove(n),this.removeMaterialSubscription()},tIe.prototype.add=function(e,t){const n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=XW.shouldUseSphericalCoordinates(o.geometry.rectangle),a=QB.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){const i=n[c];if(i.isMaterial(t)&&i.usingSphericalTextureCoordinates===r&&i.zIndex===a&&!i.overlapping(o.geometry.rectangle))return void i.add(e,t,o)}const s=new eIe(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,a);s.add(e,t,o),n.push(s)},tIe.prototype.remove=function(e){const t=this._items,n=t.length;for(let i=n-1;i>=0;i--){const n=t[i];if(n.remove(e)){0===n.updaters.length&&(t.splice(i,1),n.destroy());break}}},tIe.prototype.update=function(e){let t;const n=this._items,i=n.length;for(t=i-1;t>=0;t--){const i=n[t];if(i.invalidated){n.splice(t,1);const o=i.updaters.values,r=o.length;for(let t=0;t<r;t++)this.add(e,o[t]);i.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o},tIe.prototype.getBoundingSphere=function(e,t){const n=this._items,i=n.length;for(let o=0;o<i;o++){const i=n[o];if(i.contains(e))return i.getBoundingSphere(e,t)}return ZB.FAILED},tIe.prototype.removeAllPrimitives=function(){const e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var nIe=tIe;const iIe=new j_,oIe=new sw,rIe=new sw,aIe=g.ZERO,sIe=new g;function cIe(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.updaters=new fh,this.updatersWithAttributes=new fh,this.attributes=new fh,this.itemsToRemove=[],this.subscriptions=new fh,this.showsUpdated=new fh}function lIe(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new fh,this._translucentBatches=new fh}cIe.prototype.add=function(e,t){const n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),e.hasConstantOutline&&e.outlineColorProperty.isConstant&&QB.isConstant(e.distanceDisplayConditionProperty)&&QB.isConstant(e.terrainOffsetProperty)){const t=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&t.showsUpdated.set(e.id,e)})))}else this.updatersWithAttributes.set(n,e)},cIe.prototype.remove=function(e){const t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},cIe.prototype.update=function(e){let t=!0,n=0,i=this.primitive;const o=this.primitives;let a;if(this.createPrimitive){const e=this.geometry.values,n=e.length;if(n>0)Object(r["a"])(i)&&(Object(r["a"])(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new bW({show:!1,asynchronous:!0,geometryInstances:e.slice(),appearance:new Kk({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{Object(r["a"])(i)&&(o.remove(i),i=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(o.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(Object(r["a"])(i)&&i.ready){i.show=!0,Object(r["a"])(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);const t=this.updatersWithAttributes.values,s=t.length,c=this.waitingOnCreate;for(a=0;a<s;a++){const o=t[a],s=this.geometry.get(o.id);let l=this.attributes.get(s.id.id);if(Object(r["a"])(l)||(l=i.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,l)),!o.outlineColorProperty.isConstant||c){const t=o.outlineColorProperty,i=QB.getValueOrDefault(t,e,j_.WHITE,iIe);j_.equals(l._lastColor,i)||(l._lastColor=j_.clone(i,l._lastColor),l.color=R_.toValue(i,l.color),(this.translucent&&255===l.color[3]||!this.translucent&&255!==l.color[3])&&(this.itemsToRemove[n++]=o))}const u=o.entity.isShowing&&(o.hasConstantOutline||o.isOutlineVisible(e)),h=1===l.show[0];u!==h&&(l.show=OR.toValue(u,l.show));const d=o.distanceDisplayConditionProperty;if(!QB.isConstant(d)){const t=QB.getValueOrDefault(d,e,rIe,oIe);sw.equals(t,l._lastDistanceDisplayCondition)||(l._lastDistanceDisplayCondition=sw.clone(t,l._lastDistanceDisplayCondition),l.distanceDisplayCondition=lw.toValue(t,l.distanceDisplayCondition))}const f=o.terrainOffsetProperty;if(!QB.isConstant(f)){const t=QB.getValueOrDefault(f,e,aIe,sIe);g.equals(t,l._lastOffset)||(l._lastOffset=g.clone(t,l._lastOffset),l.offset=ES.toValue(t,l.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else Object(r["a"])(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t},cIe.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=this.geometry.get(n.id);let a=this.attributes.get(o.id.id);Object(r["a"])(a)||(a=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,a));const s=n.entity.isShowing,c=1===a.show[0];s!==c&&(a.show=OR.toValue(s,a.show),o.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()},cIe.prototype.contains=function(e){return this.updaters.contains(e.id)},cIe.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getGeometryInstanceAttributes(e.entity);return!Object(r["a"])(i)||!Object(r["a"])(i.boundingSphere)||Object(r["a"])(i.show)&&0===i.show[0]?ZB.FAILED:(i.boundingSphere.clone(t),ZB.DONE)},cIe.prototype.removeAllPrimitives=function(){const e=this.primitives,t=this.primitive;Object(r["a"])(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());const n=this.oldPrimitive;Object(r["a"])(n)&&(e.remove(n),this.oldPrimitive=void 0)},lIe.prototype.add=function(e,t){const n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth);let o,a;255===n.attributes.color.value[3]?(o=this._solidBatches,a=o.get(i),Object(r["a"])(a)||(a=new cIe(this._primitives,!1,i,this._shadows),o.set(i,a)),a.add(t,n)):(o=this._translucentBatches,a=o.get(i),Object(r["a"])(a)||(a=new cIe(this._primitives,!0,i,this._shadows),o.set(i,a)),a.add(t,n))},lIe.prototype.remove=function(e){let t;const n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;const o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return},lIe.prototype.update=function(e){let t,n,i,o;const r=this._solidBatches.values,a=r.length,s=this._translucentBatches.values,c=s.length;let l,u=!0,h=!1;do{for(h=!1,n=0;n<a;n++){o=r[n],u=o.update(e),l=o.itemsToRemove;const a=l.length;if(a>0)for(h=!0,t=0;t<a;t++)i=l[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=s[n],u=o.update(e),l=o.itemsToRemove;const r=l.length;if(r>0)for(h=!0,t=0;t<r;t++)i=l[t],o.remove(i),this.add(e,i)}}while(h);return u},lIe.prototype.getBoundingSphere=function(e,t){let n;const i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){const o=i[n];if(o.contains(e))return o.getBoundingSphere(e,t)}const r=this._translucentBatches.values,a=r.length;for(n=0;n<a;n++){const i=r[n];if(i.contains(e))return i.getBoundingSphere(e,t)}return ZB.FAILED},lIe.prototype.removeAllPrimitives=function(){let e;const t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();const i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var uIe=lIe;const hIe=new j_;function dIe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function fIe(e,t){DK.call(this,{entity:e,scene:t,geometryOptions:new dIe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}function pIe(e,t,n){LY.call(this,e,t,n)}Object(r["a"])(Object.create)&&(fIe.prototype=Object.create(DK.prototype),fIe.prototype.constructor=fIe),fIe.prototype.createFillGeometryInstance=function(e){if(i["a"].defined("time",e),!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e);let o,s;const c=new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),l=this._distanceDisplayConditionProperty.getValue(e),u=lw.fromDistanceDisplayCondition(l);if(this._materialProperty instanceof Zk){let t;Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(t=this._materialProperty.color.getValue(e,hIe)),Object(r["a"])(t)||(t=j_.WHITE),s=R_.fromColor(t),o={show:c,distanceDisplayCondition:u,color:s}}else o={show:c,distanceDisplayCondition:u};return new Df({id:t,geometry:new uL(this._options),attributes:o})},fIe.prototype.createOutlineGeometryInstance=function(e){if(i["a"].defined("time",e),!this._outlineEnabled)throw new a["a"]("This instance does not represent an outlined geometry.");const t=this._entity,n=t.isAvailable(e),o=QB.getValueOrDefault(this._outlineColorProperty,e,j_.BLACK,hIe),r=this._distanceDisplayConditionProperty.getValue(e);return new Df({id:t,geometry:new _L(this._options),attributes:{show:new OR(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:R_.fromColor(o),distanceDisplayCondition:lw.fromDistanceDisplayCondition(r)}})},fIe.prototype._isHidden=function(e,t){return!Object(r["a"])(t.positions)||DK.prototype._isHidden.call(this,e,t)},fIe.prototype._getIsClosed=function(e){return!1},fIe.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!QB.isConstant(t.minimumHeights)||!QB.isConstant(t.maximumHeights)||!QB.isConstant(t.outlineWidth)||!QB.isConstant(t.granularity)},fIe.prototype._setStaticOptions=function(e,t){const n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,a=this._materialProperty instanceof Zk,s=this._options;s.vertexFormat=a?Kk.VERTEX_FORMAT:Hk.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(kx.MINIMUM_VALUE,s.positions),s.minimumHeights=Object(r["a"])(n)?n.getValue(kx.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=Object(r["a"])(i)?i.getValue(kx.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=Object(r["a"])(o)?o.getValue(kx.MINIMUM_VALUE):void 0},fIe.DynamicGeometryUpdater=pIe,Object(r["a"])(Object.create)&&(pIe.prototype=Object.create(LY.prototype),pIe.prototype.constructor=pIe),pIe.prototype._isHidden=function(e,t,n){return!Object(r["a"])(this._options.positions)||LY.prototype._isHidden.call(this,e,t,n)},pIe.prototype._setOptions=function(e,t,n){const i=this._options;i.positions=QB.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=QB.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=QB.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=QB.getValueOrUndefined(t.granularity,n)};var mIe=fIe;const _Ie=[],gIe=[WK,hTe,jwe,Exe,Bxe,Zxe,lSe,pSe,TSe,mIe];function bIe(e,t){this.entity=e,this.scene=t;const n=new Array(gIe.length),i=new pi["a"];function o(e){i.raiseEvent(e)}const r=new Jw;for(let a=0;a<n.length;a++){const i=new gIe[a](e,t);r.add(i.geometryChanged,o),n[a]=i}this.updaters=n,this.geometryChanged=i,this.eventHelper=r,this._removeEntitySubscription=e.definitionChanged.addEventListener(bIe.prototype._onEntityPropertyChanged,this)}function yIe(e,t,n,r){i["a"].defined("scene",e),i["a"].defined("entityCollection",t),n=Object(o["a"])(n,e.primitives),r=Object(o["a"])(r,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=r,this._entityCollection=void 0,this._addedObjects=new fh,this._removedObjects=new fh,this._changedObjects=new fh;const a=wq.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(2*a),this._closedColorBatches=new Array(2*a),this._closedMaterialBatches=new Array(2*a),this._openColorBatches=new Array(2*a),this._openMaterialBatches=new Array(2*a);const s=vK.supportsMaterialsforEntitiesOnTerrain(e);let c;for(this._supportsMaterialsforEntitiesOnTerrain=s,c=0;c<a;++c)this._outlineBatches[c]=new uIe(n,e,c,!1),this._outlineBatches[a+c]=new uIe(n,e,c,!0),this._closedColorBatches[c]=new BSe(n,Kk,void 0,!0,c,!0),this._closedColorBatches[a+c]=new BSe(n,Kk,void 0,!0,c,!1),this._closedMaterialBatches[c]=new qSe(n,Hk,void 0,!0,c,!0),this._closedMaterialBatches[a+c]=new qSe(n,Hk,void 0,!0,c,!1),this._openColorBatches[c]=new BSe(n,Kk,void 0,!1,c,!0),this._openColorBatches[a+c]=new BSe(n,Kk,void 0,!1,c,!1),this._openMaterialBatches[c]=new qSe(n,Hk,void 0,!1,c,!0),this._openMaterialBatches[a+c]=new qSe(n,Hk,void 0,!1,c,!1);const l=wG.NUMBER_OF_CLASSIFICATION_TYPES,u=new Array(l),h=[];if(s)for(c=0;c<l;++c)h.push(new nIe(r,c,Hk)),u[c]=new ZSe(r,c);else for(c=0;c<l;++c)u[c]=new ZSe(r,c);this._groundColorBatches=u,this._groundMaterialBatches=h,this._dynamicBatch=new bxe(n,r),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new fh,this._updaterSets=new fh,this._entityCollection=t,t.collectionChanged.addEventListener(yIe.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,_Ie)}bIe.prototype._onEntityPropertyChanged=function(e,t,n,i){const o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)},bIe.prototype.forEach=function(e){const t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])},bIe.prototype.destroy=function(){this.eventHelper.removeAll();const e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),Wl(this)},yIe.prototype.update=function(e){i["a"].defined("time",e);const t=this._addedObjects,n=t.values,o=this._removedObjects,r=o.values,a=this._changedObjects,s=a.values;let c,l,u,h;const d=this;for(c=s.length-1;c>-1;c--)l=s[c],u=l.id,h=this._updaterSets.get(u),h.entity===l?h.forEach((function(t){d._removeUpdater(t),d._insertUpdaterIntoBatch(e,t)})):(r.push(l),n.push(l));for(c=r.length-1;c>-1;c--)l=r[c],u=l.id,h=this._updaterSets.get(u),h.forEach(this._removeUpdater.bind(this)),h.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(c=n.length-1;c>-1;c--)l=n[c],u=l.id,h=new bIe(l,this._scene),this._updaterSets.set(u,h),h.forEach((function(t){d._insertUpdaterIntoBatch(e,t)})),this._subscriptions.set(u,h.geometryChanged.addEventListener(yIe._onGeometryChanged,this));t.removeAll(),o.removeAll(),a.removeAll();let f=!0;const p=this._batches,m=p.length;for(c=0;c<m;c++)f=p[c].update(e)&&f;return f};const vIe=[],OIe=new Tt;yIe.prototype.getBoundingSphere=function(e,t){i["a"].defined("entity",e),i["a"].defined("result",t);const n=vIe,o=OIe;let r=0,a=ZB.DONE;const s=this._batches,c=s.length,l=e.id,u=this._updaterSets.get(l).updaters;for(let i=0;i<u.length;i++){const e=u[i];for(let t=0;t<c;t++){if(a=s[t].getBoundingSphere(e,o),a===ZB.PENDING)return ZB.PENDING;a===ZB.DONE&&(n[r]=Tt.clone(o,n[r]),r++)}}return 0===r?ZB.FAILED:(n.length=r,Tt.fromBoundingSpheres(n,t),ZB.DONE)},yIe.prototype.isDestroyed=function(){return!1},yIe.prototype.destroy=function(){let e;this._entityCollection.collectionChanged.removeEventListener(yIe.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();const t=this._batches;let n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();const i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();const o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),Wl(this)},yIe.prototype._removeUpdater=function(e){const t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)},yIe.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic)return void this._dynamicBatch.add(e,t);let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));const i=wq.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(Object(r["a"])(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){const n=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Zk?this._groundColorBatches[n].add(e,t):this._groundMaterialBatches[n].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Zk?Object(r["a"])(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):Object(r["a"])(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Zk?Object(r["a"])(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):Object(r["a"])(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)},yIe._onGeometryChanged=function(e){const t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;Object(r["a"])(t.get(o))||Object(r["a"])(n.get(o))||n.set(o,i)},yIe.prototype._onCollectionChanged=function(e,t,n){const i=this._addedObjects,o=this._removedObjects,r=this._changedObjects;let a,s,c;for(a=n.length-1;a>-1;a--)c=n[a],s=c.id,i.remove(s)||(o.set(s,c),r.remove(s));for(a=t.length-1;a>-1;a--)c=t[a],s=c.id,o.remove(s)?r.set(s,c):i.set(s,c)};var wIe=yIe;const AIe=1,TIe="30px sans-serif",CIe=Jre.FILL,EIe=j_.WHITE,xIe=j_.BLACK,SIe=1,IIe=!1,DIe=new j_(.165,.165,.165,.8),jIe=new Ht(7,5),PIe=Ht.ZERO,RIe=g.ZERO,MIe=qB.NONE,NIe=YB.CENTER,LIe=KB.CENTER,BIe=new g,FIe=new j_,kIe=new j_,zIe=new j_,UIe=new Ht,VIe=new g,HIe=new Ht,GIe=new cS,qIe=new cS,WIe=new cS,YIe=new sw;function XIe(e){this.entity=e,this.label=void 0,this.index=void 0}function KIe(e,t){if(!Object(r["a"])(e))throw new a["a"]("entityCluster is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(KIe.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new fh,this._onCollectionChanged(t,t.values,[],[])}function JIe(e,t,n){Object(r["a"])(e)&&(e.label=void 0,n.removeLabel(t))}KIe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){const o=t[i],a=o.entity,s=a._label;let c,l,u=o.label,h=a.isShowing&&a.isAvailable(e)&&QB.getValueOrDefault(s._show,e,!0);if(h&&(l=QB.getValueOrUndefined(a._position,e,BIe),c=QB.getValueOrUndefined(s._text,e),h=Object(r["a"])(l)&&Object(r["a"])(c)),!h){JIe(o,a,n);continue}QB.isConstant(a._position)||(n._clusterDirty=!0);let d=!1;const f=QB.getValueOrDefault(s._heightReference,e,MIe);Object(r["a"])(u)||(u=n.getLabel(a),u.id=a,o.label=u,d=g.equals(u.position,l)&&u.heightReference===f),u.show=!0,u.position=l,u.text=c,u.scale=QB.getValueOrDefault(s._scale,e,AIe),u.font=QB.getValueOrDefault(s._font,e,TIe),u.style=QB.getValueOrDefault(s._style,e,CIe),u.fillColor=QB.getValueOrDefault(s._fillColor,e,EIe,FIe),u.outlineColor=QB.getValueOrDefault(s._outlineColor,e,xIe,kIe),u.outlineWidth=QB.getValueOrDefault(s._outlineWidth,e,SIe),u.showBackground=QB.getValueOrDefault(s._showBackground,e,IIe),u.backgroundColor=QB.getValueOrDefault(s._backgroundColor,e,DIe,zIe),u.backgroundPadding=QB.getValueOrDefault(s._backgroundPadding,e,jIe,UIe),u.pixelOffset=QB.getValueOrDefault(s._pixelOffset,e,PIe,HIe),u.eyeOffset=QB.getValueOrDefault(s._eyeOffset,e,RIe,VIe),u.heightReference=f,u.horizontalOrigin=QB.getValueOrDefault(s._horizontalOrigin,e,NIe),u.verticalOrigin=QB.getValueOrDefault(s._verticalOrigin,e,LIe),u.translucencyByDistance=QB.getValueOrUndefined(s._translucencyByDistance,e,GIe),u.pixelOffsetScaleByDistance=QB.getValueOrUndefined(s._pixelOffsetScaleByDistance,e,qIe),u.scaleByDistance=QB.getValueOrUndefined(s._scaleByDistance,e,WIe),u.distanceDisplayCondition=QB.getValueOrUndefined(s._distanceDisplayCondition,e,YIe),u.disableDepthTestDistance=QB.getValueOrUndefined(s._disableDepthTestDistance,e),d&&u._updateClamping()}return!0},KIe.prototype.getBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");if(!Object(r["a"])(t))throw new a["a"]("result is required.");const n=this._items.get(e.id);if(!Object(r["a"])(n)||!Object(r["a"])(n.label))return ZB.FAILED;const i=n.label;return t.center=g.clone(Object(o["a"])(i._clampedPosition,i.position),t.center),t.radius=0,ZB.DONE},KIe.prototype.isDestroyed=function(){return!1},KIe.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(KIe.prototype._onCollectionChanged,this);const e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return Wl(this)},KIe.prototype._onCollectionChanged=function(e,t,n,i){let o,a;const s=this._items,c=this._cluster;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._label)&&Object(r["a"])(a._position)&&s.set(a.id,new XIe(a));for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._label)&&Object(r["a"])(a._position)?s.contains(a.id)||s.set(a.id,new XIe(a)):(JIe(s.get(a.id),a,c),s.remove(a.id));for(o=n.length-1;o>-1;o--)a=n[o],JIe(s.get(a.id),a,c),s.remove(a.id)};var ZIe=KIe;const $Ie=1,QIe=0,eDe=!0,tDe=!0,nDe=wq.ENABLED,iDe=qB.NONE,oDe=j_.RED,rDe=0,aDe=j_.WHITE,sDe=L2.HIGHLIGHT,cDe=.5,lDe=new Ht(1,1),uDe=new Ne,hDe=new Ne;function dDe(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(dDe.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new fh,this._onCollectionChanged(t,t.values,[],[])}function fDe(e,t,n,i){const o=n[t.id];Object(r["a"])(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function pDe(e,t){const n=t[e.id];Object(r["a"])(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}function mDe(e,t,n){e.readyPromise.catch((function(e){console.error(e),n[t.id].loadFail=!0}))}dDe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,a=t.length;o<a;o++){const a=t[o],s=a._model;let c,l,u=n[a.id],h=a.isShowing&&a.isAvailable(e)&&QB.getValueOrDefault(s._show,e,!0);if(h&&(l=a.computeModelMatrix(e,uDe),c=Et["a"].createIfNeeded(QB.getValueOrUndefined(s._uri,e)),h=Object(r["a"])(l)&&Object(r["a"])(c)),!h){Object(r["a"])(u)&&(u.modelPrimitive.show=!1);continue}let d=Object(r["a"])(u)?u.modelPrimitive:void 0;if(Object(r["a"])(d)&&c.url===u.url||(Object(r["a"])(d)&&(i.removeAndDestroy(d),delete n[a.id]),d=E6.fromGltf({url:c,incrementallyLoadTextures:QB.getValueOrDefault(s._incrementallyLoadTextures,e,eDe),scene:this._scene}),d.id=a,i.add(d),u={modelPrimitive:d,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFail:!1},n[a.id]=u,mDe(d,a,n)),d.show=!0,d.scale=QB.getValueOrDefault(s._scale,e,$Ie),d.minimumPixelSize=QB.getValueOrDefault(s._minimumPixelSize,e,QIe),d.maximumScale=QB.getValueOrUndefined(s._maximumScale,e),d.modelMatrix=Ne.clone(l,d.modelMatrix),d.shadows=QB.getValueOrDefault(s._shadows,e,nDe),d.heightReference=QB.getValueOrDefault(s._heightReference,e,iDe),d.distanceDisplayCondition=QB.getValueOrUndefined(s._distanceDisplayCondition,e),d.silhouetteColor=QB.getValueOrDefault(s._silhouetteColor,e,oDe,d._silhouetteColor),d.silhouetteSize=QB.getValueOrDefault(s._silhouetteSize,e,rDe),d.color=QB.getValueOrDefault(s._color,e,aDe,d._color),d.colorBlendMode=QB.getValueOrDefault(s._colorBlendMode,e,sDe),d.colorBlendAmount=QB.getValueOrDefault(s._colorBlendAmount,e,cDe),d.clippingPlanes=QB.getValueOrUndefined(s._clippingPlanes,e),d.clampAnimations=QB.getValueOrDefault(s._clampAnimations,e,tDe),d.imageBasedLighting.imageBasedLightingFactor=QB.getValueOrDefault(s._imageBasedLightingFactor,e,lDe),d.lightColor=QB.getValueOrUndefined(s._lightColor,e),d.ready){const t=QB.getValueOrDefault(s._runAnimations,e,!0);u.animationsRunning!==t&&(t?d.activeAnimations.addAll({loop:u3.REPEAT}):d.activeAnimations.removeAll(),u.animationsRunning=t);const n=QB.getValueOrUndefined(s._nodeTransformations,e,u.nodeTransformationsScratch);if(Object(r["a"])(n)){const e=Object.keys(n);for(let t=0,i=e.length;t<i;++t){const i=e[t],o=n[i];if(!Object(r["a"])(o))continue;const a=d.getNode(i);if(!Object(r["a"])(a))continue;const s=Ne.fromTranslationRotationScale(o,hDe);a.matrix=Ne.multiply(a.originalMatrix,s,s)}}let i=!1;const o=QB.getValueOrUndefined(s._articulations,e,u.articulationsScratch);if(Object(r["a"])(o)){const e=Object.keys(o);for(let t=0,n=e.length;t<n;++t){const n=e[t],a=o[n];Object(r["a"])(a)&&(i=!0,d.setArticulationStage(n,a))}}i&&d.applyArticulations()}}return!0},dDe.prototype.isDestroyed=function(){return!1},dDe.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(dDe.prototype._onCollectionChanged,this);const e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)fDe(this,e[i],t,n);return Wl(this)},dDe.prototype.getBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");if(!Object(r["a"])(t))throw new a["a"]("result is required.");const n=this._modelHash[e.id];if(!Object(r["a"])(n)||n.loadFail)return ZB.FAILED;const i=n.modelPrimitive;if(!Object(r["a"])(i)||!i.show)return ZB.FAILED;if(!i.ready)return ZB.PENDING;if(i.heightReference===qB.NONE)Tt.transform(i.boundingSphereInternal,i.modelMatrix,t);else{if(!Object(r["a"])(i._clampedModelMatrix))return ZB.PENDING;Tt.transform(i.boundingSphereInternal,i._clampedModelMatrix,t)}return ZB.DONE},dDe.prototype._onCollectionChanged=function(e,t,n,i){let o,a;const s=this._entitiesToVisualize,c=this._modelHash,l=this._primitives;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._model)&&Object(r["a"])(a._position)&&s.set(a.id,a);for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._model)&&Object(r["a"])(a._position)?(pDe(a,c),s.set(a.id,a)):(fDe(this,a,c,l),s.remove(a.id));for(o=n.length-1;o>-1;o--)a=n[o],fDe(this,a,c,l),s.remove(a.id)};var _De=dDe;function gDe(e){this._definitionChanged=new pi["a"],this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(gDe.prototype,{isConstant:{get:function(){return QB.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return Object(r["a"])(this._value)?this._value.referenceFrame:tP.FIXED}}}),gDe.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,tP.FIXED,t)},gDe.prototype.setValue=function(e){this._value!==e&&(this._value=e,Object(r["a"])(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),Object(r["a"])(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))},gDe.prototype.getValueInReferenceFrame=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!Object(r["a"])(t))throw new a["a"]("referenceFrame is required.");if(Object(r["a"])(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),Object(r["a"])(n)?z.WGS84.scaleToGeodeticSurface(n,n):void 0},gDe.prototype.equals=function(e){return this===e||e instanceof gDe&&this._value===e._value},gDe.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var bDe=gDe;const yDe=60,vDe=1,ODe=new Mx,wDe=new Mx,ADe=new Mx;function TDe(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function CDe(e,t,n,i,o,a,s,c,l){let u,h=c;u=e.getValueInReferenceFrame(t,a,l[h]),Object(r["a"])(u)&&(l[h++]=u);let d=!Object(r["a"])(o)||gr.lessThanOrEquals(o,t)||gr.greaterThanOrEquals(o,n),f=0;const p=i.length;let m=i[f];const _=n;let g,b,y,v=!1;while(f<p){if(!d&&gr.greaterThanOrEquals(m,o)&&(u=e.getValueInReferenceFrame(o,a,l[h]),Object(r["a"])(u)&&(l[h++]=u),d=!0),gr.greaterThan(m,t)&&gr.lessThan(m,_)&&!m.equals(o)&&(u=e.getValueInReferenceFrame(m,a,l[h]),Object(r["a"])(u)&&(l[h++]=u)),f<p-1){if(s>0&&!v){const e=i[f+1],t=gr.secondsDifference(e,m);v=t>s,v&&(g=Math.ceil(t/s),b=0,y=t/Math.max(g,2),g=Math.max(g-1,1))}if(v&&b<g){m=gr.addSeconds(m,y,new gr),b++;continue}}v=!1,f++,m=i[f]}return u=e.getValueInReferenceFrame(n,a,l[h]),Object(r["a"])(u)&&(l[h++]=u),h}function EDe(e,t,n,i,o,a,s,c){let l,u=0,h=s,d=t;const f=Math.max(a,60);let p=!Object(r["a"])(i)||gr.lessThanOrEquals(i,t)||gr.greaterThanOrEquals(i,n);while(gr.lessThan(d,n))!p&&gr.greaterThanOrEquals(d,i)&&(p=!0,l=e.getValueInReferenceFrame(i,o,c[h]),Object(r["a"])(l)&&(c[h]=l,h++)),l=e.getValueInReferenceFrame(d,o,c[h]),Object(r["a"])(l)&&(c[h]=l,h++),u++,d=gr.addSeconds(t,f*u,new gr);return l=e.getValueInReferenceFrame(n,o,c[h]),Object(r["a"])(l)&&(c[h]=l,h++),h}function xDe(e,t,n,i,o,a,s,c){ADe.start=t,ADe.stop=n;let l=s;const u=e.intervals;for(let h=0;h<u.length;h++){const t=u.get(h);if(!Mx.intersect(t,ADe,ODe).isEmpty){let n=t.start;t.isStartIncluded||(n=t.isStopIncluded?t.stop:gr.addSeconds(t.start,gr.secondsDifference(t.stop,t.start)/2,new gr));const i=e.getValueInReferenceFrame(n,o,c[l]);Object(r["a"])(i)&&(c[l]=i,l++)}}return l}function SDe(e,t,n,i,o,a,s,c){const l=e.getValueInReferenceFrame(t,o,c[s]);return Object(r["a"])(l)&&(c[s++]=l),s}function IDe(e,t,n,i,o,r,a,s){wDe.start=t,wDe.stop=n;let c=a;const l=e.intervals;for(let u=0;u<l.length;u++){const e=l.get(u);if(!Mx.intersect(e,wDe,ODe).isEmpty){const a=e.start,l=e.stop;let u=t;gr.greaterThan(a,u)&&(u=a);let h=n;gr.lessThan(l,h)&&(h=l),c=DDe(e.data,u,h,i,o,r,c,s)}}return c}function DDe(e,t,n,i,o,r,a,s){while(e instanceof qTe)e=e.resolvedProperty;if(e instanceof oCe){const c=e._property._times;a=CDe(e,t,n,c,i,o,r,a,s)}else a=e instanceof vwe?IDe(e,t,n,i,o,r,a,s):e instanceof mCe?xDe(e,t,n,i,o,r,a,s):e instanceof vX||e instanceof bDe&&QB.isConstant(e)?SDe(e,t,n,i,o,r,a,s):EDe(e,t,n,i,o,r,a,s);return a}function jDe(e,t,n,i,o,a,s){Object(r["a"])(s)||(s=[]);const c=DDe(e,t,n,i,o,a,0,s);return s.length=c,s}const PDe=new ce;function RDe(e,t){this._unusedIndexes=[],this._polylineCollection=new Vse,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}function MDe(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(MDe.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new fh,this._onCollectionChanged(t,t.values,[],[])}RDe.prototype.update=function(e){if(this._referenceFrame===tP.INERTIAL){let t=Hs.computeIcrfToFixedMatrix(e,PDe);Object(r["a"])(t)||(t=Hs.computeTemeToPseudoFixedMatrix(e,PDe)),Ne.fromRotationTranslation(t,g.ZERO,this._polylineCollection.modelMatrix)}},RDe.prototype.updateObject=function(e,t){const n=t.entity,i=n._path,o=n._position;let a,s;const c=i._show;let l=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!Object(r["a"])(c)||c.getValue(e));if(u){const t=QB.getValueOrUndefined(i._leadTime,e),o=QB.getValueOrUndefined(i._trailTime,e),c=n._availability,l=Object(r["a"])(c),h=Object(r["a"])(t),d=Object(r["a"])(o);if(u=l||h&&d,u){if(d&&(a=gr.addSeconds(e,-o,new gr)),h&&(s=gr.addSeconds(e,t,new gr)),l){const e=c.start,t=c.stop;d&&!gr.greaterThan(e,a)||(a=e),h&&!gr.lessThan(t,s)||(s=t)}u=gr.lessThan(a,s)}}if(!u)return void(Object(r["a"])(l)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,l.show=!1,t.index=void 0));if(!Object(r["a"])(l)){const e=this._unusedIndexes,i=e.length;if(i>0){const n=e.pop();l=this._polylineCollection.get(n),t.index=n}else t.index=this._polylineCollection.length,l=this._polylineCollection.add();l.id=n,t.polyline=l}const h=QB.getValueOrDefault(i._resolution,e,yDe);l.show=!0,l.positions=jDe(o,a,s,e,this._referenceFrame,h,l.positions.slice()),l.material=MY.getValue(e,i._material,l.material),l.width=QB.getValueOrDefault(i._width,e,vDe),l.distanceDisplayCondition=QB.getValueOrUndefined(i._distanceDisplayCondition,e,l.distanceDisplayCondition)},RDe.prototype.removeObject=function(e){const t=e.polyline;Object(r["a"])(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)},RDe.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),Wl(this)},MDe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._updaters;for(const i in t)t.hasOwnProperty(i)&&t[i].update(e);const n=this._items.values;if(0===n.length&&Object(r["a"])(this._updaters)&&Object.keys(this._updaters).length>0){for(const e in t)t.hasOwnProperty(e)&&t[e].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){const t=n[i],o=t.entity,a=o._position,s=t.updater;let c=tP.FIXED;this._scene.mode===vq.SCENE3D&&(c=a.referenceFrame);let l=this._updaters[c];s===l&&Object(r["a"])(l)?l.updateObject(e,t):(Object(r["a"])(s)&&s.removeObject(t),Object(r["a"])(l)||(l=new RDe(this._scene,c),l.update(e),this._updaters[c]=l),t.updater=l,Object(r["a"])(l)&&l.updateObject(e,t))}return!0},MDe.prototype.isDestroyed=function(){return!1},MDe.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(MDe.prototype._onCollectionChanged,this);const e=this._updaters;for(const t in e)e.hasOwnProperty(t)&&e[t].destroy();return Wl(this)},MDe.prototype._onCollectionChanged=function(e,t,n,i){let o,a,s;const c=this._items;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._path)&&Object(r["a"])(a._position)&&c.set(a.id,new TDe(a));for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._path)&&Object(r["a"])(a._position)?c.contains(a.id)||c.set(a.id,new TDe(a)):(s=c.get(a.id),Object(r["a"])(s)&&(Object(r["a"])(s.updater)&&s.updater.removeObject(s),c.remove(a.id)));for(o=n.length-1;o>-1;o--)a=n[o],s=c.get(a.id),Object(r["a"])(s)&&(Object(r["a"])(s.updater)&&s.updater.removeObject(s),c.remove(a.id))},MDe._subSample=jDe;var NDe=MDe;const LDe=j_.WHITE,BDe=j_.BLACK,FDe=0,kDe=1,zDe=0,UDe=new j_,VDe=new g,HDe=new j_,GDe=new cS,qDe=new cS,WDe=new sw;function YDe(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function XDe(e,t){if(!Object(r["a"])(e))throw new a["a"]("entityCluster is required.");if(!Object(r["a"])(t))throw new a["a"]("entityCollection is required.");t.collectionChanged.addEventListener(XDe.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new fh,this._onCollectionChanged(t,t.values,[],[])}function KDe(e,t,n){if(Object(r["a"])(e)){const i=e.pointPrimitive;if(Object(r["a"])(i))return e.pointPrimitive=void 0,void n.removePoint(t);const o=e.billboard;Object(r["a"])(o)&&(e.billboard=void 0,n.removeBillboard(t))}}XDe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");const t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){const o=t[i],a=o.entity,s=a._point;let c=o.pointPrimitive,l=o.billboard;const u=QB.getValueOrDefault(s._heightReference,e,qB.NONE);let h,d=a.isShowing&&a.isAvailable(e)&&QB.getValueOrDefault(s._show,e,!0);if(d&&(h=QB.getValueOrUndefined(a._position,e,VDe),d=Object(r["a"])(h)),!d){KDe(o,a,n);continue}QB.isConstant(a._position)||(n._clusterDirty=!0);let f=!1,p=!1;if(u===qB.NONE||Object(r["a"])(l)?u!==qB.NONE||Object(r["a"])(c)||(Object(r["a"])(l)&&(KDe(o,a,n),l=void 0),c=n.getPoint(a),c.id=a,o.pointPrimitive=c):(Object(r["a"])(c)&&(KDe(o,a,n),c=void 0),l=n.getBillboard(a),l.id=a,l.image=void 0,o.billboard=l,f=!0,p=g.equals(l.position,h)&&l.heightReference===u),Object(r["a"])(c))c.show=!0,c.position=h,c.scaleByDistance=QB.getValueOrUndefined(s._scaleByDistance,e,GDe),c.translucencyByDistance=QB.getValueOrUndefined(s._translucencyByDistance,e,qDe),c.color=QB.getValueOrDefault(s._color,e,LDe,UDe),c.outlineColor=QB.getValueOrDefault(s._outlineColor,e,BDe,HDe),c.outlineWidth=QB.getValueOrDefault(s._outlineWidth,e,FDe),c.pixelSize=QB.getValueOrDefault(s._pixelSize,e,kDe),c.distanceDisplayCondition=QB.getValueOrUndefined(s._distanceDisplayCondition,e,WDe),c.disableDepthTestDistance=QB.getValueOrDefault(s._disableDepthTestDistance,e,zDe);else if(Object(r["a"])(l)){l.show=!0,l.position=h,l.scaleByDistance=QB.getValueOrUndefined(s._scaleByDistance,e,GDe),l.translucencyByDistance=QB.getValueOrUndefined(s._translucencyByDistance,e,qDe),l.distanceDisplayCondition=QB.getValueOrUndefined(s._distanceDisplayCondition,e,WDe),l.disableDepthTestDistance=QB.getValueOrDefault(s._disableDepthTestDistance,e,zDe),l.heightReference=u;const t=QB.getValueOrDefault(s._color,e,LDe,UDe),n=QB.getValueOrDefault(s._outlineColor,e,BDe,HDe),i=Math.round(QB.getValueOrDefault(s._outlineWidth,e,FDe));let r=Math.max(1,Math.round(QB.getValueOrDefault(s._pixelSize,e,kDe)));if(i>0?(l.scale=1,f=f||i!==o.outlineWidth||r!==o.pixelSize||!j_.equals(t,o.color)||!j_.equals(n,o.outlineColor)):(l.scale=r/50,r=50,f=f||i!==o.outlineWidth||!j_.equals(t,o.color)||!j_.equals(n,o.outlineColor)),f){o.color=j_.clone(t,o.color),o.outlineColor=j_.clone(n,o.outlineColor),o.pixelSize=r,o.outlineWidth=i;const e=t.alpha,a=t.toCssColorString(),s=n.toCssColorString(),c=JSON.stringify([a,r,s,i]);l.setImage(c,kre(e,a,s,i,r))}p&&l._updateClamping()}}return!0},XDe.prototype.getBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required.");if(!Object(r["a"])(t))throw new a["a"]("result is required.");const n=this._items.get(e.id);if(!Object(r["a"])(n)||!Object(r["a"])(n.pointPrimitive)&&!Object(r["a"])(n.billboard))return ZB.FAILED;if(Object(r["a"])(n.pointPrimitive))t.center=g.clone(n.pointPrimitive.position,t.center);else{const e=n.billboard;if(!Object(r["a"])(e._clampedPosition))return ZB.PENDING;t.center=g.clone(e._clampedPosition,t.center)}return t.radius=0,ZB.DONE},XDe.prototype.isDestroyed=function(){return!1},XDe.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(XDe.prototype._onCollectionChanged,this);const e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return Wl(this)},XDe.prototype._onCollectionChanged=function(e,t,n,i){let o,a;const s=this._items,c=this._cluster;for(o=t.length-1;o>-1;o--)a=t[o],Object(r["a"])(a._point)&&Object(r["a"])(a._position)&&s.set(a.id,new YDe(a));for(o=i.length-1;o>-1;o--)a=i[o],Object(r["a"])(a._point)&&Object(r["a"])(a._position)?s.contains(a.id)||s.set(a.id,new YDe(a)):(KDe(s.get(a.id),a,c),s.remove(a.id));for(o=n.length-1;o>-1;o--)a=n[o],KDe(s.get(a.id),a,c),s.remove(a.id)};var JDe=XDe;const ZDe=new BB(0),$De={},QDe=new j_,eje=new Zk(j_.WHITE),tje=new BB(!0),nje=new BB(wq.DISABLED),ije=new BB(new sw),oje=new BB(wG.BOTH);function rje(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function aje(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function sje(e,t){if(!Object(r["a"])(e))throw new a["a"]("entity is required");if(!Object(r["a"])(t))throw new a["a"]("scene is required");this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(sje.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new pi["a"],this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new rje,this._groundGeometryOptions=new aje,this._id="polyline-"+e.id,this._clampToGround=!1,this._supportsPolylinesOnTerrain=vK.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(sje.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!Object(r["a"])(this._entity.availability)&&QB.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}}),sje.prototype.isOutlineVisible=function(e){return!1},sje.prototype.isFilled=function(e){const t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return Object(o["a"])(n,!1)},sje.prototype.createFillGeometryInstance=function(e){if(!Object(r["a"])(e))throw new a["a"]("time is required.");if(!this._fillEnabled)throw new a["a"]("This instance does not represent a filled geometry.");const t=this._entity,n=t.isAvailable(e),i=new OR(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),s=lw.fromDistanceDisplayCondition(o),c={show:i,distanceDisplayCondition:s};let l;return this._materialProperty instanceof Zk&&(Object(r["a"])(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(l=this._materialProperty.color.getValue(e,QDe)),Object(r["a"])(l)||(l=j_.WHITE),c.color=R_.fromColor(l)),this.clampToGround?new Df({id:t,geometry:new DE(this._groundGeometryOptions),attributes:c}):(Object(r["a"])(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Zk&&(Object(r["a"])(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(l=this._depthFailMaterialProperty.color.getValue(e,QDe)),Object(r["a"])(l)||(l=j_.WHITE),c.depthFailColor=R_.fromColor(l)),new Df({id:t,geometry:new aD(this._geometryOptions),attributes:c}))},sje.prototype.createOutlineGeometryInstance=function(e){throw new a["a"]("This instance does not represent an outlined geometry.")},sje.prototype.isDestroyed=function(){return!1},sje.prototype.destroy=function(){this._entitySubscription(),Wl(this)},sje.prototype._onEntityPropertyChanged=function(e,t,n,i){if("availability"!==t&&"polyline"!==t)return;const a=this._entity.polyline;if(!Object(r["a"])(a))return void(this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)));const s=a.positions,c=a.show;if(Object(r["a"])(c)&&c.isConstant&&!c.getValue(kx.MINIMUM_VALUE)||!Object(r["a"])(s))return void(this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)));const l=a.zIndex,u=Object(o["a"])(a.material,eje),h=u instanceof Zk;this._materialProperty=u,this._depthFailMaterialProperty=a.depthFailMaterial,this._showProperty=Object(o["a"])(c,tje),this._shadowsProperty=Object(o["a"])(a.shadows,nje),this._distanceDisplayConditionProperty=Object(o["a"])(a.distanceDisplayCondition,ije),this._classificationTypeProperty=Object(o["a"])(a.classificationType,oje),this._fillEnabled=!0,this._zIndex=Object(o["a"])(l,ZDe);const d=a.width,f=a.arcType,p=a.clampToGround,m=a.granularity;if(s.isConstant&&QB.isConstant(d)&&QB.isConstant(f)&&QB.isConstant(m)&&QB.isConstant(p)&&QB.isConstant(l)){const e=this._geometryOptions,t=s.getValue(kx.MINIMUM_VALUE,e.positions);if(!Object(r["a"])(t)||t.length<2)return void(this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)));let n;n=h&&(!Object(r["a"])(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Zk)?WY.VERTEX_FORMAT:$Y.VERTEX_FORMAT,e.vertexFormat=n,e.positions=t,e.width=Object(r["a"])(d)?d.getValue(kx.MINIMUM_VALUE):void 0,e.arcType=Object(r["a"])(f)?f.getValue(kx.MINIMUM_VALUE):void 0,e.granularity=Object(r["a"])(m)?m.getValue(kx.MINIMUM_VALUE):void 0;const i=this._groundGeometryOptions;i.positions=t,i.width=e.width,i.arcType=e.arcType,i.granularity=e.granularity,this._clampToGround=!!Object(r["a"])(p)&&p.getValue(kx.MINIMUM_VALUE),!this._clampToGround&&Object(r["a"])(l)&&ky("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}else this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this))},sje.prototype.createDynamicUpdater=function(e,t){if(i["a"].defined("primitives",e),i["a"].defined("groundPrimitives",t),!this._dynamic)throw new a["a"]("This instance does not represent dynamic geometry.");return new lje(e,t,this)};const cje={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function lje(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function uje(e){if(Object(r["a"])(e._line))return e._line;const t=e._geometryUpdater._scene.id;let n=$De[t];const i=e._primitives;!Object(r["a"])(n)||n.isDestroyed()?(n=new Vse,$De[t]=n,i.add(n)):i.contains(n)||i.add(n);const o=n.add();return o.id=e._geometryUpdater._entity,e._line=o,o}lje.prototype.update=function(e){const t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions;let a=QB.getValueOrUndefined(o,e,this._positions);t._clampToGround=QB.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=a,t._groundGeometryOptions.width=QB.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=QB.getValueOrDefault(i._arcType,e,hh.GEODESIC),t._groundGeometryOptions.granularity=QB.getValueOrDefault(i._granularity,e,9999);const s=this._groundPrimitives;if(Object(r["a"])(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!QB.getValueOrDefault(i._show,e,!0))return;if(!Object(r["a"])(a)||a.length<2)return;const o=t.fillMaterialProperty;let c;if(o instanceof Zk)c=new WY;else{const t=MY.getValue(e,o,this._material);c=new $Y({material:t,translucent:t.isTranslucent()}),this._material=t}return this._groundPolylinePrimitive=s.add(new rX({geometryInstances:t.createFillGeometryInstance(e),appearance:c,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),QB.getValueOrUndefined(t.zIndex,e)),void(Object(r["a"])(this._line)&&(this._line.show=!1))}const c=uje(this);if(!n.isShowing||!n.isAvailable(e)||!QB.getValueOrDefault(i._show,e,!0))return void(c.show=!1);if(!Object(r["a"])(a)||a.length<2)return void(c.show=!1);let l=hh.GEODESIC;l=QB.getValueOrDefault(i._arcType,e,l);const u=t._scene.globe;l!==hh.NONE&&Object(r["a"])(u)&&(cje.ellipsoid=u.ellipsoid,cje.positions=a,cje.granularity=QB.getValueOrUndefined(i._granularity,e),cje.height=Ly.extractHeights(a,u.ellipsoid),a=l===hh.GEODESIC?Ly.generateCartesianArc(cje):Ly.generateCartesianRhumbArc(cje)),c.show=!0,c.positions=a.slice(),c.material=MY.getValue(e,t.fillMaterialProperty,c.material),c.width=QB.getValueOrDefault(i._width,e,1),c.distanceDisplayCondition=QB.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)},lje.prototype.getBoundingSphere=function(e){if(i["a"].defined("result",e),this._geometryUpdater.clampToGround){const t=this._groundPolylinePrimitive;if(Object(r["a"])(t)&&t.show&&t.ready){const n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(Object(r["a"])(n)&&Object(r["a"])(n.boundingSphere))return Tt.clone(n.boundingSphere,e),ZB.DONE}return Object(r["a"])(t)&&!t.ready?ZB.PENDING:ZB.DONE}{const t=uje(this);if(t.show&&t.positions.length>0)return Tt.fromPoints(t.positions,e),ZB.DONE}return ZB.FAILED},lje.prototype.isDestroyed=function(){return!1},lje.prototype.destroy=function(){const e=this._geometryUpdater,t=e._scene.id,n=$De[t];Object(r["a"])(n)&&(n.remove(this._line),0===n.length&&(this._primitives.removeAndDestroy(n),delete $De[t])),Object(r["a"])(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),Wl(this)};var hje=sje;const dje=new j_,fje=new sw,pje=new sw;function mje(e,t,n,i,o){let r;r=n instanceof Zk?WY:$Y,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new fh,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new fh,this.material=void 0,this.updatersWithAttributes=new fh,this.attributes=new fh,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(mje.prototype.onMaterialChanged,this),this.subscriptions=new fh,this.showsUpdated=new fh,this.zIndex=i,this._asynchronous=o}function _je(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=Object(o["a"])(n,!0)}mje.prototype.onMaterialChanged=function(){this.invalidated=!0},mje.prototype.isMaterial=function(e){const t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Zk&&t instanceof Zk||Object(r["a"])(t)&&t.equals(n)},mje.prototype.add=function(e,t,n){const i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),t.hasConstantFill&&t.fillMaterialProperty.isConstant&&QB.isConstant(t.distanceDisplayConditionProperty)){const e=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener((function(n,i,o,r){"isShowing"===i&&e.showsUpdated.set(t.id,t)})))}else this.updatersWithAttributes.set(i,t);this.createPrimitive=!0},mje.prototype.remove=function(e){const t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);const e=this.subscriptions.get(t);return Object(r["a"])(e)&&(e(),this.subscriptions.remove(t)),!0}return!1},mje.prototype.update=function(e){let t=!0,n=this.primitive;const i=this.orderedGroundPrimitives,o=this.geometry.values;let a;if(this.createPrimitive){const a=o.length;if(a>0)Object(r["a"])(n)&&(Object(r["a"])(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new rX({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===$Y&&(this.material=MY.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{Object(r["a"])(n)&&(i.remove(n),n=void 0);const e=this.oldPrimitive;Object(r["a"])(e)&&(i.remove(e),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(Object(r["a"])(n)&&n.ready){n.show=!0,Object(r["a"])(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===$Y&&(this.material=MY.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);const t=this.updatersWithAttributes.values,o=t.length;for(a=0;a<o;a++){const i=t[a],o=i.entity,s=this.geometry.get(i.id);let c=this.attributes.get(s.id.id);if(Object(r["a"])(c)||(c=n.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,c)),!i.fillMaterialProperty.isConstant){const t=i.fillMaterialProperty.color,n=QB.getValueOrDefault(t,e,j_.WHITE,dje);j_.equals(c._lastColor,n)||(c._lastColor=j_.clone(n,c._lastColor),c.color=R_.toValue(n,c.color))}const l=o.isShowing&&(i.hasConstantFill||i.isFilled(e)),u=1===c.show[0];l!==u&&(c.show=OR.toValue(l,c.show));const h=i.distanceDisplayConditionProperty;if(!QB.isConstant(h)){const t=QB.getValueOrDefault(h,e,pje,fje);sw.equals(t,c._lastDistanceDisplayCondition)||(c._lastDistanceDisplayCondition=sw.clone(t,c._lastDistanceDisplayCondition),c.distanceDisplayCondition=lw.toValue(t,c.distanceDisplayCondition))}}this.updateShows(n)}else Object(r["a"])(n)&&!n.ready&&(t=!1);return t},mje.prototype.updateShows=function(e){const t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){const n=t[i],o=n.entity,a=this.geometry.get(n.id);let s=this.attributes.get(a.id.id);Object(r["a"])(s)||(s=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,s));const c=o.isShowing,l=1===s.show[0];c!==l&&(s.show=OR.toValue(c,s.show),a.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()},mje.prototype.contains=function(e){return this.updaters.contains(e.id)},mje.prototype.getBoundingSphere=function(e,t){const n=this.primitive;if(!n.ready)return ZB.PENDING;const i=n.getGeometryInstanceAttributes(e.entity);return!Object(r["a"])(i)||!Object(r["a"])(i.boundingSphere)||Object(r["a"])(i.show)&&0===i.show[0]?ZB.FAILED:(i.boundingSphere.clone(t),ZB.DONE)},mje.prototype.destroy=function(){const e=this.primitive,t=this.orderedGroundPrimitives;Object(r["a"])(e)&&t.remove(e);const n=this.oldPrimitive;Object(r["a"])(n)&&t.remove(n),this.removeMaterialSubscription()},_je.prototype.add=function(e,t){const n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=QB.getValueOrDefault(t.zIndex,0);for(let s=0;s<i;++s){const i=n[s];if(i.isMaterial(t)&&i.zIndex===r)return void i.add(e,t,o)}const a=new mje(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);a.add(e,t,o),n.push(a)},_je.prototype.remove=function(e){const t=this._items,n=t.length;for(let i=n-1;i>=0;i--){const n=t[i];if(n.remove(e)){0===n.updaters.length&&(t.splice(i,1),n.destroy());break}}},_je.prototype.update=function(e){let t;const n=this._items,i=n.length;for(t=i-1;t>=0;t--){const i=n[t];if(i.invalidated){n.splice(t,1);const o=i.updaters.values,r=o.length;for(let t=0;t<r;t++)this.add(e,o[t]);i.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o},_je.prototype.getBoundingSphere=function(e,t){const n=this._items,i=n.length;for(let o=0;o<i;o++){const i=n[o];if(i.contains(e))return i.getBoundingSphere(e,t)}return ZB.FAILED},_je.prototype.removeAllPrimitives=function(){const e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var gje=_je;const bje=[];function yje(e,t){const n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function vje(e,t,n){if(n.isDynamic)return void e._dynamicBatch.add(t,n);if(n.clampToGround&&n.fillEnabled){const i=n.classificationTypeProperty.getValue(t);return void e._groundBatches[i].add(t,n)}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o,a=0;Object(r["a"])(n.depthFailMaterialProperty)&&(a=n.depthFailMaterialProperty instanceof Zk?1:2),Object(r["a"])(i)&&(o=i+a*wq.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Zk?e._colorBatches[o].add(t,n):e._materialBatches[o].add(t,n))}function Oje(e,t,n,r){let a;i["a"].defined("scene",e),i["a"].defined("entityCollection",t),r=Object(o["a"])(r,e.groundPrimitives),n=Object(o["a"])(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new fh,this._removedObjects=new fh,this._changedObjects=new fh;const s=wq.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(3*s),this._materialBatches=new Array(3*s),a=0;a<s;++a)this._colorBatches[a]=new BSe(n,WY,void 0,!1,a),this._materialBatches[a]=new qSe(n,$Y,void 0,!1,a),this._colorBatches[a+s]=new BSe(n,WY,WY,!1,a),this._materialBatches[a+s]=new qSe(n,$Y,WY,!1,a),this._colorBatches[a+2*s]=new BSe(n,WY,$Y,!1,a),this._materialBatches[a+2*s]=new qSe(n,$Y,$Y,!1,a);this._dynamicBatch=new bxe(n,r);const c=wG.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(c),a=0;a<c;++a)this._groundBatches[a]=new gje(r,a);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new fh,this._updaters=new fh,this._entityCollection=t,t.collectionChanged.addEventListener(Oje.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,bje)}Oje.prototype.update=function(e){i["a"].defined("time",e);const t=this._addedObjects,n=t.values,o=this._removedObjects,r=o.values,a=this._changedObjects,s=a.values;let c,l,u,h;for(c=s.length-1;c>-1;c--)l=s[c],u=l.id,h=this._updaters.get(u),h.entity===l?(yje(this,h),vje(this,e,h)):(r.push(l),n.push(l));for(c=r.length-1;c>-1;c--)l=r[c],u=l.id,h=this._updaters.get(u),yje(this,h),h.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(c=n.length-1;c>-1;c--)l=n[c],u=l.id,h=new hje(l,this._scene),this._updaters.set(u,h),vje(this,e,h),this._subscriptions.set(u,h.geometryChanged.addEventListener(Oje._onGeometryChanged,this));t.removeAll(),o.removeAll(),a.removeAll();let d=!0;const f=this._batches,p=f.length;for(c=0;c<p;c++)d=f[c].update(e)&&d;return d};const wje=[],Aje=new Tt;Oje.prototype.getBoundingSphere=function(e,t){i["a"].defined("entity",e),i["a"].defined("result",t);const n=wje,o=Aje;let r=0,a=ZB.DONE;const s=this._batches,c=s.length,l=this._updaters.get(e.id);for(let i=0;i<c;i++){if(a=s[i].getBoundingSphere(l,o),a===ZB.PENDING)return ZB.PENDING;a===ZB.DONE&&(n[r]=Tt.clone(o,n[r]),r++)}return 0===r?ZB.FAILED:(n.length=r,Tt.fromBoundingSpheres(n,t),ZB.DONE)},Oje.prototype.isDestroyed=function(){return!1},Oje.prototype.destroy=function(){let e;this._entityCollection.collectionChanged.removeEventListener(Oje.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();const t=this._batches;let n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();const i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),Wl(this)},Oje._onGeometryChanged=function(e){const t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;Object(r["a"])(t.get(o))||Object(r["a"])(n.get(o))||n.set(o,i)},Oje.prototype._onCollectionChanged=function(e,t,n){const i=this._addedObjects,o=this._removedObjects,r=this._changedObjects;let a,s,c;for(a=n.length-1;a>-1;a--)c=n[a],s=c.id,i.remove(s)||(o.set(s,c),r.remove(s));for(a=t.length-1;a>-1;a--)c=t[a],s=c.id,o.remove(s)?r.set(s,c):i.set(s,c)};var Tje=Oje;function Cje(e){i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.scene",e.scene),i["a"].typeOf.object("options.dataSourceCollection",e.dataSourceCollection),PY.initializeTerrainHeights(),rX.initializeTerrainHeights();const t=e.scene,n=e.dataSourceCollection;this._eventHelper=new Jw,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=Object(o["a"])(e.visualizersCallback,Cje.defaultVisualizersCallback);let r=!1;const a=new pxe,s=new pxe;n.length>0&&(t.primitives.add(a),t.groundPrimitives.add(s),r=!0),this._primitives=a,this._groundPrimitives=s;for(let i=0,o=n.length;i<o;i++)this._onDataSourceAdded(n,n.get(i));const c=new iTe;let l,u;if(this._onDataSourceAdded(void 0,c),this._defaultDataSource=c,!r){const e=this,i=function(){t.primitives.add(a),t.groundPrimitives.add(s),l(),u(),e._removeDefaultDataSourceListener=void 0,e._removeDataSourceCollectionListener=void 0};l=c.entities.collectionChanged.addEventListener(i),u=n.dataSourceAdded.addEventListener(i)}this._removeDefaultDataSourceListener=l,this._removeDataSourceCollectionListener=u,this._ready=!1}Cje.defaultVisualizersCallback=function(e,t,n){const i=n.entities;return[new wF(t,i),new wIe(e,i,n._primitives,n._groundPrimitives),new ZIe(t,i),new _De(e,i),new XOe(e,i),new JDe(t,i),new NDe(e,i),new Tje(e,i,n._primitives,n._groundPrimitives)]},Object.defineProperties(Cje.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}}),Cje.prototype.isDestroyed=function(){return!1},Cje.prototype.destroy=function(){this._eventHelper.removeAll();const e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),Object(r["a"])(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),Wl(this)},Cje.prototype.update=function(e){if(i["a"].defined("time",e),!on.initialized)return this._ready=!1,!1;let t,n,o,a,s=!0;const c=this._dataSourceCollection,l=c.length;for(t=0;t<l;t++){const i=c.get(t);for(Object(r["a"])(i.update)&&(s=i.update(e)&&s),o=i._visualizers,a=o.length,n=0;n<a;n++)s=o[n].update(e)&&s}for(o=this._defaultDataSource._visualizers,a=o.length,n=0;n<a;n++)s=o[n].update(e)&&s;return this._ready=s,s},Cje.prototype._postRender=function(){const e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){const n=t.get(i),o=n.credit;Object(r["a"])(o)&&e.creditDisplay.addCredit(o);const a=n._resourceCredits;if(Object(r["a"])(a)){const t=a.length;for(let n=0;n<t;n++)e.creditDisplay.addCredit(a[n])}}};const Eje=[],xje=new Tt;Cje.prototype.getBoundingSphere=function(e,t,n){if(i["a"].defined("entity",e),i["a"].typeOf.bool("allowPartial",t),i["a"].defined("result",n),!this._ready)return ZB.PENDING;let o,a,s=this._defaultDataSource;if(!s.entities.contains(e)){s=void 0;const t=this._dataSourceCollection;for(a=t.length,o=0;o<a;o++){const n=t.get(o);if(n.entities.contains(e)){s=n;break}}}if(!Object(r["a"])(s))return ZB.FAILED;const c=Eje,l=xje;let u=0,h=ZB.DONE;const d=s._visualizers,f=d.length;for(o=0;o<f;o++){const n=d[o];if(Object(r["a"])(n.getBoundingSphere)){if(h=d[o].getBoundingSphere(e,l),!t&&h===ZB.PENDING)return ZB.PENDING;h===ZB.DONE&&(c[u]=Tt.clone(l,c[u]),u++)}}return 0===u?ZB.FAILED:(c.length=u,Tt.fromBoundingSpheres(c,n),ZB.DONE)},Cje.prototype._onDataSourceAdded=function(e,t){const n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new pxe),a=o.add(new _xe);t._primitives=r,t._groundPrimitives=a;const s=t.clustering;s._initialize(n),r.add(s),t._visualizers=this._visualizersCallback(n,s,t)},Cje.prototype._onDataSourceRemoved=function(e,t){const n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,a=t.clustering;o.remove(a);const s=t._visualizers,c=s.length;for(let l=0;l<c;l++)s[l].destroy();n.remove(o),i.remove(r),t._visualizers=void 0},Cje.prototype._onDataSourceMoved=function(e,t,n){const i=this._primitives,o=this._groundPrimitives,r=e._primitives,a=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(a)):t===n-1?(i.lower(r),o.lower(a)):0===t?(i.lowerToBottom(r),o.lowerToBottom(a),i.raise(r),o.raise(a)):(i.raiseToTop(r),o.raiseToTop(a))};var Sje=Cje;const Ije=new ce,Dje=new ce,jje=new ce,Pje=new Ne,Rje=new g,Mje=new g,Nje=new g,Lje=new g,Bje=new g,Fje=new g,kje=new gr,zje=1.25;function Uje(e,t,n,i,o,a,c){const l=e.scene.mode;let u=o.getValue(a,e._lastCartesian);if(Object(r["a"])(u)){let n,h,d,f,p,m,_=!1,b=!1;if(l===vq.SCENE3D){gr.addSeconds(a,.001,kje);let e=o.getValue(kje,Rje);if(Object(r["a"])(e)||(gr.addSeconds(a,-.001,kje),e=o.getValue(kje,Rje),b=!0),Object(r["a"])(e)){let t,i=Hs.computeFixedToIcrfMatrix(a,Ije),o=Hs.computeFixedToIcrfMatrix(kje,Dje);Object(r["a"])(i)&&Object(r["a"])(o)?t=ce.transpose(i,jje):(t=Hs.computeTemeToPseudoFixedMatrix(a,jje),i=ce.transpose(t,Ije),o=Hs.computeTemeToPseudoFixedMatrix(kje,Dje),ce.transpose(o,o));const l=ce.multiplyByVector(i,u,Bje),f=ce.multiplyByVector(o,e,Fje);g.subtract(l,f,Lje);const p=1e3*g.magnitude(Lje),m=s["a"].GRAVITATIONALPARAMETER,y=-m/(p*p-2*m/g.magnitude(l));y<0||y>zje*c.maximumRadius?(n=Mje,g.normalize(u,n),g.negate(n,n),d=g.clone(g.UNIT_Z,Nje),h=g.cross(d,n,Rje),g.magnitude(h)>s["a"].EPSILON7&&(g.normalize(n,n),g.normalize(h,h),d=g.cross(n,h,Nje),g.normalize(d,d),_=!0)):g.equalsEpsilon(u,e,s["a"].EPSILON7)||(d=Mje,g.normalize(l,d),g.normalize(f,f),h=g.cross(d,f,Nje),b&&(h=g.multiplyByScalar(h,-1,h)),g.equalsEpsilon(h,g.ZERO,s["a"].EPSILON7)||(n=g.cross(h,d,Rje),ce.multiplyByVector(t,n,n),ce.multiplyByVector(t,h,h),ce.multiplyByVector(t,d,d),g.normalize(n,n),g.normalize(h,h),g.normalize(d,d),_=!0))}}Object(r["a"])(e.boundingSphere)&&(u=e.boundingSphere.center),i&&(f=g.clone(t.position,Lje),p=g.clone(t.direction,Bje),m=g.clone(t.up,Fje));const y=Pje;_?(y[0]=n.x,y[1]=n.y,y[2]=n.z,y[3]=0,y[4]=h.x,y[5]=h.y,y[6]=h.z,y[7]=0,y[8]=d.x,y[9]=d.y,y[10]=d.z,y[11]=0,y[12]=u.x,y[13]=u.y,y[14]=u.z,y[15]=0):Hs.eastNorthUpToFixedFrame(u,c,y),t._setTransform(y),i&&(g.clone(f,t.position),g.clone(p,t.direction),g.clone(m,t.up),g.cross(p,m,t.right))}if(n){const n=l===vq.SCENE2D||g.equals(e._offset3D,g.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,n)}}function Vje(e,t,n){i["a"].defined("entity",e),i["a"].defined("scene",t),this.entity=e,this.scene=t,this.ellipsoid=Object(o["a"])(n,z.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new g,this._defaultOffset3D=void 0,this._offset3D=new g}Object.defineProperties(Vje,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=g.clone(e,new g)}}}),Vje.defaultOffset3D=new g(-14e3,3500,3500);const Hje=new PE,Gje=new g;Vje.prototype.update=function(e,t){i["a"].defined("time",e);const n=this.scene,o=this.ellipsoid,a=n.mode;if(a===vq.MORPHING)return;const c=this.entity,l=c.position;if(!Object(r["a"])(l))return;const u=c!==this._lastEntity,h=a!==this._mode,d=n.camera;let f=u||h,p=!0;if(u){const n=c.viewFrom,i=Object(r["a"])(n);if(!i&&Object(r["a"])(t)){Hje.pitch=-s["a"].PI_OVER_FOUR,Hje.range=0;const n=l.getValue(e,Gje);if(Object(r["a"])(n)){const e=2-1/Math.max(1,g.magnitude(n)/o.maximumRadius);Hje.pitch*=e}d.viewBoundingSphere(t,Hje),this.boundingSphere=t,f=!1,p=!1}else i&&Object(r["a"])(n.getValue(e,this._offset3D))||g.clone(Vje._defaultOffset3D,this._offset3D)}else h||this._mode===vq.SCENE2D||g.clone(d.position,this._offset3D);this._lastEntity=c,this._mode=a,Uje(this,d,f,p,l,e,o)};var qje=Vje;function Wje(e){return e}function Yje(e){if(null==e)return Wje;var t,n,i=e.scale[0],o=e.scale[1],r=e.translate[0],a=e.translate[1];return function(e,s){s||(t=n=0);var c=2,l=e.length,u=new Array(l);u[0]=(t+=e[0])*i+r,u[1]=(n+=e[1])*o+a;while(c<l)u[c]=e[c],++c;return u}}function Xje(e){var t,n=Yje(e.transform),i=1/0,o=i,r=-i,a=-i;function s(e){e=n(e),e[0]<i&&(i=e[0]),e[0]>r&&(r=e[0]),e[1]<o&&(o=e[1]),e[1]>a&&(a=e[1])}function c(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(c);break;case"Point":s(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(s);break}}for(t in e.arcs.forEach((function(e){var t,s=-1,c=e.length;while(++s<c)t=n(e[s],s),t[0]<i&&(i=t[0]),t[0]>r&&(r=t[0]),t[1]<o&&(o=t[1]),t[1]>a&&(a=t[1])})),e.objects)c(e.objects[t]);return[i,o,r,a]}function Kje(e,t){var n,i=e.length,o=i-t;while(o<--i)n=e[o],e[o++]=e[i],e[i]=n}function Jje(e,t){return"string"===typeof t&&(t=e.objects[t]),"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map((function(t){return Zje(e,t)}))}:Zje(e,t)}function Zje(e,t){var n=t.id,i=t.bbox,o=null==t.properties?{}:t.properties,r=$je(e,t);return null==n&&null==i?{type:"Feature",properties:o,geometry:r}:null==i?{type:"Feature",id:n,properties:o,geometry:r}:{type:"Feature",id:n,bbox:i,properties:o,geometry:r}}function $je(e,t){var n=Yje(e.transform),i=e.arcs;function o(e,t){t.length&&t.pop();for(var o=i[e<0?~e:e],r=0,a=o.length;r<a;++r)t.push(n(o[r],r));e<0&&Kje(t,a)}function r(e){return n(e)}function a(e){for(var t=[],n=0,i=e.length;n<i;++n)o(e[n],t);return t.length<2&&t.push(t[0]),t}function s(e){var t=a(e);while(t.length<4)t.push(t[0]);return t}function c(e){return e.map(s)}function l(e){var t,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(l)};case"Point":t=r(e.coordinates);break;case"MultiPoint":t=e.coordinates.map(r);break;case"LineString":t=a(e.arcs);break;case"MultiLineString":t=e.arcs.map(a);break;case"Polygon":t=c(e.arcs);break;case"MultiPolygon":t=e.arcs.map(c);break;default:return null}return{type:n,coordinates:t}}return l(t)}function Qje(e,t){var n={},i={},o={},r=[],a=-1;function s(t){var n,i=e.arcs[t<0?~t:t],o=i[0];return e.transform?(n=[0,0],i.forEach((function(e){n[0]+=e[0],n[1]+=e[1]}))):n=i[i.length-1],t<0?[n,o]:[o,n]}function c(e,t){for(var i in e){var o=e[i];delete t[o.start],delete o.start,delete o.end,o.forEach((function(e){n[e<0?~e:e]=1})),r.push(o)}}return t.forEach((function(n,i){var o,r=e.arcs[n<0?~n:n];r.length<3&&!r[1][0]&&!r[1][1]&&(o=t[++a],t[a]=n,t[i]=o)})),t.forEach((function(e){var t,n,r=s(e),a=r[0],c=r[1];if(t=o[a])if(delete o[t.end],t.push(e),t.end=c,n=i[c]){delete i[n.start];var l=n===t?t:t.concat(n);i[l.start=t.start]=o[l.end=n.end]=l}else i[t.start]=o[t.end]=t;else if(t=i[c])if(delete i[t.start],t.unshift(e),t.start=a,n=o[a]){delete o[n.end];var u=n===t?t:n.concat(t);i[u.start=n.start]=o[u.end=t.end]=u}else i[t.start]=o[t.end]=t;else t=[e],i[t.start=a]=o[t.end=c]=t})),c(o,i),c(i,o),t.forEach((function(e){n[e<0?~e:e]||r.push([e])})),r}function ePe(e){return $je(e,tPe.apply(this,arguments))}function tPe(e,t,n){var i,o,r;if(arguments.length>1)i=nPe(e,t,n);else for(o=0,i=new Array(r=e.arcs.length);o<r;++o)i[o]=o;return{type:"MultiLineString",arcs:Qje(e,i)}}function nPe(e,t,n){var i,o=[],r=[];function a(e){var t=e<0?~e:e;(r[t]||(r[t]=[])).push({i:e,g:i})}function s(e){e.forEach(a)}function c(e){e.forEach(s)}function l(e){e.forEach(c)}function u(e){switch(i=e,e.type){case"GeometryCollection":e.geometries.forEach(u);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":c(e.arcs);break;case"MultiPolygon":l(e.arcs);break}}return u(t),r.forEach(null==n?function(e){o.push(e[0].i)}:function(e){n(e[0].g,e[e.length-1].g)&&o.push(e[0].i)}),o}function iPe(e){var t,n=-1,i=e.length,o=e[i-1],r=0;while(++n<i)t=o,o=e[n],r+=t[0]*o[1]-t[1]*o[0];return Math.abs(r)}function oPe(e){return $je(e,rPe.apply(this,arguments))}function rPe(e,t){var n={},i=[],o=[];function r(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(r);break;case"Polygon":a(e.arcs);break;case"MultiPolygon":e.arcs.forEach(a);break}}function a(e){e.forEach((function(t){t.forEach((function(t){(n[t=t<0?~t:t]||(n[t]=[])).push(e)}))})),i.push(e)}function s(t){return iPe($je(e,{type:"Polygon",arcs:[t]}).coordinates[0])}return t.forEach(r),i.forEach((function(e){if(!e._){var t=[],i=[e];e._=1,o.push(t);while(e=i.pop())t.push(e),e.forEach((function(e){e.forEach((function(e){n[e<0?~e:e].forEach((function(e){e._||(e._=1,i.push(e))}))}))}))}})),i.forEach((function(e){delete e._})),{type:"MultiPolygon",arcs:o.map((function(t){var i,o=[];if(t.forEach((function(e){e.forEach((function(e){e.forEach((function(e){n[e<0?~e:e].length<2&&o.push(e)}))}))})),o=Qje(e,o),(i=o.length)>1)for(var r,a,c=1,l=s(o[0]);c<i;++c)(r=s(o[c]))>l&&(a=o[0],o[0]=o[c],o[c]=a,l=r);return o})).filter((function(e){return e.length>0}))}}function aPe(e,t){var n=0,i=e.length;while(n<i){var o=n+i>>>1;e[o]<t?n=o+1:i=o}return n}function sPe(e){var t={},n=e.map((function(){return[]}));function i(e,n){e.forEach((function(e){e<0&&(e=~e);var i=t[e];i?i.push(n):t[e]=[n]}))}function o(e,t){e.forEach((function(e){i(e,t)}))}function r(e,t){"GeometryCollection"===e.type?e.geometries.forEach((function(e){r(e,t)})):e.type in a&&a[e.type](e.arcs,t)}var a={LineString:i,MultiLineString:o,Polygon:o,MultiPolygon:function(e,t){e.forEach((function(e){o(e,t)}))}};for(var s in e.forEach(r),t)for(var c=t[s],l=c.length,u=0;u<l;++u)for(var h=u+1;h<l;++h){var d,f=c[u],p=c[h];(d=n[f])[s=aPe(d,p)]!==p&&d.splice(s,0,p),(d=n[p])[s=aPe(d,f)]!==f&&d.splice(s,0,f)}return n}function cPe(e){if(null==e)return Wje;var t,n,i=e.scale[0],o=e.scale[1],r=e.translate[0],a=e.translate[1];return function(e,s){s||(t=n=0);var c=2,l=e.length,u=new Array(l),h=Math.round((e[0]-r)/i),d=Math.round((e[1]-a)/o);u[0]=h-t,t=h,u[1]=d-n,n=d;while(c<l)u[c]=e[c],++c;return u}}function lPe(e,t){if(e.transform)throw new Error("already quantized");if(t&&t.scale)s=e.bbox;else{if(!((n=Math.floor(t))>=2))throw new Error("n must be ≥2");s=e.bbox||Xje(e);var n,i=s[0],o=s[1],r=s[2],a=s[3];t={scale:[r-i?(r-i)/(n-1):1,a-o?(a-o)/(n-1):1],translate:[i,o]}}var s,c,l=cPe(t),u=e.objects,h={};function d(e){return l(e)}function f(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(f)};break;case"Point":t={type:"Point",coordinates:d(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(d)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}function p(e){var t,n=0,i=1,o=e.length,r=new Array(o);r[0]=l(e[0],0);while(++n<o)((t=l(e[n],n))[0]||t[1])&&(r[i++]=t);return 1===i&&(r[i++]=[0,0]),r.length=i,r}for(c in u)h[c]=f(u[c]);return{type:"Topology",bbox:s,transform:t,objects:h,arcs:e.arcs.map(p)}}var uPe=Object.freeze({__proto__:null,bbox:Xje,feature:Jje,mesh:ePe,meshArcs:tPe,merge:oPe,mergeArcs:rPe,neighbors:sPe,quantize:lPe,transform:Yje,untransform:cPe});function hPe(e){return g.fromDegrees(e[0],e[1],e[2])}const dPe={"urn:ogc:def:crs:OGC:1.3:CRS84":hPe,"EPSG:4326":hPe,"urn:ogc:def:crs:EPSG::4326":hPe},fPe={},pPe={};let mPe,_Pe=48,gPe=j_.ROYALBLUE,bPe=j_.YELLOW,yPe=2,vPe=j_.fromBytes(255,255,0,100),OPe=!1;const wPe={small:24,medium:48,large:64},APe=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function TPe(e,t){let n="";for(const i in e)if(e.hasOwnProperty(i)){if(i===t||-1!==APe.indexOf(i))continue;const o=e[i];Object(r["a"])(o)&&(n+="object"===typeof o?`<tr><th>${i}</th><td>${TPe(o)}</td></tr>`:`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function CPe(e,t,n){let i;return function(o,a){return Object(r["a"])(i)||(i=e(t,n)),i}}function EPe(e,t){return new PK(CPe(TPe,e,t),!0)}function xPe(e,t,n){let i=e.id;if(Object(r["a"])(i)&&"Feature"===e.type){let e=2,n=i;while(Object(r["a"])(t.getById(n)))n=`${i}_${e}`,e++;i=n}else i=RL();const o=t.getOrCreateEntity(i),a=e.properties;if(Object(r["a"])(a)){let e;o.properties=a;const t=a.title;if(Object(r["a"])(t))o.name=t,e="title";else{let t=Number.MAX_VALUE;for(const n in a)if(a.hasOwnProperty(n)&&a[n]){const i=n.toLowerCase();if(t>1&&"title"===i){t=1,e=n;break}t>2&&"name"===i?(t=2,e=n):t>3&&/title/i.test(n)?(t=3,e=n):t>4&&/name/i.test(n)&&(t=4,e=n)}Object(r["a"])(e)&&(o.name=a[e])}const i=a.description;null!==i&&(o.description=Object(r["a"])(i)?new BB(i):n(a,e))}return o}function SPe(e,t){const n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}const IPe={Feature:jPe,FeatureCollection:PPe,GeometryCollection:RPe,LineString:FPe,MultiLineString:kPe,MultiPoint:LPe,MultiPolygon:VPe,Point:NPe,Polygon:UPe,Topology:HPe},DPe={GeometryCollection:RPe,LineString:FPe,MultiLineString:kPe,MultiPoint:LPe,MultiPolygon:VPe,Point:NPe,Polygon:UPe,Topology:HPe};function jPe(e,t,n,i,o){if(null===t.geometry)return void xPe(t,e._entityCollection,o.describe);if(!Object(r["a"])(t.geometry))throw new ye["a"]("feature.geometry is required.");const a=t.geometry.type,s=DPe[a];if(!Object(r["a"])(s))throw new ye["a"]("Unknown geometry type: "+a);s(e,t,t.geometry,i,o)}function PPe(e,t,n,i,o){const r=t.features;for(let a=0,s=r.length;a<s;a++)jPe(e,r[a],void 0,i,o)}function RPe(e,t,n,i,o){const a=n.geometries;for(let s=0,c=a.length;s<c;s++){const n=a[s],c=n.type,l=DPe[c];if(!Object(r["a"])(l))throw new ye["a"]("Unknown geometry type: "+c);l(e,t,n,i,o)}}function MPe(e,t,n,i,a){let s=a.markerSymbol,c=a.markerColor,l=a.markerSize;const u=t.properties;if(Object(r["a"])(u)){const e=u["marker-color"];Object(r["a"])(e)&&(c=j_.fromCssColorString(e)),l=Object(o["a"])(wPe[u["marker-size"]],l);const t=u["marker-symbol"];Object(r["a"])(t)&&(s=t)}let h;h=Object(r["a"])(s)?1===s.length?e._pinBuilder.fromText(s.toUpperCase(),c,l):e._pinBuilder.fromMakiIconId(s,c,l):e._pinBuilder.fromColor(c,l);const d=new HB;d.verticalOrigin=new BB(KB.BOTTOM),2===i.length&&a.clampToGround&&(d.heightReference=qB.CLAMP_TO_GROUND);const f=xPe(t,e._entityCollection,a.describe);f.billboard=d,f.position=new vX(n(i));const p=Promise.resolve(h).then((function(e){d.image=new BB(e)})).catch((function(){d.image=new BB(e._pinBuilder.fromColor(c,l))}));e._promises.push(p)}function NPe(e,t,n,i,o){MPe(e,t,i,n.coordinates,o)}function LPe(e,t,n,i,o){const r=n.coordinates;for(let a=0;a<r.length;a++)MPe(e,t,i,r[a],o)}function BPe(e,t,n,i,o){let a=o.strokeMaterialProperty,s=o.strokeWidthProperty;const c=t.properties;if(Object(r["a"])(c)){const e=c["stroke-width"];let t;Object(r["a"])(e)&&(s=new BB(e));const n=c.stroke;Object(r["a"])(n)&&(t=j_.fromCssColorString(n));const i=c["stroke-opacity"];Object(r["a"])(i)&&1!==i&&(Object(r["a"])(t)||(t=a.color.getValue().clone()),t.alpha=i),Object(r["a"])(t)&&(a=new Zk(t))}const l=xPe(t,e._entityCollection,o.describe),u=new oK;l.polyline=u,u.clampToGround=o.clampToGround,u.material=a,u.width=s,u.positions=new BB(SPe(i,n)),u.arcType=hh.RHUMB}function FPe(e,t,n,i,o){BPe(e,t,i,n.coordinates,o)}function kPe(e,t,n,i,o){const r=n.coordinates;for(let a=0;a<r.length;a++)BPe(e,t,i,r[a],o)}function zPe(e,t,n,i,o){if(0===i.length||0===i[0].length)return;let a=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,c=o.strokeWidthProperty;const l=t.properties;if(Object(r["a"])(l)){const e=l["stroke-width"];let t;Object(r["a"])(e)&&(c=new BB(e));const n=l.stroke;Object(r["a"])(n)&&(t=j_.fromCssColorString(n));let i,o=l["stroke-opacity"];Object(r["a"])(o)&&1!==o&&(Object(r["a"])(t)||(t=a.getValue().clone()),t.alpha=o),Object(r["a"])(t)&&(a=new BB(t));const u=l.fill,h=s.color.getValue();Object(r["a"])(u)&&(i=j_.fromCssColorString(u),i.alpha=h.alpha),o=l["fill-opacity"],Object(r["a"])(o)&&o!==h.alpha&&(Object(r["a"])(i)||(i=h.clone()),i.alpha=o),Object(r["a"])(i)&&(s=new Zk(i))}const u=new nK;u.outline=new BB(!0),u.outlineColor=a,u.outlineWidth=c,u.material=s,u.arcType=hh.RHUMB;const h=[];for(let r=1,p=i.length;r<p;r++)h.push(new UI(SPe(i[r],n)));const d=i[0];u.hierarchy=new BB(new UI(SPe(d,n),h)),d[0].length>2?u.perPositionHeight=new BB(!0):o.clampToGround||(u.height=0);const f=xPe(t,e._entityCollection,o.describe);f.polygon=u}function UPe(e,t,n,i,o){zPe(e,t,i,n.coordinates,o)}function VPe(e,t,n,i,o){const r=n.coordinates;for(let a=0;a<r.length;a++)zPe(e,t,i,r[a],o)}function HPe(e,t,n,i,o){for(const r in n.objects)if(n.objects.hasOwnProperty(r)){const t=uPe.feature(n,n.objects[r]),a=IPe[t.type];a(e,t,t,i,o)}}function GPe(e){this._name=e,this._changed=new pi["a"],this._error=new pi["a"],this._isLoading=!1,this._loading=new pi["a"],this._entityCollection=new iwe(this),this._promises=[],this._pinBuilder=new GS,this._entityCluster=new tTe,this._credit=void 0,this._resourceCredits=[]}function qPe(e,t,n,i){if(!Object(r["a"])(t))throw new a["a"]("data is required.");Rwe.setLoading(e,!0),n=Object(o["a"])(n,o["a"].EMPTY_OBJECT);let s=n.credit;"string"===typeof s&&(s=new fi(s)),e._credit=s;let c=t,l=n.sourceUri;if("string"===typeof t||t instanceof Et["a"]){t=Et["a"].createIfNeeded(t),c=t.fetchJson(),l=Object(o["a"])(l,t.getUrlComponent());const n=e._resourceCredits,i=t.credits;if(Object(r["a"])(i)){const e=i.length;for(let t=0;t<e;t++)n.push(i[t])}}return n={describe:Object(o["a"])(n.describe,EPe),markerSize:Object(o["a"])(n.markerSize,_Pe),markerSymbol:Object(o["a"])(n.markerSymbol,mPe),markerColor:Object(o["a"])(n.markerColor,gPe),strokeWidthProperty:new BB(Object(o["a"])(n.strokeWidth,yPe)),strokeMaterialProperty:new Zk(Object(o["a"])(n.stroke,bPe)),fillMaterialProperty:new Zk(Object(o["a"])(n.fill,vPe)),clampToGround:Object(o["a"])(n.clampToGround,OPe)},Promise.resolve(c).then((function(t){return WPe(e,t,n,l,i)})).catch((function(t){throw Rwe.setLoading(e,!1),e._error.raiseEvent(e,t),t}))}function WPe(e,t,n,i,o){let a;Object(r["a"])(i)&&(a=JL(i)),Object(r["a"])(a)&&e._name!==a&&(e._name=a,e._changed.raiseEvent(e));const s=IPe[t.type];if(!Object(r["a"])(s))throw new ye["a"]("Unsupported GeoJSON object type: "+t.type);const c=t.crs;let l=null!==c?hPe:null;if(Object(r["a"])(c)){if(!Object(r["a"])(c.properties))throw new ye["a"]("crs.properties is undefined.");const e=c.properties;if("name"===c.type){if(l=dPe[e.name],!Object(r["a"])(l))throw new ye["a"]("Unknown crs name: "+e.name)}else if("link"===c.type){let t=fPe[e.href];if(Object(r["a"])(t)||(t=pPe[e.type]),!Object(r["a"])(t))throw new ye["a"]("Unable to resolve crs link: "+JSON.stringify(e));l=t(e)}else{if("EPSG"!==c.type)throw new ye["a"]("Unknown crs type: "+c.type);if(l=dPe["EPSG:"+e.code],!Object(r["a"])(l))throw new ye["a"]("Unknown crs EPSG code: "+e.code)}}return Promise.resolve(l).then((function(i){return o&&e._entityCollection.removeAll(),null!==i&&s(e,t,t,i,n),Promise.all(e._promises).then((function(){return e._promises.length=0,Rwe.setLoading(e,!1),e}))}))}GPe.load=function(e,t){return(new GPe).load(e,t)},Object.defineProperties(GPe,{markerSize:{get:function(){return _Pe},set:function(e){_Pe=e}},markerSymbol:{get:function(){return mPe},set:function(e){mPe=e}},markerColor:{get:function(){return gPe},set:function(e){gPe=e}},stroke:{get:function(){return bPe},set:function(e){bPe=e}},strokeWidth:{get:function(){return yPe},set:function(e){yPe=e}},fill:{get:function(){return vPe},set:function(e){vPe=e}},clampToGround:{get:function(){return OPe},set:function(e){OPe=e}},crsNames:{get:function(){return dPe}},crsLinkHrefs:{get:function(){return fPe}},crsLinkTypes:{get:function(){return pPe}}}),Object.defineProperties(GPe.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value must be defined.");this._entityCluster=e}},credit:{get:function(){return this._credit}}}),GPe.prototype.load=function(e,t){return qPe(this,e,t,!0)},GPe.prototype.process=function(e,t){return qPe(this,e,t,!1)},GPe.prototype.update=function(e){return!0};var YPe=GPe;function XPe(e,t){for(var n in t)t.hasOwnProperty(n)&&void 0===e[n]&&(e[n]=t[n]);return e}function KPe(e,t,n){var i;return e.length>t&&(null==n?(n="&hellip;",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function JPe(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}function ZPe(e,t){for(var n=e.length-1;n>=0;n--)!0===t(e[n])&&e.splice(n,1)}function $Pe(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");var n,i=[],o=0;while(n=t.exec(e))i.push(e.substring(o,n.index)),i.push(n[0]),o=n.index+n[0].length;return i.push(e.substring(o)),i}function QPe(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var eRe=function(){function e(e){void 0===e&&(e={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=e.tagName||"",this.attrs=e.attrs||{},this.innerHTML=e.innerHtml||e.innerHTML||""}return e.prototype.setTagName=function(e){return this.tagName=e,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(e,t){var n=this.getAttrs();return n[e]=t,this},e.prototype.getAttr=function(e){return this.getAttrs()[e]},e.prototype.setAttrs=function(e){return Object.assign(this.getAttrs(),e),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(e){return this.setAttr("class",e)},e.prototype.addClass=function(e){var t,n=this.getClass(),i=this.whitespaceRegex,o=n?n.split(i):[],r=e.split(i);while(t=r.shift())-1===JPe(o,t)&&o.push(t);return this.getAttrs()["class"]=o.join(" "),this},e.prototype.removeClass=function(e){var t,n=this.getClass(),i=this.whitespaceRegex,o=n?n.split(i):[],r=e.split(i);while(o.length&&(t=r.shift())){var a=JPe(o,t);-1!==a&&o.splice(a,1)}return this.getAttrs()["class"]=o.join(" "),this},e.prototype.getClass=function(){return this.getAttrs()["class"]||""},e.prototype.hasClass=function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},e.prototype.setInnerHTML=function(e){return this.innerHTML=e,this},e.prototype.setInnerHtml=function(e){return this.setInnerHTML(e)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?" "+t:"",["<",e,t,">",this.getInnerHtml(),"</",e,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'="'+e[n]+'"');return t.join(" ")},e}();function tRe(e,t,n){var i,o;null==n?(n="&hellip;",o=3,i=8):(o=n.length,i=n.length);var r=function(e){var t={},n=e,i=n.match(/^([a-z]+):\/\//i);return i&&(t.scheme=i[1],n=n.substr(i[0].length)),i=n.match(/^(.*?)(?=(\?|#|\/|$))/i),i&&(t.host=i[1],n=n.substr(i[0].length)),i=n.match(/^\/(.*?)(?=(\?|#|$))/i),i&&(t.path=i[1],n=n.substr(i[0].length)),i=n.match(/^\?(.*?)(?=(#|$))/i),i&&(t.query=i[1],n=n.substr(i[0].length)),i=n.match(/^#(.*?)$/i),i&&(t.fragment=i[1]),t},a=function(e){var t="";return e.scheme&&e.host&&(t+=e.scheme+"://"),e.host&&(t+=e.host),e.path&&(t+="/"+e.path),e.query&&(t+="?"+e.query),e.fragment&&(t+="#"+e.fragment),t},s=function(e,t){var i=t/2,o=Math.ceil(i),r=-1*Math.floor(i),a="";return r<0&&(a=e.substr(r)),e.substr(0,o)+n+a};if(e.length<=t)return e;var c=t-o,l=r(e);if(l.query){var u=l.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);u&&(l.query=l.query.substr(0,u[1].length),e=a(l))}if(e.length<=t)return e;if(l.host&&(l.host=l.host.replace(/^www\./,""),e=a(l)),e.length<=t)return e;var h="";if(l.host&&(h+=l.host),h.length>=c)return l.host.length==t?(l.host.substr(0,t-o)+n).substr(0,c+i):s(h,c).substr(0,c+i);var d="";if(l.path&&(d+="/"+l.path),l.query&&(d+="?"+l.query),d){if((h+d).length>=c){if((h+d).length==t)return(h+d).substr(0,t);var f=c-h.length;return(h+s(d,f)).substr(0,c+i)}h+=d}if(l.fragment){var p="#"+l.fragment;if((h+p).length>=c){if((h+p).length==t)return(h+p).substr(0,t);var m=c-h.length;return(h+s(p,m)).substr(0,c+i)}h+=p}if(l.scheme&&l.host){var _=l.scheme+"://";if((h+_).length<c)return(_+h).substr(0,t)}if(h.length<=t)return h;var g="";return c>0&&(g=h.substr(-1*Math.floor(c/2))),(h.substr(0,Math.ceil(c/2))+n+g).substr(0,c+i)}function nRe(e,t,n){if(e.length<=t)return e;var i,o;null==n?(n="&hellip;",i=8,o=3):(i=n.length,o=n.length);var r=t-o,a="";return r>0&&(a=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+a).substr(0,r+i)}function iRe(e,t,n){return KPe(e,t,n)}var oRe=function(){function e(e){void 0===e&&(e={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=e.newWindow||!1,this.truncate=e.truncate||{},this.className=e.className||""}return e.prototype.build=function(e){return new eRe({tagName:"a",attrs:this.createAttrs(e),innerHtml:this.processAnchorText(e.getAnchorText())})},e.prototype.createAttrs=function(e){var t={href:e.getAnchorHref()},n=this.createCssClass(e);return n&&(t["class"]=n),this.newWindow&&(t["target"]="_blank",t["rel"]="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<e.getAnchorText().length&&(t["title"]=e.getAnchorHref()),t},e.prototype.createCssClass=function(e){var t=this.className;if(t){for(var n=[t],i=e.getCssClassSuffixes(),o=0,r=i.length;o<r;o++)n.push(t+"-"+i[o]);return n.join(" ")}return""},e.prototype.processAnchorText=function(e){return e=this.doTruncate(e),e},e.prototype.doTruncate=function(e){var t=this.truncate;if(!t||!t.length)return e;var n=t.length,i=t.location;return"smart"===i?tRe(e,n):"middle"===i?nRe(e,n):iRe(e,n)},e}(),rRe=function(){function e(e){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(e){this.offset=e},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.getType()]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}(),aRe=function(e,t){return aRe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},aRe(e,t)};function sRe(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}aRe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var cRe=function(){return cRe=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},cRe.apply(this,arguments)},lRe=function(e){function t(t){var n=e.call(this,t)||this;return n.email="",n.email=t.email,n}return sRe(t,e),t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(rRe),uRe=function(e){function t(t){var n=e.call(this,t)||this;return n.serviceName="",n.hashtag="",n.serviceName=t.serviceName,n.hashtag=t.hashtag,n}return sRe(t,e),t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var e=this.serviceName,t=this.hashtag;switch(e){case"twitter":return"https://twitter.com/hashtag/"+t;case"facebook":return"https://www.facebook.com/hashtag/"+t;case"instagram":return"https://instagram.com/explore/tags/"+t;case"tiktok":return"https://www.tiktok.com/tag/"+t;default:throw new Error("Unknown service name to point hashtag to: "+e)}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t}(rRe),hRe=function(e){function t(t){var n=e.call(this,t)||this;return n.serviceName="twitter",n.mention="",n.mention=t.mention,n.serviceName=t.serviceName,n}return sRe(t,e),t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var t=e.prototype.getCssClassSuffixes.call(this),n=this.getServiceName();return n&&t.push(n),t},t}(rRe),dRe=function(e){function t(t){var n=e.call(this,t)||this;return n.number="",n.plusSign=!1,n.number=t.number,n.plusSign=t.plusSign,n}return sRe(t,e),t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(rRe),fRe=function(e){function t(t){var n=e.call(this,t)||this;return n.url="",n.urlMatchType="scheme",n.protocolUrlMatch=!1,n.protocolRelativeMatch=!1,n.stripPrefix={scheme:!0,www:!0},n.stripTrailingSlash=!0,n.decodePercentEncoding=!0,n.schemePrefixRegex=/^(https?:\/\/)?/i,n.wwwPrefixRegex=/^(https?:\/\/)?(www\.)?/i,n.protocolRelativeRegex=/^\/\//,n.protocolPrepended=!1,n.urlMatchType=t.urlMatchType,n.url=t.url,n.protocolUrlMatch=t.protocolUrlMatch,n.protocolRelativeMatch=t.protocolRelativeMatch,n.stripPrefix=t.stripPrefix,n.stripTrailingSlash=t.stripTrailingSlash,n.decodePercentEncoding=t.decodePercentEncoding,n}return sRe(t,e),t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url="http://"+e,this.protocolPrepended=!0),e},t.prototype.getAnchorHref=function(){var e=this.getUrl();return e.replace(/&amp;/g,"&")},t.prototype.getAnchorText=function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix.scheme&&(e=this.stripSchemePrefix(e)),this.stripPrefix.www&&(e=this.stripWwwPrefix(e)),this.stripTrailingSlash&&(e=this.removeTrailingSlash(e)),this.decodePercentEncoding&&(e=this.removePercentEncoding(e)),e},t.prototype.stripSchemePrefix=function(e){return e.replace(this.schemePrefixRegex,"")},t.prototype.stripWwwPrefix=function(e){return e.replace(this.wwwPrefixRegex,"$1")},t.prototype.stripProtocolRelativePrefix=function(e){return e.replace(this.protocolRelativeRegex,"")},t.prototype.removeTrailingSlash=function(e){return"/"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},t.prototype.removePercentEncoding=function(e){var t=e.replace(/%22/gi,"&quot;").replace(/%26/gi,"&amp;").replace(/%27/gi,"&#39;").replace(/%3C/gi,"&lt;").replace(/%3E/gi,"&gt;");try{return decodeURIComponent(t)}catch(n){return t}},t}(rRe),pRe=function(){function e(e){this.__jsduckDummyDocProp=null,this.tagBuilder=e.tagBuilder}return e}(),mRe=/[A-Za-z]/,_Re=/[\d]/,gRe=/[\D]/,bRe=/\s/,yRe=/['"]/,vRe=/[\x00-\x1F\x7F]/,ORe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,wRe=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,ARe=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,TRe=ORe+wRe+ARe,CRe=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,ERe=TRe+CRe,xRe=TRe+CRe,SRe="(?:["+CRe+"]{1,3}\\.){3}["+CRe+"]{1,3}",IRe="["+xRe+"](?:["+xRe+"\\-]{0,61}["+xRe+"])?",DRe=function(e){return"(?=("+IRe+"))\\"+e},jRe=function(e){return"(?:"+DRe(e)+"(?:\\."+DRe(e+1)+"){0,126}|"+SRe+")"},PRe=new RegExp("[".concat(xRe,"]")),RRe=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|duck|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|大众汽车|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,MRe=new RegExp("[".concat(xRe,"!#$%&'*+/=?^_`{|}~-]")),NRe=new RegExp("^".concat(RRe.source,"$")),LRe=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.localPartCharRegex=MRe,t.strictTldRegex=NRe,t}return sRe(t,e),t.prototype.parseMatches=function(e){var t=this.tagBuilder,n=this.localPartCharRegex,i=this.strictTldRegex,o=[],r=e.length,a=new BRe,s={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},c=0,l=0,u=a;while(c<r){var h=e.charAt(c);switch(l){case 0:d(h);break;case 1:f(e.charAt(c-1),h);break;case 2:p(h);break;case 3:m(h);break;case 4:_(h);break;case 5:g(h);break;case 6:b(h);break;case 7:y(h);break;default:QPe(l)}c++}return w(),o;function d(e){"m"===e?v(1):n.test(e)&&v()}function f(e,t){":"===e?n.test(t)?(l=2,u=new BRe(cRe(cRe({},u),{hasMailtoPrefix:!0}))):O():s[e]===t||(n.test(t)?l=2:"."===t?l=3:"@"===t?l=4:O())}function p(e){"."===e?l=3:"@"===e?l=4:n.test(e)||O()}function m(e){"."===e||"@"===e?O():n.test(e)?l=2:O()}function _(e){PRe.test(e)?l=5:O()}function g(e){"."===e?l=7:"-"===e?l=6:PRe.test(e)||w()}function b(e){"-"===e||"."===e?w():PRe.test(e)?l=5:w()}function y(e){"."===e||"-"===e?w():PRe.test(e)?(l=5,u=new BRe(cRe(cRe({},u),{hasDomainDot:!0}))):w()}function v(e){void 0===e&&(e=2),l=e,u=new BRe({idx:c})}function O(){l=0,u=a}function w(){if(u.hasDomainDot){var n=e.slice(u.idx,c);/[-.]$/.test(n)&&(n=n.slice(0,-1));var r=u.hasMailtoPrefix?n.slice("mailto:".length):n;a(r)&&o.push(new lRe({tagBuilder:t,matchedText:n,offset:u.idx,email:r}))}function a(e){var t=e.split(".").pop()||"",n=t.toLowerCase(),o=i.test(n);return o}O()}},t}(pRe),BRe=function(){function e(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.hasMailtoPrefix=!!e.hasMailtoPrefix,this.hasDomainDot=!!e.hasDomainDot}return e}(),FRe=function(){function e(){}return e.isValid=function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e)||this.containsMultipleDots(e))},e.isValidIpAddress=function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source),n=e.match(t);return null!==n},e.containsMultipleDots=function(e){var t=e;return this.hasFullProtocolRegex.test(e)&&(t=e.split("://")[1]),t.split("/")[0].indexOf("..")>-1},e.isValidUriScheme=function(e){var t=e.match(this.uriSchemeRegex),n=t&&t[0].toLowerCase();return"javascript:"!==n&&"vbscript:"!==n},e.urlMatchDoesNotHaveProtocolOrDot=function(e,t){return!!e&&(!t||!this.hasFullProtocolRegex.test(t))&&-1===e.indexOf(".")},e.urlMatchDoesNotHaveAtLeastOneWordChar=function(e,t){return!(!e||!t)&&(!this.hasFullProtocolRegex.test(t)&&!this.hasWordCharAfterProtocolRegex.test(e))},e.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,e.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,e.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+ORe+"]"),e.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,e}(),kRe=function(){var e=/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/,t=/(?:www\.)/,n=new RegExp("[/?#](?:["+xRe+"\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^✓]*["+xRe+"\\-+&@#/%=~_()|'$*\\[\\]{}✓])?");return new RegExp(["(?:","(",e.source,jRe(2),")","|","(","(//)?",t.source,jRe(6),")","|","(","(//)?",jRe(10)+"\\.",RRe.source,"(?![-"+ERe+"])",")",")","(?::[0-9]+)?","(?:"+n.source+")?"].join(""),"gi")}(),zRe=new RegExp("["+xRe+"]"),URe=function(e){function t(t){var n=e.call(this,t)||this;return n.stripPrefix={scheme:!0,www:!0},n.stripTrailingSlash=!0,n.decodePercentEncoding=!0,n.matcherRegex=kRe,n.wordCharRegExp=zRe,n.stripPrefix=t.stripPrefix,n.stripTrailingSlash=t.stripTrailingSlash,n.decodePercentEncoding=t.decodePercentEncoding,n}return sRe(t,e),t.prototype.parseMatches=function(e){var t,n=this.matcherRegex,i=this.stripPrefix,o=this.stripTrailingSlash,r=this.decodePercentEncoding,a=this.tagBuilder,s=[],c=function(){var n=t[0],c=t[1],u=t[4],h=t[5],d=t[9],f=t.index,p=h||d,m=e.charAt(f-1);if(!FRe.isValid(n,c))return"continue";if(f>0&&"@"===m)return"continue";if(f>0&&p&&l.wordCharRegExp.test(m))return"continue";if(/\?$/.test(n)&&(n=n.substr(0,n.length-1)),l.matchHasUnbalancedClosingParen(n))n=n.substr(0,n.length-1);else{var _=l.matchHasInvalidCharAfterTld(n,c);_>-1&&(n=n.substr(0,_))}var g=["http://","https://"].find((function(e){return!!c&&-1!==c.indexOf(e)}));if(g){var b=n.indexOf(g);n=n.substr(b),c=c.substr(b),f+=b}var y=c?"scheme":u?"www":"tld",v=!!c;s.push(new fRe({tagBuilder:a,matchedText:n,offset:f,urlMatchType:y,url:n,protocolUrlMatch:v,protocolRelativeMatch:!!p,stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))},l=this;while(null!==(t=n.exec(e)))c();return s},t.prototype.matchHasUnbalancedClosingParen=function(e){var t,n=e.charAt(e.length-1);if(")"===n)t="(";else if("]"===n)t="[";else{if("}"!==n)return!1;t="{"}for(var i=0,o=0,r=e.length-1;o<r;o++){var a=e.charAt(o);a===t?i++:a===n&&(i=Math.max(i-1,0))}return 0===i},t.prototype.matchHasInvalidCharAfterTld=function(e,t){if(!e)return-1;var n=0;t&&(n=e.indexOf(":"),e=e.slice(n));var i=new RegExp("^((.?//)?[-."+xRe+"]*[-"+xRe+"]\\.[-"+xRe+"]+)"),o=i.exec(e);return null===o?-1:(n+=o[1].length,e=e.slice(o[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(e)?n:-1)},t}(pRe),VRe=new RegExp("#[_".concat(xRe,"]{1,139}(?![_").concat(xRe,"])"),"g"),HRe=new RegExp("[^"+xRe+"]"),GRe=function(e){function t(t){var n=e.call(this,t)||this;return n.serviceName="twitter",n.matcherRegex=VRe,n.nonWordCharRegex=HRe,n.serviceName=t.serviceName,n}return sRe(t,e),t.prototype.parseMatches=function(e){var t,n=this.matcherRegex,i=this.nonWordCharRegex,o=this.serviceName,r=this.tagBuilder,a=[];while(null!==(t=n.exec(e))){var s=t.index,c=e.charAt(s-1);if(0===s||i.test(c)){var l=t[0],u=t[0].slice(1);a.push(new uRe({tagBuilder:r,matchedText:l,offset:s,serviceName:o,hashtag:u}))}}return a},t}(pRe),qRe=/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/,WRe=/(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,YRe=new RegExp("".concat(qRe.source,"|").concat(WRe.source),"g"),XRe=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.matcherRegex=YRe,t}return sRe(t,e),t.prototype.parseMatches=function(e){var t,n=this.matcherRegex,i=this.tagBuilder,o=[];while(null!==(t=n.exec(e))){var r=t[0],a=r.replace(/[^0-9,;#]/g,""),s=!(!t[1]&&!t[2]),c=0==t.index?"":e.substr(t.index-1,1),l=e.substr(t.index+r.length,1),u=!c.match(/\d/)&&!l.match(/\d/);this.testMatch(t[3])&&this.testMatch(r)&&u&&o.push(new dRe({tagBuilder:i,matchedText:r,offset:t.index,number:a,plusSign:s}))}return o},t.prototype.testMatch=function(e){return gRe.test(e)},t}(pRe),KRe=new RegExp("@[_".concat(xRe,"]{1,50}(?![_").concat(xRe,"])"),"g"),JRe=new RegExp("@[_.".concat(xRe,"]{1,30}(?![_").concat(xRe,"])"),"g"),ZRe=new RegExp("@[-_.".concat(xRe,"]{1,50}(?![-_").concat(xRe,"])"),"g"),$Re=new RegExp("@[_.".concat(xRe,"]{1,23}[_").concat(xRe,"](?![_").concat(xRe,"])"),"g"),QRe=new RegExp("[^"+xRe+"]"),eMe=function(e){function t(t){var n=e.call(this,t)||this;return n.serviceName="twitter",n.matcherRegexes={twitter:KRe,instagram:JRe,soundcloud:ZRe,tiktok:$Re},n.nonWordCharRegex=QRe,n.serviceName=t.serviceName,n}return sRe(t,e),t.prototype.parseMatches=function(e){var t,n=this.serviceName,i=this.matcherRegexes[this.serviceName],o=this.nonWordCharRegex,r=this.tagBuilder,a=[];if(!i)return a;while(null!==(t=i.exec(e))){var s=t.index,c=e.charAt(s-1);if(0===s||o.test(c)){var l=t[0].replace(/\.+$/g,""),u=l.slice(1);a.push(new hRe({tagBuilder:r,matchedText:l,offset:s,serviceName:n,mention:u}))}}return a},t}(pRe);function tMe(e,t){var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,a=t.onDoctype,s=new nMe,c=0,l=e.length,u=0,h=0,d=s;while(c<l){var f=e.charAt(c);switch(u){case 0:p(f);break;case 1:m(f);break;case 2:g(f);break;case 3:_(f);break;case 4:b(f);break;case 5:y(f);break;case 6:v(f);break;case 7:O(f);break;case 8:w(f);break;case 9:A(f);break;case 10:T(f);break;case 11:C(f);break;case 12:E(f);break;case 13:x();break;case 14:S(f);break;case 15:I(f);break;case 16:D(f);break;case 17:j(f);break;case 18:P(f);break;case 19:R(f);break;case 20:M(f);break;default:QPe(u)}c++}function p(e){"<"===e&&L()}function m(e){"!"===e?u=13:"/"===e?(u=2,d=new nMe(cRe(cRe({},d),{isClosing:!0}))):"<"===e?L():mRe.test(e)?(u=3,d=new nMe(cRe(cRe({},d),{isOpening:!0}))):(u=0,d=s)}function _(e){bRe.test(e)?(d=new nMe(cRe(cRe({},d),{name:k()})),u=4):"<"===e?L():"/"===e?(d=new nMe(cRe(cRe({},d),{name:k()})),u=12):">"===e?(d=new nMe(cRe(cRe({},d),{name:k()})),B()):mRe.test(e)||_Re.test(e)||":"===e||N()}function g(e){">"===e?N():mRe.test(e)?u=3:N()}function b(e){bRe.test(e)||("/"===e?u=12:">"===e?B():"<"===e?L():"="===e||yRe.test(e)||vRe.test(e)?N():u=5)}function y(e){bRe.test(e)?u=6:"/"===e?u=12:"="===e?u=7:">"===e?B():"<"===e?L():yRe.test(e)&&N()}function v(e){bRe.test(e)||("/"===e?u=12:"="===e?u=7:">"===e?B():"<"===e?L():yRe.test(e)?N():u=5)}function O(e){bRe.test(e)||('"'===e?u=8:"'"===e?u=9:/[>=`]/.test(e)?N():"<"===e?L():u=10)}function w(e){'"'===e&&(u=11)}function A(e){"'"===e&&(u=11)}function T(e){bRe.test(e)?u=4:">"===e?B():"<"===e&&L()}function C(e){bRe.test(e)?u=4:"/"===e?u=12:">"===e?B():"<"===e?L():(u=4,z())}function E(e){">"===e?(d=new nMe(cRe(cRe({},d),{isClosing:!0})),B()):u=4}function x(t){"--"===e.substr(c,2)?(c+=2,d=new nMe(cRe(cRe({},d),{type:"comment"})),u=14):"DOCTYPE"===e.substr(c,7).toUpperCase()?(c+=7,d=new nMe(cRe(cRe({},d),{type:"doctype"})),u=20):N()}function S(e){"-"===e?u=15:">"===e?N():u=16}function I(e){"-"===e?u=18:">"===e?N():u=16}function D(e){"-"===e&&(u=17)}function j(e){u="-"===e?18:16}function P(e){">"===e?B():"!"===e?u=19:"-"===e||(u=16)}function R(e){"-"===e?u=17:">"===e?B():u=16}function M(e){">"===e?B():"<"===e&&L()}function N(){u=0,d=s}function L(){u=1,d=new nMe({idx:c})}function B(){var t=e.slice(h,d.idx);t&&o(t,h),"comment"===d.type?r(d.idx):"doctype"===d.type?a(d.idx):(d.isOpening&&n(d.name,d.idx),d.isClosing&&i(d.name,d.idx)),N(),h=c+1}function F(){var t=e.slice(h,c);o(t,h),h=c+1}function k(){var t=d.idx+(d.isClosing?2:1);return e.slice(t,c).toLowerCase()}function z(){c--}h<c&&F()}var nMe=function(){function e(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.type=e.type||"tag",this.name=e.name||"",this.isOpening=!!e.isOpening,this.isClosing=!!e.isClosing}return e}(),iMe=function(){function e(t){void 0===t&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(t.urls),this.email="boolean"===typeof t.email?t.email:this.email,this.phone="boolean"===typeof t.phone?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow="boolean"===typeof t.newWindow?t.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(t.stripPrefix),this.stripTrailingSlash="boolean"===typeof t.stripTrailingSlash?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding="boolean"===typeof t.decodePercentEncoding?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(!1!==n&&-1===["twitter","instagram","soundcloud","tiktok"].indexOf(n))throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(!1!==i&&-1===["twitter","facebook","instagram","tiktok"].indexOf(i))throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=this.normalizeTruncateCfg(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.normalizeUrlsCfg=function(e){return null==e&&(e=!0),"boolean"===typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:"boolean"!==typeof e.schemeMatches||e.schemeMatches,wwwMatches:"boolean"!==typeof e.wwwMatches||e.wwwMatches,tldMatches:"boolean"!==typeof e.tldMatches||e.tldMatches}},e.prototype.normalizeStripPrefixCfg=function(e){return null==e&&(e=!0),"boolean"===typeof e?{scheme:e,www:e}:{scheme:"boolean"!==typeof e.scheme||e.scheme,www:"boolean"!==typeof e.www||e.www}},e.prototype.normalizeTruncateCfg=function(e){return"number"===typeof e?{length:e,location:"end"}:XPe(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})},e.prototype.parse=function(e){var t=this,n=["a","style","script"],i=0,o=[];return tMe(e,{onOpenTag:function(e){n.indexOf(e)>=0&&i++},onText:function(e,n){if(0===i){var r=/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,a=$Pe(e,r),s=n;a.forEach((function(e,n){if(n%2===0){var i=t.parseText(e,s);o.push.apply(o,i)}s+=e.length}))}},onCloseTag:function(e){n.indexOf(e)>=0&&(i=Math.max(i-1,0))},onComment:function(e){},onDoctype:function(e){}}),o=this.compactMatches(o),o=this.removeUnwantedMatches(o),o},e.prototype.compactMatches=function(e){e.sort((function(e,t){return e.getOffset()-t.getOffset()}));var t=0;while(t<e.length-1){var n=e[t],i=n.getOffset(),o=n.getMatchedText().length,r=i+o;if(t+1<e.length){if(e[t+1].getOffset()===i){var a=e[t+1].getMatchedText().length>o?t:t+1;e.splice(a,1);continue}if(e[t+1].getOffset()<r){e.splice(t+1,1);continue}}t++}return e},e.prototype.removeUnwantedMatches=function(e){return this.hashtag||ZPe(e,(function(e){return"hashtag"===e.getType()})),this.email||ZPe(e,(function(e){return"email"===e.getType()})),this.phone||ZPe(e,(function(e){return"phone"===e.getType()})),this.mention||ZPe(e,(function(e){return"mention"===e.getType()})),this.urls.schemeMatches||ZPe(e,(function(e){return"url"===e.getType()&&"scheme"===e.getUrlMatchType()})),this.urls.wwwMatches||ZPe(e,(function(e){return"url"===e.getType()&&"www"===e.getUrlMatchType()})),this.urls.tldMatches||ZPe(e,(function(e){return"url"===e.getType()&&"tld"===e.getUrlMatchType()})),e},e.prototype.parseText=function(e,t){void 0===t&&(t=0),t=t||0;for(var n=this.getMatchers(),i=[],o=0,r=n.length;o<r;o++){for(var a=n[o].parseMatches(e),s=0,c=a.length;s<c;s++)a[s].setOffset(t+a[s].getOffset());i.push.apply(i,a)}return i},e.prototype.link=function(e){if(!e)return"";this.sanitizeHtml&&(e=e.replace(/</g,"&lt;").replace(/>/g,"&gt;"));for(var t=this.parse(e),n=[],i=0,o=0,r=t.length;o<r;o++){var a=t[o];n.push(e.substring(i,a.getOffset())),n.push(this.createMatchReturnVal(a)),i=a.getOffset()+a.getMatchedText().length}return n.push(e.substring(i)),n.join("")},e.prototype.createMatchReturnVal=function(e){var t;if(this.replaceFn&&(t=this.replaceFn.call(this.context,e)),"string"===typeof t)return t;if(!1===t)return e.getMatchedText();if(t instanceof eRe)return t.toAnchorString();var n=e.buildTag();return n.toAnchorString()},e.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var e=this.getTagBuilder(),t=[new GRe({tagBuilder:e,serviceName:this.hashtag}),new LRe({tagBuilder:e}),new XRe({tagBuilder:e}),new eMe({tagBuilder:e,serviceName:this.mention}),new URe({tagBuilder:e,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=t},e.prototype.getTagBuilder=function(){var e=this.tagBuilder;return e||(e=this.tagBuilder=new oRe({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),e},e.version="3.15.0",e.AnchorTagBuilder=oRe,e.HtmlTag=eRe,e.matcher={Email:LRe,Hashtag:GRe,Matcher:pRe,Mention:eMe,Phone:XRe,Url:URe},e.match={Email:lRe,Hashtag:uRe,Match:rRe,Mention:hRe,Phone:dRe,Url:fRe},e}();let oMe;"undefined"!==typeof DOMParser&&(oMe=new DOMParser);const rMe=new iMe({stripPrefix:!1,email:!1,replaceFn:function(e,t){if(!t.protocolUrlMatch)return!1}}),aMe=32,sMe=2414016,cMe=1,lMe=16093e3,uMe=.1,hMe=[null,void 0,"http://www.topografix.com/GPX/1/1"],dMe={gpx:hMe};function fMe(e){const t=Object(xr["a"])(),n=new FileReader;return n.addEventListener("load",(function(){t.resolve(n.result)})),n.addEventListener("error",(function(){t.reject(n.error)})),n.readAsText(e),t.promise}function pMe(e,t){let n=gMe(e,"id");n=Object(r["a"])(n)?n:RL();const i=t.getOrCreateEntity(n);return i}function mMe(e){const t=_Me(e,"lon"),n=_Me(e,"lat"),i=vMe(e,"ele",dMe.gpx);return g.fromDegrees(t,n,i)}function _Me(e,t){if(!Object(r["a"])(e))return;const n=e.getAttribute(t);if(null!==n){const e=parseFloat(n);return isNaN(e)?void 0:e}}function gMe(e,t){if(!Object(r["a"])(e))return;const n=e.getAttribute(t);return null!==n?n:void 0}function bMe(e,t,n){if(!Object(r["a"])(e))return;const i=e.childNodes,o=i.length;for(let r=0;r<o;r++){const e=i[r];if(e.localName===t&&-1!==n.indexOf(e.namespaceURI))return e}}function yMe(e,t,n){if(!Object(r["a"])(e))return;const i=[],o=e.getElementsByTagName(t),a=o.length;for(let r=0;r<a;r++){const e=o[r];e.localName===t&&-1!==n.indexOf(e.namespaceURI)&&i.push(e)}return i}function vMe(e,t,n){const i=bMe(e,t,n);if(Object(r["a"])(i)){const e=parseFloat(i.textContent);return isNaN(e)?void 0:e}}function OMe(e,t,n){const i=bMe(e,t,n);if(Object(r["a"])(i))return i.textContent.trim()}function wMe(e){const t=new HB;return t.width=aMe,t.height=aMe,t.scaleByDistance=new cS(sMe,cMe,lMe,uMe),t.pixelOffsetScaleByDistance=new cS(sMe,cMe,lMe,uMe),t.verticalOrigin=new BB(KB.BOTTOM),t.image=e,t}function AMe(){const e=new RX;return e.translucencyByDistance=new cS(3e6,1,5e6,0),e.pixelOffset=new Ht(17,0),e.horizontalOrigin=YB.LEFT,e.font="16px sans-serif",e.style=Jre.FILL_AND_OUTLINE,e}function TMe(e){const t=new oK;return t.width=4,t.material=new FTe,t.material.color=Object(r["a"])(e)?e:j_.RED,t.material.outlineWidth=2,t.material.outlineColor=j_.BLACK,t}const CMe={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}};let EMe;function xMe(e,t){let n,i="";const a=Object.keys(CMe),s=a.length;for(n=0;n<s;n++){const t=a[n],s=CMe[t];s.value=Object(o["a"])(OMe(e,s.tag,dMe.gpx),""),Object(r["a"])(s.value)&&""!==s.value&&(i=`${i}<p>${s.text}: ${s.value}</p>`)}if(!Object(r["a"])(i)||""===i)return;i=rMe.link(i),EMe.innerHTML=i;const c=EMe.querySelectorAll("a");for(n=0;n<c.length;n++)c[n].setAttribute("target","_blank");const l=j_.WHITE,u=j_.BLACK;let h='<div class="cesium-infoBox-description-lighter" style="';return h+="overflow:auto;",h+="word-wrap:break-word;",h+=`background-color:${l.toCssColorString()};`,h+=`color:${u.toCssColorString()};`,h+='">',h+=EMe.innerHTML+"</div>",EMe.innerHTML="",h}function SMe(e,t,n,i){const o=mMe(t),a=pMe(t,n);a.position=o;const s=Object(r["a"])(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",j_.RED,aMe);a.billboard=wMe(s);const c=OMe(t,"name",dMe.gpx);a.name=c,a.label=AMe(),a.label.text=c,a.description=xMe(t,a),i.clampToGround&&(a.billboard.heightReference=qB.CLAMP_TO_GROUND,a.label.heightReference=qB.CLAMP_TO_GROUND)}function IMe(e,t,n,i){const o=pMe(t,n);o.description=xMe(t,o);const r=yMe(t,"rtept",dMe.gpx),a=new Array(r.length);for(let s=0;s<r.length;s++)SMe(e,r[s],n,i),a[s]=mMe(r[s]);o.polyline=TMe(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=a}function DMe(e,t,n,i){const o=pMe(t,n);o.description=xMe(t,o);const a=yMe(t,"trkseg",dMe.gpx);let s,c=[],l=[],u=!0;const h=new oCe;for(let r=0;r<a.length;r++)s=jMe(a[r]),c=c.concat(s.positions),s.times.length>0?(l=l.concat(s.times),h.addSamples(l,c),u=u&&!0):u=!1;if(u){const t=Object(r["a"])(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",j_.RED,aMe);o.billboard=wMe(t),o.position=h,i.clampToGround&&(o.billboard.heightReference=qB.CLAMP_TO_GROUND),o.availability=new CN,o.availability.addInterval(new Mx({start:l[0],stop:l[l.length-1]}))}o.polyline=TMe(i.trackColor),o.polyline.positions=c,i.clampToGround&&(o.polyline.clampToGround=!0)}function jMe(e){const t={positions:[],times:[]},n=yMe(e,"trkpt",dMe.gpx);let i;for(let o=0;o<n.length;o++){const e=mMe(n[o]);t.positions.push(e),i=OMe(n[o],"time",dMe.gpx),Object(r["a"])(i)&&t.times.push(gr.fromIso8601(i))}return t}function PMe(e){const t=bMe(e,"metadata",dMe.gpx);if(Object(r["a"])(t)){const e={name:OMe(t,"name",dMe.gpx),desc:OMe(t,"desc",dMe.gpx),author:RMe(t),copyright:LMe(t),link:NMe(t),time:OMe(t,"time",dMe.gpx),keywords:OMe(t,"keywords",dMe.gpx),bounds:BMe(t)};if(Object(r["a"])(e.name)||Object(r["a"])(e.desc)||Object(r["a"])(e.author)||Object(r["a"])(e.copyright)||Object(r["a"])(e.link)||Object(r["a"])(e.time)||Object(r["a"])(e.keywords)||Object(r["a"])(e.bounds))return e}}function RMe(e){const t=bMe(e,"author",dMe.gpx);if(Object(r["a"])(t)){const e={name:OMe(t,"name",dMe.gpx),email:MMe(t),link:NMe(t)};if(Object(r["a"])(e.name)||Object(r["a"])(e.email)||Object(r["a"])(e.link))return e}}function MMe(e){const t=bMe(e,"email",dMe.gpx);if(Object(r["a"])(t)){const e=OMe(t,"id",dMe.gpx),n=OMe(t,"domain",dMe.gpx);return`${e}@${n}`}}function NMe(e){const t=bMe(e,"link",dMe.gpx);if(Object(r["a"])(t)){const e={href:gMe(t,"href"),text:OMe(t,"text",dMe.gpx),mimeType:OMe(t,"type",dMe.gpx)};if(Object(r["a"])(e.href)||Object(r["a"])(e.text)||Object(r["a"])(e.mimeType))return e}}function LMe(e){const t=bMe(e,"copyright",dMe.gpx);if(Object(r["a"])(t)){const e={author:gMe(t,"author"),year:OMe(t,"year",dMe.gpx),license:OMe(t,"license",dMe.gpx)};if(Object(r["a"])(e.author)||Object(r["a"])(e.year)||Object(r["a"])(e.license))return e}}function BMe(e){const t=bMe(e,"bounds",dMe.gpx);if(Object(r["a"])(t)){const e={minLat:vMe(t,"minlat",dMe.gpx),maxLat:vMe(t,"maxlat",dMe.gpx),minLon:vMe(t,"minlon",dMe.gpx),maxLon:vMe(t,"maxlon",dMe.gpx)};if(Object(r["a"])(e.minLat)||Object(r["a"])(e.maxLat)||Object(r["a"])(e.minLon)||Object(r["a"])(e.maxLon))return e}}"undefined"!==typeof document&&(EMe=document.createElement("div"));const FMe={wpt:SMe,rte:IMe,trk:DMe};function kMe(e,t,n,i){const o=Object.keys(FMe),r=o.length;for(let a=0;a<r;a++){const r=o[a],s=FMe[r],c=t.childNodes,l=c.length;for(let t=0;t<l;t++){const o=c[t];o.localName===r&&-1!==dMe.gpx.indexOf(o.namespaceURI)&&s(e,o,n,i)}}}function zMe(e,t,n){const i=e._entityCollection;i.removeAll();const o=t.documentElement,a=gMe(o,"version"),s=gMe(o,"creator");let c;const l=PMe(o);let u;Object(r["a"])(l)&&(c=l.name),"gpx"===o.localName?kMe(e,o,i,n):console.log("GPX - Unsupported node: "+o.localName);const h=i.computeAvailability();let d=h.start,f=h.stop;const p=gr.equals(d,kx.MINIMUM_VALUE),m=gr.equals(f,kx.MAXIMUM_VALUE);if(!p||!m){let e;p&&(e=new Date,e.setHours(0,0,0,0),d=gr.fromDate(e)),m&&(e=new Date,e.setHours(24,0,0,0),f=gr.fromDate(e)),u=new fTe,u.startTime=d,u.stopTime=f,u.currentTime=gr.clone(d),u.clockRange=m_.LOOP_STOP,u.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(gr.secondsDifference(f,d)/60,1),31556900))}let _=!1;return e._name!==c&&(e._name=c,_=!0),e._creator!==s&&(e._creator=s,_=!0),UMe(e._metadata,l)&&(e._metadata=l,_=!0),e._version!==a&&(e._version=a,_=!0),u!==e._clock&&(_=!0,e._clock=u),_&&e._changed.raiseEvent(e),Rwe.setLoading(e,!1),e}function UMe(e,t){return!(!Object(r["a"])(e)&&!Object(r["a"])(t))&&(!Object(r["a"])(e)||!Object(r["a"])(t)||(e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds))}function VMe(e,t,n,i){i=Object(o["a"])(i,o["a"].EMPTY_OBJECT);let a=n;if("string"===typeof n||n instanceof Et["a"]){n=Et["a"].createIfNeeded(n),a=n.fetchBlob();const t=e._resourceCredits,i=n.credits;if(Object(r["a"])(i)){const e=i.length;for(let n=0;n<e;n++)t.push(i[n])}}return Promise.resolve(a).then((function(t){return t instanceof Blob?fMe(t).then((function(t){let n,o;try{n=oMe.parseFromString(t,"application/xml")}catch(a){o=a.toString()}if(Object(r["a"])(o)||n.body||"parsererror"===n.documentElement.tagName){let e=Object(r["a"])(o)?o:n.documentElement.firstChild.nodeValue;throw e||(e=n.body.innerText),new ye["a"](e)}return zMe(e,n,i)})):zMe(e,t,i)})).catch((function(t){return e._error.raiseEvent(e,t),console.log(t),Promise.reject(t)}))}function HMe(){this._changed=new pi["a"],this._error=new pi["a"],this._loading=new pi["a"],this._clock=void 0,this._entityCollection=new iwe,this._entityCluster=new tTe,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new GS}HMe.load=function(e,t){return(new HMe).load(e,t)},Object.defineProperties(HMe.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value must be defined.");this._entityCluster=e}}}),HMe.prototype.update=function(e){return!0},HMe.prototype.load=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("data is required.");t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),Rwe.setLoading(this,!0);const n=this._name,i=this;return VMe(this,this._entityCollection,e,t).then((function(){let e;const t=i._entityCollection.computeAvailability();let o=t.start,r=t.stop;const a=gr.equals(o,kx.MINIMUM_VALUE),s=gr.equals(r,kx.MAXIMUM_VALUE);if(!a||!s){let t;a&&(t=new Date,t.setHours(0,0,0,0),o=gr.fromDate(t)),s&&(t=new Date,t.setHours(24,0,0,0),r=gr.fromDate(t)),e=new fTe,e.startTime=o,e.stopTime=r,e.currentTime=gr.clone(o),e.clockRange=m_.LOOP_STOP,e.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,e.multiplier=Math.round(Math.min(Math.max(gr.secondsDifference(r,o)/60,1),31556900))}let c=!1;return e!==i._clock&&(i._clock=e,c=!0),n!==i._name&&(c=!0),c&&i._changed.raiseEvent(i),Rwe.setLoading(i,!1),i})).catch((function(e){return Rwe.setLoading(i,!1),i._error.raiseEvent(i,e),console.log(e),Promise.reject(e)}))};var GMe=HMe;function qMe(e,t){this.position=e,this.headingPitchRoll=t}var WMe=qMe;const YMe=15,XMe=30,KMe=19,JMe=29,ZMe=256,$Me=ZMe+1+JMe,QMe=2*$Me+1,eNe=256,tNe=7,nNe=16,iNe=17,oNe=18,rNe=16,aNe=-1,sNe=1,cNe=2,lNe=0,uNe=0,hNe=1,dNe=3,fNe=4,pNe=0,mNe=1,_Ne=2,gNe=-2,bNe=-3,yNe=-5;function vNe(e){return ONe(e.map(([e,t])=>new Array(e).fill(t,0,e)))}function ONe(e){return e.reduce((e,t)=>e.concat(Array.isArray(t)?ONe(t):t),[])}const wNe=[0,1,2,3].concat(...vNe([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function ANe(){const e=this;function t(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,o=e.stat_desc.extra_bits,r=e.stat_desc.extra_base,a=e.stat_desc.max_length;let s,c,l,u,h,d,f=0;for(u=0;u<=YMe;u++)t.bl_count[u]=0;for(n[2*t.heap[t.heap_max]+1]=0,s=t.heap_max+1;s<QMe;s++)c=t.heap[s],u=n[2*n[2*c+1]+1]+1,u>a&&(u=a,f++),n[2*c+1]=u,c>e.max_code||(t.bl_count[u]++,h=0,c>=r&&(h=o[c-r]),d=n[2*c],t.opt_len+=d*(u+h),i&&(t.static_len+=d*(i[2*c+1]+h)));if(0!==f){do{u=a-1;while(0===t.bl_count[u])u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[a]--,f-=2}while(f>0);for(u=a;0!==u;u--){c=t.bl_count[u];while(0!==c)l=t.heap[--s],l>e.max_code||(n[2*l+1]!=u&&(t.opt_len+=(u-n[2*l+1])*n[2*l],n[2*l+1]=u),c--)}}}function n(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function i(e,t,i){const o=[];let r,a,s,c=0;for(r=1;r<=YMe;r++)o[r]=c=c+i[r-1]<<1;for(a=0;a<=t;a++)s=e[2*a+1],0!==s&&(e[2*a]=n(o[s]++,s))}e.build_tree=function(n){const o=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,c,l,u=-1;for(n.heap_len=0,n.heap_max=QMe,s=0;s<a;s++)0!==o[2*s]?(n.heap[++n.heap_len]=u=s,n.depth[s]=0):o[2*s+1]=0;while(n.heap_len<2)l=n.heap[++n.heap_len]=u<2?++u:0,o[2*l]=1,n.depth[l]=0,n.opt_len--,r&&(n.static_len-=r[2*l+1]);for(e.max_code=u,s=Math.floor(n.heap_len/2);s>=1;s--)n.pqdownheap(o,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(o,1),c=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=c,o[2*l]=o[2*s]+o[2*c],n.depth[l]=Math.max(n.depth[s],n.depth[c])+1,o[2*s+1]=o[2*c+1]=l,n.heap[1]=l++,n.pqdownheap(o,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],t(n),i(o,e.max_code,n.bl_count)}}function TNe(e,t,n,i,o){const r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}ANe._length_code=[0,1,2,3,4,5,6,7].concat(...vNe([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),ANe.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],ANe.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],ANe.d_code=function(e){return e<256?wNe[e]:wNe[256+(e>>>7)]},ANe.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ANe.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ANe.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ANe.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const CNe=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],ENe=vNe([[144,8],[112,9],[24,7],[8,8]]);TNe.static_ltree=ONe(CNe.map((e,t)=>[e,ENe[t]]));const xNe=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],SNe=vNe([[30,5]]);TNe.static_dtree=ONe(xNe.map((e,t)=>[e,SNe[t]])),TNe.static_l_desc=new TNe(TNe.static_ltree,ANe.extra_lbits,ZMe+1,$Me,YMe),TNe.static_d_desc=new TNe(TNe.static_dtree,ANe.extra_dbits,0,XMe,YMe),TNe.static_bl_desc=new TNe(null,ANe.extra_blbits,0,KMe,tNe);const INe=9,DNe=8;function jNe(e,t,n,i,o){const r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}const PNe=0,RNe=1,MNe=2,NNe=[new jNe(0,0,0,0,PNe),new jNe(4,4,8,4,RNe),new jNe(4,5,16,8,RNe),new jNe(4,6,32,32,RNe),new jNe(4,4,16,16,MNe),new jNe(8,16,32,32,MNe),new jNe(8,16,128,128,MNe),new jNe(8,32,128,256,MNe),new jNe(32,128,258,1024,MNe),new jNe(32,258,258,4096,MNe)],LNe=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],BNe=0,FNe=1,kNe=2,zNe=3,UNe=32,VNe=42,HNe=113,GNe=666,qNe=8,WNe=0,YNe=1,XNe=2,KNe=3,JNe=258,ZNe=JNe+KNe+1;function $Ne(e,t,n,i){const o=e[2*t],r=e[2*n];return o<r||o==r&&i[t]<=i[n]}function QNe(){const e=this;let t,n,i,o,r,a,s,c,l,u,h,d,f,p,m,_,g,b,y,v,O,w,A,T,C,E,x,S,I,D,j,P,R;const M=new ANe,N=new ANe,L=new ANe;let B,F,k,z,U,V;function H(){l=2*r,h[f-1]=0;for(let e=0;e<f-1;e++)h[e]=0;E=NNe[x].max_lazy,I=NNe[x].good_length,D=NNe[x].nice_length,C=NNe[x].max_chain,O=0,g=0,A=0,b=T=KNe-1,v=0,d=0}function G(){let t;for(t=0;t<$Me;t++)j[2*t]=0;for(t=0;t<XMe;t++)P[2*t]=0;for(t=0;t<KMe;t++)R[2*t]=0;j[2*eNe]=1,e.opt_len=e.static_len=0,F=k=0}function q(){M.dyn_tree=j,M.stat_desc=TNe.static_l_desc,N.dyn_tree=P,N.stat_desc=TNe.static_d_desc,L.dyn_tree=R,L.stat_desc=TNe.static_bl_desc,U=0,V=0,z=8,G()}function W(e,t){let n,i=-1,o=e[1],r=0,a=7,s=4;0===o&&(a=138,s=3),e[2*(t+1)+1]=65535;for(let c=0;c<=t;c++)n=o,o=e[2*(c+1)+1],++r<a&&n==o||(r<s?R[2*n]+=r:0!==n?(n!=i&&R[2*n]++,R[2*nNe]++):r<=10?R[2*iNe]++:R[2*oNe]++,r=0,i=n,0===o?(a=138,s=3):n==o?(a=6,s=3):(a=7,s=4))}function Y(){let t;for(W(j,M.max_code),W(P,N.max_code),L.build_tree(e),t=KMe-1;t>=3;t--)if(0!==R[2*ANe.bl_order[t]+1])break;return e.opt_len+=3*(t+1)+5+5+4,t}function X(t){e.pending_buf[e.pending++]=t}function K(e){X(255&e),X(e>>>8&255)}function J(e){X(e>>8&255),X(255&e)}function Z(e,t){let n;const i=t;V>rNe-i?(n=e,U|=n<<V&65535,K(U),U=n>>>rNe-V,V+=i-rNe):(U|=e<<V&65535,V+=i)}function $(e,t){const n=2*e;Z(65535&t[n],65535&t[n+1])}function Q(e,t){let n,i,o=-1,r=e[1],a=0,s=7,c=4;for(0===r&&(s=138,c=3),n=0;n<=t;n++)if(i=r,r=e[2*(n+1)+1],!(++a<s&&i==r)){if(a<c)do{$(i,R)}while(0!==--a);else 0!==i?(i!=o&&($(i,R),a--),$(nNe,R),Z(a-3,2)):a<=10?($(iNe,R),Z(a-3,3)):($(oNe,R),Z(a-11,7));a=0,o=i,0===r?(s=138,c=3):i==r?(s=6,c=3):(s=7,c=4)}}function ee(e,t,n){let i;for(Z(e-257,5),Z(t-1,5),Z(n-4,4),i=0;i<n;i++)Z(R[2*ANe.bl_order[i]+1],3);Q(j,e-1),Q(P,t-1)}function te(){16==V?(K(U),U=0,V=0):V>=8&&(X(255&U),U>>>=8,V-=8)}function ne(){Z(YNe<<1,3),$(eNe,TNe.static_ltree),te(),1+z+10-V<9&&(Z(YNe<<1,3),$(eNe,TNe.static_ltree),te()),z=7}function ie(t,n){let i,o,r;if(e.dist_buf[F]=t,e.lc_buf[F]=255&n,F++,0===t?j[2*n]++:(k++,t--,j[2*(ANe._length_code[n]+ZMe+1)]++,P[2*ANe.d_code(t)]++),0===(8191&F)&&x>2){for(i=8*F,o=O-g,r=0;r<XMe;r++)i+=P[2*r]*(5+ANe.extra_dbits[r]);if(i>>>=3,k<Math.floor(F/2)&&i<Math.floor(o/2))return!0}return F==B-1}function oe(t,n){let i,o,r,a,s=0;if(0!==F)do{i=e.dist_buf[s],o=e.lc_buf[s],s++,0===i?$(o,t):(r=ANe._length_code[o],$(r+ZMe+1,t),a=ANe.extra_lbits[r],0!==a&&(o-=ANe.base_length[r],Z(o,a)),i--,r=ANe.d_code(i),$(r,n),a=ANe.extra_dbits[r],0!==a&&(i-=ANe.base_dist[r],Z(i,a)))}while(s<F);$(eNe,t),z=t[2*eNe+1]}function re(){V>8?K(U):V>0&&X(255&U),U=0,V=0}function ae(t,n,i){re(),z=8,i&&(K(n),K(~n)),e.pending_buf.set(c.subarray(t,t+n),e.pending),e.pending+=n}function se(e,t,n){Z((WNe<<1)+(n?1:0),3),ae(e,t,!0)}function ce(t,n,i){let o,r,a=0;x>0?(M.build_tree(e),N.build_tree(e),a=Y(),o=e.opt_len+3+7>>>3,r=e.static_len+3+7>>>3,r<=o&&(o=r)):o=r=n+5,n+4<=o&&-1!=t?se(t,n,i):r==o?(Z((YNe<<1)+(i?1:0),3),oe(TNe.static_ltree,TNe.static_dtree)):(Z((XNe<<1)+(i?1:0),3),ee(M.max_code+1,N.max_code+1,a+1),oe(j,P)),G(),i&&re()}function le(e){ce(g>=0?g:-1,O-g,e),g=O,t.flush_pending()}function ue(){let e,n,i,o;do{if(o=l-A-O,0===o&&0===O&&0===A)o=r;else if(-1==o)o--;else if(O>=r+r-ZNe){c.set(c.subarray(r,r+r),0),w-=r,O-=r,g-=r,e=f,i=e;do{n=65535&h[--i],h[i]=n>=r?n-r:0}while(0!==--e);e=r,i=e;do{n=65535&u[--i],u[i]=n>=r?n-r:0}while(0!==--e);o+=r}if(0===t.avail_in)return;e=t.read_buf(c,O+A,o),A+=e,A>=KNe&&(d=255&c[O],d=(d<<_^255&c[O+1])&m)}while(A<ZNe&&0!==t.avail_in)}function he(e){let n,o=65535;o>i-5&&(o=i-5);while(1){if(A<=1){if(ue(),0===A&&e==uNe)return BNe;if(0===A)break}if(O+=A,A=0,n=g+o,(0===O||O>=n)&&(A=O-n,O=n,le(!1),0===t.avail_out))return BNe;if(O-g>=r-ZNe&&(le(!1),0===t.avail_out))return BNe}return le(e==fNe),0===t.avail_out?e==fNe?kNe:BNe:e==fNe?zNe:FNe}function de(e){let t,n,i=C,o=O,a=T;const l=O>r-ZNe?O-(r-ZNe):0;let h=D;const d=s,f=O+JNe;let p=c[o+a-1],m=c[o+a];T>=I&&(i>>=2),h>A&&(h=A);do{if(t=e,c[t+a]==m&&c[t+a-1]==p&&c[t]==c[o]&&c[++t]==c[o+1]){o+=2,t++;do{}while(c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&c[++o]==c[++t]&&o<f);if(n=JNe-(f-o),o=f-JNe,n>a){if(w=e,a=n,n>=h)break;p=c[o+a-1],m=c[o+a]}}}while((e=65535&u[e&d])>l&&0!==--i);return a<=A?a:A}function fe(e){let n,i=0;while(1){if(A<ZNe){if(ue(),A<ZNe&&e==uNe)return BNe;if(0===A)break}if(A>=KNe&&(d=(d<<_^255&c[O+(KNe-1)])&m,i=65535&h[d],u[O&s]=h[d],h[d]=O),0!==i&&(O-i&65535)<=r-ZNe&&S!=cNe&&(b=de(i)),b>=KNe)if(n=ie(O-w,b-KNe),A-=b,b<=E&&A>=KNe){b--;do{O++,d=(d<<_^255&c[O+(KNe-1)])&m,i=65535&h[d],u[O&s]=h[d],h[d]=O}while(0!==--b);O++}else O+=b,b=0,d=255&c[O],d=(d<<_^255&c[O+1])&m;else n=ie(0,255&c[O]),A--,O++;if(n&&(le(!1),0===t.avail_out))return BNe}return le(e==fNe),0===t.avail_out?e==fNe?kNe:BNe:e==fNe?zNe:FNe}function pe(e){let n,i,o=0;while(1){if(A<ZNe){if(ue(),A<ZNe&&e==uNe)return BNe;if(0===A)break}if(A>=KNe&&(d=(d<<_^255&c[O+(KNe-1)])&m,o=65535&h[d],u[O&s]=h[d],h[d]=O),T=b,y=w,b=KNe-1,0!==o&&T<E&&(O-o&65535)<=r-ZNe&&(S!=cNe&&(b=de(o)),b<=5&&(S==sNe||b==KNe&&O-w>4096)&&(b=KNe-1)),T>=KNe&&b<=T){i=O+A-KNe,n=ie(O-1-y,T-KNe),A-=T-1,T-=2;do{++O<=i&&(d=(d<<_^255&c[O+(KNe-1)])&m,o=65535&h[d],u[O&s]=h[d],h[d]=O)}while(0!==--T);if(v=0,b=KNe-1,O++,n&&(le(!1),0===t.avail_out))return BNe}else if(0!==v){if(n=ie(0,255&c[O-1]),n&&le(!1),O++,A--,0===t.avail_out)return BNe}else v=1,O++,A--}return 0!==v&&(n=ie(0,255&c[O-1]),v=0),le(e==fNe),0===t.avail_out?e==fNe?kNe:BNe:e==fNe?zNe:FNe}function me(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=HNe,o=uNe,q(),H(),pNe}e.depth=[],e.bl_count=[],e.heap=[],j=[],P=[],R=[],e.pqdownheap=function(t,n){const i=e.heap,o=i[n];let r=n<<1;while(r<=e.heap_len){if(r<e.heap_len&&$Ne(t,i[r+1],i[r],e.depth)&&r++,$Ne(t,o,i[r],e.depth))break;i[n]=i[r],n=r,r<<=1}i[n]=o},e.deflateInit=function(t,n,o,l,d,g){return l||(l=qNe),d||(d=DNe),g||(g=lNe),t.msg=null,n==aNe&&(n=6),d<1||d>INe||l!=qNe||o<9||o>15||n<0||n>9||g<0||g>cNe?gNe:(t.dstate=e,a=o,r=1<<a,s=r-1,p=d+7,f=1<<p,m=f-1,_=Math.floor((p+KNe-1)/KNe),c=new Uint8Array(2*r),u=[],h=[],B=1<<d+6,e.pending_buf=new Uint8Array(4*B),i=4*B,e.dist_buf=new Uint16Array(B),e.lc_buf=new Uint8Array(B),x=n,S=g,me(t))},e.deflateEnd=function(){return n!=VNe&&n!=HNe&&n!=GNe?gNe:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,h=null,u=null,c=null,e.dstate=null,n==HNe?bNe:pNe)},e.deflateParams=function(e,t,n){let i=pNe;return t==aNe&&(t=6),t<0||t>9||n<0||n>cNe?gNe:(NNe[x].func!=NNe[t].func&&0!==e.total_in&&(i=e.deflate(hNe)),x!=t&&(x=t,E=NNe[x].max_lazy,I=NNe[x].good_length,D=NNe[x].nice_length,C=NNe[x].max_chain),S=n,i)},e.deflateSetDictionary=function(e,t,i){let o,a=i,l=0;if(!t||n!=VNe)return gNe;if(a<KNe)return pNe;for(a>r-ZNe&&(a=r-ZNe,l=i-a),c.set(t.subarray(l,l+a),0),O=a,g=a,d=255&c[0],d=(d<<_^255&c[1])&m,o=0;o<=a-KNe;o++)d=(d<<_^255&c[o+(KNe-1)])&m,u[o&s]=h[d],h[d]=o;return pNe},e.deflate=function(i,r){let s,c,l,u,d;if(r>fNe||r<0)return gNe;if(!i.next_out||!i.next_in&&0!==i.avail_in||n==GNe&&r!=fNe)return i.msg=LNe[_Ne-gNe],gNe;if(0===i.avail_out)return i.msg=LNe[_Ne-yNe],yNe;if(t=i,u=o,o=r,n==VNe&&(c=qNe+(a-8<<4)<<8,l=(x-1&255)>>1,l>3&&(l=3),c|=l<<6,0!==O&&(c|=UNe),c+=31-c%31,n=HNe,J(c)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return o=-1,pNe}else if(0===t.avail_in&&r<=u&&r!=fNe)return t.msg=LNe[_Ne-yNe],yNe;if(n==GNe&&0!==t.avail_in)return i.msg=LNe[_Ne-yNe],yNe;if(0!==t.avail_in||0!==A||r!=uNe&&n!=GNe){switch(d=-1,NNe[x].func){case PNe:d=he(r);break;case RNe:d=fe(r);break;case MNe:d=pe(r);break}if(d!=kNe&&d!=zNe||(n=GNe),d==BNe||d==kNe)return 0===t.avail_out&&(o=-1),pNe;if(d==FNe){if(r==hNe)ne();else if(se(0,0,!1),r==dNe)for(s=0;s<f;s++)h[s]=0;if(t.flush_pending(),0===t.avail_out)return o=-1,pNe}}return r!=fNe?pNe:mNe}}function eLe(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}function tLe(e){const t=this,n=new eLe,i=nLe(e&&e.chunkSize?e.chunkSize:65536),o=uNe,r=new Uint8Array(i);let a=e?e.level:aNe;"undefined"==typeof a&&(a=aNe),n.deflateInit(a),n.next_out=r,t.append=function(e,t){let a,s,c=0,l=0,u=0;const h=[];if(e.length){n.next_in_index=0,n.next_in=e,n.avail_in=e.length;do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(o),a!=pNe)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?h.push(new Uint8Array(r)):h.push(r.slice(0,n.next_out_index))),u+=n.next_out_index,t&&n.next_in_index>0&&n.next_in_index!=c&&(t(n.next_in_index),c=n.next_in_index)}while(n.avail_in>0||0===n.avail_out);return h.length>1?(s=new Uint8Array(u),h.forEach((function(e){s.set(e,l),l+=e.length}))):s=h[0]||new Uint8Array(0),s}},t.flush=function(){let e,t,o=0,a=0;const s=[];do{if(n.next_out_index=0,n.avail_out=i,e=n.deflate(fNe),e!=mNe&&e!=pNe)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&s.push(r.slice(0,n.next_out_index)),a+=n.next_out_index}while(n.avail_in>0||0===n.avail_out);return n.deflateEnd(),t=new Uint8Array(a),s.forEach((function(e){t.set(e,o),o+=e.length})),t}}function nLe(e){return e+5*(Math.floor(e/16383)+1)}eLe.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new QNe,t||(t=YMe),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):gNe},deflateEnd:function(){const e=this;if(!e.dstate)return gNe;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):gNe},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):gNe},read_buf:function(e,t,n){const i=this;let o=i.avail_in;return o>n&&(o=n),0===o?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending:function(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const iLe=15,oLe=0,rLe=1,aLe=2,sLe=-2,cLe=-3,lLe=-4,uLe=-5,hLe=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],dLe=1440,fLe=0,pLe=4,mLe=9,_Le=5,gLe=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],bLe=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],yLe=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],vLe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],OLe=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],wLe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ALe=15;function TLe(){const e=this;let t,n,i,o,r,a;function s(e,t,n,s,c,l,u,h,d,f,p){let m,_,g,b,y,v,O,w,A,T,C,E,x,S,I;T=0,y=n;do{i[e[t+T]]++,T++,y--}while(0!==y);if(i[0]==n)return u[0]=-1,h[0]=0,oLe;for(w=h[0],v=1;v<=ALe;v++)if(0!==i[v])break;for(O=v,w<v&&(w=v),y=ALe;0!==y;y--)if(0!==i[y])break;for(g=y,w>y&&(w=y),h[0]=w,S=1<<v;v<y;v++,S<<=1)if((S-=i[v])<0)return cLe;if((S-=i[y])<0)return cLe;i[y]+=S,a[1]=v=0,T=1,x=2;while(0!==--y)a[x]=v+=i[T],x++,T++;y=0,T=0;do{0!==(v=e[t+T])&&(p[a[v]++]=y),T++}while(++y<n);for(n=a[g],a[0]=y=0,T=0,b=-1,E=-w,r[0]=0,C=0,I=0;O<=g;O++){m=i[O];while(0!==m--){while(O>E+w){if(b++,E+=w,I=g-E,I=I>w?w:I,(_=1<<(v=O-E))>m+1&&(_-=m+1,x=O,v<I))while(++v<I){if((_<<=1)<=i[++x])break;_-=i[x]}if(I=1<<v,f[0]+I>dLe)return cLe;r[b]=C=f[0],f[0]+=I,0!==b?(a[b]=y,o[0]=v,o[1]=w,v=y>>>E-w,o[2]=C-r[b-1]-v,d.set(o,3*(r[b-1]+v))):u[0]=C}for(o[1]=O-E,T>=n?o[0]=192:p[T]<s?(o[0]=p[T]<256?0:96,o[2]=p[T++]):(o[0]=l[p[T]-s]+16+64,o[2]=c[p[T++]-s]),_=1<<O-E,v=y>>>E;v<I;v+=_)d.set(o,3*(C+v));for(v=1<<O-1;0!==(y&v);v>>>=1)y^=v;y^=v,A=(1<<E)-1;while((y&A)!=a[b])b--,E-=w,A=(1<<E)-1}}return 0!==S&&1!=g?uLe:oLe}function c(e){let s;for(t||(t=[],n=[],i=new Int32Array(ALe+1),o=[],r=new Int32Array(ALe),a=new Int32Array(ALe+1)),n.length<e&&(n=[]),s=0;s<e;s++)n[s]=0;for(s=0;s<ALe+1;s++)i[s]=0;for(s=0;s<3;s++)o[s]=0;r.set(i.subarray(0,ALe),0),a.set(i.subarray(0,ALe+1),0)}e.inflate_trees_bits=function(e,i,o,r,a){let l;return c(19),t[0]=0,l=s(e,0,19,19,null,null,o,i,r,t,n),l==cLe?a.msg="oversubscribed dynamic bit lengths tree":l!=uLe&&0!==i[0]||(a.msg="incomplete dynamic bit lengths tree",l=cLe),l},e.inflate_trees_dynamic=function(e,i,o,r,a,l,u,h,d){let f;return c(288),t[0]=0,f=s(o,0,e,257,yLe,vLe,l,r,h,t,n),f!=oLe||0===r[0]?(f==cLe?d.msg="oversubscribed literal/length tree":f!=lLe&&(d.msg="incomplete literal/length tree",f=cLe),f):(c(288),f=s(o,e,i,0,OLe,wLe,u,a,h,t,n),f!=oLe||0===a[0]&&e>257?(f==cLe?d.msg="oversubscribed distance tree":f==uLe?(d.msg="incomplete distance tree",f=cLe):f!=lLe&&(d.msg="empty distance tree with lengths",f=cLe),f):oLe)}}TLe.inflate_trees_fixed=function(e,t,n,i){return e[0]=mLe,t[0]=_Le,n[0]=gLe,i[0]=bLe,oLe};const CLe=0,ELe=1,xLe=2,SLe=3,ILe=4,DLe=5,jLe=6,PLe=7,RLe=8,MLe=9;function NLe(){const e=this;let t,n,i,o,r=0,a=0,s=0,c=0,l=0,u=0,h=0,d=0,f=0,p=0;function m(e,t,n,i,o,r,a,s){let c,l,u,h,d,f,p,m,_,g,b,y,v,O,w,A;p=s.next_in_index,m=s.avail_in,d=a.bitb,f=a.bitk,_=a.write,g=_<a.read?a.read-_-1:a.end-_,b=hLe[e],y=hLe[t];do{while(f<20)m--,d|=(255&s.read_byte(p++))<<f,f+=8;if(c=d&b,l=n,u=i,A=3*(u+c),0!==(h=l[A]))do{if(d>>=l[A+1],f-=l[A+1],0!==(16&h)){h&=15,v=l[A+2]+(d&hLe[h]),d>>=h,f-=h;while(f<15)m--,d|=(255&s.read_byte(p++))<<f,f+=8;c=d&y,l=o,u=r,A=3*(u+c),h=l[A];do{if(d>>=l[A+1],f-=l[A+1],0!==(16&h)){h&=15;while(f<h)m--,d|=(255&s.read_byte(p++))<<f,f+=8;if(O=l[A+2]+(d&hLe[h]),d>>=h,f-=h,g-=v,_>=O)w=_-O,_-w>0&&2>_-w?(a.win[_++]=a.win[w++],a.win[_++]=a.win[w++],v-=2):(a.win.set(a.win.subarray(w,w+2),_),_+=2,w+=2,v-=2);else{w=_-O;do{w+=a.end}while(w<0);if(h=a.end-w,v>h){if(v-=h,_-w>0&&h>_-w)do{a.win[_++]=a.win[w++]}while(0!==--h);else a.win.set(a.win.subarray(w,w+h),_),_+=h,w+=h,h=0;w=0}}if(_-w>0&&v>_-w)do{a.win[_++]=a.win[w++]}while(0!==--v);else a.win.set(a.win.subarray(w,w+v),_),_+=v,w+=v,v=0;break}if(0!==(64&h))return s.msg="invalid distance code",v=s.avail_in-m,v=f>>3<v?f>>3:v,m+=v,p-=v,f-=v<<3,a.bitb=d,a.bitk=f,s.avail_in=m,s.total_in+=p-s.next_in_index,s.next_in_index=p,a.write=_,cLe;c+=l[A+2],c+=d&hLe[h],A=3*(u+c),h=l[A]}while(1);break}if(0!==(64&h))return 0!==(32&h)?(v=s.avail_in-m,v=f>>3<v?f>>3:v,m+=v,p-=v,f-=v<<3,a.bitb=d,a.bitk=f,s.avail_in=m,s.total_in+=p-s.next_in_index,s.next_in_index=p,a.write=_,rLe):(s.msg="invalid literal/length code",v=s.avail_in-m,v=f>>3<v?f>>3:v,m+=v,p-=v,f-=v<<3,a.bitb=d,a.bitk=f,s.avail_in=m,s.total_in+=p-s.next_in_index,s.next_in_index=p,a.write=_,cLe);if(c+=l[A+2],c+=d&hLe[h],A=3*(u+c),0===(h=l[A])){d>>=l[A+1],f-=l[A+1],a.win[_++]=l[A+2],g--;break}}while(1);else d>>=l[A+1],f-=l[A+1],a.win[_++]=l[A+2],g--}while(g>=258&&m>=10);return v=s.avail_in-m,v=f>>3<v?f>>3:v,m+=v,p-=v,f-=v<<3,a.bitb=d,a.bitk=f,s.avail_in=m,s.total_in+=p-s.next_in_index,s.next_in_index=p,a.write=_,oLe}e.init=function(e,r,a,s,c,l){t=CLe,h=e,d=r,i=a,f=s,o=c,p=l,n=null},e.proc=function(e,_,g){let b,y,v,O,w,A,T,C=0,E=0,x=0;x=_.next_in_index,O=_.avail_in,C=e.bitb,E=e.bitk,w=e.write,A=w<e.read?e.read-w-1:e.end-w;while(1)switch(t){case CLe:if(A>=258&&O>=10&&(e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,g=m(h,d,i,f,o,p,e,_),x=_.next_in_index,O=_.avail_in,C=e.bitb,E=e.bitk,w=e.write,A=w<e.read?e.read-w-1:e.end-w,g!=oLe)){t=g==rLe?PLe:MLe;break}s=h,n=i,a=f,t=ELe;case ELe:b=s;while(E<b){if(0===O)return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);g=oLe,O--,C|=(255&_.read_byte(x++))<<E,E+=8}if(y=3*(a+(C&hLe[b])),C>>>=n[y+1],E-=n[y+1],v=n[y],0===v){c=n[y+2],t=jLe;break}if(0!==(16&v)){l=15&v,r=n[y+2],t=xLe;break}if(0===(64&v)){s=v,a=y/3+n[y+2];break}if(0!==(32&v)){t=PLe;break}return t=MLe,_.msg="invalid literal/length code",g=cLe,e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);case xLe:b=l;while(E<b){if(0===O)return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);g=oLe,O--,C|=(255&_.read_byte(x++))<<E,E+=8}r+=C&hLe[b],C>>=b,E-=b,s=d,n=o,a=p,t=SLe;case SLe:b=s;while(E<b){if(0===O)return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);g=oLe,O--,C|=(255&_.read_byte(x++))<<E,E+=8}if(y=3*(a+(C&hLe[b])),C>>=n[y+1],E-=n[y+1],v=n[y],0!==(16&v)){l=15&v,u=n[y+2],t=ILe;break}if(0===(64&v)){s=v,a=y/3+n[y+2];break}return t=MLe,_.msg="invalid distance code",g=cLe,e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);case ILe:b=l;while(E<b){if(0===O)return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);g=oLe,O--,C|=(255&_.read_byte(x++))<<E,E+=8}u+=C&hLe[b],C>>=b,E-=b,t=DLe;case DLe:T=w-u;while(T<0)T+=e.end;while(0!==r){if(0===A&&(w==e.end&&0!==e.read&&(w=0,A=w<e.read?e.read-w-1:e.end-w),0===A&&(e.write=w,g=e.inflate_flush(_,g),w=e.write,A=w<e.read?e.read-w-1:e.end-w,w==e.end&&0!==e.read&&(w=0,A=w<e.read?e.read-w-1:e.end-w),0===A)))return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);e.win[w++]=e.win[T++],A--,T==e.end&&(T=0),r--}t=CLe;break;case jLe:if(0===A&&(w==e.end&&0!==e.read&&(w=0,A=w<e.read?e.read-w-1:e.end-w),0===A&&(e.write=w,g=e.inflate_flush(_,g),w=e.write,A=w<e.read?e.read-w-1:e.end-w,w==e.end&&0!==e.read&&(w=0,A=w<e.read?e.read-w-1:e.end-w),0===A)))return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);g=oLe,e.win[w++]=c,A--,t=CLe;break;case PLe:if(E>7&&(E-=8,O++,x--),e.write=w,g=e.inflate_flush(_,g),w=e.write,A=w<e.read?e.read-w-1:e.end-w,e.read!=e.write)return e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);t=RLe;case RLe:return g=rLe,e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);case MLe:return g=cLe,e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g);default:return g=sLe,e.bitb=C,e.bitk=E,_.avail_in=O,_.total_in+=x-_.next_in_index,_.next_in_index=x,e.write=w,e.inflate_flush(_,g)}},e.free=function(){}}const LLe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],BLe=0,FLe=1,kLe=2,zLe=3,ULe=4,VLe=5,HLe=6,GLe=7,qLe=8,WLe=9;function YLe(e,t){const n=this;let i,o=BLe,r=0,a=0,s=0;const c=[0],l=[0],u=new NLe;let h=0,d=new Int32Array(3*dLe);const f=0,p=new TLe;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(e,t){t&&(t[0]=f),o==HLe&&u.free(e),o=BLe,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(e,t){let i,o,r;return o=e.next_out_index,r=n.read,i=(r<=n.write?n.write:n.end)-r,i>e.avail_out&&(i=e.avail_out),0!==i&&t==uLe&&(t=oLe),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(r,r+i),o),o+=i,r+=i,r==n.end&&(r=0,n.write==n.end&&(n.write=0),i=n.write-r,i>e.avail_out&&(i=e.avail_out),0!==i&&t==uLe&&(t=oLe),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(r,r+i),o),o+=i,r+=i),e.next_out_index=o,n.read=r,t},n.proc=function(e,t){let f,m,_,g,b,y,v,O;g=e.next_in_index,b=e.avail_in,m=n.bitb,_=n.bitk,y=n.write,v=y<n.read?n.read-y-1:n.end-y;while(1){let w,A,T,C,E,x,S,I;switch(o){case BLe:while(_<3){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}switch(f=7&m,h=1&f,f>>>1){case 0:m>>>=3,_-=3,f=7&_,m>>>=f,_-=f,o=FLe;break;case 1:w=[],A=[],T=[[]],C=[[]],TLe.inflate_trees_fixed(w,A,T,C),u.init(w[0],A[0],T[0],0,C[0],0),m>>>=3,_-=3,o=HLe;break;case 2:m>>>=3,_-=3,o=zLe;break;case 3:return m>>>=3,_-=3,o=WLe,e.msg="invalid block type",t=cLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t)}break;case FLe:while(_<32){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}if((~m>>>16&65535)!=(65535&m))return o=WLe,e.msg="invalid stored block lengths",t=cLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);r=65535&m,m=_=0,o=0!==r?kLe:0!==h?GLe:BLe;break;case kLe:if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);if(0===v&&(y==n.end&&0!==n.read&&(y=0,v=y<n.read?n.read-y-1:n.end-y),0===v&&(n.write=y,t=n.inflate_flush(e,t),y=n.write,v=y<n.read?n.read-y-1:n.end-y,y==n.end&&0!==n.read&&(y=0,v=y<n.read?n.read-y-1:n.end-y),0===v)))return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);if(t=oLe,f=r,f>b&&(f=b),f>v&&(f=v),n.win.set(e.read_buf(g,f),y),g+=f,b-=f,y+=f,v-=f,0!==(r-=f))break;o=0!==h?GLe:BLe;break;case zLe:while(_<14){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}if(a=f=16383&m,(31&f)>29||(f>>5&31)>29)return o=WLe,e.msg="too many length or distance symbols",t=cLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);if(f=258+(31&f)+(f>>5&31),!i||i.length<f)i=[];else for(O=0;O<f;O++)i[O]=0;m>>>=14,_-=14,s=0,o=ULe;case ULe:while(s<4+(a>>>10)){while(_<3){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}i[LLe[s++]]=7&m,m>>>=3,_-=3}while(s<19)i[LLe[s++]]=0;if(c[0]=7,f=p.inflate_trees_bits(i,c,l,d,e),f!=oLe)return t=f,t==cLe&&(i=null,o=WLe),n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);s=0,o=VLe;case VLe:while(1){if(f=a,s>=258+(31&f)+(f>>5&31))break;let r,u;f=c[0];while(_<f){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}if(f=d[3*(l[0]+(m&hLe[f]))+1],u=d[3*(l[0]+(m&hLe[f]))+2],u<16)m>>>=f,_-=f,i[s++]=u;else{O=18==u?7:u-14,r=18==u?11:3;while(_<f+O){if(0===b)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=oLe,b--,m|=(255&e.read_byte(g++))<<_,_+=8}if(m>>>=f,_-=f,r+=m&hLe[O],m>>>=O,_-=O,O=s,f=a,O+r>258+(31&f)+(f>>5&31)||16==u&&O<1)return i=null,o=WLe,e.msg="invalid bit length repeat",t=cLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);u=16==u?i[O-1]:0;do{i[O++]=u}while(0!==--r);s=O}}if(l[0]=-1,E=[],x=[],S=[],I=[],E[0]=9,x[0]=6,f=a,f=p.inflate_trees_dynamic(257+(31&f),1+(f>>5&31),i,E,x,S,I,d,e),f!=oLe)return f==cLe&&(i=null,o=WLe),t=f,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);u.init(E[0],x[0],d,S[0],d,I[0]),o=HLe;case HLe:if(n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,(t=u.proc(n,e,t))!=rLe)return n.inflate_flush(e,t);if(t=oLe,u.free(e),g=e.next_in_index,b=e.avail_in,m=n.bitb,_=n.bitk,y=n.write,v=y<n.read?n.read-y-1:n.end-y,0===h){o=BLe;break}o=GLe;case GLe:if(n.write=y,t=n.inflate_flush(e,t),y=n.write,v=y<n.read?n.read-y-1:n.end-y,n.read!=n.write)return n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);o=qLe;case qLe:return t=rLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);case WLe:return t=cLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);default:return t=sLe,n.bitb=m,n.bitk=_,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t)}}},n.free=function(e){n.reset(e,null),n.win=null,d=null},n.set_dictionary=function(e,t,i){n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=function(){return o==FLe?1:0}}const XLe=32,KLe=8,JLe=0,ZLe=1,$Le=2,QLe=3,eBe=4,tBe=5,nBe=6,iBe=7,oBe=12,rBe=13,aBe=[0,0,255,255];function sBe(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=iBe,e.istate.blocks.reset(e,null),oLe):sLe}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,oLe},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),sLe):(e.wbits=i,n.istate.blocks=new YLe(n,1<<i),t(n),oLe)},e.inflate=function(e,t){let n,i;if(!e||!e.istate||!e.next_in)return sLe;const o=e.istate;t=t==pLe?uLe:oLe,n=uLe;while(1)switch(o.mode){case JLe:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,(15&(o.method=e.read_byte(e.next_in_index++)))!=KLe){o.mode=rBe,e.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=rBe,e.msg="invalid win size",o.marker=5;break}o.mode=ZLe;case ZLe:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((o.method<<8)+i)%31!==0){o.mode=rBe,e.msg="incorrect header check",o.marker=5;break}if(0===(i&XLe)){o.mode=iBe;break}o.mode=$Le;case $Le:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=QLe;case QLe:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=eBe;case eBe:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=tBe;case tBe:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=nBe,aLe);case nBe:return o.mode=rBe,e.msg="need dictionary",o.marker=0,sLe;case iBe:if(n=o.blocks.proc(e,n),n==cLe){o.mode=rBe,o.marker=0;break}if(n==oLe&&(n=t),n!=rLe)return n;n=t,o.blocks.reset(e,o.was),o.mode=oBe;case oBe:return e.avail_in=0,rLe;case rBe:return cLe;default:return sLe}},e.inflateSetDictionary=function(e,t,n){let i=0,o=n;if(!e||!e.istate||e.istate.mode!=nBe)return sLe;const r=e.istate;return o>=1<<r.wbits&&(o=(1<<r.wbits)-1,i=n-o),r.blocks.set_dictionary(t,i,o),r.mode=iBe,oLe},e.inflateSync=function(e){let n,i,o,r,a;if(!e||!e.istate)return sLe;const s=e.istate;if(s.mode!=rBe&&(s.mode=rBe,s.marker=0),0===(n=e.avail_in))return uLe;i=e.next_in_index,o=s.marker;while(0!==n&&o<4)e.read_byte(i)==aBe[o]?o++:o=0!==e.read_byte(i)?0:4-o,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,s.marker=o,4!=o?cLe:(r=e.total_in,a=e.total_out,t(e),e.total_in=r,e.total_out=a,s.mode=iBe,oLe)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():sLe}}function cBe(){}function lBe(e){const t=this,n=new cBe,i=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,o=fLe,r=new Uint8Array(i);let a=!1;n.inflateInit(),n.next_out=r,t.append=function(e,t){const s=[];let c,l,u=0,h=0,d=0;if(0!==e.length){n.next_in_index=0,n.next_in=e,n.avail_in=e.length;do{if(n.next_out_index=0,n.avail_out=i,0!==n.avail_in||a||(n.next_in_index=0,a=!0),c=n.inflate(o),a&&c===uLe){if(0!==n.avail_in)throw new Error("inflating: bad input")}else if(c!==oLe&&c!==rLe)throw new Error("inflating: "+n.msg);if((a||c===rLe)&&n.avail_in===e.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?s.push(new Uint8Array(r)):s.push(r.slice(0,n.next_out_index))),d+=n.next_out_index,t&&n.next_in_index>0&&n.next_in_index!=u&&(t(n.next_in_index),u=n.next_in_index)}while(n.avail_in>0||0===n.avail_out);return s.length>1?(l=new Uint8Array(d),s.forEach((function(e){l.set(e,h),h+=e.length}))):l=s[0]||new Uint8Array(0),l}},t.flush=function(){n.inflateEnd()}}cBe.prototype={inflateInit:function(e){const t=this;return t.istate=new sBe,e||(e=iLe),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):sLe},inflateEnd:function(){const e=this;if(!e.istate)return sLe;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):sLe},inflateSetDictionary:function(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):sLe},read_byte:function(e){const t=this;return t.next_in[e]},read_buf:function(e,t){const n=this;return n.next_in.subarray(e,e+t)}};const uBe={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},hBe=Object.assign({},uBe);function dBe(){return hBe}function fBe(e){if(void 0!==e.baseURL&&(hBe.baseURL=e.baseURL),void 0!==e.chunkSize&&(hBe.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(hBe.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(hBe.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(hBe.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(hBe.Deflate=e.Deflate),void 0!==e.Inflate&&(hBe.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");hBe.workerScripts||(hBe.workerScripts={}),hBe.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");hBe.workerScripts||(hBe.workerScripts={}),hBe.workerScripts.inflate=e.workerScripts.inflate}}}function pBe(){return"application/octet-stream"}const mBe=[];for(let opt=0;opt<256;opt++){let e=opt;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;mBe[opt]=e}class _Be{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n<i;n++)t=t>>>8^mBe[255&(t^e[n])];this.crc=t}get(){return~this.crc}}function gBe(e){if("undefined"==typeof TextEncoder){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new TextEncoder).encode(e)}const bBe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=bBe.getPartial(n);return 32===i?e.concat(t):bBe._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+bBe.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;e=e.slice(0,Math.ceil(t/32));const n=e.length;return t&=31,n>0&&t&&(e[n-1]=bBe.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return 32===e?t:(n?0|t:t<<32-e)+1099511627776*e},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let a=0;a<e.length;a++)i.push(n|e[a]>>>t),n=e[a]<<32-t;const o=e.length?e[e.length-1]:0,r=bBe.getPartial(o);return i.push(bBe.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},yBe={bytes:{fromBits(e){const t=bBe.bitLength(e),n=t/8,i=new Uint8Array(n);let o;for(let r=0;r<n;r++)0===(3&r)&&(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3===(3&n)&&(t.push(i),i=0);return 3&n&&t.push(bBe.partial(8*(3&n),i)),t}}},vBe={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};vBe.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"===typeof e&&(e=yBe.utf8String.toBits(e));const n=t._buffer=bBe.concat(t._buffer,e),i=t._length,o=t._length=i+bBe.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const r=new Uint32Array(n);let a=0;for(let s=t.blockSize+i-(t.blockSize+i&t.blockSize-1);s<=o;s+=t.blockSize)t._block(r.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=bBe.concat(t,[bBe.partial(1,1)]);for(let i=t.length+2;15&i;i++)t.push(0);t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);while(t.length)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,i=Array(80);for(let l=0;l<16;l++)i[l]=e[l];let o=n[0],r=n[1],a=n[2],s=n[3],c=n[4];for(let l=0;l<=79;l++){l>=16&&(i[l]=t._S(1,i[l-3]^i[l-8]^i[l-14]^i[l-16]));const e=t._S(5,o)+t._f(l,r,a,s)+c+i[l]+t._key[Math.floor(l/20)]|0;c=s,s=a,a=t._S(30,r),r=o,o=e}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0}};const OBe={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],o=e.length;let r,a,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),s=[]],r=o;r<4*o+28;r++){let e=a[r-1];(r%o===0||8===o&&r%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],r%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[r]=a[r-o]^e}for(let l=0;r;l++,r--){const e=a[3&l?r:r-4];s[l]=r<=4||l<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[];let a,s,c,l;for(let u=0;u<256;u++)r[(o[u]=u<<1^283*(u>>7))^u]=u;for(let u=a=0;!n[u];u^=s||1,a=r[a]||1){let r=a^a<<1^a<<2^a<<3^a<<4;r=r>>8^255&r^99,n[u]=r,i[r]=u,l=o[c=o[s=o[u]]];let h=16843009*l^65537*c^257*s^16843008*u,d=257*o[r]^16843008*r;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][r]=h=h<<24^h>>>8}for(let u=0;u<5;u++)e[u]=e[u].slice(0),t[u]=t[u].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],a=r[0],s=r[1],c=r[2],l=r[3],u=r[4];let h,d,f,p=e[0]^n[0],m=e[t?3:1]^n[1],_=e[2]^n[2],g=e[t?1:3]^n[3],b=4;for(let y=0;y<i;y++)h=a[p>>>24]^s[m>>16&255]^c[_>>8&255]^l[255&g]^n[b],d=a[m>>>24]^s[_>>16&255]^c[g>>8&255]^l[255&p]^n[b+1],f=a[_>>>24]^s[g>>16&255]^c[p>>8&255]^l[255&m]^n[b+2],g=a[g>>>24]^s[p>>16&255]^c[m>>8&255]^l[255&_]^n[b+3],b+=4,p=h,m=d,_=f;for(let y=0;y<4;y++)o[t?3&-y:y]=u[p>>>24]<<24^u[m>>16&255]<<16^u[_>>8&255]<<8^u[255&g]^n[b++],h=p,p=m,m=_,_=g,g=h;return o}}},wBe={getRandomValues(e){const t=new Uint32Array(e.buffer),n=e=>{let t=987654321;const n=4294967295;return function(){t=36969*(65535&t)+(t>>16)&n,e=18e3*(65535&e)+(e>>16)&n;const i=((t<<16)+e&n)/4294967296+.5;return i*(Math.random()>.5?1:-1)}};for(let i,o=0;o<e.length;o+=4){let e=n(4294967296*(i||Math.random()));i=987654071*e(),t[o/4]=4294967296*e()|0}return e}},ABe={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255===(e>>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const o=bBe.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return bBe.clamp(t,o)}}},TBe={importKey(e){return new TBe.hmacSha1(yBe.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");const o=1+(i>>5)<<2;let r,a,s,c,l;const u=new ArrayBuffer(o);let h=new DataView(u),d=0;const f=bBe;for(t=yBe.bytes.toBits(t),l=1;d<(o||1);l++){for(r=a=e.encrypt(f.concat(t,[l])),s=1;s<n;s++)for(a=e.encrypt(a),c=0;c<a.length;c++)r[c]^=a[c];for(s=0;d<(o||1)&&s<r.length;s++)h.setInt32(d,r[s]),d+=4}return u.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=vBe.sha1,i=[[],[]],o=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>o&&(e=n.hash(e));for(let r=0;r<o;r++)i[0][r]=909522486^e[r],i[1][r]=1549556828^e[r];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){const t=this;t._updated=!0,t._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},CBe="Invalid pasword",EBe=16,xBe="raw",SBe={name:"PBKDF2"},IBe={name:"HMAC"},DBe="SHA-1",jBe=Object.assign({hash:IBe},SBe),PBe=Object.assign({iterations:1e3,hash:{name:DBe}},SBe),RBe=["deriveBits"],MBe=[8,12,16],NBe=[16,24,32],LBe=10,BBe=[0,0,0,0],FBe="undefined"!=typeof crypto,kBe=FBe&&"undefined"!=typeof crypto.subtle,zBe=yBe.bytes,UBe=OBe.aes,VBe=ABe.ctrGladman,HBe=TBe.hmacSha1;class GBe{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=tFe(e,0,MBe[t.strength]+2);await YBe(t,n,t.password),t.password=null,t.aesCtrGladman=new VBe(new UBe(t.keys.key),Array.from(BBe)),t.hmac=new HBe(t.keys.authentication),e=tFe(e,MBe[t.strength]+2)}const n=new Uint8Array(e.length-LBe-(e.length-LBe)%EBe);return WBe(t,e,n,0,LBe,!0)}flush(){const e=this,t=e.pendingInput,n=tFe(t,0,t.length-LBe),i=tFe(t,t.length-LBe);let o=new Uint8Array(0);if(n.length){const t=zBe.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);o=zBe.fromBits(i)}let r=!0;if(e.signed){const t=tFe(zBe.fromBits(e.hmac.digest()),0,LBe);for(let e=0;e<LBe;e++)t[e]!=i[e]&&(r=!1)}return{valid:r,data:o}}}class qBe{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await XBe(t,t.password),t.password=null,t.aesCtrGladman=new VBe(new UBe(t.keys.key),Array.from(BBe)),t.hmac=new HBe(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%EBe);return i.set(n,0),WBe(t,e,i,n.length,0)}flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(zBe.toBits(e.pendingInput));e.hmac.update(n),t=zBe.fromBits(n)}const n=tFe(zBe.fromBits(e.hmac.digest()),0,LBe);return{data:QBe(t,n),signature:n}}}function WBe(e,t,n,i,o,r){const a=t.length-o;let s;for(e.pendingInput.length&&(t=QBe(e.pendingInput,t),n=eFe(n,a-a%EBe)),s=0;s<=a-EBe;s+=EBe){const o=zBe.toBits(tFe(t,s,s+EBe));r&&e.hmac.update(o);const a=e.aesCtrGladman.update(o);r||e.hmac.update(a),n.set(zBe.fromBits(a),s+i)}return e.pendingInput=tFe(t,s),n}async function YBe(e,t,n){await KBe(e,n,tFe(t,0,MBe[e.strength]));const i=tFe(t,MBe[e.strength]),o=e.keys.passwordVerification;if(o[0]!=i[0]||o[1]!=i[1])throw new Error(CBe)}async function XBe(e,t){const n=JBe(new Uint8Array(MBe[e.strength]));return await KBe(e,t,n),QBe(n,e.keys.passwordVerification)}async function KBe(e,t,n){const i=gBe(t),o=await ZBe(xBe,i,jBe,!1,RBe),r=await $Be(Object.assign({salt:n},PBe),o,8*(2*NBe[e.strength]+2)),a=new Uint8Array(r);e.keys={key:zBe.toBits(tFe(a,0,NBe[e.strength])),authentication:zBe.toBits(tFe(a,NBe[e.strength],2*NBe[e.strength])),passwordVerification:tFe(a,2*NBe[e.strength])}}function JBe(e){return FBe&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues(e):wBe.getRandomValues(e)}async function ZBe(e,t,n,i,o){return FBe&&kBe&&"function"==typeof crypto.subtle.importKey?crypto.subtle.importKey(e,t,n,i,o):TBe.importKey(t)}async function $Be(e,t,n){return FBe&&kBe&&"function"==typeof crypto.subtle.deriveBits?await crypto.subtle.deriveBits(e,t,n):TBe.pbkdf2(t,e.salt,PBe.iterations,n)}function QBe(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function eFe(e,t){if(t&&t>e.length){const n=e;e=new Uint8Array(t),e.set(n,0)}return e}function tFe(e,t,n){return e.subarray(t,n)}const nFe=12;class iFe{constructor(e,t){const n=this;Object.assign(n,{password:e,passwordVerification:t}),sFe(n,e)}append(e){const t=this;if(t.password){const n=rFe(t,e.subarray(0,nFe));if(t.password=null,n[nFe-1]!=t.passwordVerification)throw new Error(CBe);e=e.subarray(nFe)}return rFe(t,e)}flush(){return{valid:!0,data:new Uint8Array(0)}}}class oFe{constructor(e,t){const n=this;Object.assign(n,{password:e,passwordVerification:t}),sFe(n,e)}append(e){const t=this;let n,i;if(t.password){t.password=null;const o=crypto.getRandomValues(new Uint8Array(nFe));o[nFe-1]=t.passwordVerification,n=new Uint8Array(e.length+o.length),n.set(aFe(t,o),0),i=nFe}else n=new Uint8Array(e.length),i=0;return n.set(aFe(t,e),i),n}flush(){return{data:new Uint8Array(0)}}}function rFe(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=lFe(e)^t[i],cFe(e,n[i]);return n}function aFe(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=lFe(e)^t[i],cFe(e,t[i]);return n}function sFe(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new _Be(e.keys[0]),e.crcKey2=new _Be(e.keys[2]);for(let n=0;n<t.length;n++)cFe(e,t.charCodeAt(n))}function cFe(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=hFe(e.keys[1]+uFe(e.keys[0])),e.keys[1]=hFe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function lFe(e){const t=2|e.keys[2];return uFe(Math.imul(t,1^t)>>>8)}function uFe(e){return 255&e}function hFe(e){return 4294967295&e}const dFe="deflate",fFe="inflate",pFe="Invalid signature";class mFe{constructor(e,{signature:t,password:n,signed:i,compressed:o,zipCrypto:r,passwordVerification:a,encryptionStrength:s},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:o,inflate:o&&new e({chunkSize:c}),crc32:i&&new _Be,zipCrypto:r,decrypt:l&&r?new iFe(n,a):new GBe(n,i,s)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new Error(pFe);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(pFe)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class _Fe{constructor(e,{encrypted:t,signed:n,compressed:i,level:o,zipCrypto:r,password:a,passwordVerification:s,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:o||5,chunkSize:l}),crc32:n&&new _Be,zipCrypto:r,encrypt:t&&r?new oFe(a,s):new qBe(a,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=e.encrypt.flush();t=i.signature;const o=new Uint8Array(n.length+i.data.length);o.set(n,0),o.set(i.data,n.length),n=o}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}function gFe(e,t,n){return t.codecType.startsWith(dFe)?new _Fe(e,t,n):t.codecType.startsWith(fFe)?new mFe(e,t,n):void 0}const bFe="init",yFe="append",vFe="flush",OFe="message";let wFe=!0;var AFe=(e,t,n,i,o,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,o(e)}}),r?CFe(e,i):TFe(e,i));function TFe(e,t){const n=gFe(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(i){throw e.onTaskFinished(),i}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}},abort(){e.onTaskFinished()}}}function CFe(e,t){let n;const i={type:"module"};if(!e.interface){if(wFe)try{e.worker=o({},t.baseURL)}catch(c){wFe=!1,e.worker=o(i,t.baseURL)}else e.worker=o(i,t.baseURL);e.worker.addEventListener(OFe,s,!1),e.interface={append(e){return r({type:yFe,data:e})},flush(){return r({type:vFe})},abort(){e.onTaskFinished()}}}return e.interface;function o(t,n){let i,o;i=e.scripts[0],"function"==typeof i&&(i=i());try{o=new URL(i,n)}catch(c){o=i}return new Worker(o,t)}async function r(i){if(!n){const n=e.options,i=e.scripts.slice(1);await a({scripts:i,type:bFe,options:n,config:{chunkSize:t.chunkSize}})}return a(i)}function a(t){const i=e.worker,o=new Promise((e,t)=>n={resolve:e,reject:t});try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(c){i.postMessage(t)}else i.postMessage(t)}catch(c){n.reject(c),n=null,e.onTaskFinished()}return o}function s(t){const i=t.data;if(n){const t=i.error,o=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(o==bFe||o==vFe||o==yFe){const t=i.data;o==vFe?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}let EFe=[],xFe=[];function SFe(e,t,n){const i=!t.compressed&&!t.signed&&!t.encrypted,o=!i&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=o&&n.workerScripts?n.workerScripts[t.codecType]:[];if(EFe.length<n.maxWorkers){const i={};return EFe.push(i),AFe(i,e,t,n,a,o,r)}{const i=EFe.find(e=>!e.busy);return i?(IFe(i),AFe(i,e,t,n,a,o,r)):new Promise(n=>xFe.push({resolve:n,codecConstructor:e,options:t,webWorker:o,scripts:r}))}function a(e){if(xFe.length){const[{resolve:t,codecConstructor:i,options:o,webWorker:r,scripts:s}]=xFe.splice(0,1);t(AFe(e,i,o,n,a,r,s))}else e.worker?(IFe(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout(()=>{EFe=EFe.filter(t=>t!=e),e.terminate()},n.terminateWorkerTimeout))):EFe=EFe.filter(t=>t!=e)}}function IFe(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function DFe(){EFe.forEach(e=>{IFe(e),e.terminate()})}const jFe=64,PFe="Abort error";async function RFe(e,t,n,i,o,r,a){const s=Math.max(r.chunkSize,jFe);return c();async function c(r=0,l=0){const u=a.signal;if(r<o){MFe(u,e);const d=await t.readUint8Array(r+i,Math.min(s,o-r)),f=d.length;MFe(u,e);const p=await e.append(d);if(MFe(u,e),l+=await NFe(n,p),a.onprogress)try{a.onprogress(r+f,o)}catch(h){}return c(r+s,l)}{const t=await e.flush();return l+=await NFe(n,t.data),{signature:t.signature,length:l}}}}function MFe(e,t){if(e&&e.aborted)throw t.abort(),new Error(PFe)}async function NFe(e,t){return t.length&&await e.writeUint8Array(t),t.length}const LFe="HTTP error ",BFe="HTTP Range not supported",FFe="text/plain",kFe="Content-Length",zFe="Content-Range",UFe="Accept-Ranges",VFe="Range",HFe="HEAD",GFe="GET",qFe="bytes";class WFe{constructor(){this.size=0}init(){this.initialized=!0}}class YFe extends WFe{}class XFe extends WFe{writeUint8Array(e){this.size+=e.length}}class KFe extends YFe{constructor(e){super(),this.blobReader=new QFe(new Blob([e],{type:FFe}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}}class JFe extends XFe{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:FFe})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:FFe})}getData(){if(this.blob.text)return this.blob.text();{const e=new FileReader;return new Promise((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)})}}}class ZFe extends YFe{constructor(e){super(),this.dataURI=e;let t=e.length;while("="==e.charAt(t-1))t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),o=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),r=e-3*Math.floor(i/4);for(let a=r;a<r+t;a++)n[a-r]=o.charCodeAt(a);return n}}class $Fe extends XFe{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}}class QFe extends YFe{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){if(this.blob.arrayBuffer)return new Uint8Array(await this.blob.slice(e,e+t).arrayBuffer());{const n=new FileReader;return new Promise((i,o)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>o(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))})}}}class eke extends XFe{constructor(e){super(),this.contentType=e,this.arrayBuffersMaxlength=8,tke(this)}async writeUint8Array(e){super.writeUint8Array(e),this.arrayBuffers.length==this.arrayBuffersMaxlength&&nke(this),this.arrayBuffers.push(e.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&nke(this),this.blob=this.pendingBlob,tke(this)),this.blob}}function tke(e){e.pendingBlob=new Blob([],{type:e.contentType}),e.arrayBuffers=[]}function nke(e){e.pendingBlob=new Blob([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}class ike extends XFe{constructor(e){super(),this.writableStream=e,this.writer=e.getWriter()}async writeUint8Array(e){return await this.writer.ready,this.writer.write(e)}async getData(){return await this.writer.ready,await this.writer.close(),this.writableStream}}class oke extends YFe{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){super.init(),await ake(this,pke,uke)}async readUint8Array(e,t){return ske(this,e,t,pke,uke)}}class rke extends YFe{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=t}async init(){super.init(),await ake(this,mke,hke)}async readUint8Array(e,t){return ske(this,e,t,mke,hke)}}async function ake(e,t,n){if(vke(e.url)&&(e.useRangeHeader||e.forceRangeRequests)){const i=await t(GFe,e,cke(e));if(!e.forceRangeRequests&&i.headers.get(UFe)!=qFe)throw new Error(BFe);{let o;const r=i.headers.get(zFe);if(r){const e=r.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(o=Number(t))}}void 0===o?await fke(e,t,n):e.size=o}}else await fke(e,t,n)}async function ske(e,t,n,i,o){if(e.useRangeHeader||e.forceRangeRequests){const o=await i(GFe,e,cke(e,t,n));if(206!=o.status)throw new Error(BFe);return new Uint8Array(await o.arrayBuffer())}return e.data||await o(e,e.options),new Uint8Array(e.data.subarray(t,t+n))}function cke(e,t=0,n=1){return Object.assign({},lke(e),{[VFe]:qFe+"="+t+"-"+(t+n-1)})}function lke(e){let t=e.options.headers;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function uke(e){await dke(e,pke)}async function hke(e){await dke(e,mke)}async function dke(e,t){const n=await t(GFe,e,lke(e));e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function fke(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=await t(HFe,e,lke(e)),o=i.headers.get(kFe);o?e.size=Number(o):await n(e,e.options)}}async function pke(e,{options:t,url:n},i){const o=await fetch(n,Object.assign({},t,{method:e,headers:i}));if(o.status<400)return o;throw new Error(LFe+(o.statusText||o.status))}function mke(e,{url:t},n){return new Promise((i,o)=>{const r=new XMLHttpRequest;if(r.addEventListener("load",()=>{if(r.status<400){const e=[];r.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),i({status:r.status,arrayBuffer:()=>r.response,headers:new Map(e)})}else o(new Error(LFe+(r.statusText||r.status)))},!1),r.addEventListener("error",e=>o(e.detail.error),!1),r.open(e,t),n)for(const e of Object.entries(n))r.setRequestHeader(e[0],e[1]);r.responseType="arraybuffer",r.send()})}class _ke extends YFe{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new rke(e,t):this.reader=new oke(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class gke extends _ke{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}}class bke extends YFe{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}}class yke extends XFe{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}}function vke(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const Oke=4294967295,wke=65535,Ake=8,Tke=0,Cke=99,Eke=67324752,xke=134695760,Ske=33639248,Ike=101010256,Dke=101075792,jke=117853008,Pke=22,Rke=20,Mke=56,Nke=Pke+Rke+Mke,Lke=1,Bke=1,Fke=39169,kke=10,zke=1,Uke=21589,Vke=28789,Hke=25461,Gke=1,qke=6,Wke=8,Yke=2048,Xke=16,Kke=20,Jke=45,Zke=51,$ke="/",Qke=new Date(2107,11,31),eze=new Date(1980,0,1),tze="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");var nze=e=>{let t="";for(let n=0;n<e.length;n++)t+=tze[e[n]];return t};async function ize(e,t){if(t&&"cp437"==t.trim().toLowerCase())return nze(e);if("undefined"==typeof TextDecoder){const t=new FileReader;return new Promise((n,i)=>{t.onload=e=>n(e.target.result),t.onerror=()=>i(t.error),t.readAsText(new Blob([e]))})}return new TextDecoder(t).decode(e)}const oze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class rze{constructor(e){oze.forEach(t=>this[t]=e[t])}}const aze="File format is not recognized",sze="End of central directory not found",cze="End of Zip64 central directory not found",lze="End of Zip64 central directory locator not found",uze="Central directory header not found",hze="Local file header not found",dze="Zip64 extra field not found",fze="File contains encrypted entry",pze="Encryption method not supported",mze="Compression method not supported",_ze="utf-8",gze="cp437",bze=["uncompressedSize","compressedSize","offset"];class yze{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:dBe()})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<Pke)throw new Error(aze);const i=await Sze(n,Ike,n.size,Pke,16*wke);if(!i)throw new Error(sze);const o=Bze(i);let r=Mze(o,12),a=Mze(o,16),s=Rze(o,8),c=0;if(a==Oke||r==Oke||s==wke){const e=await Fze(n,i.offset-Rke,Rke),t=Bze(e);if(Mze(t,0)!=jke)throw new Error(cze);a=Nze(t,8);let o=await Fze(n,a,Mke),l=Bze(o);const u=i.offset-Rke-Mke;if(Mze(l,0)!=Dke&&a!=u){const e=a;a=u,c=a-e,o=await Fze(n,a,Mke),l=Bze(o)}if(Mze(l,0)!=Dke)throw new Error(lze);s=Nze(l,32),r=Nze(l,40),a-=r}if(a<0||a>=n.size)throw new Error(aze);let l=0,u=await Fze(n,a,r),h=Bze(u);if(r){const e=i.offset-r;if(Mze(h,l)!=Ske&&a!=e){const t=a;a=e,c=a-t,u=await Fze(n,a,r),h=Bze(u)}}if(a<0||a>=n.size)throw new Error(aze);const d=[];for(let p=0;p<s;p++){const i=new vze(n,t.config,t.options);if(Mze(h,l)!=Ske)throw new Error(uze);Oze(i,h,l+6);const o=Boolean(i.bitFlag.languageEncodingFlag),r=l+46,a=r+i.filenameLength,m=a+i.extraFieldLength,_=Rze(h,l+4),g=0==(0&_);Object.assign(i,{versionMadeBy:_,msDosCompatible:g,compressedSize:0,uncompressedSize:0,commentLength:Rze(h,l+32),directory:g&&(Pze(h,l+38)&Xke)==Xke,offset:Mze(h,l+42)+c,internalFileAttribute:Mze(h,l+34),externalFileAttribute:Mze(h,l+38),rawFilename:u.subarray(r,a),filenameUTF8:o,commentUTF8:o,rawExtraField:u.subarray(a,m)});const b=m+i.commentLength;i.rawComment=u.subarray(m,b);const y=Ize(t,e,"filenameEncoding"),v=Ize(t,e,"commentEncoding"),[O,w]=await Promise.all([ize(i.rawFilename,i.filenameUTF8?_ze:y||gze),ize(i.rawComment,i.commentUTF8?_ze:v||gze)]);i.filename=O,i.comment=w,!i.directory&&i.filename.endsWith($ke)&&(i.directory=!0),await wze(i,i,h,l+6);const A=new rze(i);if(A.getData=(e,t)=>i.getData(e,A,t),d.push(A),l=b,e.onprogress)try{e.onprogress(p+1,s,new rze(i))}catch(f){}}return d}async close(){}}class vze{constructor(e,t,n){Object.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n={}){const i=this,{reader:o,offset:r,extraFieldAES:a,compressionMethod:s,config:c,bitFlag:l,signature:u,rawLastModDate:h,compressedSize:d}=i,f=i.localDirectory={};o.initialized||await o.init();let p=await Fze(o,r,30);const m=Bze(p);let _=Ize(i,n,"password");if(_=_&&_.length&&_,a&&a.originalCompressionMethod!=Cke)throw new Error(mze);if(s!=Tke&&s!=Ake)throw new Error(mze);if(Mze(m,0)!=Eke)throw new Error(hze);Oze(f,m,4),p=await Fze(o,r,30+f.filenameLength+f.extraFieldLength),f.rawExtraField=p.subarray(30+f.filenameLength),await wze(i,f,m,4),t.lastAccessDate=f.lastAccessDate,t.creationDate=f.creationDate;const g=i.encrypted&&f.encrypted,b=g&&!a;if(g){if(!b&&void 0===a.strength)throw new Error(pze);if(!_)throw new Error(fze)}const y=await SFe(c.Inflate,{codecType:fFe,password:_,zipCrypto:b,encryptionStrength:a&&a.strength,signed:Ize(i,n,"checkSignature"),passwordVerification:b&&(l.dataDescriptor?h>>>8&255:u>>>24&255),signature:u,compressed:0!=s,encrypted:g,useWebWorkers:Ize(i,n,"useWebWorkers")},c);e.initialized||await e.init();const v=Ize(i,n,"signal"),O=r+30+f.filenameLength+f.extraFieldLength;return await RFe(y,o,e,O,d,c,{onprogress:n.onprogress,signal:v}),e.getData()}}function Oze(e,t,n){const i=e.rawBitFlag=Rze(t,n+2),o=(i&Gke)==Gke,r=Mze(t,n+6);Object.assign(e,{encrypted:o,version:Rze(t,n),bitFlag:{level:(i&qke)>>1,dataDescriptor:(i&Wke)==Wke,languageEncodingFlag:(i&Yke)==Yke},rawLastModDate:r,lastModDate:Dze(r),filenameLength:Rze(t,n+22),extraFieldLength:Rze(t,n+24)})}async function wze(e,t,n,i){const o=t.rawExtraField,r=t.extraField=new Map,a=Bze(new Uint8Array(o));let s=0;try{while(s<o.length){const e=Rze(a,s),t=Rze(a,s+2);r.set(e,{type:e,data:o.slice(s+4,s+4+t)}),s+=4+t}}catch(m){}const c=Rze(n,i+4);t.signature=Mze(n,i+10),t.uncompressedSize=Mze(n,i+18),t.compressedSize=Mze(n,i+14);const l=r.get(Bke);l&&(Aze(l,t),t.extraFieldZip64=l);const u=r.get(Vke);u&&(await Tze(u,"filename","rawFilename",t,e),t.extraFieldUnicodePath=u);const h=r.get(Hke);h&&(await Tze(h,"comment","rawComment",t,e),t.extraFieldUnicodeComment=h);const d=r.get(Fke);d?(Cze(d,t,c),t.extraFieldAES=d):t.compressionMethod=c;const f=r.get(kke);f&&(Eze(f,t),t.extraFieldNTFS=f);const p=r.get(Uke);p&&(xze(p,t),t.extraFieldExtendedTimestamp=p)}function Aze(e,t){t.zip64=!0;const n=Bze(e.data);e.values=[];for(let o=0;o<Math.floor(e.data.length/8);o++)e.values.push(Nze(n,0+8*o));const i=bze.filter(e=>t[e]==Oke);for(let o=0;o<i.length;o++)e[i[o]]=e.values[o];bze.forEach(n=>{if(t[n]==Oke){if(void 0===e[n])throw new Error(dze);t[n]=e[n]}})}async function Tze(e,t,n,i,o){const r=Bze(e.data);e.version=Pze(r,0),e.signature=Mze(r,1);const a=new _Be;a.append(o[n]);const s=Bze(new Uint8Array(4));s.setUint32(0,a.get(),!0),e[t]=await ize(e.data.subarray(5)),e.valid=!o.bitFlag.languageEncodingFlag&&e.signature==Mze(s,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Cze(e,t,n){const i=Bze(e.data);e.vendorVersion=Pze(i,0),e.vendorId=Pze(i,2);const o=Pze(i,4);e.strength=o,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Rze(i,5)}function Eze(e,t){const n=Bze(e.data);let i,o=4;try{while(o<e.data.length&&!i){const t=Rze(n,o),r=Rze(n,o+2);t==zke&&(i=e.data.slice(o+4,o+4+r)),o+=4+r}}catch(r){}try{if(i&&24==i.length){const n=Bze(i),o=n.getBigUint64(0,!0),r=n.getBigUint64(8,!0),a=n.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:o,rawLastAccessDate:r,rawCreationDate:a});const s=jze(o),c=jze(r),l=jze(a),u={lastModDate:s,lastAccessDate:c,creationDate:l};Object.assign(e,u),Object.assign(t,u)}}catch(r){}}function xze(e,t){const n=Bze(e.data),i=Pze(n,0),o=[],r=[];1==(1&i)&&(o.push("lastModDate"),r.push("rawLastModDate")),2==(2&i)&&(o.push("lastAccessDate"),r.push("rawLastAccessDate")),4==(4&i)&&(o.push("creationDate"),r.push("rawCreationDate"));let a=1;o.forEach((i,o)=>{if(e.data.length>=a+4){const s=Mze(n,a);t[i]=e[i]=new Date(1e3*s);const c=r[o];e[c]=s}a+=4})}async function Sze(e,t,n,i,o){const r=new Uint8Array(4),a=Bze(r);Lze(a,0,t);const s=i+o;return await c(i)||await c(Math.min(s,n));async function c(t){const o=n-t,a=await Fze(e,o,t);for(let e=a.length-i;e>=0;e--)if(a[e]==r[0]&&a[e+1]==r[1]&&a[e+2]==r[2]&&a[e+3]==r[3])return{offset:o+e,buffer:a.slice(e,e+i).buffer}}}function Ize(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function Dze(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(i){}}function jze(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function Pze(e,t){return e.getUint8(t)}function Rze(e,t){return e.getUint16(t,!0)}function Mze(e,t){return e.getUint32(t,!0)}function Nze(e,t){return Number(e.getBigUint64(t,!0))}function Lze(e,t,n){e.setUint32(t,n,!0)}function Bze(e){return new DataView(e.buffer)}function Fze(e,t,n){return e.readUint8Array(t,n)}const kze="File already exists",zze="Zip file comment exceeds 64KB",Uze="File entry comment exceeds 64KB",Vze="File entry name exceeds 64KB",Hze="Version exceeds 65535",Gze="The strength must equal 1, 2, or 3",qze="Extra field type exceeds 65535",Wze="Extra field data exceeds 64KB",Yze="Zip64 is not supported",Xze=new Uint8Array([7,0,2,0,65,69,3,0,0]),Kze=24;let Jze=0;class Zze{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:dBe(),files:new Map,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",t,n={}){const i=this;if(!(Jze<i.config.maxWorkers))return new Promise((o,r)=>i.pendingEntries.push({name:e,reader:t,options:n,resolve:o,reject:r}));Jze++;try{return await $ze(i,e,t,n)}finally{Jze--;const e=i.pendingEntries.shift();e&&i.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new Uint8Array(0),t={}){return await tUe(this,e,t),this.writer.getData()}}async function $ze(e,t,n,i){if(t=t.trim(),i.directory&&!t.endsWith($ke)?t+=$ke:i.directory=t.endsWith($ke),e.files.has(t))throw new Error(kze);const o=gBe(t);if(o.length>wke)throw new Error(Vze);const r=i.comment||"",a=gBe(r);if(a.length>wke)throw new Error(Uze);const s=e.options.version||i.version||0;if(s>wke)throw new Error(Hze);const c=e.options.versionMadeBy||i.versionMadeBy||20;if(c>wke)throw new Error(Hze);const l=rUe(e,i,"lastModDate")||new Date,u=rUe(e,i,"lastAccessDate"),h=rUe(e,i,"creationDate"),d=rUe(e,i,"password"),f=rUe(e,i,"encryptionStrength")||3,p=rUe(e,i,"zipCrypto");if(void 0!==d&&void 0!==f&&(f<1||f>3))throw new Error(Gze);let m=new Uint8Array(0);const _=i.extraField;if(_){let e=0,t=0;_.forEach(t=>e+=4+t.length),m=new Uint8Array(e),_.forEach((e,n)=>{if(n>wke)throw new Error(qze);if(e.length>wke)throw new Error(Wze);hUe(m,new Uint16Array([n]),t),hUe(m,new Uint16Array([e.length]),t+2),hUe(m,e,t+4),t+=4+e.length})}let g=rUe(e,i,"extendedTimestamp");void 0===g&&(g=!0);let b=0,y=rUe(e,i,"keepOrder");void 0===y&&(y=!0);let v=0,O=rUe(e,i,"msDosCompatible");void 0===O&&(O=!0);const w=rUe(e,i,"internalFileAttribute")||0,A=rUe(e,i,"externalFileAttribute")||0;n&&(n.initialized||await n.init(),v=n.size,b=aUe(v));let T=i.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=Oke||v>=Oke||b>=Oke){if(!1===i.zip64||!1===e.options.zip64||!y)throw new Error(Yze);T=!0}e.pendingCompressedSize+=b,await Promise.resolve();const C=rUe(e,i,"level"),E=rUe(e,i,"useWebWorkers"),x=rUe(e,i,"bufferedWrite");let S=rUe(e,i,"dataDescriptor"),I=rUe(e,i,"dataDescriptorSignature");const D=rUe(e,i,"signal");void 0===S&&(S=!0),S&&void 0===I&&(I=!0);const j=await Qze(e,t,n,Object.assign({},i,{rawFilename:o,rawComment:a,version:s,versionMadeBy:c,lastModDate:l,lastAccessDate:u,creationDate:h,rawExtraField:m,zip64:T,password:d,level:C,useWebWorkers:E,encryptionStrength:f,extendedTimestamp:g,zipCrypto:p,bufferedWrite:x,keepOrder:y,dataDescriptor:S,dataDescriptorSignature:I,signal:D,msDosCompatible:O,internalFileAttribute:w,externalFileAttribute:A}));return b&&(e.pendingCompressedSize-=b),Object.assign(j,{name:t,comment:r,extraField:_}),new rze(j)}async function Qze(e,t,n,i){const o=e.files,r=e.writer,a=Array.from(o.values()).pop();let s,c,l,u={};o.set(t,u);try{let h,d,f;if(i.keepOrder&&(h=a&&a.lock),u.lock=f=new Promise(e=>l=e),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(d=new eke,d.init(),s=!0):(e.lockWrite=new Promise(e=>c=e),r.initialized||await r.init(),d=r),u=await eUe(n,d,e.config,i),u.lock=f,o.set(t,u),u.filename=t,s){let t=0;const n=d.getData();let a;await Promise.all([e.lockWrite,h]);do{a=Array.from(o.values()).find(e=>e.writingBufferedData),a&&await a.lock}while(a&&a.lock);if(u.writingBufferedData=!0,!i.dataDescriptor){const e=26,o=await nUe(n,0,e),a=new DataView(o);u.encrypted&&!i.zipCrypto||lUe(a,14,u.signature),u.zip64?(lUe(a,18,Oke),lUe(a,22,Oke)):(lUe(a,18,u.compressedSize),lUe(a,22,u.uncompressedSize)),await r.writeUint8Array(new Uint8Array(o)),t=e}await iUe(r,n,t),delete u.writingBufferedData}if(u.offset=e.offset,u.zip64){const e=dUe(u.rawExtraFieldZip64);uUe(e,20,BigInt(u.offset))}else if(u.offset>=Oke)throw new Error(Yze);return e.offset+=u.length,u}catch(h){throw(s&&u.writingBufferedData||!s&&u.dataWritten)&&(h.corruptedEntry=e.hasCorruptedEntries=!0,u.uncompressedSize&&(e.offset+=u.uncompressedSize)),o.delete(t),h}finally{l(),c&&c()}}async function eUe(e,t,n,i){const{rawFilename:o,lastAccessDate:r,creationDate:a,password:s,level:c,zip64:l,zipCrypto:u,dataDescriptor:h,dataDescriptorSignature:d,directory:f,version:p,versionMadeBy:m,rawComment:_,rawExtraField:g,useWebWorkers:b,onprogress:y,signal:v,encryptionStrength:O,extendedTimestamp:w,msDosCompatible:A,internalFileAttribute:T,externalFileAttribute:C}=i,E=Boolean(s&&s.length),x=0!==c&&!f;let S,I,D;if(E&&!u){S=new Uint8Array(Xze.length+2);const e=dUe(S);cUe(e,0,Fke),hUe(S,Xze,2),sUe(e,8,O)}else S=new Uint8Array(0);if(w){D=new Uint8Array(9+(r?4:0)+(a?4:0));const e=dUe(D);cUe(e,0,Uke),cUe(e,2,D.length-4);const t=1+(r?2:0)+(a?4:0);sUe(e,4,t),lUe(e,5,Math.floor(i.lastModDate.getTime()/1e3)),r&&lUe(e,9,Math.floor(r.getTime()/1e3)),a&&lUe(e,13,Math.floor(a.getTime()/1e3));try{I=new Uint8Array(36);const e=dUe(I),t=oUe(i.lastModDate);cUe(e,0,kke),cUe(e,2,32),cUe(e,8,zke),cUe(e,10,24),uUe(e,12,t),uUe(e,20,oUe(r)||t),uUe(e,28,oUe(a)||t)}catch(J){I=new Uint8Array(0)}}else I=D=new Uint8Array(0);const j={version:p||Kke,versionMadeBy:m,zip64:l,directory:Boolean(f),filenameUTF8:!0,rawFilename:o,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:l?new Uint8Array(Kze+4):new Uint8Array(0),rawExtraFieldExtendedTimestamp:D,rawExtraFieldNTFS:I,rawExtraFieldAES:S,rawExtraField:g,extendedTimestamp:w,msDosCompatible:A,internalFileAttribute:T,externalFileAttribute:C};let P=j.uncompressedSize=0,R=Yke;h&&(R|=Wke);let M=Tke;x&&(M=Ake),l&&(j.version=j.version>Jke?j.version:Jke),E&&(R|=Gke,u||(j.version=j.version>Zke?j.version:Zke,M=Cke,x&&(j.rawExtraFieldAES[9]=Ake))),j.compressionMethod=M;const N=j.headerArray=new Uint8Array(26),L=dUe(N);cUe(L,0,j.version),cUe(L,2,R),cUe(L,4,M);const B=new Uint32Array(1),F=dUe(B);let k;k=i.lastModDate<eze?eze:i.lastModDate>Qke?Qke:i.lastModDate,cUe(F,0,(k.getHours()<<6|k.getMinutes())<<5|k.getSeconds()/2),cUe(F,2,(k.getFullYear()-1980<<4|k.getMonth()+1)<<5|k.getDate());const z=B[0];lUe(L,6,z),cUe(L,22,o.length);const U=S.length+D.length+I.length+j.rawExtraField.length;cUe(L,24,U);const V=new Uint8Array(30+o.length+U),H=dUe(V);let G;lUe(H,0,Eke),hUe(V,N,4),hUe(V,o,30),hUe(V,S,30+o.length),hUe(V,D,30+o.length+S.length),hUe(V,I,30+o.length+S.length+D.length),hUe(V,j.rawExtraField,30+o.length+S.length+D.length+I.length);let q=0;if(e){P=j.uncompressedSize=e.size;const i=await SFe(n.Deflate,{codecType:dFe,level:c,password:s,encryptionStrength:O,zipCrypto:E&&u,passwordVerification:E&&u&&z>>8&255,signed:!0,compressed:x,encrypted:E,useWebWorkers:b},n);await t.writeUint8Array(V),j.dataWritten=!0,G=await RFe(i,e,t,0,P,n,{onprogress:y,signal:v}),q=G.length}else await t.writeUint8Array(V),j.dataWritten=!0;let W,Y=new Uint8Array(0),X=0;if(h&&(Y=new Uint8Array(l?d?24:20:d?16:12),W=dUe(Y),d&&(X=4,lUe(W,0,xke))),e){const e=G.signature;if(E&&!u||void 0===e||(lUe(L,10,e),j.signature=e,h&&lUe(W,X,e)),l){const e=dUe(j.rawExtraFieldZip64);cUe(e,0,Bke),cUe(e,2,Kze),lUe(L,14,Oke),uUe(e,12,BigInt(q)),lUe(L,18,Oke),uUe(e,4,BigInt(P)),h&&(uUe(W,X+4,BigInt(q)),uUe(W,X+12,BigInt(P)))}else lUe(L,14,q),lUe(L,18,P),h&&(lUe(W,X+4,q),lUe(W,X+8,P))}h&&await t.writeUint8Array(Y);const K=V.length+q+Y.length;return Object.assign(j,{compressedSize:q,lastModDate:k,rawLastModDate:z,creationDate:a,lastAccessDate:r,encrypted:E,length:K}),j}async function tUe(e,t,n){const i=e.writer,o=e.files;let r=0,a=0,s=e.offset,c=o.size;for(const[,f]of o)a+=46+f.rawFilename.length+f.rawComment.length+f.rawExtraFieldZip64.length+f.rawExtraFieldAES.length+f.rawExtraFieldExtendedTimestamp.length+f.rawExtraFieldNTFS.length+f.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(s>=Oke||a>=Oke||c>=wke){if(!1===n.zip64||!1===e.options.zip64)throw new Error(Yze);l=!0}const u=new Uint8Array(a+(l?Nke:Pke)),h=dUe(u);if(t&&t.length){if(!(t.length<=wke))throw new Error(zze);cUe(h,r+20,t.length)}for(const[f,p]of Array.from(o.values()).entries()){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,versionMadeBy:c,headerArray:l,directory:m,zip64:_,msDosCompatible:g,internalFileAttribute:b,externalFileAttribute:y}=p;let v,O;if(p.extendedTimestamp){O=p.rawExtraFieldNTFS,v=new Uint8Array(9);const e=dUe(v);cUe(e,0,Uke),cUe(e,2,v.length-4),sUe(e,4,1),lUe(e,5,Math.floor(p.lastModDate.getTime()/1e3))}else O=v=new Uint8Array(0);const w=t.length+i.length+v.length+O.length+a.length;if(lUe(h,r,Ske),cUe(h,r+4,c),hUe(u,l,r+6),cUe(h,r+30,w),cUe(h,r+32,s.length),lUe(h,r+34,b),y?lUe(h,r+38,y):m&&g&&sUe(h,r+38,Xke),lUe(h,r+42,_?Oke:p.offset),hUe(u,e,r+46),hUe(u,t,r+46+e.length),hUe(u,i,r+46+e.length+t.length),hUe(u,v,r+46+e.length+t.length+i.length),hUe(u,O,r+46+e.length+t.length+i.length+v.length),hUe(u,a,r+46+e.length+t.length+i.length+v.length+O.length),hUe(u,s,r+46+e.length+w),r+=46+e.length+w+s.length,n.onprogress)try{n.onprogress(f+1,o.size,new rze(p))}catch(d){}}l&&(lUe(h,r,Dke),uUe(h,r+4,BigInt(44)),cUe(h,r+12,45),cUe(h,r+14,45),uUe(h,r+24,BigInt(c)),uUe(h,r+32,BigInt(c)),uUe(h,r+40,BigInt(a)),uUe(h,r+48,BigInt(s)),lUe(h,r+56,jke),uUe(h,r+64,BigInt(s)+BigInt(a)),lUe(h,r+72,Lke),c=wke,s=Oke,a=Oke,r+=76),lUe(h,r,Ike),cUe(h,r+8,c),cUe(h,r+10,c),lUe(h,r+12,a),lUe(h,r+16,s),await i.writeUint8Array(u),t&&t.length&&await i.writeUint8Array(t)}function nUe(e,t,n){if(e.arrayBuffer)return t||n?e.slice(t,n).arrayBuffer():e.arrayBuffer();{const i=new FileReader;return new Promise((o,r)=>{i.onload=e=>o(e.target.result),i.onerror=()=>r(i.error),i.readAsArrayBuffer(t||n?e.slice(t,n):e)})}}async function iUe(e,t,n=0){const i=536870912;async function o(){if(n<t.size){const r=await nUe(t,n,n+i);await e.writeUint8Array(new Uint8Array(r)),n+=i,await o()}}await o()}function oUe(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function rUe(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function aUe(e){return e+5*(Math.floor(e/16383)+1)}function sUe(e,t,n){e.setUint8(t,n)}function cUe(e,t,n){e.setUint16(t,n,!0)}function lUe(e,t,n){e.setUint32(t,n,!0)}function uUe(e,t,n){e.setBigUint64(t,n,!0)}function hUe(e,t,n){e.set(t,n)}function dUe(e){return new DataView(e.buffer)}fBe({Deflate:tLe,Inflate:lBe});var fUe=Object.freeze({__proto__:null,configure:fBe,getMimeType:pBe,terminateWorkers:DFe,ERR_ABORT:PFe,Reader:YFe,Writer:XFe,TextReader:KFe,TextWriter:JFe,Data64URIReader:ZFe,Data64URIWriter:$Fe,BlobReader:QFe,BlobWriter:eke,Uint8ArrayReader:bke,Uint8ArrayWriter:yke,HttpReader:_ke,HttpRangeReader:gke,WritableStreamWriter:ike,ERR_HTTP_RANGE:BFe,ZipReader:yze,ERR_BAD_FORMAT:aze,ERR_EOCDR_NOT_FOUND:sze,ERR_EOCDR_ZIP64_NOT_FOUND:cze,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:lze,ERR_CENTRAL_DIRECTORY_NOT_FOUND:uze,ERR_LOCAL_FILE_HEADER_NOT_FOUND:hze,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:dze,ERR_ENCRYPTED:fze,ERR_UNSUPPORTED_ENCRYPTION:pze,ERR_UNSUPPORTED_COMPRESSION:mze,ERR_INVALID_SIGNATURE:pFe,ERR_INVALID_PASSWORD:CBe,ZipWriter:Zze,ERR_DUPLICATED_NAME:kze,ERR_INVALID_COMMENT:zze,ERR_INVALID_ENTRY_NAME:Vze,ERR_INVALID_ENTRY_COMMENT:Uze,ERR_INVALID_VERSION:Hze,ERR_INVALID_EXTRAFIELD_TYPE:qze,ERR_INVALID_EXTRAFIELD_DATA:Wze,ERR_INVALID_ENCRYPTION_STRENGTH:Gze,ERR_UNSUPPORTED_FORMAT:Yze});function pUe(e){if("string"===typeof e){const t=document.getElementById(e);if(null===t)throw new a["a"](`Element with id "${e}" does not exist in the document.`);e=t}return e}var mUe=pUe;function _Ue(e,t){this.position=e,this.headingPitchRange=t}var gUe=_Ue;function bUe(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new pi["a"],this.tourEnd=new pi["a"],this.entryStart=new pi["a"],this.entryEnd=new pi["a"],this._activeEntries=[]}function yUe(e){for(let t=e.pop();void 0!==t;t=e.pop())t.stop()}function vUe(e,t,n){const i=this.playlist[this.playlistIndex];if(i){const o=OUe.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{const r=this;i.play((function(){r.entryEnd.raiseEvent(i);const e=r._activeEntries.indexOf(i);e>=0&&r._activeEntries.splice(e,1)})),o(e,t,n)}}else Object(r["a"])(n)&&n(!1)}function OUe(e,t,n,i){const o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{const i=this._activeEntries.indexOf(o);i>=0&&this._activeEntries.splice(i,1),this.playlistIndex++,vUe.call(this,e,t,n)}}bUe.prototype.addPlaylistEntry=function(e){this.playlist.push(e)},bUe.prototype.play=function(e,t){this.tourStart.raiseEvent();const n=this;vUe.call(this,e,t,(function(e){n.playlistIndex=0,e||yUe(n._activeEntries),n.tourEnd.raiseEvent(e)}))},bUe.prototype.stop=function(){yUe(this._activeEntries)};var wUe=bUe;function AUe(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}AUe.prototype.play=function(e,t,n){if(this.activeCamera=t,Object(r["a"])(e)&&null!==e){const t=this;this.activeCallback=function(n){delete t.activeCallback,delete t.activeCamera,e(!Object(r["a"])(n)&&n)}}const i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){const e=new Tt(this.view.position);t.flyToBoundingSphere(e,i)}},AUe.prototype.stop=function(){Object(r["a"])(this.activeCamera)&&this.activeCamera.cancelFlight(),Object(r["a"])(this.activeCallback)&&this.activeCallback(!0)},AUe.prototype.getCameraOptions=function(e){let t={duration:this.duration};return Object(r["a"])(this.activeCallback)&&(t.complete=this.activeCallback),"smooth"===this.flyToMode&&(t.easingFunction=Aw.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),Object(r["a"])(e)&&(t=Object(xS["a"])(t,e)),t};var TUe=AUe;function CUe(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}CUe.prototype.play=function(e){const t=this;this.activeCallback=e,this.timeout=setTimeout((function(){delete t.activeCallback,e(!1)}),1e3*this.duration)},CUe.prototype.stop=function(){clearTimeout(this.timeout),Object(r["a"])(this.activeCallback)&&this.activeCallback(!0)};var EUe=CUe;const xUe={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=Object(XL["a"])(t),xUe[t]}};let SUe;"undefined"!==typeof DOMParser&&(SUe=new DOMParser);const IUe=new iMe({stripPrefix:!1,email:!1,replaceFn:function(e){if(!e.protocolUrlMatch)return!1}}),DUe=32,jUe=2414016,PUe=1,RUe=16093e3,MUe=.1,NUe=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],LUe=["http://www.google.com/kml/ext/2.2"],BUe=["http://www.w3.org/2005/Atom"],FUe={kml:NUe,gx:LUe,atom:BUe,kmlgx:NUe.concat(LUe)},kUe={Document:UVe,Folder:VVe,Placemark:HVe,NetworkLink:sHe,GroundOverlay:$Ve,PhotoOverlay:QVe,ScreenOverlay:ZVe,Tour:qVe};function zUe(e){this._dataSource=e,this._deferred=Object(xr["a"])(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}function UUe(e){const t=e.slice(0,Math.min(4,e.size)),n=Object(xr["a"])(),i=new FileReader;return i.addEventListener("load",(function(){n.resolve(1347093252===new DataView(i.result).getUint32(0,!1))})),i.addEventListener("error",(function(){n.reject(i.error)})),i.readAsArrayBuffer(t),n.promise}function VUe(e){const t=Object(xr["a"])(),n=new FileReader;return n.addEventListener("load",(function(){t.resolve(n.result)})),n.addEventListener("error",(function(){t.reject(n.error)})),n.readAsText(e),t.promise}function HUe(e){const t={xsi:"http://www.w3.org/2001/XMLSchema-instance"};let n,i,o,a;for(const s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),a=`xmlns:${s}=`,o.test(e)&&-1===e.indexOf(a)&&(Object(r["a"])(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${a}"${t[s]}"`));return Object(r["a"])(n)&&(e=n+i),e}function GUe(e){let t=e.indexOf("xmlns:");const n=e.indexOf(">",t);let i,o,r;while(-1!==t&&t<n)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),-1!==t?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function qUe(e,t){return Promise.resolve(e.getData(new fUe.TextWriter)).then((function(e){e=HUe(e),e=GUe(e),t.kml=SUe.parseFromString(e,"application/xml")}))}function WUe(e,t){const n=Object(o["a"])(xUe.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new fUe.Data64URIWriter(n))).then((function(n){t[e.filename]=n}))}function YUe(e,t,n,i){const o=i.keys,r=new Hl["a"]("."),a=e.querySelectorAll(t);for(let s=0;s<a.length;s++){const e=a[s],c=e.getAttribute(n),l=new Hl["a"](c),u=l.absoluteTo(r).toString(),h=o.indexOf(u);if(-1!==h){const r=o[h];e.setAttribute(n,i[r]),"a"===t&&null===e.getAttribute("download")&&e.setAttribute("download",r)}}}function XUe(e,t,n,i){const o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){const e=o[r],t=e.getAttribute(n),a=sVe(t,i);e.setAttribute(n,a.url)}}function KUe(e,t,n){let i=eVe(e,"id");i=Object(r["a"])(i)&&0!==i.length?i:RL(),Object(r["a"])(n)&&(i=n+i);let o=t.getById(i);return Object(r["a"])(o)&&(i=RL(),Object(r["a"])(n)&&(i=n+i)),o=t.add(new vK({id:i})),Object(r["a"])(o.kml)||(o.addProperty("kml"),o.kml=new _He),o}function JUe(e,t){return"absolute"===e||"relativeToGround"===e||"relativeToSeaFloor"===t}function ZUe(e,t){if(!Object(r["a"])(e))return g.fromDegrees(0,0,0,t);const n=e.match(/[^\s,\n]+/g);if(!Object(r["a"])(n))return g.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),a=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,a=isNaN(a)?0:a,g.fromDegrees(i,o,a,t)}function $Ue(e,t){if(!Object(r["a"])(e))return;const n=e.textContent.match(/[^\s\n]+/g);if(!Object(r["a"])(n))return;const i=n.length,o=new Array(i);let a=0;for(let r=0;r<i;r++)o[a++]=ZUe(n[r],t);return o}function QUe(e,t){if(!Object(r["a"])(e))return;const n=e.getAttribute(t);if(null!==n){const e=parseFloat(n);return isNaN(e)?void 0:e}}function eVe(e,t){if(!Object(r["a"])(e))return;const n=e.getAttribute(t);return null!==n?n:void 0}function tVe(e,t,n){if(!Object(r["a"])(e))return;const i=e.childNodes,o=i.length;for(let r=0;r<o;r++){const e=i[r];if(e.localName===t&&-1!==n.indexOf(e.namespaceURI))return e}}function nVe(e,t,n){if(!Object(r["a"])(e))return;const i=[],o=e.getElementsByTagNameNS("*",t),a=o.length;for(let r=0;r<a;r++){const e=o[r];e.localName===t&&-1!==n.indexOf(e.namespaceURI)&&i.push(e)}return i}function iVe(e,t,n){if(!Object(r["a"])(e))return[];const i=[],o=e.childNodes,a=o.length;for(let r=0;r<a;r++){const e=o[r];e.localName===t&&-1!==n.indexOf(e.namespaceURI)&&i.push(e)}return i}function oVe(e,t,n){const i=tVe(e,t,n);if(Object(r["a"])(i)){const e=parseFloat(i.textContent);return isNaN(e)?void 0:e}}function rVe(e,t,n){const i=tVe(e,t,n);if(Object(r["a"])(i))return i.textContent.trim()}function aVe(e,t,n){const i=tVe(e,t,n);if(Object(r["a"])(i)){const e=i.textContent.trim();return"1"===e||/^true$/i.test(e)}}function sVe(e,t,n){if(!Object(r["a"])(e))return;let i;if(Object(r["a"])(n)){e=e.replace(/\\/g,"/");let o=n[e];if(Object(r["a"])(o))i=new Et["a"]({url:o});else{const a=new Hl["a"](t.getUrlComponent()),s=new Hl["a"](e);o=n[s.absoluteTo(a)],Object(r["a"])(o)&&(i=new Et["a"]({url:o}))}}return Object(r["a"])(i)||(i=t.getDerivedResource({url:e})),i}Object.defineProperties(zUe.prototype,{dataSource:{get:function(){return this._dataSource}}}),zUe.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0},zUe.prototype.addPromise=function(e){this._promises.push(e)},zUe.prototype.wait=function(){const e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])},zUe.prototype.process=function(){const e=1===this._stack.length;return e&&(this._started=dHe._getTimestamp()),this._process(e)},zUe.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;const e=this;setTimeout((function(){e._timeoutSet=!1,e._started=dHe._getTimestamp(),e._process(!0)}),0)},zUe.prototype._nextNode=function(){const e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]},zUe.prototype._pop=function(){const e=this._stack;return e.pop(),0!==e.length||(this._deferred.resolve(),!1)},zUe.prototype._process=function(e){const t=this.dataSource,n=this._stack[this._stack.length-1].processingData;let i=this._nextNode();while(Object(r["a"])(i)){const e=kUe[i.localName];if(Object(r["a"])(e)&&(-1!==FUe.kml.indexOf(i.namespaceURI)||-1!==FUe.gx.indexOf(i.namespaceURI))&&(e(t,i,n,this),this._timeoutSet||dHe._getTimestamp()>this._started+this._timeThreshold))return void this._giveUpTime();i=this._nextNode()}this._pop()&&e&&this._process(!0)};const cVe={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function lVe(e,t){if(!Object(r["a"])(e)||/^\s*$/gm.test(e))return;"#"===e[0]&&(e=e.substring(1));const n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,a=parseInt(e.substring(6,8),16)/255;return t?(a>0?(cVe.maximumRed=a,cVe.red=void 0):(cVe.maximumRed=void 0,cVe.red=0),o>0?(cVe.maximumGreen=o,cVe.green=void 0):(cVe.maximumGreen=void 0,cVe.green=0),i>0?(cVe.maximumBlue=i,cVe.blue=void 0):(cVe.maximumBlue=void 0,cVe.blue=0),cVe.alpha=n,j_.fromRandom(cVe)):new j_(a,o,i,n)}function uVe(e,t,n){const i=rVe(e,t,n);if(Object(r["a"])(i))return lVe(i,"random"===rVe(e,"colorMode",n))}function hVe(e){const t=tVe(e,"TimeStamp",FUe.kmlgx),n=rVe(t,"when",FUe.kmlgx);if(!Object(r["a"])(t)||!Object(r["a"])(n)||0===n.length)return;const i=gr.fromIso8601(n),o=new CN;return o.addInterval(new Mx({start:i,stop:kx.MAXIMUM_VALUE})),o}function dVe(e){const t=tVe(e,"TimeSpan",FUe.kmlgx);if(!Object(r["a"])(t))return;let n;const i=tVe(t,"begin",FUe.kmlgx);let o=Object(r["a"])(i)?gr.fromIso8601(i.textContent):void 0;const a=tVe(t,"end",FUe.kmlgx);let s=Object(r["a"])(a)?gr.fromIso8601(a.textContent):void 0;if(Object(r["a"])(o)&&Object(r["a"])(s)){if(gr.lessThan(s,o)){const e=o;o=s,s=e}n=new CN,n.addInterval(new Mx({start:o,stop:s}))}else Object(r["a"])(o)?(n=new CN,n.addInterval(new Mx({start:o,stop:kx.MAXIMUM_VALUE}))):Object(r["a"])(s)&&(n=new CN,n.addInterval(new Mx({start:kx.MINIMUM_VALUE,stop:s})));return n}function fVe(){const e=new HB;return e.width=DUe,e.height=DUe,e.scaleByDistance=new cS(jUe,PUe,RUe,MUe),e.pixelOffsetScaleByDistance=new cS(jUe,PUe,RUe,MUe),e}function pVe(){const e=new nK;return e.outline=!0,e.outlineColor=j_.WHITE,e}function mVe(){const e=new RX;return e.translucencyByDistance=new cS(3e6,1,5e6,0),e.pixelOffset=new Ht(17,0),e.horizontalOrigin=YB.LEFT,e.font="16px sans-serif",e.style=Jre.FILL_AND_OUTLINE,e}function _Ve(e,t,n,i,a){let s=rVe(e,"href",FUe.kml);if(!Object(r["a"])(s)||0===s.length)return;if(0===s.indexOf("root://icons/palette-")){const t=s.charAt(21);let n=Object(o["a"])(oVe(e,"x",FUe.gx),0),i=Object(o["a"])(oVe(e,"y",FUe.gx),0);n=Math.min(n/32,7),i=7-Math.min(i/32,7);const r=8*i+n;s=`https://maps.google.com/mapfiles/kml/pal${t}/icon${r}.png`}const c=sVe(s,n,i);if(a){const n=rVe(e,"refreshMode",FUe.kml),i=rVe(e,"viewRefreshMode",FUe.kml);"onInterval"===n||"onExpire"===n?ky("kml-refreshMode-"+n,"KML - Unsupported Icon refreshMode: "+n):"onStop"!==i&&"onRegion"!==i||ky("kml-refreshMode-"+i,"KML - Unsupported Icon viewRefreshMode: "+i);const a=Object(o["a"])(rVe(e,"viewBoundScale",FUe.kml),1),s="onStop"===i?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",l=Object(o["a"])(rVe(e,"viewFormat",FUe.kml),s),u=rVe(e,"httpQuery",FUe.kml);Object(r["a"])(l)&&c.setQueryParameters(Object(gB["a"])(tHe(l))),Object(r["a"])(u)&&c.setQueryParameters(Object(gB["a"])(tHe(u)));const h=t._ellipsoid;return aHe(c,t.camera,t.canvas,a,t._lastCameraView.bbox,h),c}return c}function gVe(e,t,n,i,a){let c=oVe(t,"scale",FUe.kml);const l=oVe(t,"heading",FUe.kml),u=uVe(t,"color",FUe.kml),h=tVe(t,"Icon",FUe.kml);let d=_Ve(h,e,i,a,!1);Object(r["a"])(h)&&!Object(r["a"])(d)&&(d=!1);const f=oVe(h,"x",FUe.gx),p=oVe(h,"y",FUe.gx),m=oVe(h,"w",FUe.gx),_=oVe(h,"h",FUe.gx),b=tVe(t,"hotSpot",FUe.kml),y=QUe(b,"x"),v=QUe(b,"y"),O=eVe(b,"xunits"),w=eVe(b,"yunits");let A,T,C=n.billboard;Object(r["a"])(C)||(C=fVe(),n.billboard=C),C.image=d,C.scale=c,C.color=u,(Object(r["a"])(f)||Object(r["a"])(p)||Object(r["a"])(m)||Object(r["a"])(_))&&(C.imageSubRegion=new Oh(f,p,m,_)),Object(r["a"])(l)&&0!==l&&(C.rotation=s["a"].toRadians(-l),C.alignedAxis=g.UNIT_Z),c=Object(o["a"])(c,1),Object(r["a"])(y)&&("pixels"===O?A=-y*c:"insetPixels"===O?A=(y-DUe)*c:"fraction"===O&&(A=-y*DUe*c),A+=.5*DUe*c),Object(r["a"])(v)&&("pixels"===w?T=v*c:"insetPixels"===w?T=(-v+DUe)*c:"fraction"===w&&(T=v*DUe*c),T-=.5*DUe*c),(Object(r["a"])(A)||Object(r["a"])(T))&&(C.pixelOffset=new Ht(A,T))}function bVe(e,t,n,i,a){for(let s=0,c=t.childNodes.length;s<c;s++){const c=t.childNodes.item(s);if("IconStyle"===c.localName)gVe(e,c,n,i,a);else if("LabelStyle"===c.localName){let e=n.label;Object(r["a"])(e)||(e=mVe(),n.label=e),e.scale=Object(o["a"])(oVe(c,"scale",FUe.kml),e.scale),e.fillColor=Object(o["a"])(uVe(c,"color",FUe.kml),e.fillColor),e.text=n.name}else if("LineStyle"===c.localName){let e=n.polyline;Object(r["a"])(e)||(e=new oK,n.polyline=e),e.width=oVe(c,"width",FUe.kml),e.material=uVe(c,"color",FUe.kml),Object(r["a"])(uVe(c,"outerColor",FUe.gx))&&ky("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),Object(r["a"])(oVe(c,"outerWidth",FUe.gx))&&ky("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),Object(r["a"])(oVe(c,"physicalWidth",FUe.gx))&&ky("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),Object(r["a"])(aVe(c,"labelVisibility",FUe.gx))&&ky("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if("PolyStyle"===c.localName){let e=n.polygon;Object(r["a"])(e)||(e=pVe(),n.polygon=e),e.material=Object(o["a"])(uVe(c,"color",FUe.kml),e.material),e.fill=Object(o["a"])(aVe(c,"fill",FUe.kml),e.fill),e.outline=Object(o["a"])(aVe(c,"outline",FUe.kml),e.outline)}else if("BalloonStyle"===c.localName){const e=Object(o["a"])(lVe(rVe(c,"bgColor",FUe.kml)),j_.WHITE),t=Object(o["a"])(lVe(rVe(c,"textColor",FUe.kml)),j_.BLACK),i=rVe(c,"text",FUe.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:e,textColor:t,text:i}}else if("ListStyle"===c.localName){const e=rVe(c,"listItemType",FUe.kml);"radioFolder"!==e&&"checkOffOnly"!==e||ky("kml-listStyle-"+e,"KML - Unsupported ListStyle with listItemType: "+e)}}}function yVe(e,t,n,i,o){const a=new vK;let s,c=-1;const l=t.childNodes,u=l.length;for(let r=0;r<u;r++){const e=l[r];"Style"!==e.localName&&"StyleMap"!==e.localName||(c=r)}if(-1!==c){const t=l[c];if("Style"===t.localName)bVe(e,t,a,i,o);else{const c=iVe(t,"Pair",FUe.kml);for(let t=0;t<c.length;t++){const l=c[t],u=rVe(l,"key",FUe.kml);if("normal"===u){const t=rVe(l,"styleUrl",FUe.kml);if(Object(r["a"])(t))s=n.getById(t),Object(r["a"])(s)||(s=n.getById("#"+t)),Object(r["a"])(s)&&a.merge(s);else{const t=tVe(l,"Style",FUe.kml);bVe(e,t,a,i,o)}}else ky("kml-styleMap-"+u,"KML - Unsupported StyleMap key: "+u)}}}const h=rVe(t,"styleUrl",FUe.kml);if(Object(r["a"])(h)){let e=h;if("#"!==h[0]&&-1!==h.indexOf("#")){const t=h.split("#"),n=t[0],o=i.getDerivedResource({url:n});e=`${o.getUrlComponent()}#${t[1]}`}s=n.getById(e),Object(r["a"])(s)||(s=n.getById("#"+e)),Object(r["a"])(s)&&a.merge(s)}return a}function vVe(e,t,n){return t.fetchXML().then((function(i){return OVe(e,i,n,t,!0)}))}function OVe(e,t,n,i,o,a){let s,c,l,u;const h=nVe(t,"Style",FUe.kml);if(Object(r["a"])(h)){const t=h.length;for(s=0;s<t;s++)u=h[s],c=eVe(u,"id"),Object(r["a"])(c)&&(c="#"+c,o&&Object(r["a"])(i)&&(c=i.getUrlComponent()+c),Object(r["a"])(n.getById(c))||(l=new vK({id:c}),n.add(l),bVe(e,u,l,i,a)))}const d=nVe(t,"StyleMap",FUe.kml);if(Object(r["a"])(d)){const t=d.length;for(s=0;s<t;s++){const t=d[s];if(c=eVe(t,"id"),Object(r["a"])(c)){const s=iVe(t,"Pair",FUe.kml);for(let t=0;t<s.length;t++){const h=s[t],d=rVe(h,"key",FUe.kml);if("normal"===d){if(c="#"+c,o&&Object(r["a"])(i)&&(c=i.getUrlComponent()+c),!Object(r["a"])(n.getById(c))){l=n.getOrCreateEntity(c);let t=rVe(h,"styleUrl",FUe.kml);if(Object(r["a"])(t)){"#"!==t[0]&&(t="#"+t),o&&Object(r["a"])(i)&&(t=i.getUrlComponent()+t);const e=n.getById(t);Object(r["a"])(e)&&l.merge(e)}else u=tVe(h,"Style",FUe.kml),bVe(e,u,l,i,a)}}else ky("kml-styleMap-"+d,"KML - Unsupported StyleMap key: "+d)}}}}const f=[],p=t.getElementsByTagName("styleUrl"),m=p.length;for(s=0;s<m;s++){const t=p[s].textContent;if("#"!==t[0]){const o=t.split("#");if(2===o.length){const t=o[0],r=i.getDerivedResource({url:t});f.push(vVe(e,r,n))}}}return f}function wVe(e,t,n){const i=new qTe(e,t.id,["position"]),o=new bDe(t.position);t.polyline=Object(r["a"])(n.polyline)?n.polyline.clone():new oK,t.polyline.positions=new zTe([i,o])}function AVe(e,t){return!Object(r["a"])(e)&&!Object(r["a"])(t)||"clampToGround"===e?qB.CLAMP_TO_GROUND:"relativeToGround"===e?qB.RELATIVE_TO_GROUND:"absolute"===e?qB.NONE:"clampToSeaFloor"===t?(ky("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),qB.CLAMP_TO_GROUND):"relativeToSeaFloor"===t?(ky("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),qB.RELATIVE_TO_GROUND):(Object(r["a"])(e)?ky("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):ky("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),qB.CLAMP_TO_GROUND)}function TVe(e,t,n){return"relativeToSeaFloor"===n||"absolute"===t||"relativeToGround"===t?e:((Object(r["a"])(t)&&"clampToGround"!==t||Object(r["a"])(n)&&"clampToSeaFloor"!==n)&&ky("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+Object(o["a"])(t,n)),new bDe(e))}function CVe(e,t,n,i){if(!Object(r["a"])(e))return;if("relativeToSeaFloor"===n||"absolute"===t||"relativeToGround"===t)return e;(Object(r["a"])(t)&&"clampToGround"!==t||Object(r["a"])(n)&&"clampToSeaFloor"!==n)&&ky("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+Object(o["a"])(t,n));const a=e.length;for(let o=0;o<a;o++){const t=e[o];i.scaleToGeodeticSurface(t,t)}return e}function EVe(e,t,n,i){let o=t.label;Object(r["a"])(o)||(o=Object(r["a"])(n.label)?n.label.clone():mVe(),t.label=o),o.text=t.name;let a=t.billboard;Object(r["a"])(a)||(a=Object(r["a"])(n.billboard)?n.billboard.clone():fVe(),t.billboard=a),Object(r["a"])(a.image)?a.image.getValue()||(a.image=void 0):a.image=e._pinBuilder.fromColor(j_.YELLOW,64);let s=1;Object(r["a"])(a.scale)&&(s=a.scale.getValue(),0!==s?o.pixelOffset=new Ht(16*s+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),Object(r["a"])(i)&&e._clampToGround&&(a.heightReference=i,o.heightReference=i)}function xVe(e,t){let n=e.path;Object(r["a"])(n)||(n=new KX,n.leadTime=0,e.path=n);const i=t.polyline;Object(r["a"])(i)&&(n.material=i.material,n.width=i.width)}function SVe(e,t,n,i,o){const r=rVe(n,"coordinates",FUe.kml),a=rVe(n,"altitudeMode",FUe.kml),s=rVe(n,"altitudeMode",FUe.gx),c=aVe(n,"extrude",FUe.kml),l=e._ellipsoid,u=ZUe(r,l);return i.position=u,EVe(e,i,o,AVe(a,s)),c&&JUe(a,s)&&wVe(t,i,o),!0}function IVe(e,t,n,i,a){const s=tVe(n,"coordinates",FUe.kml),c=rVe(n,"altitudeMode",FUe.kml),l=rVe(n,"altitudeMode",FUe.gx),u=aVe(n,"extrude",FUe.kml),h=aVe(n,"tessellate",FUe.kml),d=JUe(c,l),f=oVe(n,"drawOrder",FUe.gx),p=e._ellipsoid,m=$Ue(s,p);let _=a.polyline;if(d&&u){const e=new uK;i.wall=e,e.positions=m;const t=a.polygon;Object(r["a"])(t)&&(e.fill=t.fill,e.material=t.material),e.outline=!0,Object(r["a"])(_)?(e.outlineColor=Object(r["a"])(_.material)?_.material.color:j_.WHITE,e.outlineWidth=_.width):Object(r["a"])(t)&&(e.outlineColor=Object(r["a"])(t.material)?t.material.color:j_.WHITE)}else if(e._clampToGround&&!d&&h){const e=new oK;e.clampToGround=!0,i.polyline=e,e.positions=m,Object(r["a"])(_)?(e.material=Object(r["a"])(_.material)?_.material.color.getValue(kx.MINIMUM_VALUE):j_.WHITE,e.width=Object(o["a"])(_.width,1)):(e.material=j_.WHITE,e.width=1),e.zIndex=f}else Object(r["a"])(f)&&ky("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!h&&ky("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),_=Object(r["a"])(_)?_.clone():new oK,i.polyline=_,_.positions=CVe(m,c,l,p),h&&!d||(_.arcType=hh.NONE);return!0}function DVe(e,t,n,i,o){const a=tVe(n,"outerBoundaryIs",FUe.kml);let s=tVe(a,"LinearRing",FUe.kml),c=tVe(s,"coordinates",FUe.kml);const l=e._ellipsoid;let u=$Ue(c,l);const h=aVe(n,"extrude",FUe.kml),d=rVe(n,"altitudeMode",FUe.kml),f=rVe(n,"altitudeMode",FUe.gx),p=JUe(d,f),m=Object(r["a"])(o.polygon)?o.polygon.clone():pVe(),_=o.polyline;if(Object(r["a"])(_)&&(m.outlineColor=Object(r["a"])(_.material)?_.material.color:j_.WHITE,m.outlineWidth=_.width),i.polygon=m,p?(m.perPositionHeight=!0,m.extrudedHeight=h?0:void 0):e._clampToGround||(m.height=0),Object(r["a"])(u)){const e=new UI(u),t=iVe(n,"innerBoundaryIs",FUe.kml);for(let n=0;n<t.length;n++){s=iVe(t[n],"LinearRing",FUe.kml);for(let t=0;t<s.length;t++)c=tVe(s[t],"coordinates",FUe.kml),u=$Ue(c,l),Object(r["a"])(u)&&e.holes.push(new UI(u))}m.hierarchy=e}return!0}function jVe(e,t,n,i,o){const r=rVe(n,"altitudeMode",FUe.kml),a=rVe(n,"altitudeMode",FUe.gx),s=iVe(n,"coord",FUe.gx),c=iVe(n,"angles",FUe.gx),l=iVe(n,"when",FUe.kml),u=aVe(n,"extrude",FUe.kml),h=JUe(r,a),d=e._ellipsoid;c.length>0&&ky("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");const f=Math.min(s.length,l.length),p=[],m=[];for(let g=0;g<f;g++){const e=ZUe(s[g].textContent,d);p.push(e),m.push(gr.fromIso8601(l[g].textContent))}const _=new oCe;return _.addSamples(m,p),i.position=_,EVe(e,i,o,AVe(r,a)),xVe(i,o),i.availability=new CN,l.length>0&&i.availability.addInterval(new Mx({start:m[0],stop:m[m.length-1]})),h&&u&&wVe(t,i,o),!0}function PVe(e,t,n,i,o,r,a,s,c){const l=e[0],u=e[e.length-1],h=new oCe;h.addSamples(e,t),n.intervals.addInterval(new Mx({start:l,stop:u,isStartIncluded:c,isStopIncluded:c,data:TVe(h,a,s)})),i.addInterval(new Mx({start:l,stop:u,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new Mx({start:l,stop:u,isStartIncluded:c,isStopIncluded:c,data:r}))}function RVe(e,t,n,i,o){const a=aVe(n,"interpolate",FUe.gx),s=iVe(n,"Track",FUe.gx);let c,l,u,h=!1;const d=new gCe,f=new CN,p=new vwe,m=e._ellipsoid;for(let _=0,g=s.length;_<g;_++){const e=s[_],t=iVe(e,"when",FUe.kml),n=iVe(e,"coord",FUe.gx),i=rVe(e,"altitudeMode",FUe.kml),o=rVe(e,"altitudeMode",FUe.gx),g=JUe(i,o),b=aVe(e,"extrude",FUe.kml),y=Math.min(n.length,t.length),v=[];c=[];for(let r=0;r<y;r++){const e=ZUe(n[r].textContent,m);v.push(e),c.push(gr.fromIso8601(t[r].textContent))}a&&(Object(r["a"])(l)&&PVe([l,c[0]],[u,v[0]],p,f,d,!1,"absolute",void 0,!1),l=c[y-1],u=v[v.length-1]),PVe(c,v,p,f,d,g&&b,i,o,!0),h=h||g&&b}return i.availability=f,i.position=p,EVe(e,i,o),xVe(i,o),h&&(wVe(t,i,o),i.polyline.show=d),!0}const MVe={Point:SVe,LineString:IVe,LinearRing:IVe,Polygon:DVe,Track:jVe,MultiTrack:RVe,MultiGeometry:NVe,Model:LVe};function NVe(e,t,n,i,o,a){const s=n.childNodes;let c=!1;for(let l=0,u=s.length;l<u;l++){const n=s.item(l),u=MVe[n.localName];if(Object(r["a"])(u)){const r=KUe(n,t,a);r.parent=i,r.name=i.name,r.availability=i.availability,r.description=i.description,r.kml=i.kml,u(e,t,n,r,o)&&(c=!0)}}return c}function LVe(e,t,n,i,o){return ky("kml-unsupportedGeometry","KML - Unsupported geometry: "+n.localName),!1}function BVe(e,t){const n=tVe(e,"ExtendedData",FUe.kml);if(!Object(r["a"])(n))return;Object(r["a"])(tVe(n,"SchemaData",FUe.kml))&&ky("kml-schemaData","KML - SchemaData is unsupported"),Object(r["a"])(eVe(n,"xmlns:prefix"))&&ky("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");const i={},o=iVe(n,"Data",FUe.kml);if(Object(r["a"])(o)){const e=o.length;for(let t=0;t<e;t++){const e=o[t],n=eVe(e,"name");Object(r["a"])(n)&&(i[n]={displayName:rVe(e,"displayName",FUe.kml),value:rVe(e,"value",FUe.kml)})}}t.kml.extendedData=i}let FVe;function kVe(e,t,n,i,a){let s,c,l;const u=t.kml,h=u.extendedData,d=rVe(e,"description",FUe.kml),f=Object(o["a"])(t.balloonStyle,n.balloonStyle);let p,m=j_.WHITE,_=j_.BLACK,g=d;if(Object(r["a"])(f)&&(m=Object(o["a"])(f.bgColor,j_.WHITE),_=Object(o["a"])(f.textColor,j_.BLACK),g=Object(o["a"])(f.text,d)),Object(r["a"])(g)){if(g=g.replace("$[name]",Object(o["a"])(t.name,"")),g=g.replace("$[description]",Object(o["a"])(d,"")),g=g.replace("$[address]",Object(o["a"])(u.address,"")),g=g.replace("$[Snippet]",Object(o["a"])(u.snippet,"")),g=g.replace("$[id]",t.id),g=g.replace("$[geDirections]",""),Object(r["a"])(h)){const e=g.match(/\$\[.+?\]/g);if(null!==e)for(s=0;s<e.length;s++){const t=e[s];let n=t.substr(2,t.length-3);const i=/\/displayName$/.test(n);n=n.replace(/\/displayName$/,""),p=h[n],Object(r["a"])(p)&&(p=i?p.displayName:p.value),Object(r["a"])(p)&&(g=g.replace(t,Object(o["a"])(p,"")))}}}else if(Object(r["a"])(h)&&(l=Object.keys(h),l.length>0)){for(g='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',s=0;s<l.length;s++)c=l[s],p=h[c],g+=`<tr><th>${Object(o["a"])(p.displayName,c)}</th><td>${Object(o["a"])(p.value,"")}</td></tr>`;g+="</tbody></table>"}if(!Object(r["a"])(g))return;g=IUe.link(g),FVe.innerHTML=g;const b=FVe.querySelectorAll("a");for(s=0;s<b.length;s++)b[s].setAttribute("target","_blank");Object(r["a"])(i)&&i.keys.length>1&&(YUe(FVe,"a","href",i),YUe(FVe,"link","href",i),YUe(FVe,"area","href",i),YUe(FVe,"img","src",i),YUe(FVe,"iframe","src",i),YUe(FVe,"video","src",i),YUe(FVe,"audio","src",i),YUe(FVe,"source","src",i),YUe(FVe,"track","src",i),YUe(FVe,"input","src",i),YUe(FVe,"embed","src",i),YUe(FVe,"script","src",i),YUe(FVe,"video","poster",i)),XUe(FVe,"a","href",a),XUe(FVe,"link","href",a),XUe(FVe,"area","href",a),XUe(FVe,"img","src",a),XUe(FVe,"iframe","src",a),XUe(FVe,"video","src",a),XUe(FVe,"audio","src",a),XUe(FVe,"source","src",a),XUe(FVe,"track","src",a),XUe(FVe,"input","src",a),XUe(FVe,"embed","src",a),XUe(FVe,"script","src",a),XUe(FVe,"video","poster",a);let y='<div class="cesium-infoBox-description-lighter" style="';y+="overflow:auto;",y+="word-wrap:break-word;",y+=`background-color:${m.toCssColorString()};`,y+=`color:${_.toCssColorString()};`,y+='">',y+=FVe.innerHTML+"</div>",FVe.innerHTML="",t.description=y}function zVe(e,t,n){const i=n.entityCollection,a=n.parentEntity,s=n.sourceResource,c=n.uriResolver,l=KUe(t,i,n.context),u=l.kml,h=yVe(e,t,n.styleCollection,s,c),d=rVe(t,"name",FUe.kml);l.name=d,l.parent=a;let f=dVe(t);function p(e){return!e||e.show&&p(e.parent)}Object(r["a"])(f)||(f=hVe(t)),l.availability=f,fHe(l);const m=aVe(t,"visibility",FUe.kml);l.show=p(a)&&Object(o["a"])(m,!0);const _=tVe(t,"author",FUe.atom),g=u.author;g.name=rVe(_,"name",FUe.atom),g.uri=rVe(_,"uri",FUe.atom),g.email=rVe(_,"email",FUe.atom);const b=tVe(t,"link",FUe.atom),y=u.link;y.href=eVe(b,"href"),y.hreflang=eVe(b,"hreflang"),y.rel=eVe(b,"rel"),y.type=eVe(b,"type"),y.title=eVe(b,"title"),y.length=eVe(b,"length"),u.address=rVe(t,"address",FUe.kml),u.phoneNumber=rVe(t,"phoneNumber",FUe.kml),u.snippet=rVe(t,"Snippet",FUe.kml),BVe(t,l),kVe(t,l,h,c,s);const v=e._ellipsoid;return JVe(t,l,v),KVe(t,l,v),Object(r["a"])(tVe(t,"Region",FUe.kml))&&ky("kml-region","KML - Placemark Regions are unsupported"),{entity:l,styleEntity:h}}function UVe(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function VVe(e,t,n,i){const o=zVe(e,t,n),r=Object(jL["a"])(n);r.parentEntity=o.entity,UVe(e,t,r,i)}function HVe(e,t,n,i){const o=zVe(e,t,n),a=o.entity,s=o.styleEntity;let c=!1;const l=t.childNodes;for(let u=0,h=l.length;u<h&&!c;u++){const t=l.item(u),i=MVe[t.localName];Object(r["a"])(i)&&(i(e,n.entityCollection,t,a,s,a.id),c=!0)}c||(a.merge(s),EVe(e,a,s))}"undefined"!==typeof document&&(FVe=document.createElement("div"));const GVe={FlyTo:XVe,Wait:YVe,SoundCue:WVe,AnimatedUpdate:WVe,TourControl:WVe};function qVe(e,t,n,i){const o=rVe(t,"name",FUe.kml),r=eVe(t,"id"),a=new wUe(o,r),s=tVe(t,"Playlist",FUe.gx);if(s){const t=e._ellipsoid,n=s.childNodes;for(let e=0;e<n.length;e++){const i=n[e];if(i.localName){const e=GVe[i.localName];e?e(a,i,t):console.log("Unknown KML Tour playlist entry type "+i.localName)}}}e._kmlTours.push(a)}function WVe(e,t){ky("KML Tour unsupported node "+t.localName)}function YVe(e,t){const n=oVe(t,"duration",FUe.gx);e.addPlaylistEntry(new EUe(n))}function XVe(e,t,n){const i=oVe(t,"duration",FUe.gx),o=rVe(t,"flyToMode",FUe.gx),r={kml:{}};JVe(t,r,n),KVe(t,r,n);const a=r.kml.lookAt||r.kml.camera,s=new TUe(i,o,a);e.addPlaylistEntry(s)}function KVe(e,t,n){const i=tVe(e,"Camera",FUe.kml);if(Object(r["a"])(i)){const e=Object(o["a"])(oVe(i,"longitude",FUe.kml),0),r=Object(o["a"])(oVe(i,"latitude",FUe.kml),0),a=Object(o["a"])(oVe(i,"altitude",FUe.kml),0),s=Object(o["a"])(oVe(i,"heading",FUe.kml),0),c=Object(o["a"])(oVe(i,"tilt",FUe.kml),0),l=Object(o["a"])(oVe(i,"roll",FUe.kml),0),u=g.fromDegrees(e,r,a,n),h=Er.fromDegrees(s,c-90,l);t.kml.camera=new WMe(u,h)}}function JVe(e,t,n){const i=tVe(e,"LookAt",FUe.kml);if(Object(r["a"])(i)){const e=Object(o["a"])(oVe(i,"longitude",FUe.kml),0),r=Object(o["a"])(oVe(i,"latitude",FUe.kml),0),a=Object(o["a"])(oVe(i,"altitude",FUe.kml),0);let c=oVe(i,"heading",FUe.kml),l=oVe(i,"tilt",FUe.kml);const u=Object(o["a"])(oVe(i,"range",FUe.kml),0);l=s["a"].toRadians(Object(o["a"])(l,0)),c=s["a"].toRadians(Object(o["a"])(c,0));const h=new PE(c,l-s["a"].PI_OVER_TWO,u),d=g.fromDegrees(e,r,a,n);t.kml.lookAt=new gUe(d,h)}}function ZVe(e,t,n,i){const o=n.screenOverlayContainer;if(!Object(r["a"])(o))return;const a=n.sourceResource,s=n.uriResolver,c=tVe(t,"Icon",FUe.kml),l=_Ve(c,e,a,s,!1);if(!Object(r["a"])(l))return;const u=document.createElement("img");e._screenOverlays.push(u),u.src=l.url,u.onload=function(){const e=["position: absolute"],n=tVe(t,"screenXY",FUe.kml),i=tVe(t,"overlayXY",FUe.kml),o=tVe(t,"size",FUe.kml);let a,s,c,l,h,d;Object(r["a"])(o)&&(a=QUe(o,"x"),s=QUe(o,"y"),c=eVe(o,"xunits"),l=eVe(o,"yunits"),Object(r["a"])(a)&&-1!==a&&0!==a&&("fraction"===c?h=`width: ${Math.floor(100*a)}%`:"pixels"===c&&(h=`width: ${a}px`),e.push(h)),Object(r["a"])(s)&&-1!==s&&0!==s&&("fraction"===l?d=`height: ${Math.floor(100*s)}%`:"pixels"===l&&(d=`height: ${s}px`),e.push(d))),u.style=e.join(";");let f=0,p=u.height;Object(r["a"])(i)&&(a=QUe(i,"x"),s=QUe(i,"y"),c=eVe(i,"xunits"),l=eVe(i,"yunits"),Object(r["a"])(a)&&("fraction"===c?f=a*u.width:("pixels"===c||"insetPixels"===c)&&(f=a)),Object(r["a"])(s)&&("fraction"===l?p=s*u.height:("pixels"===l||"insetPixels"===l)&&(p=s))),Object(r["a"])(n)&&(a=QUe(n,"x"),s=QUe(n,"y"),c=eVe(n,"xunits"),l=eVe(n,"yunits"),Object(r["a"])(a)&&("fraction"===c?h=`left: calc(${Math.floor(100*a)}% - ${f}px)`:"pixels"===c?h=`left: ${a-f}px`:"insetPixels"===c&&(h=`right: ${a-f}px`),e.push(h)),Object(r["a"])(s)&&("fraction"===l?d=`bottom: calc(${Math.floor(100*s)}% - ${p}px)`:"pixels"===l?d=`bottom: ${s-p}px`:"insetPixels"===l&&(d=`top: ${s-p}px`),e.push(d))),u.style=e.join(";")},o.appendChild(u)}function $Ve(e,t,n,i){const o=zVe(e,t,n),a=o.entity;let c,l=!1;const u=e._ellipsoid,h=$Ue(tVe(t,"LatLonQuad",FUe.gx),u),d=oVe(t,"drawOrder",FUe.kml);if(Object(r["a"])(h))c=pVe(),c.hierarchy=new UI(h),c.zIndex=d,a.polygon=c,l=!0;else{c=new cK,c.zIndex=d,a.rectangle=c;const e=tVe(t,"LatLonBox",FUe.kml);if(Object(r["a"])(e)){let t=oVe(e,"west",FUe.kml),n=oVe(e,"south",FUe.kml),i=oVe(e,"east",FUe.kml),o=oVe(e,"north",FUe.kml);Object(r["a"])(t)&&(t=s["a"].negativePiToPi(s["a"].toRadians(t))),Object(r["a"])(n)&&(n=s["a"].clampToLatitudeRange(s["a"].toRadians(n))),Object(r["a"])(i)&&(i=s["a"].negativePiToPi(s["a"].toRadians(i))),Object(r["a"])(o)&&(o=s["a"].clampToLatitudeRange(s["a"].toRadians(o))),c.coordinates=new Fe(t,n,i,o);const a=oVe(e,"rotation",FUe.kml);if(Object(r["a"])(a)){const e=s["a"].toRadians(a);c.rotation=e,c.stRotation=e}}}const f=tVe(t,"Icon",FUe.kml),p=_Ve(f,e,n.sourceResource,n.uriResolver,!0);if(Object(r["a"])(p)){l&&ky("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");const e=oVe(f,"x",FUe.gx),n=oVe(f,"y",FUe.gx),i=oVe(f,"w",FUe.gx),o=oVe(f,"h",FUe.gx);(Object(r["a"])(e)||Object(r["a"])(n)||Object(r["a"])(i)||Object(r["a"])(o))&&ky("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),c.material=p,c.material.color=uVe(t,"color",FUe.kml),c.material.transparent=!0}else c.material=uVe(t,"color",FUe.kml);let m=rVe(t,"altitudeMode",FUe.kml);Object(r["a"])(m)?"absolute"===m?(c.height=oVe(t,"altitude",FUe.kml),c.zIndex=void 0):"clampToGround"!==m&&ky("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+m):(m=rVe(t,"altitudeMode",FUe.gx),"relativeToSeaFloor"===m?(ky("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),c.height=oVe(t,"altitude",FUe.kml),c.zIndex=void 0):"clampToSeaFloor"===m?ky("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):Object(r["a"])(m)&&ky("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+m))}function QVe(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),ky("kml-unsupportedFeature-"+t.nodeName,"KML - Unsupported feature: "+t.nodeName)}const eHe={INTERVAL:0,EXPIRE:1,STOP:2};function tHe(e){if(!Object(r["a"])(e)||0===e.length)return"";const t=e[0];return"&"!==t&&"?"!==t||(e=e.substring(1)),e}const nHe=new Fe,iHe=new I,oHe=new Ht,rHe=new g;function aHe(e,t,n,i,a,c){function l(e){return e<-s["a"].PI_OVER_TWO?-s["a"].PI_OVER_TWO:e>s["a"].PI_OVER_TWO?s["a"].PI_OVER_TWO:e}function u(e){return e>s["a"].PI?e-s["a"].TWO_PI:e<-s["a"].PI?e+s["a"].TWO_PI:e}let h=Object(dB["a"])(e.queryParameters);if(h=h.replace(/%5B/g,"[").replace(/%5D/g,"]"),Object(r["a"])(t)&&t._mode!==vq.MORPHING){let e,d;if(a=Object(o["a"])(a,nHe),Object(r["a"])(n)&&(oHe.x=.5*n.clientWidth,oHe.y=.5*n.clientHeight,e=t.pickEllipsoid(oHe,c,rHe)),Object(r["a"])(e)?d=c.cartesianToCartographic(e,iHe):(d=Fe.center(a,iHe),e=c.cartographicToCartesian(d)),Object(r["a"])(i)&&!s["a"].equalsEpsilon(i,1,s["a"].EPSILON9)){const e=a.width*i*.5,t=a.height*i*.5;a=new Fe(u(d.longitude-e),l(d.latitude-t),u(d.longitude+e),l(d.latitude+t))}h=h.replace("[bboxWest]",s["a"].toDegrees(a.west).toString()),h=h.replace("[bboxSouth]",s["a"].toDegrees(a.south).toString()),h=h.replace("[bboxEast]",s["a"].toDegrees(a.east).toString()),h=h.replace("[bboxNorth]",s["a"].toDegrees(a.north).toString());const f=s["a"].toDegrees(d.longitude).toString(),p=s["a"].toDegrees(d.latitude).toString();h=h.replace("[lookatLon]",f),h=h.replace("[lookatLat]",p),h=h.replace("[lookatTilt]",s["a"].toDegrees(t.pitch).toString()),h=h.replace("[lookatHeading]",s["a"].toDegrees(t.heading).toString()),h=h.replace("[lookatRange]",g.distance(t.positionWC,e)),h=h.replace("[lookatTerrainLon]",f),h=h.replace("[lookatTerrainLat]",p),h=h.replace("[lookatTerrainAlt]",d.height.toString()),c.cartesianToCartographic(t.positionWC,iHe),h=h.replace("[cameraLon]",s["a"].toDegrees(iHe.longitude).toString()),h=h.replace("[cameraLat]",s["a"].toDegrees(iHe.latitude).toString()),h=h.replace("[cameraAlt]",s["a"].toDegrees(iHe.height).toString());const m=t.frustum,_=m.aspectRatio;let b="",y="";if(Object(r["a"])(_)){const e=s["a"].toDegrees(m.fov);_>1?(b=e,y=e/_):(y=e,b=e*_)}h=h.replace("[horizFov]",b.toString()),h=h.replace("[vertFov]",y.toString())}else h=h.replace("[bboxWest]","-180"),h=h.replace("[bboxSouth]","-90"),h=h.replace("[bboxEast]","180"),h=h.replace("[bboxNorth]","90"),h=h.replace("[lookatLon]",""),h=h.replace("[lookatLat]",""),h=h.replace("[lookatRange]",""),h=h.replace("[lookatTilt]",""),h=h.replace("[lookatHeading]",""),h=h.replace("[lookatTerrainLon]",""),h=h.replace("[lookatTerrainLat]",""),h=h.replace("[lookatTerrainAlt]",""),h=h.replace("[cameraLon]",""),h=h.replace("[cameraLat]",""),h=h.replace("[cameraAlt]",""),h=h.replace("[horizFov]",""),h=h.replace("[vertFov]","");Object(r["a"])(n)?(h=h.replace("[horizPixels]",n.clientWidth),h=h.replace("[vertPixels]",n.clientHeight)):(h=h.replace("[horizPixels]",""),h=h.replace("[vertPixels]","")),h=h.replace("[terrainEnabled]","1"),h=h.replace("[clientVersion]","1"),h=h.replace("[kmlVersion]","2.2"),h=h.replace("[clientName]","Cesium"),h=h.replace("[language]","English"),e.setQueryParameters(Object(gB["a"])(h))}function sHe(e,t,n,i){const a=zVe(e,t,n),s=a.entity,c=n.sourceResource,l=n.uriResolver;let u=tVe(t,"Link",FUe.kml);if(Object(r["a"])(u)||(u=tVe(t,"Url",FUe.kml)),Object(r["a"])(u)){let t,a,h=rVe(u,"href",FUe.kml);if(Object(r["a"])(h)){let d=h;if(h=sVe(h,c,n.uriResolver),/^data:/.test(h.getUrlComponent()))/\.kmz/i.test(c.getUrlComponent())||(d=c.getDerivedResource({url:d}));else{d=h.clone(),t=rVe(u,"viewRefreshMode",FUe.kml),a=Object(o["a"])(rVe(u,"viewBoundScale",FUe.kml),1);const n="onStop"===t?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",i=Object(o["a"])(rVe(u,"viewFormat",FUe.kml),n),s=rVe(u,"httpQuery",FUe.kml);Object(r["a"])(i)&&h.setQueryParameters(Object(gB["a"])(tHe(i))),Object(r["a"])(s)&&h.setQueryParameters(Object(gB["a"])(tHe(s)));const c=e._ellipsoid;aHe(h,e.camera,e.canvas,a,e._lastCameraView.bbox,c)}const f={sourceUri:d,uriResolver:l,context:s.id,screenOverlayContainer:n.screenOverlayContainer},p=new iwe,m=hHe(e,p,h,f).then((function(n){const i=e._entityCollection,c=p.values;i.suspendEvents();for(let e=0;e<c.length;e++){const t=c[e];Object(r["a"])(t.parent)||(t.parent=s,fHe(t)),i.add(t)}i.resumeEvents();const l=rVe(u,"refreshMode",FUe.kml);let d=Object(o["a"])(oVe(u,"refreshInterval",FUe.kml),0);if("onInterval"===l&&d>0||"onExpire"===l||"onStop"===t){const t=tVe(n,"NetworkLinkControl",FUe.kml),i=Object(r["a"])(t),c=gr.now(),p={id:RL(),href:h,cookie:{},lastUpdated:c,updating:!1,entity:s,viewBoundScale:a,needsUpdate:!1,cameraUpdateTime:c};let m=0;if(i&&(p.cookie=Object(gB["a"])(Object(o["a"])(rVe(t,"cookie",FUe.kml),"")),m=Object(o["a"])(oVe(t,"minRefreshPeriod",FUe.kml),0)),"onInterval"===l)i&&(d=Math.max(m,d)),p.refreshMode=eHe.INTERVAL,p.time=d;else if("onExpire"===l){let e;if(i&&(e=rVe(t,"expires",FUe.kml)),Object(r["a"])(e))try{const t=gr.fromIso8601(e),n=gr.secondsDifference(t,c);n>0&&n<m&&gr.addSeconds(c,m,t),p.refreshMode=eHe.EXPIRE,p.time=t}catch(f){ky("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else ky("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else Object(r["a"])(e.camera)?(p.refreshMode=eHe.STOP,p.time=Object(o["a"])(oVe(u,"viewRefreshTime",FUe.kml),0)):ky("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");Object(r["a"])(p.refreshMode)&&e._networkLinks.set(p.id,p)}else"onRegion"===t&&ky("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion")})).catch((function(t){ky("An error occured during loading "+h.url),e._error.raiseEvent(e,t)}));i.addPromise(m)}}}function cHe(e,t,n,i){const o=kUe[t.localName];return Object(r["a"])(o)?o(e,t,n,i):QVe(e,t,n,i)}function lHe(e,t,n,i,o,a,s){t.removeAll();const c=n.documentElement,l="Document"===c.localName?c:tVe(c,"Document",FUe.kml);let u=rVe(l,"name",FUe.kml);Object(r["a"])(u)||(u=JL(i.getUrlComponent())),Object(r["a"])(e._name)||(e._name=u);const h=new dHe._DeferredLoading(e),d=new iwe(e);return Promise.all(OVe(e,n,d,i,!1,o)).then((function(){let c=n.documentElement;if("kml"===c.localName){const e=c.childNodes;for(let t=0;t<e.length;t++){const n=e[t];if(Object(r["a"])(kUe[n.localName])){c=n;break}}}const l={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:a};return t.suspendEvents(),cHe(e,c,l,h),t.resumeEvents(),h.wait().then((function(){return n.documentElement}))}))}function uHe(e,t,n,i,o){const a=Lt("ThirdParty/Workers/z-worker-pako.js");fUe.configure({workerScripts:{deflate:[a,"./pako_deflate.min.js"],inflate:[a,"./pako_inflate.min.js"]}});const s=new fUe.ZipReader(new fUe.BlobReader(n));return Promise.resolve(s.getEntries()).then((function(n){const a=[],c={};let l;for(let e=0;e<n.length;e++){const t=n[e];t.directory||(/\.kml$/i.test(t.filename)?Object(r["a"])(l)&&/\//i.test(t.filename)?a.push(WUe(t,c)):(Object(r["a"])(l)&&a.push(WUe(l,c)),l=t):a.push(WUe(t,c)))}return Object(r["a"])(l)&&a.push(qUe(l,c)),Promise.all(a).then((function(){if(s.close(),!Object(r["a"])(c.kml))throw new ye["a"]("KMZ file does not contain a KML document.");return c.keys=Object.keys(c),lHe(e,t,c.kml,i,c,o)}))}))}function hHe(e,t,n,i){i=Object(o["a"])(i,o["a"].EMPTY_OBJECT);let a=i.sourceUri;const s=i.uriResolver,c=i.context;let l=i.screenOverlayContainer,u=n;if("string"===typeof n||n instanceof Et["a"]){n=Et["a"].createIfNeeded(n),u=n.fetchBlob(),a=Object(o["a"])(a,n.clone());const t=e._resourceCredits,i=n.credits;if(Object(r["a"])(i)){const e=i.length;for(let n=0;n<e;n++)t.push(i[n])}}else a=Object(o["a"])(a,Et["a"].DEFAULT.clone());return a=Et["a"].createIfNeeded(a),Object(r["a"])(l)&&(l=mUe(l)),Promise.resolve(u).then((function(n){return n instanceof Blob?UUe(n).then((function(i){return i?uHe(e,t,n,a,l):VUe(n).then((function(n){let i,o;n=HUe(n),n=GUe(n);try{i=SUe.parseFromString(n,"application/xml")}catch(u){o=u.toString()}if(Object(r["a"])(o)||i.body||"parsererror"===i.documentElement.tagName){let e=Object(r["a"])(o)?o:i.documentElement.firstChild.nodeValue;throw e||(e=i.body.innerText),new ye["a"](e)}return lHe(e,t,i,a,s,l,c)}))})):lHe(e,t,n,a,s,l,c)})).catch((function(t){return e._error.raiseEvent(e,t),console.log(t),Promise.reject(t)}))}function dHe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.camera,n=e.canvas;this._changed=new pi["a"],this._error=new pi["a"],this._loading=new pi["a"],this._refresh=new pi["a"],this._unsupportedNode=new pi["a"],this._clock=void 0,this._entityCollection=new iwe(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new GS,this._networkLinks=new fh,this._entityCluster=new tTe,this.canvas=n,this.camera=t,this._lastCameraView={position:Object(r["a"])(t)?g.clone(t.positionWC):void 0,direction:Object(r["a"])(t)?g.clone(t.directionWC):void 0,up:Object(r["a"])(t)?g.clone(t.upWC):void 0,bbox:Object(r["a"])(t)?t.computeViewRectangle():Fe.clone(Fe.MAX_VALUE)},this._ellipsoid=Object(o["a"])(e.ellipsoid,z.WGS84);let i=e.credit;"string"===typeof i&&(i=new fi(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}function fHe(e){const t=e.parent;if(Object(r["a"])(t)){const n=t.availability;if(Object(r["a"])(n)){const t=e.availability;Object(r["a"])(t)?t.intersect(n):e.availability=n}}}function pHe(e,t,n,i,a){return function(s){if(!i.contains(t.id))return;let c=!1;const l=tVe(s,"NetworkLinkControl",FUe.kml),u=Object(r["a"])(l);let h=0;if(u){if(Object(r["a"])(tVe(l,"Update",FUe.kml)))return ky("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,void i.remove(t.id);t.cookie=Object(gB["a"])(Object(o["a"])(rVe(l,"cookie",FUe.kml),"")),h=Object(o["a"])(oVe(l,"minRefreshPeriod",FUe.kml),0)}const d=gr.now(),f=t.refreshMode;if(f===eHe.INTERVAL)Object(r["a"])(l)&&(t.time=Math.max(h,t.time));else if(f===eHe.EXPIRE){let e;if(Object(r["a"])(l)&&(e=rVe(l,"expires",FUe.kml)),Object(r["a"])(e))try{const n=gr.fromIso8601(e),i=gr.secondsDifference(n,d);i>0&&i<h&&gr.addSeconds(d,h,n),t.time=n}catch(C){ky("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),c=!0}else ky("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),c=!0}const p=t.entity,m=e._entityCollection,_=n.values;function g(e){m.remove(e);const t=e._children,n=t.length;for(let i=0;i<n;++i)g(t[i])}m.suspendEvents();const b=m.values.slice();let y;for(y=0;y<b.length;++y){const e=b[y];e.parent===p&&(e.parent=void 0,g(e))}for(m.resumeEvents(),m.suspendEvents(),y=0;y<_.length;y++){const e=_[y];Object(r["a"])(e.parent)||(e.parent=p,fHe(e)),m.add(e)}m.resumeEvents(),c?i.remove(t.id):t.lastUpdated=d;const v=m.computeAvailability(),O=v.start,w=v.stop,A=gr.equals(O,kx.MINIMUM_VALUE),T=gr.equals(w,kx.MAXIMUM_VALUE);if(!A||!T){const t=e._clock;t.startTime===O&&t.stopTime===w||(t.startTime=O,t.stopTime=w,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,a.getUrlComponent(!0))}}dHe.load=function(e,t){t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=new dHe(t);return n.load(e,t)},Object.defineProperties(dHe.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value must be defined.");this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}}),dHe.prototype.load=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("data is required.");t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),Rwe.setLoading(this,!0);const n=this._name;this._name=void 0,this._clampToGround=Object(o["a"])(t.clampToGround,!1);const i=this;return hHe(this,this._entityCollection,e,t).then((function(){let e;const t=i._entityCollection.computeAvailability();let o=t.start,r=t.stop;const a=gr.equals(o,kx.MINIMUM_VALUE),s=gr.equals(r,kx.MAXIMUM_VALUE);if(!a||!s){let t;a&&(t=new Date,t.setHours(0,0,0,0),o=gr.fromDate(t)),s&&(t=new Date,t.setHours(24,0,0,0),r=gr.fromDate(t)),e=new fTe,e.startTime=o,e.stopTime=r,e.currentTime=gr.clone(o),e.clockRange=m_.LOOP_STOP,e.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,e.multiplier=Math.round(Math.min(Math.max(gr.secondsDifference(r,o)/60,1),31556900))}let c=!1;return e!==i._clock&&(i._clock=e,c=!0),n!==i._name&&(c=!0),c&&i._changed.raiseEvent(i),Rwe.setLoading(i,!1),i})).catch((function(e){return Rwe.setLoading(i,!1),i._error.raiseEvent(i,e),console.log(e),Promise.reject(e)}))},dHe.prototype.destroy=function(){while(this._screenOverlays.length>0){const e=this._screenOverlays.pop();e.remove()}};const mHe=new fh;function _He(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}dHe.prototype.update=function(e){const t=this._networkLinks;if(0===t.length)return!0;const n=gr.now(),i=this;function a(e){const t=e._children,n=t.length;for(let i=0;i<n;++i){const e=t[i];mHe.set(e.id,e),a(e)}}mHe.removeAll();let c=!1;const l=this._lastCameraView,u=this.camera;!Object(r["a"])(u)||u.positionWC.equalsEpsilon(l.position,s["a"].EPSILON7)&&u.directionWC.equalsEpsilon(l.direction,s["a"].EPSILON7)&&u.upWC.equalsEpsilon(l.up,s["a"].EPSILON7)||(l.position=g.clone(u.positionWC),l.direction=g.clone(u.directionWC),l.up=g.clone(u.upWC),l.bbox=u.computeViewRectangle(),c=!0);const h=new fh;let d=!1;return t.values.forEach((function(e){const t=e.entity;if(!mHe.contains(t.id)){if(!e.updating){let r=!1;if(e.refreshMode===eHe.INTERVAL?gr.secondsDifference(n,e.lastUpdated)>e.time&&(r=!0):e.refreshMode===eHe.EXPIRE?gr.greaterThan(n,e.time)&&(r=!0):e.refreshMode===eHe.STOP&&(c&&(e.needsUpdate=!0,e.cameraUpdateTime=n),e.needsUpdate&&gr.secondsDifference(n,e.cameraUpdateTime)>=e.time&&(r=!0)),r){a(t),e.updating=!0;const n=new iwe,r=e.href.clone();r.setQueryParameters(e.cookie);const s=Object(o["a"])(i._ellipsoid,z.WGS84);aHe(r,i.camera,i.canvas,e.viewBoundScale,l.bbox,s),hHe(i,n,r,{context:t.id}).then(pHe(i,e,n,h,r)).catch((function(t){const n=`NetworkLink ${e.href} refresh failed: ${t}`;console.log(n),i._error.raiseEvent(i,n)})),d=!0}}h.set(e.id,e)}})),d&&(this._networkLinks=h,this._changed.raiseEvent(this)),!0},dHe._DeferredLoading=zUe,dHe._getTimestamp=y_;var gHe=dHe;function bHe(){a["a"].throwInstantiationError()}bHe.prototype.update=a["a"].throwInstantiationError,bHe.prototype.getBoundingSphere=a["a"].throwInstantiationError,bHe.prototype.isDestroyed=a["a"].throwInstantiationError,bHe.prototype.destroy=a["a"].throwInstantiationError;var yHe=bHe;const vHe=32,OHe="http://www.opengis.net/kml/2.2",wHe="http://www.google.com/kml/ext/2.2",AHe="http://www.w3.org/2000/xmlns/";function THe(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}const CHe=/^data:image\/([^,;]+)/;function EHe(e,t){return function(n){e._files[t]=n}}function xHe(e){this._time=e}function SHe(){this._ids={},this._styles={},this._count=0}function IHe(){this._ids={}}function DHe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.entities,n=Object(o["a"])(e.kmz,!1);if(!Object(r["a"])(t))throw new a["a"]("entities is required.");const i=DHe._createState(e),s=t.values.filter((function(e){return!Object(r["a"])(e.parent)})),c=i.kmlDoc,l=c.documentElement;l.setAttributeNS(AHe,"xmlns:gx",wHe);const u=c.createElement("Document");l.appendChild(u),RHe(i,u,s),i.styleCache.save(u);const h=i.externalFileHandler;return h.promise.then((function(){const e=new XMLSerializer,t=e.serializeToString(i.kmlDoc);return n?jHe(t,h.files):{kml:t,externalFiles:h.files}}))}function jHe(e,t){const n=Lt("ThirdParty/Workers/z-worker-pako.js");fUe.configure({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});const i=new fUe.BlobWriter,o=new fUe.ZipWriter(i);return o.add("doc.kml",new fUe.TextReader(e)).then((function(){const e=Object.keys(t);return PHe(o,e,t,0)})).then((function(){return o.close()})).then((function(e){return{kmz:e}}))}function PHe(e,t,n,i){if(t.length===i)return;const o=t[i];return e.add(o,new fUe.BlobReader(n[o])).then((function(){return PHe(e,t,n,i+1)}))}function RHe(e,t,n){const i=e.kmlDoc,o=e.styleCache,a=e.valueGetter,s=e.idManager,c=n.length;let l,u,h;for(let d=0;d<c;++d){const c=n[d];let f;l=[],u=[],h=[],BHe(e,c,u,h),UHe(e,c.polyline,u,h),qHe(e,c.rectangle,u,h,l),qHe(e,c.polygon,u,h,l),XHe(e,c,c.model,u,h);const p=c.availability;Object(r["a"])(p)&&(f=i.createElement("TimeSpan"),gr.equals(p.start,kx.MINIMUM_VALUE)||f.appendChild($He(i,"begin",gr.toIso8601(p.start))),gr.equals(p.stop,kx.MAXIMUM_VALUE)||f.appendChild($He(i,"end",gr.toIso8601(p.stop))));for(let e=0;e<l.length;++e){const n=l[e];n.setAttribute("id",s.get(c.id)),n.appendChild($He(i,"name",c.name)),n.appendChild($He(i,"visibility",c.show)),n.appendChild($He(i,"description",c.description)),Object(r["a"])(f)&&n.appendChild(f),t.appendChild(n)}const m=u.length;if(m>0){const e=i.createElement("Placemark");e.setAttribute("id",s.get(c.id));let n=c.name;const l=c.label;if(Object(r["a"])(l)){const e=i.createElement("LabelStyle"),t=a.get(l.text);n=Object(r["a"])(t)&&t.length>0?t:n;const o=a.getColor(l.fillColor);Object(r["a"])(o)&&(e.appendChild($He(i,"color",o)),e.appendChild($He(i,"colorMode","normal")));const s=a.get(l.scale);Object(r["a"])(s)&&e.appendChild($He(i,"scale",s)),h.push(e)}e.appendChild($He(i,"name",n)),e.appendChild($He(i,"visibility",c.show)),e.appendChild($He(i,"description",c.description)),Object(r["a"])(f)&&e.appendChild(f),t.appendChild(e);const d=h.length;if(d>0){const t=i.createElement("Style");for(let e=0;e<d;++e)t.appendChild(h[e]);e.appendChild($He(i,"styleUrl",o.get(t)))}if(1===u.length)e.appendChild(u[0]);else if(u.length>1){const t=i.createElement("MultiGeometry");for(let e=0;e<m;++e)t.appendChild(u[e]);e.appendChild(t)}}const _=c._children;if(_.length>0){const n=i.createElement("Folder");n.setAttribute("id",s.get(c.id)),n.appendChild($He(i,"name",c.name)),n.appendChild($He(i,"visibility",c.show)),n.appendChild($He(i,"description",c.description)),t.appendChild(n),RHe(e,n,_)}}}THe.prototype.texture=function(e){const t=this;let n;if("string"===typeof e||e instanceof Et["a"]){if(e=Et["a"].createIfNeeded(e),!e.isDataUri)return e.url;const i=e.url.match(CHe);n="texture_"+ ++this._count,Object(r["a"])(i)&&(n+="."+i[1]);const o=e.fetchBlob().then((function(e){t._files[n]=e}));return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){const i=Object(xr["a"])();return this._promises.push(i.promise),n=`texture_${++this._count}.png`,e.toBlob((function(e){t._files[n]=e,i.resolve()})),n}return""},THe.prototype.model=function(e,t){const n=this._modelCallback;if(!Object(r["a"])(n))throw new ye["a"]("Encountered a model entity while exporting to KML, but no model callback was supplied.");const i={},o=n(e,t,i);for(const r in i)if(i.hasOwnProperty(r)){const e=Promise.resolve(i[r]);this._promises.push(e),e.then(EHe(this,r))}return o},Object.defineProperties(THe.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}}),xHe.prototype.get=function(e,t,n){let i;return Object(r["a"])(e)&&(i=Object(r["a"])(e.getValue)?e.getValue(this._time,n):e),Object(o["a"])(i,t)},xHe.prototype.getColor=function(e,t){const n=this.get(e,t);if(Object(r["a"])(n))return QHe(n)},xHe.prototype.getMaterialType=function(e){if(Object(r["a"])(e))return e.getType(this._time)},SHe.prototype.get=function(e){const t=this._ids,n=e.innerHTML;if(Object(r["a"])(t[n]))return t[n];let i="style-"+ ++this._count;return e.setAttribute("id",i),i="#"+i,t[n]=i,this._styles[n]=e,i},SHe.prototype.save=function(e){const t=this._styles,n=e.childNodes[0];for(const i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)},IHe.prototype.get=function(e){if(!Object(r["a"])(e))return this.get(RL());const t=this._ids;return Object(r["a"])(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)},DHe._createState=function(e){const t=e.entities,n=new SHe,i=t.computeAvailability(),a=Object(r["a"])(e.time)?e.time:i.start;let s=Object(o["a"])(e.defaultAvailability,i);const c=Object(o["a"])(e.sampleDuration,60);s.start===kx.MINIMUM_VALUE?s.stop===kx.MAXIMUM_VALUE?s=new Mx:gr.addSeconds(s.stop,-10*c,s.start):s.stop===kx.MAXIMUM_VALUE&&gr.addSeconds(s.start,10*c,s.stop);const l=new THe(e.modelCallback),u=document.implementation.createDocument(OHe,"kml");return{kmlDoc:u,ellipsoid:Object(o["a"])(e.ellipsoid,z.WGS84),idManager:new IHe,styleCache:n,externalFileHandler:l,time:a,valueGetter:new xHe(a),sampleDuration:c,defaultAvailability:new CN([s])}};const MHe=new g,NHe=new I,LHe=new gr;function BHe(e,t,n,i){const a=e.kmlDoc,s=e.ellipsoid,c=e.valueGetter,l=Object(o["a"])(t.billboard,t.point);if(!Object(r["a"])(l)&&!Object(r["a"])(t.path))return;const u=t.position;if(!u.isConstant)return void FHe(e,t,l,n,i);c.get(u,void 0,MHe);const h=$He(a,"coordinates",ZHe(MHe,s)),d=a.createElement("Point"),f=a.createElement("altitudeMode");f.appendChild(JHe(e,l.heightReference)),d.appendChild(f),d.appendChild(h),n.push(d);const p=l instanceof HB?zHe(e,l):kHe(e,l);i.push(p)}function FHe(e,t,n,i,a){const s=e.kmlDoc,c=e.ellipsoid,l=e.valueGetter;let u;const h=t.position;let d=!0;h instanceof vwe?(u=h.intervals,d=!1):u=Object(o["a"])(t.availability,e.defaultAvailability);const f=n instanceof qX;let p,m,_;const b=[];for(p=0;p<u.length;++p){const t=u.get(p);let i=d?h:t.data;const o=s.createElement("altitudeMode");i instanceof bDe?(i=i._value,o.appendChild(JHe(e,qB.CLAMP_TO_GROUND))):Object(r["a"])(n)?o.appendChild(JHe(e,n.heightReference)):o.appendChild(JHe(e,qB.NONE));const a=[],y=[];if(i.isConstant){l.get(i,void 0,MHe);const e=$He(s,"coordinates",ZHe(MHe,c));a.push(gr.toIso8601(t.start)),y.push(e),a.push(gr.toIso8601(t.stop)),y.push(e)}else if(i instanceof oCe)for(_=i._property._times,m=0;m<_.length;++m)a.push(gr.toIso8601(_[m])),i.getValueInReferenceFrame(_[m],tP.FIXED,MHe),y.push(ZHe(MHe,c));else if(i instanceof nCe){_=i._times;const e=i._values;for(m=0;m<_.length;++m)a.push(gr.toIso8601(_[m])),g.fromArray(e,3*m,MHe),y.push(ZHe(MHe,c))}else{const n=e.sampleDuration;t.start.clone(LHe),t.isStartIncluded||gr.addSeconds(LHe,n,LHe);const o=t.stop;while(gr.lessThan(LHe,o))i.getValue(LHe,MHe),a.push(gr.toIso8601(LHe)),y.push(ZHe(MHe,c)),gr.addSeconds(LHe,n,LHe);t.isStopIncluded&&gr.equals(LHe,o)&&(i.getValue(LHe,MHe),a.push(gr.toIso8601(LHe)),y.push(ZHe(MHe,c)))}const v=s.createElementNS(wHe,"Track");v.appendChild(o);for(let e=0;e<a.length;++e){const t=$He(s,"when",a[e]),n=$He(s,"coord",y[e],wHe);v.appendChild(t),v.appendChild(n)}f&&v.appendChild(YHe(e,n)),b.push(v)}if(1===b.length)i.push(b[0]);else if(b.length>1){const e=s.createElementNS(wHe,"MultiTrack");for(p=0;p<b.length;++p)e.appendChild(b[p]);i.push(e)}if(Object(r["a"])(n)&&!f){const t=n instanceof HB?zHe(e,n):kHe(e,n);a.push(t)}const y=t.path;if(Object(r["a"])(y)){const t=l.get(y.width),n=y.material;if(Object(r["a"])(n)||Object(r["a"])(t)){const i=s.createElement("LineStyle");Object(r["a"])(t)&&i.appendChild($He(s,"width",t)),KHe(e,n,i),a.push(i)}}}function kHe(e,t){const n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),a=i.getColor(t.color);Object(r["a"])(a)&&(o.appendChild($He(n,"color",a)),o.appendChild($He(n,"colorMode","normal")));const s=i.get(t.pixelSize);return Object(r["a"])(s)&&o.appendChild($He(n,"scale",s/vHe)),o}function zHe(e,t){const n=e.kmlDoc,i=e.valueGetter,a=e.externalFileHandler,c=n.createElement("IconStyle");let l=i.get(t.image);if(Object(r["a"])(l)){l=a.texture(l);const e=n.createElement("Icon");e.appendChild($He(n,"href",l));const o=i.get(t.imageSubRegion);Object(r["a"])(o)&&(e.appendChild($He(n,"x",o.x,wHe)),e.appendChild($He(n,"y",o.y,wHe)),e.appendChild($He(n,"w",o.width,wHe)),e.appendChild($He(n,"h",o.height,wHe))),c.appendChild(e)}const u=i.getColor(t.color);Object(r["a"])(u)&&(c.appendChild($He(n,"color",u)),c.appendChild($He(n,"colorMode","normal")));let h=i.get(t.scale);Object(r["a"])(h)&&c.appendChild($He(n,"scale",h));const d=i.get(t.pixelOffset);if(Object(r["a"])(d)){h=Object(o["a"])(h,1),Ht.divideByScalar(d,h,d);const e=i.get(t.width,vHe),r=i.get(t.height,vHe),a=i.get(t.horizontalOrigin,YB.CENTER);a===YB.CENTER?d.x-=.5*e:a===YB.RIGHT&&(d.x-=e);const s=i.get(t.verticalOrigin,KB.CENTER);s===KB.TOP?d.y+=r:s===KB.CENTER&&(d.y+=.5*r);const l=n.createElement("hotSpot");l.setAttribute("x",-d.x),l.setAttribute("y",d.y),l.setAttribute("xunits","pixels"),l.setAttribute("yunits","pixels"),c.appendChild(l)}let f=i.get(t.rotation);const p=i.get(t.alignedAxis);return Object(r["a"])(f)&&g.equals(g.UNIT_Z,p)&&(f=s["a"].toDegrees(-f),0===f&&(f=360),c.appendChild($He(n,"heading",f))),c}function UHe(e,t,n,i){const o=e.kmlDoc,a=e.ellipsoid,s=e.valueGetter;if(!Object(r["a"])(t))return;const c=o.createElement("LineString"),l=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1);let h;u?(c.appendChild($He(o,"tessellate",!0)),h=o.createTextNode("clampToGround")):h=o.createTextNode("absolute"),l.appendChild(h),c.appendChild(l);const d=t.positions,f=s.get(d),p=$He(o,"coordinates",ZHe(f,a));c.appendChild(p);const m=s.get(t.zIndex);u&&Object(r["a"])(m)&&c.appendChild($He(o,"drawOrder",m,wHe)),n.push(c);const _=o.createElement("LineStyle"),g=s.get(t.width);Object(r["a"])(g)&&_.appendChild($He(o,"width",g)),KHe(e,t.material,_),i.push(_)}function VHe(e,t,n){const i=e.kmlDoc,o=e.valueGetter;let r=o.get(t.height,0);n>0&&(r=n);const a=t.coordinates,c=o.get(a),l=[],u=[Fe.northeast,Fe.southeast,Fe.southwest,Fe.northwest];for(let p=0;p<4;++p)u[p](c,NHe),l.push(`${s["a"].toDegrees(NHe.longitude)},${s["a"].toDegrees(NHe.latitude)},${r}`);const h=$He(i,"coordinates",l.join(" ")),d=i.createElement("outerBoundaryIs"),f=i.createElement("LinearRing");return f.appendChild(h),d.appendChild(f),[d]}function HHe(e,t,n,i){const o=e.kmlDoc,r=e.ellipsoid,a=[],c=t.length;for(let h=0;h<c;++h)I.fromCartesian(t[h],r,NHe),a.push(`${s["a"].toDegrees(NHe.longitude)},${s["a"].toDegrees(NHe.latitude)},${i?NHe.height:n}`);const l=$He(o,"coordinates",a.join(" ")),u=o.createElement("LinearRing");return u.appendChild(l),u}function GHe(e,t,n){const i=e.kmlDoc,o=e.valueGetter;let a=o.get(t.height,0);const s=o.get(t.perPositionHeight,!1);!s&&n>0&&(a=n);const c=[],l=t.hierarchy,u=o.get(l),h=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(HHe(e,h,a,s)),c.push(d);const f=u.holes;if(Object(r["a"])(f)){const t=f.length;for(let n=0;n<t;++n){const t=i.createElement("innerBoundaryIs");t.appendChild(HHe(e,f[n].positions,a,s)),c.push(t)}}return c}function qHe(e,t,n,i,o){const a=e.kmlDoc,s=e.valueGetter;if(!Object(r["a"])(t))return;const c=t instanceof cK;if(c&&"Image"===s.getMaterialType(t.material))return void WHe(e,t,o);const l=a.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&l.appendChild($He(a,"extrude",!0));const h=c?VHe(e,t,u):GHe(e,t,u),d=h.length;for(let r=0;r<d;++r)l.appendChild(h[r]);const f=a.createElement("altitudeMode");f.appendChild(JHe(e,t.heightReference)),l.appendChild(f),n.push(l);const p=a.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&p.appendChild($He(a,"fill",m)),KHe(e,t.material,p);const _=s.get(t.outline,!1);if(_){p.appendChild($He(a,"outline",_));const e=a.createElement("LineStyle"),n=s.get(t.outlineWidth,1);e.appendChild($He(a,"width",n));const o=s.getColor(t.outlineColor,j_.BLACK);e.appendChild($He(a,"color",o)),e.appendChild($He(a,"colorMode","normal")),i.push(e)}i.push(p)}function WHe(e,t,n){const i=e.kmlDoc,o=e.valueGetter,a=e.externalFileHandler,c=i.createElement("GroundOverlay"),l=i.createElement("altitudeMode");l.appendChild(JHe(e,t.heightReference)),c.appendChild(l);const u=o.get(t.height);Object(r["a"])(u)&&c.appendChild($He(i,"altitude",u));const h=o.get(t.coordinates),d=i.createElement("LatLonBox");d.appendChild($He(i,"north",s["a"].toDegrees(h.north))),d.appendChild($He(i,"south",s["a"].toDegrees(h.south))),d.appendChild($He(i,"east",s["a"].toDegrees(h.east))),d.appendChild($He(i,"west",s["a"].toDegrees(h.west))),c.appendChild(d);const f=o.get(t.material),p=a.texture(f.image),m=i.createElement("Icon");m.appendChild($He(i,"href",p)),c.appendChild(m);const _=f.color;Object(r["a"])(_)&&c.appendChild($He(i,"color",QHe(f.color))),n.push(c)}function YHe(e,t){const n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,a=n.createElement("Model"),s=i.get(t.scale);if(Object(r["a"])(s)){const e=n.createElement("scale");e.appendChild($He(n,"x",s)),e.appendChild($He(n,"y",s)),e.appendChild($He(n,"z",s)),a.appendChild(e)}const c=n.createElement("Link"),l=o.model(t,e.time);return c.appendChild($He(n,"href",l)),a.appendChild(c),a}function XHe(e,t,n,i,o){const a=e.kmlDoc,c=e.ellipsoid,l=e.valueGetter;if(!Object(r["a"])(n))return;const u=t.position;if(!u.isConstant)return void FHe(e,t,n,i,o);const h=YHe(e,n),d=a.createElement("altitudeMode");d.appendChild(JHe(e,n.heightReference)),h.appendChild(d),l.get(u,void 0,MHe),I.fromCartesian(MHe,c,NHe);const f=a.createElement("Location");f.appendChild($He(a,"longitude",s["a"].toDegrees(NHe.longitude))),f.appendChild($He(a,"latitude",s["a"].toDegrees(NHe.latitude))),f.appendChild($He(a,"altitude",NHe.height)),h.appendChild(f),i.push(h)}function KHe(e,t,n){const i=e.kmlDoc,o=e.valueGetter;if(!Object(r["a"])(t))return;const a=o.get(t);if(!Object(r["a"])(a))return;let s;const c=o.getMaterialType(t);let l,u;switch(c){case"Image":s=QHe(j_.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=QHe(a.color);break;case"PolylineOutline":s=QHe(a.color),l=QHe(a.outlineColor),u=a.outlineWidth,n.appendChild($He(i,"outerColor",l,wHe)),n.appendChild($He(i,"outerWidth",u,wHe));break;case"Stripe":s=QHe(a.oddColor);break}Object(r["a"])(s)&&(n.appendChild($He(i,"color",s)),n.appendChild($He(i,"colorMode","normal")))}function JHe(e,t){const n=e.kmlDoc,i=e.valueGetter,o=i.get(t,qB.NONE);let r;switch(o){case qB.NONE:r=n.createTextNode("absolute");break;case qB.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case qB.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function ZHe(e,t){Array.isArray(e)||(e=[e]);const n=e.length,i=[];for(let o=0;o<n;++o)I.fromCartesian(e[o],t,NHe),i.push(`${s["a"].toDegrees(NHe.longitude)},${s["a"].toDegrees(NHe.latitude)},${NHe.height}`);return i.join(" ")}function $He(e,t,n,i){n=Object(o["a"])(n,""),"boolean"===typeof n&&(n=n?"1":"0");const a=Object(r["a"])(i)?e.createElementNS(i,t):e.createElement(t),s="string"===n&&-1!==n.indexOf("<")?e.createCDATASection(n):e.createTextNode(n);return a.appendChild(s),a}function QHe(e){let t="";const n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?"0"+n[i].toString(16):n[i].toString(16);return t}var eGe=DHe,tGe="attribute vec4 position;\nattribute vec2 textureCoordinates;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main() \n{\n gl_Position = position;\n v_textureCoordinates = textureCoordinates;\n}\n";function nGe(e){this._context=e}let iGe;const oGe=new nz({primitiveType:xh.TRIANGLES}),rGe=new bJ({color:new j_(0,0,0,0)});function aGe(e,t){return new kne({context:e,colorTextures:[t],destroyAttachments:!1})}function sGe(e,t){return IU.fromCache({context:e,vertexShaderSource:tGe,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function cGe(e,t){return Object(r["a"])(iGe)&&iGe.viewport.width===e&&iGe.viewport.height===t||(iGe=Mz.fromCache({viewport:new Oh(0,0,e,t)})),iGe}nGe.prototype.execute=function(e){if(i["a"].defined("computeCommand",e),Object(r["a"])(e.preExecute)&&e.preExecute(e),!Object(r["a"])(e.fragmentShaderSource)&&!Object(r["a"])(e.shaderProgram))throw new a["a"]("computeCommand.fragmentShaderSource or computeCommand.shaderProgram is required.");i["a"].defined("computeCommand.outputTexture",e.outputTexture);const t=e.outputTexture,n=t.width,o=t.height,s=this._context,c=Object(r["a"])(e.vertexArray)?e.vertexArray:s.getViewportQuadVertexArray(),l=Object(r["a"])(e.shaderProgram)?e.shaderProgram:sGe(s,e.fragmentShaderSource),u=aGe(s,t),h=cGe(n,o),d=e.uniformMap,f=rGe;f.framebuffer=u,f.renderState=h,f.execute(s);const p=oGe;p.vertexArray=c,p.renderState=h,p.shaderProgram=l,p.uniformMap=d,p.framebuffer=u,p.execute(s),u.destroy(),e.persists||(l.destroy(),Object(r["a"])(e.vertexArray)&&c.destroy()),Object(r["a"])(e.postExecute)&&e.postExecute(t)},nGe.prototype.isDestroyed=function(){return!1},nGe.prototype.destroy=function(){return Wl(this)};var lGe=nGe;function uGe(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var hGe=uGe;function dGe(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}function fGe(e,t){const n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){const i=n[o]+t.keyword,r=e._shaders[i];fGe(e,r)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}Object.defineProperties(dGe.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}}),dGe.prototype.replaceShaderProgram=function(e){return Object(r["a"])(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)},dGe.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource;const i=e.attributeLocations;"string"===typeof t&&(t=new bG({sources:[t]})),"string"===typeof n&&(n=new bG({sources:[n]}));const o=t.createCombinedVertexShader(this._context),a=n.createCombinedFragmentShader(this._context),s=o+a+JSON.stringify(i);let c;if(Object(r["a"])(this._shaders[s]))c=this._shaders[s],delete this._shadersToRelease[s];else{const e=this._context,r=new IU({gl:e._gl,logShaderCompilation:e.logShaderCompilation,debugShaders:e.debugShaders,vertexShaderSource:t,vertexShaderText:o,fragmentShaderSource:n,fragmentShaderText:a,attributeLocations:i});c={cache:this,shaderProgram:r,keyword:s,derivedKeywords:[],count:0},r._cachedShader=c,this._shaders[s]=c,++this._numberOfShaders}return++c.count,c.shaderProgram},dGe.prototype.replaceDerivedShaderProgram=function(e,t,n){const i=e._cachedShader,o=t+i.keyword,a=this._shaders[o];if(Object(r["a"])(a)){fGe(this,a);const e=i.derivedKeywords.indexOf(t);e>-1&&i.derivedKeywords.splice(e,1)}return this.createDerivedShaderProgram(e,t,n)},dGe.prototype.getDerivedShaderProgram=function(e,t){const n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(Object(r["a"])(o))return o.shaderProgram},dGe.prototype.createDerivedShaderProgram=function(e,t,n){const i=e._cachedShader,o=t+i.keyword;let r=n.vertexShaderSource,a=n.fragmentShaderSource;const s=n.attributeLocations;"string"===typeof r&&(r=new bG({sources:[r]})),"string"===typeof a&&(a=new bG({sources:[a]}));const c=this._context,l=r.createCombinedVertexShader(c),u=a.createCombinedFragmentShader(c),h=new IU({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:l,fragmentShaderSource:a,fragmentShaderText:u,attributeLocations:s}),d={cache:this,shaderProgram:h,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),h._cachedShader=d,this._shaders[o]=d,h},dGe.prototype.destroyReleasedShaderPrograms=function(){const e=this._shadersToRelease;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];fGe(this,n),--this._numberOfShaders}this._shadersToRelease={}},dGe.prototype.releaseShaderProgram=function(e){if(Object(r["a"])(e)){const t=e._cachedShader;t&&0===--t.count&&(this._shadersToRelease[t.keyword]=t)}},dGe.prototype.isDestroyed=function(){return!1},dGe.prototype.destroy=function(){const e=this._shaders;for(const t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return Wl(this)};var pGe=dGe;function mGe(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(mGe.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}}),mGe.prototype.getTexture=function(e){const t=this._textures[e];if(Object(r["a"])(t))return delete this._texturesToRelease[e],++t.count,t.texture},mGe.prototype.addTexture=function(e,t){const n={texture:t,count:1};t.finalDestroy=t.destroy;const i=this;t.destroy=function(){0===--n.count&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures},mGe.prototype.destroyReleasedTextures=function(){const e=this._texturesToRelease;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}},mGe.prototype.isDestroyed=function(){return!1},mGe.prototype.destroy=function(){const e=this._textures;for(const t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return Wl(this)};var _Ge=mGe;function gGe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this.intensity=Object(o["a"])(e.intensity,2)}var bGe=gGe;function yGe(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Oh,this._viewportCartesian4=new be,this._viewportDirty=!1,this._viewportOrthographicMatrix=Ne.clone(Ne.IDENTITY),this._viewportTransformation=Ne.clone(Ne.IDENTITY),this._model=Ne.clone(Ne.IDENTITY),this._view=Ne.clone(Ne.IDENTITY),this._inverseView=Ne.clone(Ne.IDENTITY),this._projection=Ne.clone(Ne.IDENTITY),this._infiniteProjection=Ne.clone(Ne.IDENTITY),this._entireFrustum=new Ht,this._currentFrustum=new Ht,this._frustumPlanes=new be,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=ce.clone(Ne.IDENTITY),this._view3DDirty=!0,this._view3D=new Ne,this._inverseView3DDirty=!0,this._inverseView3D=new Ne,this._inverseModelDirty=!0,this._inverseModel=new Ne,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new ce,this._viewRotation=new ce,this._inverseViewRotation=new ce,this._viewRotation3D=new ce,this._inverseViewRotation3D=new ce,this._inverseProjectionDirty=!0,this._inverseProjection=new Ne,this._modelViewDirty=!0,this._modelView=new Ne,this._modelView3DDirty=!0,this._modelView3D=new Ne,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new Ne,this._inverseModelViewDirty=!0,this._inverseModelView=new Ne,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new Ne,this._viewProjectionDirty=!0,this._viewProjection=new Ne,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new Ne,this._modelViewProjectionDirty=!0,this._modelViewProjection=new Ne,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new Ne,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new Ne,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new Ne,this._normalDirty=!0,this._normal=new ce,this._normal3DDirty=!0,this._normal3D=new ce,this._inverseNormalDirty=!0,this._inverseNormal=new ce,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new ce,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new kf,this._cameraPosition=new g,this._sunPositionWC=new g,this._sunPositionColumbusView=new g,this._sunDirectionWC=new g,this._sunDirectionEC=new g,this._moonDirectionEC=new g,this._lightDirectionWC=new g,this._lightDirectionEC=new g,this._lightColor=new g,this._lightColorHdr=new g,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new g,this._cameraRight=new g,this._cameraUp=new g,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new Ht,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new j_,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new Ht,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}function vGe(e,t){Ne.clone(t,e._view),Ne.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function OGe(e,t){Ne.clone(t,e._inverseView),Ne.getMatrix3(t,e._inverseViewRotation)}function wGe(e,t){Ne.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function AGe(e,t){Ne.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function TGe(e,t){g.clone(t.positionWC,e._cameraPosition),g.clone(t.directionWC,e._cameraDirection),g.clone(t.rightWC,e._cameraRight),g.clone(t.upWC,e._cameraUp);const n=t.positionCartographic;Object(r["a"])(n)?e._eyeHeight=n.height:e._eyeHeight=-e._ellipsoid.maximumRadius,e._encodedCameraPositionMCDirty=!0}Object.defineProperties(yGe.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Oh.equals(e,this._viewport)){Oh.clone(e,this._viewport);const t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return DGe(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return DGe(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){Ne.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,Ne.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){const e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,Ne.getMatrix3(this.inverseModel,e),ce.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return iqe(this),this._view3D}},viewRotation:{get:function(){return iqe(this),this._viewRotation}},viewRotation3D:{get:function(){return iqe(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return oqe(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return oqe(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return jGe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return PGe(this),this._modelView}},modelView3D:{get:function(){return RGe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return kGe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return MGe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return NGe(this),this._inverseModelView3D}},viewProjection:{get:function(){return LGe(this),this._viewProjection}},inverseViewProjection:{get:function(){return BGe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return FGe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return zGe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return UGe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return VGe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return HGe(this),this._normal}},normal3D:{get:function(){return GGe(this),this._normal3D}},inverseNormal:{get:function(){return qGe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return WGe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return XGe(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return XGe(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return Object(o["a"])(this._ellipsoid,z.WGS84)}}});let CGe=new ce;const EGe=new I;function xGe(e,t){Object(r["a"])(Hs.computeIcrfToFixedMatrix(t.time,CGe))||(CGe=Hs.computeTemeToPseudoFixedMatrix(t.time,CGe));let n=WM.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);ce.multiplyByVector(CGe,n,n),g.normalize(n,e._sunDirectionWC),n=ce.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),g.normalize(n,n),n=WM.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),ce.multiplyByVector(CGe,n,n),ce.multiplyByVector(e.viewRotation3D,n,n),g.normalize(n,n);const i=t.mapProjection,o=i.ellipsoid,a=o.cartesianToCartographic(e._sunPositionWC,EGe);i.project(a,e._sunPositionColumbusView)}yGe.prototype.updateCamera=function(e){vGe(this,e.viewMatrix),OGe(this,e.inverseViewMatrix),TGe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==vq.SCENE2D&&e.frustum instanceof uA},yGe.prototype.updateFrustum=function(e){wGe(this,e.projectionMatrix),Object(r["a"])(e.infiniteProjectionMatrix)&&AGe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=s["a"].log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne,Object(r["a"])(e._offCenterFrustum)&&(e=e._offCenterFrustum),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right},yGe.prototype.updatePass=function(e){this._pass=e};const SGe=[],IGe=new bGe;function DGe(e){if(e._viewportDirty){const t=e._viewport;Ne.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),Ne.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function jGe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode===vq.SCENE2D||e._mode===vq.MORPHING||e._orthographicIn3D?Ne.clone(Ne.ZERO,e._inverseProjection):Ne.inverse(e._projection,e._inverseProjection))}function PGe(e){e._modelViewDirty&&(e._modelViewDirty=!1,Ne.multiplyTransformation(e._view,e._model,e._modelView))}function RGe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,Ne.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function MGe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,Ne.inverse(e.modelView,e._inverseModelView))}function NGe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,Ne.inverse(e.modelView3D,e._inverseModelView3D))}function LGe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,Ne.multiply(e._projection,e._view,e._viewProjection))}function BGe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,Ne.inverse(e.viewProjection,e._inverseViewProjection))}function FGe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,Ne.multiply(e._projection,e.modelView,e._modelViewProjection))}function kGe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;const t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function zGe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,Ne.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function UGe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,Ne.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function VGe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,Ne.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function HGe(e){if(e._normalDirty){e._normalDirty=!1;const t=e._normal;Ne.getMatrix3(e.inverseModelView,t),ce.getRotation(t,t),ce.transpose(t,t)}}function GGe(e){if(e._normal3DDirty){e._normal3DDirty=!1;const t=e._normal3D;Ne.getMatrix3(e.inverseModelView3D,t),ce.getRotation(t,t),ce.transpose(t,t)}}function qGe(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,Ne.getMatrix3(e.inverseModelView,e._inverseNormal),ce.getRotation(e._inverseNormal,e._inverseNormal))}function WGe(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,Ne.getMatrix3(e.inverseModelView3D,e._inverseNormal3D),ce.getRotation(e._inverseNormal3D,e._inverseNormal3D))}yGe.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;const t=e.camera;this.updateCamera(t),e.mode===vq.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=.5*this._frustum2DWidth,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),xGe(this,e);const n=Object(o["a"])(e.light,IGe);n instanceof bGe?(this._lightDirectionWC=g.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=g.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=g.normalize(g.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=ce.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));const i=n.color;let a=g.fromElements(i.red,i.green,i.blue,this._lightColorHdr);a=g.multiplyByScalar(a,n.intensity,a);const s=g.maximumComponent(a);s>1?g.divideByScalar(a,s,this._lightColor):g.clone(a,this._lightColor);const c=e.brdfLutGenerator,l=Object(r["a"])(c)?c.colorTexture:void 0;this._brdfLut=l,this._environmentMap=Object(o["a"])(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=Object(o["a"])(e.sphericalHarmonicCoefficients,SGe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,Object(r["a"])(this._specularEnvironmentMaps)&&Ht.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=e.fog.density,this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Hs.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;const u=t.frustum.fov,h=this._viewport;let d;d=Object(r["a"])(u)?h.height>h.width?2*Math.tan(.5*u)/h.height:2*Math.tan(.5*u)/h.width:1/Math.max(h.width,h.height),this._geometricToleranceOverMeter=d*e.maximumScreenSpaceError,j_.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};const YGe=new g;function XGe(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,Ne.multiplyByPoint(e.inverseModel,e._cameraPosition,YGe),kf.fromCartesian(YGe,e._encodedCameraPositionMC))}const KGe=new g,JGe=new g,ZGe=new g,$Ge=new g,QGe=new I,eqe=new g,tqe=new Ne;function nqe(e,t,n,i,o,a,c,l){const u=KGe;u.x=e.y,u.y=e.z,u.z=e.x;const h=JGe;h.x=n.y,h.y=n.z,h.z=n.x;const d=ZGe;d.x=i.y,d.y=i.z,d.z=i.x;const f=$Ge;f.x=t.y,f.y=t.z,f.z=t.x,a===vq.SCENE2D&&(u.z=.5*o);const p=c.unproject(u,QGe);p.longitude=s["a"].clamp(p.longitude,-Math.PI,Math.PI),p.latitude=s["a"].clamp(p.latitude,-s["a"].PI_OVER_TWO,s["a"].PI_OVER_TWO);const m=c.ellipsoid,_=m.cartographicToCartesian(p,eqe),b=Hs.eastNorthUpToFixedFrame(_,m,tqe);return Ne.multiplyByPointAsVector(b,h,h),Ne.multiplyByPointAsVector(b,d,d),Ne.multiplyByPointAsVector(b,f,f),Object(r["a"])(l)||(l=new Ne),l[0]=h.x,l[1]=d.x,l[2]=-f.x,l[3]=0,l[4]=h.y,l[5]=d.y,l[6]=-f.y,l[7]=0,l[8]=h.z,l[9]=d.z,l[10]=-f.z,l[11]=0,l[12]=-g.dot(h,_),l[13]=-g.dot(d,_),l[14]=g.dot(f,_),l[15]=1,l}function iqe(e){e._view3DDirty&&(e._mode===vq.SCENE3D?Ne.clone(e._view,e._view3D):nqe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),Ne.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function oqe(e){e._inverseView3DDirty&&(Ne.inverseTransformation(e.view3D,e._inverseView3D),Ne.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var rqe=yGe;function aqe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function sqe(e,t,n,i){let o=`${aqe(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)0!==r&&(o+=", "),o+=n[r];return o+=");",o}function cqe(e,t,n){const i=e.getError();if(i!==e.NO_ERROR)throw new ye["a"](sqe(e,t,n,i))}function lqe(e,t,n){return{get:function(){const i=e[t];return n(e,"get: "+t,i),e[t]},set:function(i){e[t]=i,n(e,"set: "+t,i)}}}function uqe(e,t){if(!Object(r["a"])(t))return e;function n(n){return function(){const i=n.apply(e,arguments);return t(e,n,arguments),i}}const i={};for(const o in e){const r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,lqe(e,o,t))}return i}function hqe(e,t){const n=t.length;for(let i=0;i<n;++i){const n=e.getExtension(t[i]);if(n)return n}}function dqe(e,t){if("undefined"===typeof WebGLRenderingContext)throw new ye["a"]("The browser does not support WebGL. Visit http://get.webgl.org.");i["a"].defined("canvas",e),this._canvas=e,t=Object(jL["a"])(t,!0),t=Object(o["a"])(t,{}),t.allowTextureFilterAnisotropic=Object(o["a"])(t.allowTextureFilterAnisotropic,!0);const n=Object(o["a"])(t.webgl,{});n.alpha=Object(o["a"])(n.alpha,!1),n.stencil=Object(o["a"])(n.stencil,!0);const a=Object(o["a"])(t.requestWebgl2,!1)&&"undefined"!==typeof WebGL2RenderingContext;let s,c=!1;const l=t.getWebGLStub;if(Object(r["a"])(l))s=l(e,n);else if(a&&(s=e.getContext("webgl2",n)||e.getContext("experimental-webgl2",n)||void 0,Object(r["a"])(s)&&(c=!0)),Object(r["a"])(s)||(s=e.getContext("webgl",n)||e.getContext("experimental-webgl",n)||void 0),!Object(r["a"])(s))throw new ye["a"]("The browser supports WebGL, but initialization failed.");this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=RL(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new pGe(this),this._textureCache=new _Ge;const u=s;this._stencilBits=u.getParameter(u.STENCIL_BITS),zF._maximumCombinedTextureImageUnits=u.getParameter(u.MAX_COMBINED_TEXTURE_IMAGE_UNITS),zF._maximumCubeMapSize=u.getParameter(u.MAX_CUBE_MAP_TEXTURE_SIZE),zF._maximumFragmentUniformVectors=u.getParameter(u.MAX_FRAGMENT_UNIFORM_VECTORS),zF._maximumTextureImageUnits=u.getParameter(u.MAX_TEXTURE_IMAGE_UNITS),zF._maximumRenderbufferSize=u.getParameter(u.MAX_RENDERBUFFER_SIZE),zF._maximumTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),zF._maximumVaryingVectors=u.getParameter(u.MAX_VARYING_VECTORS),zF._maximumVertexAttributes=u.getParameter(u.MAX_VERTEX_ATTRIBS),zF._maximumVertexTextureImageUnits=u.getParameter(u.MAX_VERTEX_TEXTURE_IMAGE_UNITS),zF._maximumVertexUniformVectors=u.getParameter(u.MAX_VERTEX_UNIFORM_VECTORS),zF._maximumSamples=this._webgl2?u.getParameter(u.MAX_SAMPLES):0;const h=u.getParameter(u.ALIASED_LINE_WIDTH_RANGE);zF._minimumAliasedLineWidth=h[0],zF._maximumAliasedLineWidth=h[1];const d=u.getParameter(u.ALIASED_POINT_SIZE_RANGE);zF._minimumAliasedPointSize=d[0],zF._maximumAliasedPointSize=d[1];const f=u.getParameter(u.MAX_VIEWPORT_DIMS);zF._maximumViewportWidth=f[0],zF._maximumViewportHeight=f[1];const p=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_FLOAT);zF._highpFloatSupported=0!==p.precision;const m=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_INT);zF._highpIntSupported=0!==m.rangeMax,this._antialias=u.getContextAttributes().antialias,this._standardDerivatives=!!hqe(u,["OES_standard_derivatives"]),this._blendMinmax=!!hqe(u,["EXT_blend_minmax"]),this._elementIndexUint=!!hqe(u,["OES_element_index_uint"]),this._depthTexture=!!hqe(u,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!hqe(u,["EXT_frag_depth"]),this._debugShaders=hqe(u,["WEBGL_debug_shaders"]),this._textureFloat=!!hqe(u,["OES_texture_float"]),this._textureHalfFloat=!!hqe(u,["OES_texture_half_float"]),this._textureFloatLinear=!!hqe(u,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!hqe(u,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!hqe(u,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!hqe(u,["EXT_float_blend"]),this._colorBufferHalfFloat=!!hqe(u,["EXT_color_buffer_half_float"]),this._s3tc=!!hqe(u,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!hqe(u,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!hqe(u,["WEBGL_compressed_texture_astc"]),this._etc=!!hqe(u,["WEBG_compressed_texture_etc"]),this._etc1=!!hqe(u,["WEBGL_compressed_texture_etc1"]),this._bc7=!!hqe(u,["EXT_texture_compression_bptc"]),rB.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);const _=t.allowTextureFilterAnisotropic?hqe(u,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;let g,b,y,v,O,w,A,T,C,E;if(this._textureFilterAnisotropic=_,zF._maximumTextureFilterAnisotropy=Object(r["a"])(_)?u.getParameter(_.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1,c){const e=this;g=function(){return e._gl.createVertexArray()},b=function(t){e._gl.bindVertexArray(t)},y=function(t){e._gl.deleteVertexArray(t)},v=function(e,t,n,i,o){u.drawElementsInstanced(e,t,n,i,o)},O=function(e,t,n,i){u.drawArraysInstanced(e,t,n,i)},w=function(e,t){u.vertexAttribDivisor(e,t)},A=function(e){u.drawBuffers(e)}}else T=hqe(u,["OES_vertex_array_object"]),Object(r["a"])(T)&&(g=function(){return T.createVertexArrayOES()},b=function(e){T.bindVertexArrayOES(e)},y=function(e){T.deleteVertexArrayOES(e)}),C=hqe(u,["ANGLE_instanced_arrays"]),Object(r["a"])(C)&&(v=function(e,t,n,i,o){C.drawElementsInstancedANGLE(e,t,n,i,o)},O=function(e,t,n,i){C.drawArraysInstancedANGLE(e,t,n,i)},w=function(e,t){C.vertexAttribDivisorANGLE(e,t)}),E=hqe(u,["WEBGL_draw_buffers"]),Object(r["a"])(E)&&(A=function(e){E.drawBuffersWEBGL(e)});this.glCreateVertexArray=g,this.glBindVertexArray=b,this.glDeleteVertexArray=y,this.glDrawElementsInstanced=v,this.glDrawArraysInstanced=O,this.glVertexAttribDivisor=w,this.glDrawBuffers=A,this._vertexArrayObject=!!T,this._instancedArrays=!!C,this._drawBuffers=!!E,zF._maximumDrawBuffers=this.drawBuffers?u.getParameter(Jc.MAX_DRAW_BUFFERS):1,zF._maximumColorAttachments=this.drawBuffers?u.getParameter(Jc.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new j_(0,0,0,0),this._clearDepth=1,this._clearStencil=0;const x=new rqe,S=new hGe(this),I=Mz.fromCache();this._defaultPassState=S,this._defaultRenderState=I,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=x,this._currentRenderState=I,this._currentPassState=S,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let i=0;i<zF._maximumVertexAttributes;i++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options=t,this.cache={},Mz.apply(u,I,S)}const fqe={};function pqe(e){if(e.validateFramebuffer){const t=e._gl,n=t.checkFramebufferStatus(t.FRAMEBUFFER);if(n!==t.FRAMEBUFFER_COMPLETE){let e;switch(n){case t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:e="Framebuffer is not complete. Incomplete attachment: at least one attachment point with a renderbuffer or texture attached has its attached object no longer in existence or has an attached image with a width or height of zero, or the color attachment point has a non-color-renderable image attached, or the depth attachment point has a non-depth-renderable image attached, or the stencil attachment point has a non-stencil-renderable image attached. Color-renderable formats include GL_RGBA4, GL_RGB5_A1, and GL_RGB565. GL_DEPTH_COMPONENT16 is the only depth-renderable format. GL_STENCIL_INDEX8 is the only stencil-renderable format.";break;case t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:e="Framebuffer is not complete. Incomplete dimensions: not all attached images have the same width and height.";break;case t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:e="Framebuffer is not complete. Missing attachment: no images are attached to the framebuffer.";break;case t.FRAMEBUFFER_UNSUPPORTED:e="Framebuffer is not complete. Unsupported: the combination of internal formats of the attached images violates an implementation-dependent set of restrictions.";break}throw new a["a"](e)}}}function mqe(e,t,n,i){const o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Mz.partialApply(e._gl,o,t,r,n,i)}let _qe;function gqe(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=_qe;if(Object(r["a"])(t))t._bind(),pqe(e),n=t._getActiveColorAttachments();else{const t=e._gl;t.bindFramebuffer(t.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}Object.defineProperties(dqe.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=uqe(this._originalGLContext,e?cqe:void 0)}},defaultTexture:{get:function(){return void 0===this._defaultTexture&&(this._defaultTexture=new nk({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return void 0===this._defaultEmissiveTexture&&(this._defaultEmissiveTexture=new nk({context:this,pixelFormat:XS.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return void 0===this._defaultNormalTexture&&(this._defaultNormalTexture=new nk({context:this,pixelFormat:XS.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(void 0===this._defaultCubeMap){const e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new ek({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return fqe}}}),"undefined"!==typeof WebGLRenderingContext&&(_qe=[Jc.BACK]);const bqe=new bJ;function yqe(e,t,n,i,o){if(Object(r["a"])(t)&&o.depthTest&&o.depthTest.enabled&&!t.hasDepthAttachment)throw new a["a"]("The depth test can not be enabled (drawCommand.renderState.depthTest.enabled) because the framebuffer (drawCommand.framebuffer) does not have a depth or depth-stencil renderbuffer.");gqe(e,t),mqe(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function vqe(e,t,n,s){const c=t._primitiveType,l=t._vertexArray;let u=t._offset,h=t._count;const d=t.instanceCount;if(!xh.validate(c))throw new a["a"]("drawCommand.primitiveType is required and must be valid.");if(i["a"].defined("drawCommand.vertexArray",l),i["a"].typeOf.number.greaterThanOrEquals("drawCommand.offset",u,0),Object(r["a"])(h)&&i["a"].typeOf.number.greaterThanOrEquals("drawCommand.count",h,0),i["a"].typeOf.number.greaterThanOrEquals("drawCommand.instanceCount",d,0),d>0&&!e.instancedArrays)throw new a["a"]("Instanced arrays extension is not supported");e._us.model=Object(o["a"])(t._modelMatrix,Ne.IDENTITY),n._setUniforms(s,e._us,e.validateShaderProgram),l._bind();const f=l.indexBuffer;Object(r["a"])(f)?(u*=f.bytesPerIndex,h=Object(o["a"])(h,f.numberOfIndices),0===d?e._gl.drawElements(c,h,f.indexDatatype,u):e.glDrawElementsInstanced(c,h,f.indexDatatype,u,d)):(h=Object(o["a"])(h,l.numberOfVertices),0===d?e._gl.drawArrays(c,u,h):e.glDrawArraysInstanced(c,u,h,d)),l._unBind()}dqe.prototype.clear=function(e,t){e=Object(o["a"])(e,bqe),t=Object(o["a"])(t,this._defaultPassState);const n=this._gl;let i=0;const a=e.color,s=e.depth,c=e.stencil;Object(r["a"])(a)&&(j_.equals(this._clearColor,a)||(j_.clone(a,this._clearColor),n.clearColor(a.red,a.green,a.blue,a.alpha)),i|=n.COLOR_BUFFER_BIT),Object(r["a"])(s)&&(s!==this._clearDepth&&(this._clearDepth=s,n.clearDepth(s)),i|=n.DEPTH_BUFFER_BIT),Object(r["a"])(c)&&(c!==this._clearStencil&&(this._clearStencil=c,n.clearStencil(c)),i|=n.STENCIL_BUFFER_BIT);const l=Object(o["a"])(e.renderState,this._defaultRenderState);mqe(this,l,t,!0);const u=Object(o["a"])(e.framebuffer,t.framebuffer);gqe(this,u),n.clear(i)},dqe.prototype.draw=function(e,t,n,r){i["a"].defined("drawCommand",e),i["a"].defined("drawCommand.shaderProgram",e._shaderProgram),t=Object(o["a"])(t,this._defaultPassState);const a=Object(o["a"])(e._framebuffer,t.framebuffer),s=Object(o["a"])(e._renderState,this._defaultRenderState);n=Object(o["a"])(n,e._shaderProgram),r=Object(o["a"])(r,e._uniformMap),yqe(this,a,t,n,s),vqe(this,e,n,r)},dqe.prototype.endFrame=function(){const e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);const t=_qe;this.drawBuffers&&this.glDrawBuffers(t);const n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)},dqe.prototype.readPixels=function(e){const t=this._gl;e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const n=Math.max(Object(o["a"])(e.x,0),0),a=Math.max(Object(o["a"])(e.y,0),0),s=Object(o["a"])(e.width,t.drawingBufferWidth),c=Object(o["a"])(e.height,t.drawingBufferHeight),l=e.framebuffer;i["a"].typeOf.number.greaterThan("readState.width",s,0),i["a"].typeOf.number.greaterThan("readState.height",c,0);let u=WS.UNSIGNED_BYTE;Object(r["a"])(l)&&l.numberOfColorAttachments>0&&(u=l.getColorTexture(0).pixelDatatype);const h=XS.createTypedArray(XS.RGBA,u,s,c);return gqe(this,l),t.readPixels(n,a,s,c,XS.RGBA,WS.toWebGLConstant(u,this),h),h};const Oqe={position:0,textureCoordinates:1};function wqe(e,t,n){this._pickObjects=e,this.key=t,this.color=n}dqe.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!Object(r["a"])(e)){const t=new kh({attributes:{position:new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:xh.TRIANGLES});e=BG.fromGeometry({context:this,geometry:t,attributeLocations:Oqe,bufferUsage:EG.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e},dqe.prototype.createViewportQuadCommand=function(e,t){return t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),new nz({vertexArray:this.getViewportQuadVertexArray(),primitiveType:xh.TRIANGLES,renderState:t.renderState,shaderProgram:IU.fromCache({context:this,vertexShaderSource:tGe,fragmentShaderSource:e,attributeLocations:Oqe}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})},dqe.prototype.getObjectByPickColor=function(e){return i["a"].defined("pickColor",e),this._pickObjects[e.toRgba()]},Object.defineProperties(wqe.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}}),wqe.prototype.destroy=function(){delete this._pickObjects[this.key]},dqe.prototype.createPickId=function(e){i["a"].defined("object",e),++this._nextPickColor[0];const t=this._nextPickColor[0];if(0===t)throw new ye["a"]("Out of unique Pick IDs.");return this._pickObjects[t]=e,new wqe(this._pickObjects,t,j_.fromRgba(t))},dqe.prototype.isDestroyed=function(){return!1},dqe.prototype.destroy=function(){const e=this.cache;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];Object(r["a"])(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),Wl(this)};var Aqe=dqe;function Tqe(e,t,n){if(i["a"].defined("context",e),!Object(r["a"])(t)||!Object(r["a"])(t.positiveX)||!Object(r["a"])(t.negativeX)||!Object(r["a"])(t.positiveY)||!Object(r["a"])(t.negativeY)||!Object(r["a"])(t.positiveZ)||!Object(r["a"])(t.negativeZ))throw new a["a"]("urls is required and must have positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ properties.");const o={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},s=[Et["a"].createIfNeeded(t.positiveX).fetchImage(o),Et["a"].createIfNeeded(t.negativeX).fetchImage(o),Et["a"].createIfNeeded(t.positiveY).fetchImage(o),Et["a"].createIfNeeded(t.negativeY).fetchImage(o),Et["a"].createIfNeeded(t.positiveZ).fetchImage(o),Et["a"].createIfNeeded(t.negativeZ).fetchImage(o)];return Promise.all(s).then((function(t){return new ek({context:e,source:{positiveX:t[0],negativeX:t[1],positiveY:t[2],negativeY:t[3],positiveZ:t[4],negativeZ:t[5]}})}))}var Cqe=Tqe;function Eqe(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.missingImageUrl))throw new a["a"]("options.missingImageUrl is required.");if(!Object(r["a"])(e.pixelsToCheck))throw new a["a"]("options.pixelsToCheck is required.");this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;const t=Et["a"].createIfNeeded(e.missingImageUrl),n=this;function i(t){Object(r["a"])(t.blob)&&(n._missingImageByteLength=t.blob.size);let i=Object(PN["a"])(t);if(e.disableCheckIfAllPixelsAreTransparent){let n=!0;const o=t.width,r=e.pixelsToCheck;for(let e=0,t=r.length;n&&e<t;++e){const t=r[e],a=4*t.x+t.y*o,s=i[a+3];s>0&&(n=!1)}n&&(i=void 0)}n._missingImagePixels=i,n._isReady=!0}function s(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(s)}Eqe.prototype.isReady=function(){return this._isReady},Eqe.prototype.shouldDiscardImage=function(e){if(!this._isReady)throw new a["a"]("shouldDiscardImage must not be called before the discard policy is ready.");const t=this._pixelsToCheck,n=this._missingImagePixels;if(!Object(r["a"])(n))return!1;if(Object(r["a"])(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;const i=Object(PN["a"])(e),o=e.width;for(let r=0,a=t.length;r<a;++r){const e=t[r],a=4*e.x+e.y*o;for(let t=0;t<4;++t){const e=a+t;if(i[e]!==n[e])return!1}}return!0};var xqe=Eqe;function Sqe(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}Sqe.prototype.configureNameFromProperties=function(e){let t,n=10;for(const i in e)if(e.hasOwnProperty(i)&&e[i]){const e=i.toLowerCase();n>1&&"name"===e?(n=1,t=i):n>2&&"title"===e?(n=2,t=i):n>3&&/name/i.test(i)?(n=3,t=i):n>4&&/title/i.test(i)&&(n=4,t=i)}Object(r["a"])(t)&&(this.name=e[t])},Sqe.prototype.configureDescriptionFromProperties=function(e){function t(e){let n='<table class="cesium-infoBox-defaultTable">';for(const i in e)if(e.hasOwnProperty(i)){const o=e[i];Object(r["a"])(o)&&(n+="object"===typeof o?`<tr><td>${i}</td><td>${t(o)}</td></tr>`:`<tr><td>${i}</td><td>${o}</td></tr>`)}return n+="</table>",n}this.description=t(e)};var Iqe=Sqe;function Dqe(){this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,a["a"].throwInstantiationError()}Object.defineProperties(Dqe.prototype,{ready:{get:a["a"].throwInstantiationError},readyPromise:{get:a["a"].throwInstantiationError},rectangle:{get:a["a"].throwInstantiationError},tileWidth:{get:a["a"].throwInstantiationError},tileHeight:{get:a["a"].throwInstantiationError},maximumLevel:{get:a["a"].throwInstantiationError},minimumLevel:{get:a["a"].throwInstantiationError},tilingScheme:{get:a["a"].throwInstantiationError},tileDiscardPolicy:{get:a["a"].throwInstantiationError},errorEvent:{get:a["a"].throwInstantiationError},credit:{get:a["a"].throwInstantiationError},proxy:{get:a["a"].throwInstantiationError},hasAlphaChannel:{get:a["a"].throwInstantiationError}}),Dqe.prototype.getTileCredits=function(e,t,n){a["a"].throwInstantiationError()},Dqe.prototype.requestImage=function(e,t,n,i){a["a"].throwInstantiationError()},Dqe.prototype.pickFeatures=function(e,t,n,i,o){a["a"].throwInstantiationError()};const jqe=/\.ktx2$/i;Dqe.loadImage=function(e,t){i["a"].defined("url",t);const n=Et["a"].createIfNeeded(t);return jqe.test(n.url)?rB(n):Object(r["a"])(e)&&Object(r["a"])(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var Pqe=Dqe;function Rqe(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const t=Et["a"].createIfNeeded(e.url);t.appendForwardSlash(),Object(r["a"])(e.token)&&t.setQueryParameters({token:e.token}),this._resource=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=Object(o["a"])(e.tileWidth,256),this._tileHeight=Object(o["a"])(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=Object(o["a"])(e.tilingScheme,new qt({ellipsoid:e.ellipsoid})),this._useTiles=Object(o["a"])(e.usePreCachedTilesIfAvailable,!0),this._rectangle=Object(o["a"])(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers;let n=e.credit;"string"===typeof n&&(n=new fi(n)),this._credit=n,this.enablePickFeatures=Object(o["a"])(e.enablePickFeatures,!0),this._errorEvent=new pi["a"],this._ready=!1,this._readyPromise=Object(xr["a"])();const i=this;let s;function c(t){const n=t.tileInfo;if(Object(r["a"])(n)){if(i._tileWidth=n.rows,i._tileHeight=n.cols,102100===n.spatialReference.wkid||102113===n.spatialReference.wkid)i._tilingScheme=new nh({ellipsoid:e.ellipsoid});else{if(4326!==t.tileInfo.spatialReference.wkid){const e=`Tile spatial reference WKID ${t.tileInfo.spatialReference.wkid} is not supported.`;return s=eh.handleError(s,i,i._errorEvent,e,void 0,void 0,void 0,u),void(s.retry||i._readyPromise.reject(new ye["a"](e)))}i._tilingScheme=new qt({ellipsoid:e.ellipsoid})}if(i._maximumLevel=t.tileInfo.lods.length-1,Object(r["a"])(t.fullExtent)){if(Object(r["a"])(t.fullExtent.spatialReference)&&Object(r["a"])(t.fullExtent.spatialReference.wkid))if(102100===t.fullExtent.spatialReference.wkid||102113===t.fullExtent.spatialReference.wkid){const e=new Ll,n=t.fullExtent,o=e.unproject(new g(Math.max(n.xmin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(n.ymin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),r=e.unproject(new g(Math.min(n.xmax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(n.ymax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0));i._rectangle=new Fe(o.longitude,o.latitude,r.longitude,r.latitude)}else{if(4326!==t.fullExtent.spatialReference.wkid){const e=`fullExtent.spatialReference WKID ${t.fullExtent.spatialReference.wkid} is not supported.`;return s=eh.handleError(s,i,i._errorEvent,e,void 0,void 0,void 0,u),void(s.retry||i._readyPromise.reject(new ye["a"](e)))}i._rectangle=Fe.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax)}}else i._rectangle=i._tilingScheme.rectangle;Object(r["a"])(i._tileDiscardPolicy)||(i._tileDiscardPolicy=new xqe({missingImageUrl:Mqe(i,0,0,i._maximumLevel).url,pixelsToCheck:[new Ht(0,0),new Ht(200,20),new Ht(20,200),new Ht(80,110),new Ht(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),i._useTiles=!0}else i._useTiles=!1;Object(r["a"])(t.copyrightText)&&t.copyrightText.length>0&&(i._credit=new fi(t.copyrightText)),i._ready=!0,i._readyPromise.resolve(!0),eh.handleSuccess(s)}function l(e){const t=`An error occurred while accessing ${i._resource.url}.`;s=eh.handleError(s,i,i._errorEvent,t,void 0,void 0,void 0,u),i._readyPromise.reject(new ye["a"](t))}function u(){const e=i._resource.getDerivedResource({queryParameters:{f:"json"}});e.fetchJsonp().then((function(e){c(e)})).catch((function(e){l(e)}))}this._useTiles?u():(this._ready=!0,this._readyPromise.resolve(!0))}function Mqe(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{const a=e._tilingScheme.tileXYToNativeRectangle(t,n,i),s=`${a.west},${a.south},${a.east},${a.north}`,c={bbox:s,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof V?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers="show:"+e.layers),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Rqe.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return 0}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this._ready)throw new a["a"]("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}}),Rqe.prototype.getTileCredits=function(e,t,n){},Rqe.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");return Pqe.loadImage(this,Mqe(this,e,t,n,i))},Rqe.prototype.pickFeatures=function(e,t,n,i,o){if(!this._ready)throw new a["a"]("pickFeatures must not be called before the imagery provider is ready.");if(!this.enablePickFeatures)return;const c=this._tilingScheme.tileXYToNativeRectangle(e,t,n);let l,u,h;if(this._tilingScheme.projection instanceof V)l=s["a"].toDegrees(i),u=s["a"].toDegrees(o),h="4326";else{const e=this._tilingScheme.projection.project(new I(i,o,0));l=e.x,u=e.y,h="3857"}let d="visible";Object(r["a"])(this._layers)&&(d+=":"+this._layers);const f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${l},${u}`,mapExtent:`${c.west},${c.south},${c.east},${c.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:h,layers:d},p=this._resource.getDerivedResource({url:"identify",queryParameters:f});return p.fetchJson().then((function(e){const t=[],n=e.results;if(!Object(r["a"])(n))return t;for(let i=0;i<n.length;++i){const e=n[i],o=new Iqe;if(o.data=e,o.name=e.value,o.properties=e.attributes,o.configureDescriptionFromProperties(e.attributes),"esriGeometryPoint"===e.geometryType&&e.geometry){const t=e.geometry.spatialReference&&e.geometry.spatialReference.wkid?e.geometry.spatialReference.wkid:4326;if(4326===t||4283===t)o.position=I.fromDegrees(e.geometry.x,e.geometry.y,e.geometry.z);else if(102100===t||900913===t||3857===t){const t=new Ll;o.position=t.unproject(new g(e.geometry.x,e.geometry.y,e.geometry.z))}}t.push(o)}return t}))};var Nqe=Rqe;function Lqe(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new Yne,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new Ht,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}function Bqe(e){const t=e._framebuffers;if(!Object(r["a"])(t))return;const n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Fqe(e,t){Bqe(e);let n=e._width,i=e._height;const o=t.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),a=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),a[c]=new Yne,a[c].update(t,n,i,1,o);const s=a[r-1].getColorTexture(0);e._previousLuminance.update(t,s.width,s.height,1,o),e._framebuffers=a}function kqe(e){const t=e._commands;if(!Object(r["a"])(t))return;const n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function zqe(e,t){let n;if(0===t)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{const i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function Uqe(e,t){let n="uniform sampler2D colorTexture; \nvarying vec2 v_textureCoordinates; \nfloat sampleTexture(vec2 offset) { \n";return n+=0===e?" vec4 color = texture2D(colorTexture, v_textureCoordinates + offset); \n return czm_luminance(color.rgb); \n":" return texture2D(colorTexture, v_textureCoordinates + offset).r; \n",n+="}\n\n",n+="uniform vec2 colorTextureDimensions; \nuniform vec2 minMaxLuminance; \nuniform sampler2D previousLuminance; \nvoid main() { \n float color = 0.0; \n float xStep = 1.0 / colorTextureDimensions.x; \n float yStep = 1.0 / colorTextureDimensions.y; \n int count = 0; \n for (int i = 0; i < 3; ++i) { \n for (int j = 0; j < 3; ++j) { \n vec2 offset; \n offset.x = -xStep + float(i) * xStep; \n offset.y = -yStep + float(j) * yStep; \n if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { \n continue; \n } \n color += sampleTexture(offset); \n ++count; \n } \n } \n if (count > 0) { \n color /= float(count); \n } \n",e===t-1&&(n+=" float previous = texture2D(previousLuminance, vec2(0.5)).r; \n color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); \n color = previous + (color - previous) / (60.0 * 1.5); \n color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); \n"),n+=" gl_FragColor = vec4(color); \n} \n",n}function Vqe(e,t){kqe(e);const n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(Uqe(r,i),{framebuffer:n[r].framebuffer,uniformMap:zqe(e,r)});e._commands=o}Object.defineProperties(Lqe.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){const e=this._framebuffers;if(Object(r["a"])(e))return e[e.length-1].getColorTexture(0)}}}),Lqe.prototype.clear=function(e){const t=this._framebuffers;if(!Object(r["a"])(t))return;let n=this._clearCommand;Object(r["a"])(n)||(n=this._clearCommand=new bJ({color:new j_(0,0,0,0),framebuffer:void 0}));const i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)},Lqe.prototype.update=function(e){const t=e.drawingBufferWidth,n=e.drawingBufferHeight;t===this._width&&n===this._height||(this._width=t,this._height=n,Fqe(this,e),Vqe(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;const i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o},Lqe.prototype.execute=function(e,t){this._colorTexture=t;const n=this._commands;if(!Object(r["a"])(n))return;const i=n.length;for(let o=0;o<i;++o)n[o].execute(e)},Lqe.prototype.isDestroyed=function(){return!1},Lqe.prototype.destroy=function(){return Bqe(this),kqe(this),Wl(this)};var Hqe=Lqe;const Gqe={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"};var qqe=Object.freeze(Gqe);function Wqe(e){}let Yqe;Wqe.prototype.isReady=function(){return!0},Wqe.prototype.shouldDiscardImage=function(e){return Wqe.EMPTY_IMAGE===e},Object.defineProperties(Wqe,{EMPTY_IMAGE:{get:function(){return Object(r["a"])(Yqe)||(Yqe=new Image,Yqe.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),Yqe}}});var Xqe=Wqe;function Kqe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.key;if(!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");if(!Object(r["a"])(t))throw new a["a"]("options.key is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._key=t,this._resource=Et["a"].createIfNeeded(e.url),this._resource.appendForwardSlash(),this._tileProtocol=e.tileProtocol,this._mapStyle=Object(o["a"])(e.mapStyle,qqe.AERIAL),this._culture=Object(o["a"])(e.culture,""),this._tileDiscardPolicy=e.tileDiscardPolicy,Object(r["a"])(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new Xqe),this._proxy=e.proxy,this._credit=new fi(`<a href="http://www.bing.com"><img src="${Kqe.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new nh({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new pi["a"],this._ready=!1,this._readyPromise=Object(xr["a"])();let n=this._tileProtocol;if(Object(r["a"])(n))n.length>0&&":"===n[n.length-1]&&(n=n.substr(0,n.length-1));else{const e=document.location.protocol;n="http:"===e?"http":"https"}const i=this._resource.getDerivedResource({url:"REST/v1/Imagery/Metadata/"+this._mapStyle,queryParameters:{incl:"ImageryProviders",key:this._key,uriScheme:n}}),c=this;let l;function u(e){if(1!==e.resourceSets.length)return void h();const t=e.resourceSets[0].resources[0];c._tileWidth=t.imageWidth,c._tileHeight=t.imageHeight,c._maximumLevel=t.zoomMax-1,c._imageUrlSubdomains=t.imageUrlSubdomains,c._imageUrlTemplate=t.imageUrl;let n=c._attributionList=t.imageryProviders;n||(n=c._attributionList=[]);for(let i=0,o=n.length;i<o;++i){const e=n[i];if(e.credit instanceof fi)break;e.credit=new fi(e.attribution);const t=e.coverageAreas;for(let n=0,i=e.coverageAreas.length;n<i;++n){const e=t[n],i=e.bbox;e.bbox=new Fe(s["a"].toRadians(i[1]),s["a"].toRadians(i[0]),s["a"].toRadians(i[3]),s["a"].toRadians(i[2]))}}c._ready=!0,c._readyPromise.resolve(!0),eh.handleSuccess(l)}function h(e){const t=`An error occurred while accessing ${i.url}.`;l=eh.handleError(l,c,c._errorEvent,t,void 0,void 0,void 0,f),c._readyPromise.reject(new ye["a"](t))}const d=i.url;function f(){const e=i.fetchJsonp("jsonp");Kqe._metadataCache[d]=e,e.then(u).catch(h)}const p=Kqe._metadataCache[d];Object(r["a"])(p)?p.then(u).catch(h):f()}Object.defineProperties(Kqe.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return 0}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this._ready)throw new a["a"]("rectangle must not be called before the imagery provider is ready.");return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});const Jqe=new Fe;function Zqe(e,t,n,i,o){const r=e._imageUrlTemplate,a=e._imageUrlSubdomains,s=(t+n+i)%a.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Kqe.tileXYToQuadKey(t,n,i),subdomain:a[s],culture:e._culture},queryParameters:{n:"z"}})}Kqe.prototype.getTileCredits=function(e,t,n){if(!this._ready)throw new a["a"]("getTileCredits must not be called before the imagery provider is ready.");const i=this._tilingScheme.tileXYToRectangle(e,t,n,Jqe),o=Qqe(this._attributionList,n,i);return o},Kqe.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");const o=Pqe.loadImage(this,Zqe(this,e,t,n,i));if(Object(r["a"])(o))return o.catch((function(e){return Object(r["a"])(e.blob)&&0===e.blob.size?Xqe.EMPTY_IMAGE:Promise.reject(e)}))},Kqe.prototype.pickFeatures=function(e,t,n,i,o){},Kqe.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){const n=1<<o;let r=0;0!==(e&n)&&(r|=1),0!==(t&n)&&(r|=2),i+=r}return i},Kqe.quadKeyToTileXY=function(e){let t=0,n=0;const i=e.length-1;for(let o=i;o>=0;--o){const r=1<<o,a=+e[i-o];0!==(1&a)&&(t|=r),0!==(2&a)&&(n|=r)}return{x:t,y:n,level:i}},Kqe._logoUrl=void 0,Object.defineProperties(Kqe,{logoUrl:{get:function(){return Object(r["a"])(Kqe._logoUrl)||(Kqe._logoUrl=Lt("Assets/Images/bing_maps_credit.png")),Kqe._logoUrl},set:function(e){i["a"].defined("value",e),Kqe._logoUrl=e}}});const $qe=new Fe;function Qqe(e,t,n){++t;const i=[];for(let o=0,a=e.length;o<a;++o){const a=e[o],s=a.coverageAreas;let c=!1;for(let e=0,i=a.coverageAreas.length;!c&&e<i;++e){const i=s[e];if(t>=i.zoomMin&&t<=i.zoomMax){const e=Fe.intersection(n,i.bbox,$qe);Object(r["a"])(e)&&(c=!0)}}c&&i.push(a.credit)}return i}Kqe._metadataCache={};var eWe=Kqe;const tWe=new g(1,1,1);function nWe(e){e=Object(o["a"])(e,tWe),i["a"].defined("dimensions",e),i["a"].typeOf.number.greaterThanOrEquals("dimensions.x",e.x,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.y",e.y,0),i["a"].typeOf.number.greaterThanOrEquals("dimensions.z",e.z,0),this._dimensions=g.clone(e)}Object.defineProperties(nWe.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){i["a"].defined("value",e),i["a"].typeOf.number.greaterThanOrEquals("value.x",e.x,0),i["a"].typeOf.number.greaterThanOrEquals("value.y",e.y,0),i["a"].typeOf.number.greaterThanOrEquals("value.z",e.z,0),g.clone(e,this._dimensions)}}});const iWe=new g;nWe.prototype.emit=function(e){const t=this._dimensions,n=g.multiplyByScalar(t,.5,iWe),i=s["a"].randomBetween(-n.x,n.x),o=s["a"].randomBetween(-n.y,n.y),r=s["a"].randomBetween(-n.z,n.z);e.position=g.fromElements(i,o,r,e.position),e.velocity=g.normalize(e.position,e.velocity)};var oWe=nWe,rWe="varying vec2 v_textureCoordinates;\nconst float M_PI = 3.141592653589793;\n\nfloat vdcRadicalInverse(int i)\n{\n float r;\n float base = 2.0;\n float value = 0.0;\n float invBase = 1.0 / base;\n float invBi = invBase;\n for (int x = 0; x < 100; x++)\n {\n if (i <= 0)\n {\n break;\n }\n r = mod(float(i), base);\n value += r * invBi;\n invBi *= invBase;\n i = int(float(i) * invBase);\n }\n return value;\n}\n\nvec2 hammersley2D(int i, int N)\n{\n return vec2(float(i) / float(N), vdcRadicalInverse(i));\n}\n\nvec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N)\n{\n float a = roughness * roughness;\n float phi = 2.0 * M_PI * xi.x;\n float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y));\n float sinTheta = sqrt(1.0 - cosTheta * cosTheta);\n vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta);\n vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);\n vec3 tangentX = normalize(cross(upVector, N));\n vec3 tangentY = cross(N, tangentX);\n return tangentX * H.x + tangentY * H.y + N * H.z;\n}\n\nfloat G1_Smith(float NdotV, float k)\n{\n return NdotV / (NdotV * (1.0 - k) + k);\n}\n\nfloat G_Smith(float roughness, float NdotV, float NdotL)\n{\n float k = roughness * roughness / 2.0;\n return G1_Smith(NdotV, k) * G1_Smith(NdotL, k);\n}\n\nvec2 integrateBrdf(float roughness, float NdotV)\n{\n vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV);\n float A = 0.0;\n float B = 0.0;\n const int NumSamples = 1024;\n for (int i = 0; i < NumSamples; i++)\n {\n vec2 xi = hammersley2D(i, NumSamples);\n vec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0));\n vec3 L = 2.0 * dot(V, H) * H - V;\n float NdotL = clamp(L.z, 0.0, 1.0);\n float NdotH = clamp(H.z, 0.0, 1.0);\n float VdotH = clamp(dot(V, H), 0.0, 1.0);\n if (NdotL > 0.0)\n {\n float G = G_Smith(roughness, NdotV, NdotL);\n float G_Vis = G * VdotH / (NdotH * NdotV);\n float Fc = pow(1.0 - VdotH, 5.0);\n A += (1.0 - Fc) * G_Vis;\n B += Fc * G_Vis;\n }\n }\n return vec2(A, B) / float(NumSamples);\n}\n\nvoid main()\n{\n gl_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0);\n}\n";function aWe(){this._colorTexture=void 0,this._drawCommand=void 0}function sWe(e,t,n){const i=t.createViewportQuadCommand(rWe,{framebuffer:n,renderState:Mz.fromCache({viewport:new Oh(0,0,256,256)})});e._drawCommand=i}Object.defineProperties(aWe.prototype,{colorTexture:{get:function(){return this._colorTexture}}}),aWe.prototype.update=function(e){if(!Object(r["a"])(this._colorTexture)){const t=e.context,n=new nk({context:t,width:256,height:256,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,sampler:$F.NEAREST});this._colorTexture=n;const i=new kne({context:t,colorTextures:[n],destroyAttachments:!1});sWe(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}},aWe.prototype.isDestroyed=function(){return!1},aWe.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),Wl(this)};var cWe=aWe;const lWe={};function uWe(e,t,n){let i,o,r;if(e instanceof vA){const a=Math.tan(.5*e.fovy);return i=e.near,o=e.near*a,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}return e instanceof gA?(i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o)):Math.max(t,n)}const hWe=new g,dWe=new g;function fWe(e,t,n,i){if(Object(r["a"])(i)&&n(.5)>i){const i=n(0),o=n(1),r=n(.5),a=r-i,c=r-o;return function(r){const l=n(r);if(r<=.5){const t=(l-i)/a;return s["a"].lerp(e,-s["a"].PI_OVER_TWO,t)}const u=(l-o)/c;return s["a"].lerp(-s["a"].PI_OVER_TWO,t,1-u)}}return function(n){return s["a"].lerp(e,t,n)}}function pWe(e,t,n,i,o){let a=o;const c=Math.max(n,i);if(!Object(r["a"])(a)){const n=e.position,i=t,o=e.up,r=e.right,s=e.frustum,c=g.subtract(n,i,hWe),l=g.magnitude(g.multiplyByScalar(o,g.dot(c,o),dWe)),u=g.magnitude(g.multiplyByScalar(r,g.dot(c,r),dWe));a=Math.min(.2*uWe(s,l,u),1e9)}if(c<a){const e=8,t=1e6,o=-Math.pow((a-n)*t,1/e),r=Math.pow((a-i)*t,1/e);return function(n){const i=n*(r-o)+o;return-Math.pow(i,e)/t+a}}return function(e){return s["a"].lerp(n,i,e)}}function mWe(e,t){return s["a"].equalsEpsilon(e,s["a"].TWO_PI,s["a"].EPSILON11)&&(e=0),t>e+Math.PI?e+=s["a"].TWO_PI:t<e-Math.PI&&(e-=s["a"].TWO_PI),e}const _We=new g;function gWe(e,t,n,i,o,r,a,c){const l=e.camera,u=g.clone(l.position,_We),h=l.pitch,d=mWe(l.heading,i),f=mWe(l.roll,r),p=pWe(l,n,u.z,n.z,a),m=fWe(h,o,p,c);function _(e){const o=e.time/t;l.setView({orientation:{heading:s["a"].lerp(d,i,o),pitch:m(o),roll:s["a"].lerp(f,r,o)}}),Ht.lerp(u,n,o,l.position),l.position.z=p(o)}return _}function bWe(e,t){e.longitude<t.longitude?e.longitude+=s["a"].TWO_PI:t.longitude+=s["a"].TWO_PI}function yWe(e,t){const n=e.longitude-t.longitude;n<-s["a"].PI?e.longitude+=s["a"].TWO_PI:n>s["a"].PI&&(t.longitude+=s["a"].TWO_PI)}const vWe=new I,OWe=new I;function wWe(e,t,n,i,o,a,c,l,u,h){const d=e.camera,f=e.mapProjection,p=f.ellipsoid,m=I.clone(d.positionCartographic,vWe),_=d.pitch,b=mWe(d.heading,i),y=mWe(d.roll,a),v=p.cartesianToCartographic(n,OWe);m.longitude=s["a"].zeroToTwoPi(m.longitude),v.longitude=s["a"].zeroToTwoPi(v.longitude);let O=!1;if(Object(r["a"])(l)){const e=s["a"].zeroToTwoPi(l),t=Math.min(m.longitude,v.longitude),n=Math.max(m.longitude,v.longitude),i=e>=t&&e<=n;if(Object(r["a"])(u)){const e=Math.abs(m.longitude-v.longitude),t=s["a"].TWO_PI-e,n=i?e:t,o=i?t:e;n<o*u&&!i&&(O=!0)}else i||(O=!0)}O?bWe(m,v):yWe(m,v);const w=pWe(d,n,m.height,v.height,c),A=fWe(_,o,w,h);function T(){const e=m.longitude,n=v.longitude,o=m.latitude,r=v.latitude;return function(c){const l=c.time/t,u=g.fromRadians(s["a"].lerp(e,n,l),s["a"].lerp(o,r,l),w(l),p);d.setView({destination:u,orientation:{heading:s["a"].lerp(b,i,l),pitch:A(l),roll:s["a"].lerp(y,a,l)}})}}return T()}function AWe(e,t,n,i,o,r,a){const c=e.camera,l=g.clone(c.position,_We),u=mWe(c.heading,i),h=c.frustum.right-c.frustum.left,d=pWe(c,n,h,n.z,a);function f(e){const o=e.time/t;c.setView({orientation:{heading:s["a"].lerp(u,i,o)}}),Ht.lerp(l,n,o,c.position);const r=d(o),a=c.frustum,h=a.top/a.right,f=.5*(r-(a.right-a.left));a.right+=f,a.left-=f,a.top=h*a.right,a.bottom=-a.top}return f}const TWe=new I,CWe=new g;function EWe(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function xWe(e,t){function n(){"function"===typeof t&&t(),e.enableInputs=!0}return n}lWe.createTween=function(e,t){t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);let n=t.destination;if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(n))throw new a["a"]("destination is required.");const i=e.mode;if(i===vq.MORPHING)return EWe();const c=Object(o["a"])(t.convert,!0),l=e.mapProjection,u=l.ellipsoid,h=t.maximumHeight,d=t.flyOverLongitude,f=t.flyOverLongitudeWeight,p=t.pitchAdjustHeight;let m=t.easingFunction;c&&i!==vq.SCENE3D&&(u.cartesianToCartographic(n,TWe),n=l.project(TWe,CWe));const _=e.camera,b=t.endTransform;Object(r["a"])(b)&&_._setTransform(b);let y=t.duration;Object(r["a"])(y)||(y=Math.ceil(g.distance(_.position,n)/1e6)+2,y=Math.min(y,3));const v=Object(o["a"])(t.heading,0),O=Object(o["a"])(t.pitch,-s["a"].PI_OVER_TWO),w=Object(o["a"])(t.roll,0),A=e.screenSpaceCameraController;A.enableInputs=!1;const T=xWe(A,t.complete),C=xWe(A,t.cancel),E=_.frustum;let x=e.mode===vq.SCENE2D;if(x=x&&Ht.equalsEpsilon(_.position,n,s["a"].EPSILON6),x=x&&s["a"].equalsEpsilon(Math.max(E.right-E.left,E.top-E.bottom),n.z,s["a"].EPSILON6),x=x||e.mode!==vq.SCENE2D&&g.equalsEpsilon(n,_.position,s["a"].EPSILON10),x=x&&s["a"].equalsEpsilon(s["a"].negativePiToPi(v),s["a"].negativePiToPi(_.heading),s["a"].EPSILON10)&&s["a"].equalsEpsilon(s["a"].negativePiToPi(O),s["a"].negativePiToPi(_.pitch),s["a"].EPSILON10)&&s["a"].equalsEpsilon(s["a"].negativePiToPi(w),s["a"].negativePiToPi(_.roll),s["a"].EPSILON10),x)return EWe(T,C);const S=new Array(4);if(S[vq.SCENE2D]=AWe,S[vq.SCENE3D]=wWe,S[vq.COLUMBUS_VIEW]=gWe,y<=0){const t=function(){const t=S[i](e,1,n,v,O,w,h,d,f,p);t({time:1}),"function"===typeof T&&T()};return EWe(t,C)}const I=S[i](e,y,n,v,O,w,h,d,f,p);if(!Object(r["a"])(m)){const e=_.positionCartographic.height,t=i===vq.SCENE3D?u.cartesianToCartographic(n).height:n.z;m=e>t&&e>11500?Aw.CUBIC_OUT:Aw.QUINTIC_IN_OUT}return{duration:y,easingFunction:m,startObject:{time:0},stopObject:{time:y},update:I,complete:T,cancel:C}};var SWe=lWe;const IWe={ROTATE:0,INFINITE_SCROLL:1};var DWe=Object.freeze(IWe);function jWe(e){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this._scene=e,this._transform=Ne.clone(Ne.IDENTITY),this._invTransform=Ne.clone(Ne.IDENTITY),this._actualTransform=Ne.clone(Ne.IDENTITY),this._actualInvTransform=Ne.clone(Ne.IDENTITY),this._transformChanged=!1,this.position=new g,this._position=new g,this._positionWC=new g,this._positionCartographic=new I,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new g,this._direction=new g,this._directionWC=new g,this.up=new g,this._up=new g,this._upWC=new g,this.right=new g,this._right=new g,this._rightWC=new g,this.frustum=new vA,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=s["a"].toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new pi["a"],this._moveEnd=new pi["a"],this._changed=new pi["a"],this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this.percentageChanged=.5,this._viewMatrix=new Ne,this._invViewMatrix=new Ne,PWe(this),this._mode=vq.SCENE3D,this._modeChanged=!0;const t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new I(Math.PI,s["a"].PI_OVER_TWO)),this._max2Dfrustum=void 0,eXe(this,jWe.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=g.magnitude(this.position);n+=n*jWe.DEFAULT_VIEW_FACTOR,g.normalize(this.position,this.position),g.multiplyByScalar(this.position,n,this.position)}function PWe(e){Ne.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),Ne.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),Ne.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function RWe(e){if(Object(r["a"])(e._oldPositionWC)){e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;const t=g.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=g.magnitude(t),e._oldPositionWC=g.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=y_()):e.timeSinceMoved=Math.max(y_()-e._lastMovedTimestamp,0)/1e3}else e._oldPositionWC=g.clone(e.positionWC,e._oldPositionWC)}function MWe(e){Hs.basisTo2D(e._projection,e._transform,e._actualTransform)}jWe.TRANSFORM_2D=new Ne(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),jWe.TRANSFORM_2D_INVERSE=Ne.inverseTransformation(jWe.TRANSFORM_2D,new Ne),jWe.DEFAULT_VIEW_RECTANGLE=Fe.fromDegrees(-95,-20,-70,90),jWe.DEFAULT_VIEW_FACTOR=.5,jWe.DEFAULT_OFFSET=new PE(0,-s["a"].PI_OVER_FOUR,0),jWe.prototype.canPreloadFlight=function(){return Object(r["a"])(this._currentFlight)&&this._mode!==vq.SCENE2D},jWe.prototype._updateCameraChanged=function(){const e=this;if(RWe(e),0===e._changed.numberOfListeners)return;const t=e.percentageChanged,n=e.heading;Object(r["a"])(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%s["a"].TWO_PI;i=i>s["a"].PI?s["a"].TWO_PI-i:i;const o=i/Math.PI;if(o>t&&(e._changed.raiseEvent(o),e._changedHeading=n),e._mode===vq.SCENE2D){if(!Object(r["a"])(e._changedFrustum))return e._changedPosition=g.clone(e.position,e._changedPosition),void(e._changedFrustum=e.frustum.clone());const n=e.position,i=e._changedPosition,o=e.frustum,a=e._changedFrustum,s=n.x+o.left,c=n.x+o.right,l=i.x+a.left,u=i.x+a.right,h=n.y+o.bottom,d=n.y+o.top,f=i.y+a.bottom,p=i.y+a.top,m=Math.max(s,l),_=Math.min(c,u),b=Math.max(h,f),y=Math.min(d,p);let v;if(m>=_||b>=d)v=1;else{let e=a;s<l&&c>u&&h<f&&d>p&&(e=o),v=1-(_-m)*(y-b)/((e.right-e.left)*(e.top-e.bottom))}return void(v>t&&(e._changed.raiseEvent(v),e._changedPosition=g.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum)))}if(!Object(r["a"])(e._changedDirection))return e._changedPosition=g.clone(e.positionWC,e._changedPosition),void(e._changedDirection=g.clone(e.directionWC,e._changedDirection));const a=s["a"].acosClamped(g.dot(e.directionWC,e._changedDirection));let c;c=Object(r["a"])(e.frustum.fovy)?a/(.5*e.frustum.fovy):a;const l=g.distance(e.positionWC,e._changedPosition),u=l/e.positionCartographic.height;(c>t||u>t)&&(e._changed.raiseEvent(Math.max(c,u)),e._changedPosition=g.clone(e.positionWC,e._changedPosition),e._changedDirection=g.clone(e.directionWC,e._changedDirection))};const NWe=new I,LWe=new g,BWe=new g,FWe=new be,kWe=new be,zWe=new be,UWe=new be,VWe=new be;function HWe(e){const t=e._projection,n=t.ellipsoid,i=Ne.getColumn(e._transform,3,FWe),o=n.cartesianToCartographic(i,NWe),r=t.project(o,LWe),a=kWe;a.x=r.z,a.y=r.x,a.z=r.y,a.w=1;const c=be.clone(be.UNIT_X,VWe),l=be.add(Ne.getColumn(e._transform,0,BWe),i,BWe);n.cartesianToCartographic(l,o),t.project(o,r);const u=zWe;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,g.subtract(u,a,u),u.x=0;const h=UWe;if(g.magnitudeSquared(u)>s["a"].EPSILON10)g.cross(c,u,h);else{const c=be.add(Ne.getColumn(e._transform,1,BWe),i,BWe);n.cartesianToCartographic(c,o),t.project(o,r),h.x=r.z,h.y=r.x,h.z=r.y,h.w=0,g.subtract(h,a,h),h.x=0,g.magnitudeSquared(h)<s["a"].EPSILON10&&(be.clone(be.UNIT_Y,u),be.clone(be.UNIT_Z,h))}g.cross(h,c,u),g.normalize(u,u),g.cross(c,u,h),g.normalize(h,h),Ne.setColumn(e._actualTransform,0,u,e._actualTransform),Ne.setColumn(e._actualTransform,1,h,e._actualTransform),Ne.setColumn(e._actualTransform,2,c,e._actualTransform),Ne.setColumn(e._actualTransform,3,a,e._actualTransform)}const GWe=new g;function qWe(e){const t=e._mode;let n=!1,i=0;t===vq.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position;const r=!g.equals(o,e.position)||n;r&&(o=g.clone(e.position,e._position));let a=e._direction;const c=!g.equals(a,e.direction);c&&(g.normalize(e.direction,e.direction),a=g.clone(e.direction,e._direction));let l=e._up;const u=!g.equals(l,e.up);u&&(g.normalize(e.up,e.up),l=g.clone(e.up,e._up));let h=e._right;const d=!g.equals(h,e.right);d&&(g.normalize(e.right,e.right),h=g.clone(e.right,e._right));const f=e._transformChanged||e._modeChanged;e._transformChanged=!1,f&&(Ne.inverseTransformation(e._transform,e._invTransform),e._mode===vq.COLUMBUS_VIEW||e._mode===vq.SCENE2D?Ne.equals(Ne.IDENTITY,e._transform)?Ne.clone(jWe.TRANSFORM_2D,e._actualTransform):e._mode===vq.COLUMBUS_VIEW?MWe(e):HWe(e):Ne.clone(e._transform,e._actualTransform),Ne.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);const p=e._actualTransform;if(r||f)if(e._positionWC=Ne.multiplyByPoint(p,o,e._positionWC),t===vq.SCENE3D||t===vq.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{const n=GWe;n.x=e._positionWC.y,n.y=e._positionWC.z,n.z=e._positionWC.x,t===vq.SCENE2D&&(n.z=i),e._projection.unproject(n,e._positionCartographic)}if(c||u||d){const t=g.dot(a,g.cross(l,h,GWe));if(Math.abs(1-t)>s["a"].EPSILON2){const t=1/g.magnitudeSquared(l),n=g.dot(l,a)*t,i=g.multiplyByScalar(a,n,GWe);l=g.normalize(g.subtract(l,i,e._up),e._up),g.clone(l,e.up),h=g.cross(a,l,e._right),g.clone(h,e.right)}}(c||f)&&(e._directionWC=Ne.multiplyByPointAsVector(p,a,e._directionWC),g.normalize(e._directionWC,e._directionWC)),(u||f)&&(e._upWC=Ne.multiplyByPointAsVector(p,l,e._upWC),g.normalize(e._upWC,e._upWC)),(d||f)&&(e._rightWC=Ne.multiplyByPointAsVector(p,h,e._rightWC),g.normalize(e._rightWC,e._rightWC)),(r||c||u||d||f)&&PWe(e)}function WWe(e,t){let n;return n=s["a"].equalsEpsilon(Math.abs(e.z),1,s["a"].EPSILON3)?Math.atan2(t.y,t.x)-s["a"].PI_OVER_TWO:Math.atan2(e.y,e.x)-s["a"].PI_OVER_TWO,s["a"].TWO_PI-s["a"].zeroToTwoPi(n)}function YWe(e){return s["a"].PI_OVER_TWO-s["a"].acosClamped(e.z)}function XWe(e,t,n){let i=0;return s["a"].equalsEpsilon(Math.abs(e.z),1,s["a"].EPSILON3)||(i=Math.atan2(-n.z,t.z),i=s["a"].zeroToTwoPi(i+s["a"].TWO_PI)),i}const KWe=new Ne,JWe=new Ne;Object.defineProperties(jWe.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return qWe(this),this._invTransform}},viewMatrix:{get:function(){return qWe(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return qWe(this),this._invViewMatrix}},positionCartographic:{get:function(){return qWe(this),this._positionCartographic}},positionWC:{get:function(){return qWe(this),this._positionWC}},directionWC:{get:function(){return qWe(this),this._directionWC}},upWC:{get:function(){return qWe(this),this._upWC}},rightWC:{get:function(){return qWe(this),this._rightWC}},heading:{get:function(){if(this._mode!==vq.MORPHING){const e=this._projection.ellipsoid,t=Ne.clone(this._transform,KWe),n=Hs.eastNorthUpToFixedFrame(this.positionWC,e,JWe);this._setTransform(n);const i=WWe(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==vq.MORPHING){const e=this._projection.ellipsoid,t=Ne.clone(this._transform,KWe),n=Hs.eastNorthUpToFixedFrame(this.positionWC,e,JWe);this._setTransform(n);const i=YWe(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==vq.MORPHING){const e=this._projection.ellipsoid,t=Ne.clone(this._transform,KWe),n=Hs.eastNorthUpToFixedFrame(this.positionWC,e,JWe);this._setTransform(n);const i=XWe(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}}),jWe.prototype.update=function(e){if(!Object(r["a"])(e))throw new a["a"]("mode is required.");if(e===vq.SCENE2D&&!(this.frustum instanceof sA))throw new a["a"]("An OrthographicOffCenterFrustum is required in 2D.");if((e===vq.SCENE3D||e===vq.COLUMBUS_VIEW)&&!(this.frustum instanceof vA)&&!(this.frustum instanceof uA))throw new a["a"]("A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view");let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==vq.MORPHING,t=this._mode===vq.SCENE2D),t){const e=this._max2Dfrustum=this.frustum.clone();if(!(e instanceof sA))throw new a["a"]("The camera frustum is expected to be orthographic for 2D camera control.");const t=2,n=e.top/e.right;e.right=this._maxCoord.x*t,e.left=-e.right,e.top=n*e.right,e.bottom=-e.top}this._mode===vq.SCENE2D&&OYe(this,this.position)};const ZWe=new g,$We=new g,QWe=new g;jWe.prototype._setTransform=function(e){const t=g.clone(this.positionWC,ZWe),n=g.clone(this.upWC,$We),i=g.clone(this.directionWC,QWe);Ne.clone(e,this._transform),this._transformChanged=!0,qWe(this);const o=this._actualInvTransform;Ne.multiplyByPoint(o,t,this.position),Ne.multiplyByPointAsVector(o,i,this.direction),Ne.multiplyByPointAsVector(o,n,this.up),g.cross(this.direction,this.up,this.right),qWe(this)};const eYe=new Ht,tYe=new Ki,nYe=new g,iYe=new g;function oYe(e){if(!Ne.equals(Ne.IDENTITY,e.transform))return g.magnitude(e.position);const t=e._scene,n=t.globe,i=eYe;let o,a,s;if(i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2,Object(r["a"])(n)){const r=e.getPickRay(i,tYe);o=n.pickWorldCoordinates(r,t,!0,nYe)}if(t.pickPositionSupported&&(a=t.pickPositionWorldCoordinates(i,iYe)),Object(r["a"])(o)||Object(r["a"])(a)){const t=Object(r["a"])(a)?g.distance(a,e.positionWC):Number.POSITIVE_INFINITY,n=Object(r["a"])(o)?g.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(t,n)}else s=Math.max(e.positionCartographic.height,0);return s}jWe.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof uA&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=oYe(this)))};const rYe=new g,aYe=new Ne,sYe=new Ne,cYe=new $a,lYe=new ce,uYe=new I;function hYe(e,t,n){const i=Ne.clone(e.transform,aYe),o=Hs.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,sYe);e._setTransform(o),g.clone(g.ZERO,e.position),n.heading=n.heading-s["a"].PI_OVER_TWO;const r=$a.fromHeadingPitchRoll(n,cYe),a=ce.fromQuaternion(r,lYe);ce.getColumn(a,0,e.direction),ce.getColumn(a,2,e.up),g.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function dYe(e,t,n,i){const o=Ne.clone(e.transform,aYe);if(e._setTransform(Ne.IDENTITY),!g.equals(t,e.positionWC)){if(i){const n=e._projection,i=n.ellipsoid.cartesianToCartographic(t,uYe);t=n.project(i,rYe)}g.clone(t,e.position)}n.heading=n.heading-s["a"].PI_OVER_TWO;const r=$a.fromHeadingPitchRoll(n,cYe),a=ce.fromQuaternion(r,lYe);ce.getColumn(a,0,e.direction),ce.getColumn(a,2,e.up),g.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function fYe(e,t,n,i){const o=Ne.clone(e.transform,aYe);if(e._setTransform(Ne.IDENTITY),!g.equals(t,e.positionWC)){if(i){const n=e._projection,i=n.ellipsoid.cartesianToCartographic(t,uYe);t=n.project(i,rYe)}Ht.clone(t,e.position);const n=.5*-t.z,o=-n,r=e.frustum;if(o>n){const e=r.top/r.right;r.right=o,r.left=n,r.top=r.right*e,r.bottom=-r.top}}if(e._scene.mapMode2D===DWe.ROTATE){n.heading=n.heading-s["a"].PI_OVER_TWO,n.pitch=-s["a"].PI_OVER_TWO,n.roll=0;const t=$a.fromHeadingPitchRoll(n,cYe),i=ce.fromQuaternion(t,lYe);ce.getColumn(i,2,e.up),g.cross(e.direction,e.up,e.right)}e._setTransform(o)}const pYe=new g,mYe=new g,_Ye=new g;function gYe(e,t,n,i){const o=g.clone(n.direction,pYe),r=g.clone(n.up,mYe);if(e._scene.mode===vq.SCENE3D){const n=e._projection.ellipsoid,i=Hs.eastNorthUpToFixedFrame(t,n,KWe),a=Ne.inverseTransformation(i,JWe);Ne.multiplyByPointAsVector(a,o,o),Ne.multiplyByPointAsVector(a,r,r)}const a=g.cross(o,r,_Ye);return i.heading=WWe(o,r),i.pitch=YWe(o),i.roll=XWe(o,r,a),i}const bYe={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},yYe=new Er;jWe.prototype.setView=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=Object(o["a"])(e.orientation,o["a"].EMPTY_OBJECT);const n=this._mode;if(n===vq.MORPHING)return;Object(r["a"])(e.endTransform)&&this._setTransform(e.endTransform);let i=Object(o["a"])(e.convert,!0),a=Object(o["a"])(e.destination,g.clone(this.positionWC,rYe));Object(r["a"])(a)&&Object(r["a"])(a.west)&&(a=this.getRectangleCameraCoordinates(a,rYe),i=!1),Object(r["a"])(t.direction)&&(t=gYe(this,a,t,bYe.orientation)),yYe.heading=Object(o["a"])(t.heading,0),yYe.pitch=Object(o["a"])(t.pitch,-s["a"].PI_OVER_TWO),yYe.roll=Object(o["a"])(t.roll,0),n===vq.SCENE3D?hYe(this,a,yYe):n===vq.SCENE2D?fYe(this,a,yYe,i):dYe(this,a,yYe,i)};const vYe=new g;function OYe(e,t){const n=e._scene.mapMode2D===DWe.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y;let r,a;n?(a=i,r=-a):(a=t.x-2*i,r=t.x+2*i),t.x>i&&(t.x=a),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}jWe.prototype.flyHome=function(e){const t=this._mode;if(t===vq.MORPHING&&this._scene.completeMorph(),t===vq.SCENE2D)this.flyTo({destination:jWe.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:Ne.IDENTITY});else if(t===vq.SCENE3D){const t=this.getRectangleCameraCoordinates(jWe.DEFAULT_VIEW_RECTANGLE);let n=g.magnitude(t);n+=n*jWe.DEFAULT_VIEW_FACTOR,g.normalize(t,t),g.multiplyByScalar(t,n,t),this.flyTo({destination:t,duration:e,endTransform:Ne.IDENTITY})}else if(t===vq.COLUMBUS_VIEW){const t=this._projection.ellipsoid.maximumRadius;let n=new g(0,-1,1);n=g.multiplyByScalar(g.normalize(n,n),5*t,n),this.flyTo({destination:n,duration:e,orientation:{heading:0,pitch:-Math.acos(g.normalize(n,vYe).z),roll:0},endTransform:Ne.IDENTITY,convert:!1})}},jWe.prototype.worldToCameraCoordinates=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new be),qWe(this),Ne.multiplyByVector(this._actualInvTransform,e,t)},jWe.prototype.worldToCameraCoordinatesPoint=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new g),qWe(this),Ne.multiplyByPoint(this._actualInvTransform,e,t)},jWe.prototype.worldToCameraCoordinatesVector=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new g),qWe(this),Ne.multiplyByPointAsVector(this._actualInvTransform,e,t)},jWe.prototype.cameraToWorldCoordinates=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new be),qWe(this),Ne.multiplyByVector(this._actualTransform,e,t)},jWe.prototype.cameraToWorldCoordinatesPoint=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new g),qWe(this),Ne.multiplyByPoint(this._actualTransform,e,t)},jWe.prototype.cameraToWorldCoordinatesVector=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("cartesian is required.");return Object(r["a"])(t)||(t=new g),qWe(this),Ne.multiplyByPointAsVector(this._actualTransform,e,t)};const wYe=new g;jWe.prototype.move=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("direction is required.");const n=this.position;g.multiplyByScalar(e,t,wYe),g.add(n,wYe,n),this._mode===vq.SCENE2D&&OYe(this,n),this._adjustOrthographicFrustum(!0)},jWe.prototype.moveForward=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this._mode===vq.SCENE2D?RYe(this,e):this.move(this.direction,e)},jWe.prototype.moveBackward=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this._mode===vq.SCENE2D?RYe(this,-e):this.move(this.direction,-e)},jWe.prototype.moveUp=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this.move(this.up,e)},jWe.prototype.moveDown=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this.move(this.up,-e)},jWe.prototype.moveRight=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this.move(this.right,e)},jWe.prototype.moveLeft=function(e){e=Object(o["a"])(e,this.defaultMoveAmount),this.move(this.right,-e)},jWe.prototype.lookLeft=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this._mode!==vq.SCENE2D&&this.look(this.up,-e)},jWe.prototype.lookRight=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this._mode!==vq.SCENE2D&&this.look(this.up,e)},jWe.prototype.lookUp=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this._mode!==vq.SCENE2D&&this.look(this.right,-e)},jWe.prototype.lookDown=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this._mode!==vq.SCENE2D&&this.look(this.right,e)};const AYe=new $a,TYe=new ce;jWe.prototype.look=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("axis is required.");const n=Object(o["a"])(t,this.defaultLookAmount),i=$a.fromAxisAngle(e,-n,AYe),s=ce.fromQuaternion(i,TYe),c=this.direction,l=this.up,u=this.right;ce.multiplyByVector(s,c,c),ce.multiplyByVector(s,l,l),ce.multiplyByVector(s,u,u)},jWe.prototype.twistLeft=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this.look(this.direction,e)},jWe.prototype.twistRight=function(e){e=Object(o["a"])(e,this.defaultLookAmount),this.look(this.direction,-e)};const CYe=new $a,EYe=new ce;jWe.prototype.rotate=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("axis is required.");const n=Object(o["a"])(t,this.defaultRotateAmount),i=$a.fromAxisAngle(e,-n,CYe),s=ce.fromQuaternion(i,EYe);ce.multiplyByVector(s,this.position,this.position),ce.multiplyByVector(s,this.direction,this.direction),ce.multiplyByVector(s,this.up,this.up),g.cross(this.direction,this.up,this.right),g.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)},jWe.prototype.rotateDown=function(e){e=Object(o["a"])(e,this.defaultRotateAmount),jYe(this,e)},jWe.prototype.rotateUp=function(e){e=Object(o["a"])(e,this.defaultRotateAmount),jYe(this,-e)};const xYe=new g,SYe=new g,IYe=new g,DYe=new g;function jYe(e,t){const n=e.position;if(Object(r["a"])(e.constrainedAxis)&&!g.equalsEpsilon(e.position,g.ZERO,s["a"].EPSILON2)){const i=g.normalize(n,xYe),o=g.equalsEpsilon(i,e.constrainedAxis,s["a"].EPSILON2),r=g.equalsEpsilon(i,g.negate(e.constrainedAxis,DYe),s["a"].EPSILON2);if(o||r)(o&&t<0||r&&t>0)&&e.rotate(e.right,t);else{const n=g.normalize(e.constrainedAxis,SYe);let o=g.dot(i,n),r=s["a"].acosClamped(o);t>0&&t>r&&(t=r-s["a"].EPSILON4),o=g.dot(i,g.negate(n,DYe)),r=s["a"].acosClamped(o),t<0&&-t>r&&(t=-r+s["a"].EPSILON4);const a=g.cross(n,i,IYe);e.rotate(a,t)}}else e.rotate(e.right,t)}function PYe(e,t){Object(r["a"])(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function RYe(e,t){const n=e.frustum;if(!(n instanceof sA)||!Object(r["a"])(n.left)||!Object(r["a"])(n.right)||!Object(r["a"])(n.bottom)||!Object(r["a"])(n.top))throw new a["a"]("The camera frustum is expected to be orthographic for 2D camera control.");let i;if(t*=.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,a=e._maxCoord.y;e._scene.mapMode2D===DWe.ROTATE&&(a*=e.maximumZoomFactor),r>a&&(r=a,o=-a),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,a=e._maxCoord.x;e._scene.mapMode2D===DWe.ROTATE&&(a*=e.maximumZoomFactor),o>a&&(o=a,r=-a),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function MYe(e,t){e.move(e.direction,t)}jWe.prototype.rotateRight=function(e){e=Object(o["a"])(e,this.defaultRotateAmount),PYe(this,-e)},jWe.prototype.rotateLeft=function(e){e=Object(o["a"])(e,this.defaultRotateAmount),PYe(this,e)},jWe.prototype.zoomIn=function(e){e=Object(o["a"])(e,this.defaultZoomAmount),this._mode===vq.SCENE2D?RYe(this,e):MYe(this,e)},jWe.prototype.zoomOut=function(e){e=Object(o["a"])(e,this.defaultZoomAmount),this._mode===vq.SCENE2D?RYe(this,-e):MYe(this,-e)},jWe.prototype.getMagnitude=function(){return this._mode===vq.SCENE3D?g.magnitude(this.position):this._mode===vq.COLUMBUS_VIEW?Math.abs(this.position.z):this._mode===vq.SCENE2D?Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom):void 0};const NYe=new Ne;jWe.prototype.lookAt=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("target is required");if(!Object(r["a"])(t))throw new a["a"]("offset is required");if(this._mode===vq.MORPHING)throw new a["a"]("lookAt is not supported while morphing.");const n=Hs.eastNorthUpToFixedFrame(e,z.WGS84,NYe);this.lookAtTransform(n,t)};const LYe=new g,BYe=new $a,FYe=new $a,kYe=new ce;function zYe(e,t,n){t=s["a"].clamp(t,-s["a"].PI_OVER_TWO,s["a"].PI_OVER_TWO),e=s["a"].zeroToTwoPi(e)-s["a"].PI_OVER_TWO;const i=$a.fromAxisAngle(g.UNIT_Y,-t,BYe),o=$a.fromAxisAngle(g.UNIT_Z,-e,FYe),r=$a.multiply(o,i,o),a=ce.fromQuaternion(r,kYe),c=g.clone(g.UNIT_X,LYe);return ce.multiplyByVector(a,c,c),g.negate(c,c),g.multiplyByScalar(c,n,c),c}jWe.prototype.lookAtTransform=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("transform is required");if(this._mode===vq.MORPHING)throw new a["a"]("lookAtTransform is not supported while morphing.");if(this._setTransform(e),!Object(r["a"])(t))return;let n;if(n=Object(r["a"])(t.heading)?zYe(t.heading,t.pitch,t.range):t,this._mode===vq.SCENE2D){Ht.clone(Ht.ZERO,this.position),g.negate(n,this.up),this.up.z=0,g.magnitudeSquared(this.up)<s["a"].EPSILON10&&g.clone(g.UNIT_Y,this.up),g.normalize(this.up,this.up),this._setTransform(Ne.IDENTITY),g.negate(g.UNIT_Z,this.direction),g.cross(this.direction,this.up,this.right),g.normalize(this.right,this.right);const t=this.frustum,i=t.top/t.right;return t.right=.5*g.magnitude(n),t.left=-t.right,t.top=i*t.right,t.bottom=-t.top,void this._setTransform(e)}g.clone(n,this.position),g.negate(this.position,this.direction),g.normalize(this.direction,this.direction),g.cross(this.direction,g.UNIT_Z,this.right),g.magnitudeSquared(this.right)<s["a"].EPSILON10&&g.clone(g.UNIT_X,this.right),g.normalize(this.right,this.right),g.cross(this.right,this.direction,this.up),g.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};const UYe=new I,VYe=new I,HYe=new g,GYe=new g,qYe=new g,WYe=new g,YYe=new g,XYe=new g,KYe=new g,JYe=new g,ZYe={direction:new g,right:new g,up:new g};let $Ye;function QYe(e,t,n,i){const o=Math.abs(g.dot(t,n));return o/i-g.dot(e,n)}function eXe(e,t,n,i){const o=e._projection.ellipsoid,a=i?e:ZYe,c=t.north,l=t.south;let u=t.east;const h=t.west;h>u&&(u+=s["a"].TWO_PI);const d=.5*(h+u);let f;if(l<-s["a"].PI_OVER_TWO+s["a"].RADIANS_PER_DEGREE&&c>s["a"].PI_OVER_TWO-s["a"].RADIANS_PER_DEGREE)f=0;else{const e=UYe;e.longitude=d,e.latitude=c,e.height=0;const t=VYe;t.longitude=d,t.latitude=l,t.height=0;let n=$Ye;Object(r["a"])(n)&&n.ellipsoid===o||($Ye=n=new dy(void 0,void 0,o)),n.setEndPoints(e,t),f=n.interpolateUsingFraction(.5,UYe).latitude}const p=UYe;p.longitude=d,p.latitude=f,p.height=0;const m=o.cartographicToCartesian(p,KYe),_=UYe;_.longitude=u,_.latitude=c;const b=o.cartographicToCartesian(_,HYe);_.longitude=h;const y=o.cartographicToCartesian(_,qYe);_.longitude=d;const v=o.cartographicToCartesian(_,YYe);_.latitude=l;const O=o.cartographicToCartesian(_,XYe);_.longitude=u;const w=o.cartographicToCartesian(_,WYe);_.longitude=h;const A=o.cartographicToCartesian(_,GYe);g.subtract(y,m,y),g.subtract(w,m,w),g.subtract(b,m,b),g.subtract(A,m,A),g.subtract(v,m,v),g.subtract(O,m,O);const T=o.geodeticSurfaceNormal(m,a.direction);g.negate(T,T);const C=g.cross(T,g.UNIT_Z,a.right);g.normalize(C,C);const E=g.cross(C,T,a.up);let x;if(e.frustum instanceof uA){const t=Math.max(g.distance(b,y),g.distance(w,A)),n=Math.max(g.distance(b,w),g.distance(y,A));let i,o;const r=e.frustum._offCenterFrustum.right/e.frustum._offCenterFrustum.top,a=n*r;t>a?(i=t,o=i/r):(o=n,i=a),x=Math.max(i,o)}else{const t=Math.tan(.5*e.frustum.fovy),n=e.frustum.aspectRatio*t;if(x=Math.max(QYe(T,E,y,t),QYe(T,E,w,t),QYe(T,E,b,t),QYe(T,E,A,t),QYe(T,E,v,t),QYe(T,E,O,t),QYe(T,C,y,n),QYe(T,C,w,n),QYe(T,C,b,n),QYe(T,C,A,n),QYe(T,C,v,n),QYe(T,C,O,n)),l<0&&c>0){const e=UYe;e.longitude=h,e.latitude=0,e.height=0;let i=o.cartographicToCartesian(e,JYe);g.subtract(i,m,i),x=Math.max(x,QYe(T,E,i,t),QYe(T,C,i,n)),e.longitude=u,i=o.cartographicToCartesian(e,JYe),g.subtract(i,m,i),x=Math.max(x,QYe(T,E,i,t),QYe(T,C,i,n))}}return g.add(m,g.multiplyByScalar(T,-x,JYe),n)}const tXe=new I,nXe=new g,iXe=new g;function oXe(e,t,n){const i=e._projection;t.west>t.east&&(t=Fe.MAX_VALUE);const o=e._actualTransform,a=e._actualInvTransform,s=tXe;s.longitude=t.east,s.latitude=t.north;const c=i.project(s,nXe);Ne.multiplyByPoint(o,c,c),Ne.multiplyByPoint(a,c,c),s.longitude=t.west,s.latitude=t.south;const l=i.project(s,iXe);if(Ne.multiplyByPoint(o,l,l),Ne.multiplyByPoint(a,l,l),n.x=.5*(c.x-l.x)+l.x,n.y=.5*(c.y-l.y)+l.y,Object(r["a"])(e.frustum.fovy)){const t=Math.tan(.5*e.frustum.fovy),i=e.frustum.aspectRatio*t;n.z=.5*Math.max((c.x-l.x)/i,(c.y-l.y)/t)}else{const e=c.x-l.x,t=c.y-l.y;n.z=Math.max(e,t)}return n}const rXe=new I,aXe=new g,sXe=new g;function cXe(e,t,n){const i=e._projection;let o=t.east;t.west>t.east&&(e._scene.mapMode2D===DWe.INFINITE_SCROLL?o+=s["a"].TWO_PI:(t=Fe.MAX_VALUE,o=t.east));let r=rXe;r.longitude=o,r.latitude=t.north;const a=i.project(r,aXe);r.longitude=t.west,r.latitude=t.south;const c=i.project(r,sXe),l=.5*Math.abs(a.x-c.x);let u,h,d=.5*Math.abs(a.y-c.y);const f=e.frustum.right/e.frustum.top,p=d*f;return l>p?(u=l,h=u/f):(h=d,u=p),d=Math.max(2*u,2*h),n.x=.5*(a.x-c.x)+c.x,n.y=.5*(a.y-c.y)+c.y,r=i.unproject(n,r),r.height=d,n=i.project(r,n),n}jWe.prototype.getRectangleCameraCoordinates=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("rectangle is required");const n=this._mode;return Object(r["a"])(t)||(t=new g),n===vq.SCENE3D?eXe(this,e,t):n===vq.COLUMBUS_VIEW?oXe(this,e,t):n===vq.SCENE2D?cXe(this,e,t):void 0};const lXe=new Ki;function uXe(e,t,n,i){n=Object(o["a"])(n,z.WGS84);const r=e.getPickRay(t,lXe),a=So.rayEllipsoid(r,n);if(!a)return;const s=a.start>0?a.start:a.stop;return Ki.getPoint(r,s,i)}const hXe=new Ki;function dXe(e,t,n,i){const o=e.getPickRay(t,hXe);let r=o.origin;r=g.fromElements(r.y,r.z,0,r);const a=n.unproject(r);if(!(a.latitude<-s["a"].PI_OVER_TWO||a.latitude>s["a"].PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(a,i)}const fXe=new Ki;function pXe(e,t,n,i){const o=e.getPickRay(t,fXe),r=-o.origin.x/o.direction.x;Ki.getPoint(o,r,i);const a=n.unproject(new g(i.y,i.z,0));if(!(a.latitude<-s["a"].PI_OVER_TWO||a.latitude>s["a"].PI_OVER_TWO||a.longitude<-Math.PI||a.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(a,i)}jWe.prototype.pickEllipsoid=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("windowPosition is required.");const i=this._scene.canvas;if(0!==i.clientWidth&&0!==i.clientHeight){if(Object(r["a"])(n)||(n=new g),t=Object(o["a"])(t,z.WGS84),this._mode===vq.SCENE3D)n=uXe(this,e,t,n);else if(this._mode===vq.SCENE2D)n=dXe(this,e,this._projection,n);else{if(this._mode!==vq.COLUMBUS_VIEW)return;n=pXe(this,e,this._projection,n)}return n}};const mXe=new g,_Xe=new g,gXe=new g;function bXe(e,t,n){const i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,a=Math.tan(.5*e.frustum.fovy),s=e.frustum.aspectRatio*a,c=e.frustum.near,l=2/o*t.x-1,u=2/r*(r-t.y)-1,h=e.positionWC;g.clone(h,n.origin);const d=g.multiplyByScalar(e.directionWC,c,mXe);g.add(h,d,d);const f=g.multiplyByScalar(e.rightWC,l*c*s,_Xe),p=g.multiplyByScalar(e.upWC,u*c*a,gXe),m=g.add(d,f,n.direction);return g.add(m,p,m),g.subtract(m,h,m),g.normalize(m,m),n}const yXe=new g;function vXe(e,t,n){const i=e._scene.canvas,o=i.clientWidth,a=i.clientHeight;let s=e.frustum;Object(r["a"])(s._offCenterFrustum)&&(s=s._offCenterFrustum);let c=2/o*t.x-1;c*=.5*(s.right-s.left);let l=2/a*(a-t.y)-1;l*=.5*(s.top-s.bottom);const u=n.origin;return g.clone(e.position,u),g.multiplyByScalar(e.right,c,yXe),g.add(yXe,u,u),g.multiplyByScalar(e.up,l,yXe),g.add(yXe,u,u),g.clone(e.directionWC,n.direction),e._mode!==vq.COLUMBUS_VIEW&&e._mode!==vq.SCENE2D||g.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}jWe.prototype.getPickRay=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("windowPosition is required.");Object(r["a"])(t)||(t=new Ki);const n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;const i=this.frustum;return Object(r["a"])(i.aspectRatio)&&Object(r["a"])(i.fov)&&Object(r["a"])(i.near)?bXe(this,e,t):vXe(this,e,t)};const OXe=new g,wXe=new g;jWe.prototype.distanceToBoundingSphere=function(e){if(!Object(r["a"])(e))throw new a["a"]("boundingSphere is required.");const t=g.subtract(this.positionWC,e.center,OXe),n=g.multiplyByScalar(this.directionWC,g.dot(t,this.directionWC),wXe);return Math.max(0,g.magnitude(n)-e.radius)};const AXe=new Ht;function TXe(e,t,n,i,o,r){const a=g.clone(t);function s(n){const i=g.lerp(t,a,n.time,new g);e.worldToCameraCoordinatesPoint(i,e.position)}return n.y>i?a.y-=n.y-i:n.y<-i&&(a.y+=-i-n.y),n.z>o?a.z-=n.z-o:n.z<-o&&(a.z+=-o-n.z),{easingFunction:Aw.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:s}}jWe.prototype.getPixelSize=function(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("boundingSphere is required.");if(!Object(r["a"])(t))throw new a["a"]("drawingBufferWidth is required.");if(!Object(r["a"])(n))throw new a["a"]("drawingBufferHeight is required.");const i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,AXe);return Math.max(o.x,o.y)};const CXe=new g,EXe=new g,xXe=new g,SXe=new g;function IXe(e,t){let n=e.position;const i=e.direction,o=e.worldToCameraCoordinatesVector(g.UNIT_X,CXe),r=-g.dot(o,n)/g.dot(o,i),a=g.add(n,g.multiplyByScalar(i,r,EXe),EXe);e.cameraToWorldCoordinatesPoint(a,a),n=e.cameraToWorldCoordinatesPoint(e.position,xXe);const s=Math.tan(.5*e.frustum.fovy),c=e.frustum.aspectRatio*s,l=g.magnitude(g.subtract(n,a,SXe)),u=c*l,h=s*l,d=e._maxCoord.x,f=e._maxCoord.y,p=Math.max(u-d,d),m=Math.max(h-f,f);if(n.z<-p||n.z>p||n.y<-m||n.y>m){const i=a.y<-p||a.y>p,o=a.z<-m||a.z>m;if(i||o)return TXe(e,n,a,p,m,t)}}jWe.prototype.createCorrectPositionTween=function(e){if(!Object(r["a"])(e))throw new a["a"]("duration is required.");if(this._mode===vq.COLUMBUS_VIEW)return IXe(this,e)};const DXe=new g,jXe={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};function PXe(e,t){const n=e.frustum,i=Math.tan(.5*n.fovy),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function RXe(e,t){let n,i,o=e.frustum;Object(r["a"])(o._offCenterFrustum)&&(o=o._offCenterFrustum);const a=o.right/o.top,s=t*a;return t>s?(n=t,i=n/a):(i=t,n=s),1.5*Math.max(n,i)}jWe.prototype.cancelFlight=function(){Object(r["a"])(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)},jWe.prototype.completeFlight=function(){if(Object(r["a"])(this._currentFlight)){this._currentFlight.cancelTween();const e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=jXe.destination,e.orientation.heading=jXe.heading,e.orientation.pitch=jXe.pitch,e.orientation.roll=jXe.roll,this.setView(e),Object(r["a"])(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}},jWe.prototype.flyTo=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.destination;if(!Object(r["a"])(t))throw new a["a"]("destination is required.");const n=this._mode;if(n===vq.MORPHING)return;this.cancelFlight();let i=Object(o["a"])(e.orientation,o["a"].EMPTY_OBJECT);if(Object(r["a"])(i.direction)&&(i=gYe(this,t,i,bYe.orientation)),Object(r["a"])(e.duration)&&e.duration<=0){const t=bYe;return t.destination=e.destination,t.orientation.heading=i.heading,t.orientation.pitch=i.pitch,t.orientation.roll=i.roll,t.convert=e.convert,t.endTransform=e.endTransform,this.setView(t),void("function"===typeof e.complete&&e.complete())}const s=Object(r["a"])(t.west);s&&(t=this.getRectangleCameraCoordinates(t,DXe));const c=this;let l;jXe.destination=t,jXe.heading=i.heading,jXe.pitch=i.pitch,jXe.roll=i.roll,jXe.duration=e.duration,jXe.complete=function(){l===c._currentFlight&&(c._currentFlight=void 0),Object(r["a"])(e.complete)&&e.complete()},jXe.cancel=e.cancel,jXe.endTransform=e.endTransform,jXe.convert=!s&&e.convert,jXe.maximumHeight=e.maximumHeight,jXe.pitchAdjustHeight=e.pitchAdjustHeight,jXe.flyOverLongitude=e.flyOverLongitude,jXe.flyOverLongitudeWeight=e.flyOverLongitudeWeight,jXe.easingFunction=e.easingFunction;const u=this._scene,h=SWe.createTween(u,jXe);if(0===h.duration)return void("function"===typeof h.complete&&h.complete());l=u.tweens.add(h),this._currentFlight=l;let d=this._scene.preloadFlightCamera;this._mode!==vq.SCENE2D&&(Object(r["a"])(d)||(d=jWe.clone(this)),d.setView({destination:t,orientation:i}),this._scene.preloadFlightCullingVolume=d.frustum.computeCullingVolume(d.positionWC,d.directionWC,d.upWC))};const MXe=100;function NXe(e,t,n){n=PE.clone(Object(r["a"])(n)?n:jWe.DEFAULT_OFFSET);const i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,a=n.range;if(!Object(r["a"])(a)||0===a){const r=t.radius;0===r?n.range=MXe:e.frustum instanceof uA||e._mode===vq.SCENE2D?n.range=RXe(e,r):n.range=PXe(e,r),n.range=s["a"].clamp(n.range,i,o)}return n}jWe.prototype.viewBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("boundingSphere is required.");if(this._mode===vq.MORPHING)throw new a["a"]("viewBoundingSphere is not supported while morphing.");t=NXe(this,e,t),this.lookAt(e.center,t)};const LXe=new Ne,BXe=new g,FXe=new g,kXe=new g,zXe=new g,UXe=new be,VXe=new $a,HXe=new ce;jWe.prototype.flyToBoundingSphere=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("boundingSphere is required.");t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=this._mode===vq.SCENE2D||this._mode===vq.COLUMBUS_VIEW;this._setTransform(Ne.IDENTITY);const i=NXe(this,e,t.offset);let c;c=n?g.multiplyByScalar(g.UNIT_Z,i.range,BXe):zYe(i.heading,i.pitch,i.range);const l=Hs.eastNorthUpToFixedFrame(e.center,z.WGS84,LXe);let u,h;if(Ne.multiplyByPoint(l,c,c),!n){if(u=g.subtract(e.center,c,FXe),g.normalize(u,u),h=Ne.multiplyByPointAsVector(l,g.UNIT_Z,kXe),1-Math.abs(g.dot(u,h))<s["a"].EPSILON6){const e=$a.fromAxisAngle(u,i.heading,VXe),t=ce.fromQuaternion(e,HXe);g.fromCartesian4(Ne.getColumn(l,1,UXe),h),ce.multiplyByVector(t,h,h)}const t=g.cross(u,h,zXe);g.cross(t,u,h),g.normalize(h,h)}this.flyTo({destination:c,orientation:{direction:u,up:h},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};const GXe=new g,qXe=new g,WXe=new g,YXe=new g,XXe=[new g,new g,new g,new g];function KXe(e,t){const n=t.radii,i=e.positionWC,o=g.multiplyComponents(t.oneOverRadii,i,GXe),r=g.magnitude(o),a=g.normalize(o,qXe);let c,l;g.equalsEpsilon(a,g.UNIT_Z,s["a"].EPSILON10)?(c=new g(0,1,0),l=new g(0,0,1)):(c=g.normalize(g.cross(g.UNIT_Z,a,WXe),WXe),l=g.normalize(g.cross(a,c,YXe),YXe));const u=Math.sqrt(g.magnitudeSquared(o)-1),h=g.multiplyByScalar(a,1/r,GXe),d=u/r,f=g.multiplyByScalar(c,d,qXe),p=g.multiplyByScalar(l,d,WXe),m=g.add(h,p,XXe[0]);g.subtract(m,f,m),g.multiplyComponents(n,m,m);const _=g.subtract(h,p,XXe[1]);g.subtract(_,f,_),g.multiplyComponents(n,_,_);const b=g.subtract(h,p,XXe[2]);g.add(b,f,b),g.multiplyComponents(n,b,b);const y=g.add(h,p,XXe[3]);return g.add(y,f,y),g.multiplyComponents(n,y,y),XXe}const JXe=new Ht,ZXe=new g,$Xe=[new I,new I,new I,new I];function QXe(e,t,n,i,o,a){JXe.x=e,JXe.y=t;const s=i.pickEllipsoid(JXe,o,ZXe);return Object(r["a"])(s)?($Xe[n]=o.cartesianToCartographic(s,$Xe[n]),1):($Xe[n]=o.cartesianToCartographic(a[n],$Xe[n]),0)}jWe.prototype.computeViewRectangle=function(e,t){e=Object(o["a"])(e,z.WGS84);const n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new Tt(g.ZERO,e.maximumRadius),r=n.computeVisibility(i);if(r===G.OUTSIDE)return;const a=this._scene.canvas,c=a.clientWidth,l=a.clientHeight;let u=0;const h=KXe(this,e);if(u+=QXe(0,0,0,this,e,h),u+=QXe(0,l,1,this,e,h),u+=QXe(c,l,2,this,e,h),u+=QXe(c,0,3,this,e,h),u<2)return Fe.MAX_VALUE;t=Fe.fromCartographicArray($Xe,t);let d=0,f=$Xe[3].longitude;for(let o=0;o<4;++o){const e=$Xe[o].longitude,t=Math.abs(e-f);t>s["a"].PI?d+=s["a"].TWO_PI-t:d+=t,f=e}return s["a"].equalsEpsilon(Math.abs(d),s["a"].TWO_PI,s["a"].EPSILON9)&&(t.west=-s["a"].PI,t.east=s["a"].PI,$Xe[0].latitude>=0?t.north=s["a"].PI_OVER_TWO:t.south=-s["a"].PI_OVER_TWO),t},jWe.prototype.switchToPerspectiveFrustum=function(){if(this._mode===vq.SCENE2D||this.frustum instanceof vA)return;const e=this._scene;this.frustum=new vA,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=s["a"].toRadians(60)},jWe.prototype.switchToOrthographicFrustum=function(){if(this._mode===vq.SCENE2D||this.frustum instanceof uA)return;const e=oYe(this),t=this._scene;this.frustum=new uA,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e},jWe.clone=function(e,t){return Object(r["a"])(t)||(t=new jWe(e._scene)),g.clone(e.position,t.position),g.clone(e.direction,t.direction),g.clone(e.up,t.up),g.clone(e.right,t.right),Ne.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var eKe=jWe;const tKe={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4};var nKe=Object.freeze(tKe);function iKe(e,t){let n=e;return Object(r["a"])(t)&&(n+="+"+t),n}function oKe(e,t){Ht.clone(e.distance.startPosition,t.distance.startPosition),Ht.clone(e.distance.endPosition,t.distance.endPosition),Ht.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),Ht.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function rKe(e,t,n){const i=iKe(nKe.PINCH,t),o=e._update,a=e._isDown,s=e._eventStartPosition,c=e._pressTime,l=e._releaseTime;o[i]=!0,a[i]=!1,s[i]=new Ht;let u=e._movement[i];Object(r["a"])(u)||(u=e._movement[i]={}),u.distance={startPosition:new Ht,endPosition:new Ht},u.angleAndHeight={startPosition:new Ht,endPosition:new Ht},u.prevAngle=0,e._eventHandler.setInputAction((function(t){e._buttonsDown++,a[i]=!0,c[i]=new Date,Ht.lerp(t.position1,t.position2,.5,s[i])}),NP.PINCH_START,t),e._eventHandler.setInputAction((function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),a[i]=!1,l[i]=new Date}),NP.PINCH_END,t),e._eventHandler.setInputAction((function(e){if(a[i]){o[i]?(oKe(e,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(Ht.clone(e.distance.endPosition,u.distance.endPosition),Ht.clone(e.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let t=u.angleAndHeight.endPosition.x;const r=u.prevAngle,a=2*Math.PI;while(t>=r+Math.PI)t-=a;while(t<r-Math.PI)t+=a;u.angleAndHeight.endPosition.x=-t*n.clientWidth/12,u.angleAndHeight.startPosition.x=-r*n.clientWidth/12}}),NP.PINCH_MOVE,t)}function aKe(e,t){const n=iKe(nKe.WHEEL,t),i=e._update;i[n]=!0;let o=e._movement[n];Object(r["a"])(o)||(o=e._movement[n]={}),o.startPosition=new Ht,o.endPosition=new Ht,e._eventHandler.setInputAction((function(e){const t=15*s["a"].toRadians(e);i[n]?(Ht.clone(Ht.ZERO,o.startPosition),o.endPosition.x=0,o.endPosition.y=t,i[n]=!1):o.endPosition.y=o.endPosition.y+t}),NP.WHEEL,t)}function sKe(e,t,n){const i=iKe(n,t),o=e._isDown,a=e._eventStartPosition,s=e._pressTime,c=e._releaseTime;o[i]=!1,a[i]=new Ht;let l,u,h=e._lastMovement[i];Object(r["a"])(h)||(h=e._lastMovement[i]={startPosition:new Ht,endPosition:new Ht,valid:!1}),n===nKe.LEFT_DRAG?(l=NP.LEFT_DOWN,u=NP.LEFT_UP):n===nKe.RIGHT_DRAG?(l=NP.RIGHT_DOWN,u=NP.RIGHT_UP):n===nKe.MIDDLE_DRAG&&(l=NP.MIDDLE_DOWN,u=NP.MIDDLE_UP),e._eventHandler.setInputAction((function(t){e._buttonsDown++,h.valid=!1,o[i]=!0,s[i]=new Date,Ht.clone(t.position,a[i])}),l,t),e._eventHandler.setInputAction((function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),o[i]=!1,c[i]=new Date}),u,t)}function cKe(e,t){Ht.clone(e.startPosition,t.startPosition),Ht.clone(e.endPosition,t.endPosition)}function lKe(e,t){const n=e._update,i=e._movement,o=e._lastMovement,a=e._isDown;for(const s in nKe)if(nKe.hasOwnProperty(s)){const i=nKe[s];if(Object(r["a"])(i)){const o=iKe(i,t);n[o]=!0,Object(r["a"])(e._lastMovement[o])||(e._lastMovement[o]={startPosition:new Ht,endPosition:new Ht,valid:!1}),Object(r["a"])(e._movement[o])||(e._movement[o]={startPosition:new Ht,endPosition:new Ht})}}e._eventHandler.setInputAction((function(s){for(const e in nKe)if(nKe.hasOwnProperty(e)){const c=nKe[e];if(Object(r["a"])(c)){const e=iKe(c,t);a[e]&&(n[e]?(cKe(i[e],o[e]),o[e].valid=!0,cKe(s,i[e]),n[e]=!1):Ht.clone(s.endPosition,i[e].endPosition))}}Ht.clone(s.endPosition,e._currentMousePosition)}),NP.MOUSE_MOVE,t)}function uKe(e){if(!Object(r["a"])(e))throw new a["a"]("canvas is required.");this._eventHandler=new yR(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new Ht,aKe(this,void 0),rKe(this,void 0,e),sKe(this,void 0,nKe.LEFT_DRAG),sKe(this,void 0,nKe.RIGHT_DRAG),sKe(this,void 0,nKe.MIDDLE_DRAG),lKe(this,void 0);for(const t in Gx)if(Gx.hasOwnProperty(t)){const n=Gx[t];Object(r["a"])(n)&&(aKe(this,n),rKe(this,n,e),sKe(this,n,nKe.LEFT_DRAG),sKe(this,n,nKe.RIGHT_DRAG),sKe(this,n,nKe.MIDDLE_DRAG),lKe(this,n))}}Object.defineProperties(uKe.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){const e=!this._update[iKe(nKe.WHEEL)]||!this._update[iKe(nKe.WHEEL,Gx.SHIFT)]||!this._update[iKe(nKe.WHEEL,Gx.CTRL)]||!this._update[iKe(nKe.WHEEL,Gx.ALT)];return this._buttonsDown>0||e}}}),uKe.prototype.isMoving=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t);return!this._update[n]},uKe.prototype.getMovement=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t),i=this._movement[n];return i},uKe.prototype.getLastMovement=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t),i=this._lastMovement[n];if(i.valid)return i},uKe.prototype.isButtonDown=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t);return this._isDown[n]},uKe.prototype.getStartMousePosition=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");if(e===nKe.WHEEL)return this._currentMousePosition;const n=iKe(e,t);return this._eventStartPosition[n]},uKe.prototype.getButtonPressTime=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t);return this._pressTime[n]},uKe.prototype.getButtonReleaseTime=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("type is required.");const n=iKe(e,t);return this._releaseTime[n]},uKe.prototype.reset=function(){for(const e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)},uKe.prototype.isDestroyed=function(){return!1},uKe.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),Wl(this)};var hKe=uKe;function dKe(){this.featurePropertiesDirty=!1}Object.defineProperties(dKe.prototype,{featuresLength:{get:function(){a["a"].throwInstantiationError()}},pointsLength:{get:function(){a["a"].throwInstantiationError()}},trianglesLength:{get:function(){a["a"].throwInstantiationError()}},geometryByteLength:{get:function(){a["a"].throwInstantiationError()}},texturesByteLength:{get:function(){a["a"].throwInstantiationError()}},batchTableByteLength:{get:function(){a["a"].throwInstantiationError()}},innerContents:{get:function(){a["a"].throwInstantiationError()}},readyPromise:{get:function(){a["a"].throwInstantiationError()}},tileset:{get:function(){a["a"].throwInstantiationError()}},tile:{get:function(){a["a"].throwInstantiationError()}},url:{get:function(){a["a"].throwInstantiationError()}},batchTable:{get:function(){a["a"].throwInstantiationError()}},metadata:{get:function(){a["a"].throwInstantiationError()},set:function(e){a["a"].throwInstantiationError()}},group:{get:function(){a["a"].throwInstantiationError()},set:function(e){a["a"].throwInstantiationError()}}}),dKe.prototype.hasProperty=function(e,t){a["a"].throwInstantiationError()},dKe.prototype.getFeature=function(e){a["a"].throwInstantiationError()},dKe.prototype.applyDebugSettings=function(e,t){a["a"].throwInstantiationError()},dKe.prototype.applyStyle=function(e){a["a"].throwInstantiationError()},dKe.prototype.update=function(e,t){a["a"].throwInstantiationError()},dKe.prototype.isDestroyed=function(){a["a"].throwInstantiationError()},dKe.prototype.destroy=function(){a["a"].throwInstantiationError()};var fKe=dKe;function pKe(e){i["a"].typeOf.object("options",e),i["a"].typeOf.number("options.pass",e.pass),this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var mKe=pKe;function _Ke(e,t){this._conditionsExpression=Object(jL["a"])(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,bKe(this,t)}function gKe(e,t){this.condition=e,this.expression=t}function bKe(e,t){const n=[],i=e._conditions;if(!Object(r["a"])(i))return;const o=i.length;for(let r=0;r<o;++r){const e=i[r],o=String(e[0]),a=String(e[1]);n.push(new gKe(new b0(o,t),new b0(a,t)))}e._runtimeConditions=n}Object.defineProperties(_Ke.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}}),_Ke.prototype.evaluate=function(e,t){const n=this._runtimeConditions;if(!Object(r["a"])(n))return;const i=n.length;for(let o=0;o<i;++o){const i=n[o];if(i.condition.evaluate(e))return i.expression.evaluate(e,t)}},_Ke.prototype.evaluateColor=function(e,t){const n=this._runtimeConditions;if(!Object(r["a"])(n))return;const i=n.length;for(let o=0;o<i;++o){const i=n[o];if(i.condition.evaluate(e))return i.expression.evaluateColor(e,t)}},_Ke.prototype.getShaderFunction=function(e,t,n,i){const o=this._runtimeConditions;if(!Object(r["a"])(o)||0===o.length)return;let a="";const s=o.length;for(let r=0;r<s;++r){const e=o[r],i=e.condition.getShaderExpression(t,n),s=e.expression.getShaderExpression(t,n);a+=` ${0===r?"if":"else if"} (${i})\n {\n return ${s};\n }\n`}return a=`${i} ${e}\n{\n${a} return ${i}(1.0);\n}\n`,a},_Ke.prototype.getVariables=function(){let e=[];const t=this._runtimeConditions;if(!Object(r["a"])(t)||0===t.length)return e;const n=t.length;for(let i=0;i<n;++i){const n=t[i];e.push.apply(e,n.condition.getVariables()),e.push.apply(e,n.expression.getVariables())}return e=e.filter((function(e,t,n){return n.indexOf(e)===t})),e};var yKe=_Ke;function vKe(e){if(this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,"string"===typeof e||e instanceof Et["a"]){WL("Cesium3DTileStyle constructor","string or Resource style parameter in the Cesium3DTileStyle constructor was deprecated in CesiumJS 1.94. If loading a style from a url, use Cesium3DTileStyle.fromUrl instead.");const t=Et["a"].createIfNeeded(e),n=this;this._readyPromise=t.fetchJson(e).then((function(e){return OKe(n,e),n}))}else OKe(this,e),this._readyPromise=Promise.resolve(this)}function OKe(e,t){t=Object(o["a"])(Object(jL["a"])(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;const n={};if(Object(r["a"])(t.meta)){const e=t.defines,i=Object(o["a"])(t.meta,o["a"].EMPTY_OBJECT);for(const t in i)i.hasOwnProperty(t)&&(n[t]=new b0(i[t],e))}e._meta=n,e._ready=!0}function wKe(e,t){const n=Object(o["a"])(e._style,o["a"].EMPTY_OBJECT).defines;if(Object(r["a"])(t))return"boolean"===typeof t||"number"===typeof t?new b0(String(t)):"string"===typeof t?new b0(t,n):Object(r["a"])(t.conditions)?new yKe(t,n):t}function AKe(e){if(Object(r["a"])(e))return Object(r["a"])(e.expression)?e.expression:Object(r["a"])(e.conditionsExpression)?Object(jL["a"])(e.conditionsExpression,!0):e}Object.defineProperties(vKe.prototype,{style:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._style}},ready:{get:function(){return WL("ready","ready was deprecated in CesiumJS 1.94. It will be removed in 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl instead."),this._ready}},readyPromise:{get:function(){return WL("readyPromise","readyPromise was deprecated in CesiumJS 1.94. It will be removed in 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl instead."),this._readyPromise}},show:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._show},set:function(e){this._show=wKe(this,e),this._style.show=AKe(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._color},set:function(e){this._color=wKe(this,e),this._style.color=AKe(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._pointSize},set:function(e){this._pointSize=wKe(this,e),this._style.pointSize=AKe(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._pointOutlineColor},set:function(e){this._pointOutlineColor=wKe(this,e),this._style.pointOutlineColor=AKe(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=wKe(this,e),this._style.pointOutlineWidth=AKe(this._pointOutlineWidth)}},labelColor:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelColor},set:function(e){this._labelColor=wKe(this,e),this._style.labelColor=AKe(this._labelColor)}},labelOutlineColor:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelOutlineColor},set:function(e){this._labelOutlineColor=wKe(this,e),this._style.labelOutlineColor=AKe(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=wKe(this,e),this._style.labelOutlineWidth=AKe(this._labelOutlineWidth)}},font:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._font},set:function(e){this._font=wKe(this,e),this._style.font=AKe(this._font)}},labelStyle:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelStyle},set:function(e){this._labelStyle=wKe(this,e),this._style.labelStyle=AKe(this._labelStyle)}},labelText:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelText},set:function(e){this._labelText=wKe(this,e),this._style.labelText=AKe(this._labelText)}},backgroundColor:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._backgroundColor},set:function(e){this._backgroundColor=wKe(this,e),this._style.backgroundColor=AKe(this._backgroundColor)}},backgroundPadding:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._backgroundPadding},set:function(e){this._backgroundPadding=wKe(this,e),this._style.backgroundPadding=AKe(this._backgroundPadding)}},backgroundEnabled:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._backgroundEnabled},set:function(e){this._backgroundEnabled=wKe(this,e),this._style.backgroundEnabled=AKe(this._backgroundEnabled)}},scaleByDistance:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._scaleByDistance},set:function(e){this._scaleByDistance=wKe(this,e),this._style.scaleByDistance=AKe(this._scaleByDistance)}},translucencyByDistance:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._translucencyByDistance},set:function(e){this._translucencyByDistance=wKe(this,e),this._style.translucencyByDistance=AKe(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=wKe(this,e),this._style.distanceDisplayCondition=AKe(this._distanceDisplayCondition)}},heightOffset:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._heightOffset},set:function(e){this._heightOffset=wKe(this,e),this._style.heightOffset=AKe(this._heightOffset)}},anchorLineEnabled:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=wKe(this,e),this._style.anchorLineEnabled=AKe(this._anchorLineEnabled)}},anchorLineColor:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._anchorLineColor},set:function(e){this._anchorLineColor=wKe(this,e),this._style.anchorLineColor=AKe(this._anchorLineColor)}},image:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._image},set:function(e){this._image=wKe(this,e),this._style.image=AKe(this._image)}},disableDepthTestDistance:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=wKe(this,e),this._style.disableDepthTestDistance=AKe(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._horizontalOrigin},set:function(e){this._horizontalOrigin=wKe(this,e),this._style.horizontalOrigin=AKe(this._horizontalOrigin)}},verticalOrigin:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._verticalOrigin},set:function(e){this._verticalOrigin=wKe(this,e),this._style.verticalOrigin=AKe(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=wKe(this,e),this._style.labelHorizontalOrigin=AKe(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=wKe(this,e),this._style.labelVerticalOrigin=AKe(this._labelVerticalOrigin)}},meta:{get:function(){if(!this._ready)throw new a["a"]("The style is not loaded. Use Cesium3DTileStyle.readyPromise or wait for Cesium3DTileStyle.ready to be true.");return this._meta},set:function(e){this._meta=e}}}),vKe.fromUrl=function(e){if(!Object(r["a"])(e))throw new a["a"]("url is required");const t=Et["a"].createIfNeeded(e);return t.fetchJson(e).then((function(e){return new vKe(e)}))},vKe.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,Object(r["a"])(this.color)&&Object(r["a"])(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)},vKe.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady||(this._showShaderFunctionReady=!0,Object(r["a"])(this.show)&&Object(r["a"])(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0),this._showShaderFunction},vKe.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady||(this._pointSizeShaderFunctionReady=!0,Object(r["a"])(this.pointSize)&&Object(r["a"])(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0),this._pointSizeShaderFunction},vKe.prototype.getVariables=function(){let e=[];return Object(r["a"])(this.color)&&Object(r["a"])(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),Object(r["a"])(this.show)&&Object(r["a"])(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),Object(r["a"])(this.pointSize)&&Object(r["a"])(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter((function(e,t,n){return n.indexOf(e)===t})),e};var TKe=vKe;function CKe(e){e=Object(o["a"])(e,1),i["a"].typeOf.number.greaterThan("radius",e,0),this._radius=Object(o["a"])(e,1)}Object.defineProperties(CKe.prototype,{radius:{get:function(){return this._radius},set:function(e){i["a"].typeOf.number.greaterThan("value",e,0),this._radius=e}}}),CKe.prototype.emit=function(e){const t=s["a"].randomBetween(0,s["a"].TWO_PI),n=s["a"].randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=g.fromElements(i,o,r,e.position),e.velocity=g.clone(g.UNIT_Z,e.velocity)};var EKe=CKe;const xKe={CUMULUS:0,validate:function(e){return e===xKe.CUMULUS}};var SKe=Object.freeze(xKe),IKe="uniform sampler2D u_noiseTexture;\nuniform vec3 u_noiseTextureDimensions;\nuniform float u_noiseDetail;\nvarying vec2 v_offset;\nvarying vec3 v_maximumSize;\nvarying vec4 v_color;\nvarying float v_slice;\nvarying float v_brightness;\n\nfloat wrap(float value, float rangeLength) {\n if(value < 0.0) {\n float absValue = abs(value);\n float modValue = mod(absValue, rangeLength);\n return mod(rangeLength - modValue, rangeLength);\n }\n return mod(value, rangeLength);\n}\n\nvec3 wrapVec(vec3 value, float rangeLength) {\n return vec3(wrap(value.x, rangeLength),\n wrap(value.y, rangeLength),\n wrap(value.z, rangeLength));\n}\n\nfloat textureSliceWidth = u_noiseTextureDimensions.x;\nfloat noiseTextureRows = u_noiseTextureDimensions.y;\nfloat inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\nfloat textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;\nvec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,\n inverseNoiseTextureRows / textureSliceWidth);\n\nvec2 voxelToUV(vec3 voxelIndex) {\n vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);\n float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);\n float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);\n\n float xPixelCoord = wrappedIndex.x + column * textureSliceWidth;\n float yPixelCoord = wrappedIndex.y + row * textureSliceWidth;\n return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions;\n}\n\n// Interpolate a voxel with its neighbor (along the positive X-axis)\nvec4 lerpSamplesX(vec3 voxelIndex, float x) {\n vec2 uv0 = voxelToUV(voxelIndex);\n vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));\n vec4 sample0 = texture2D(u_noiseTexture, uv0);\n vec4 sample1 = texture2D(u_noiseTexture, uv1);\n return mix(sample0, sample1, x);\n}\n\nvec4 sampleNoiseTexture(vec3 position) {\n vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);\n vec3 lerpValue = fract(recenteredPos);\n vec3 voxelIndex = floor(recenteredPos);\n\n vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x);\n vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x);\n vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x);\n vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x);\n\n vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y);\n vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y);\n return mix(yLerp0, yLerp1, lerpValue.z);\n}\n\n// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0).\nbool intersectSphere(vec3 origin, vec3 dir, float slice,\n out vec3 point, out vec3 normal) {\n float A = dot(dir, dir);\n float B = dot(origin, dir);\n float C = dot(origin, origin) - 0.25;\n float discriminant = (B * B) - (A * C);\n if(discriminant < 0.0) {\n return false;\n }\n float root = sqrt(discriminant);\n float t = (-B - root) / A;\n if(t < 0.0) {\n t = (-B + root) / A;\n }\n point = origin + t * dir;\n\n if(slice >= 0.0) {\n point.z = (slice / 2.0) - 0.5;\n if(length(point) > 0.5) {\n return false;\n }\n }\n\n normal = normalize(point);\n point -= czm_epsilon2 * normal;\n return true;\n}\n\n// Transforms the ray origin and direction into unit sphere space,\n// then transforms the result back into the ellipsoid's space.\nbool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice,\n out vec3 point, out vec3 normal) {\n if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) {\n return false;\n }\n\n vec3 o = (origin - center) / scale;\n vec3 d = dir / scale;\n vec3 p, n;\n bool intersected = intersectSphere(o, d, slice, p, n);\n if(intersected) {\n point = (p * scale) + center;\n normal = n;\n }\n return intersected;\n}\n\n// Assume that if phase shift is being called for octave i,\n// the frequency is of i - 1. This saves us from doing extra\n// division / multiplication operations.\nvec2 phaseShift2D(vec2 p, vec2 freq) {\n return (czm_pi / 2.0) * sin(freq.yx * p.yx);\n}\n\nvec2 phaseShift3D(vec3 p, vec2 freq) {\n return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z));\n}\n\n// The cloud texture function derived from Gardner's 1985 paper,\n// \"Visual Simulation of Clouds.\"\n// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf\nconst float T0 = 0.6; // contrast of the texture pattern\nconst float k = 0.1; // computed to produce a maximum value of 1\nconst float C0 = 0.8; // coefficient\nconst float FX0 = 0.6; // frequency X\nconst float FY0 = 0.6; // frequency Y\nconst int octaves = 5;\n\nfloat T(vec3 point) {\n vec2 sum = vec2(0.0);\n float Ci = C0;\n vec2 FXY = vec2(FX0, FY0);\n vec2 PXY = vec2(0.0);\n for(int i = 1; i <= octaves; i++) {\n PXY = phaseShift3D(point, FXY);\n Ci *= 0.707;\n FXY *= 2.0;\n vec2 sinTerm = sin(FXY * point.xy + PXY);\n sum += Ci * sinTerm + vec2(T0);\n }\n return k * sum.x * sum.y;\n}\n\nconst float a = 0.5; // fraction of surface reflection due to ambient or scattered light,\nconst float t = 0.4; // fraction of texture shading\nconst float s = 0.25; // fraction of specular reflection\n\nfloat I(float Id, float Is, float It) {\n return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a;\n}\n\nconst vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7));\n\nvec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice,\n float brightness) {\n vec3 cloudPoint, cloudNormal;\n if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice,\n cloudPoint, cloudNormal)) {\n return vec4(0.0);\n }\n\n float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection\n float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection\n float It = T(cloudPoint); // texture function\n float intensity = I(Id, Is, It);\n vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0));\n\n vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint);\n float W = noise.x;\n float W2 = noise.y;\n float W3 = noise.z;\n\n // The dot product between the cloud's normal and the ray's direction is greatest\n // in the center of the ellipsoid's surface. It decreases towards the edge.\n // Thus, it is used to blur the areas leading to the edges of the ellipsoid,\n // so that no harsh lines appear.\n\n // The first (and biggest) layer of worley noise is then subtracted from this.\n // The final result is scaled up so that the base cloud is not too translucent.\n float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0);\n float TR = pow(ndDot, 3.0) - W; // translucency\n TR *= 1.3;\n\n // Subtracting the second and third layers of worley noise is more complicated.\n // If these layers of noise were simply subtracted from the current translucency,\n // the shape derived from the first layer of noise would be completely deleted.\n // The erosion of this noise should thus be constricted to the edges of the cloud.\n // However, because the edges of the ellipsoid were already blurred away, mapping\n // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance.\n // The value of (0.5 - ndDot) provides the best compromise.\n float minusDot = 0.5 - ndDot;\n\n // Even with the previous calculation, subtracting the second layer of wnoise\n // erode too much of the cloud. The addition of it, however, will detailed\n // volume to the cloud. As long as the noise is only added and not subtracted,\n // the results are aesthetically pleasing.\n\n // The minusDot product is mapped in a way that it is larger at the edges of\n // the ellipsoid, so a subtraction and min operation are used instead of\n // an addition and max one.\n TR -= min(minusDot * W2, 0.0);\n\n // The third level of worley noise is subtracted from the result, with some\n // modifications. First, a scalar is added to minusDot so that the noise\n // starts affecting the shape farther away from the center of the ellipsoid's\n // surface. Then, it is scaled down so its impact is not too intense.\n TR -= 0.8 * (minusDot + 0.25) * W3;\n\n // The texture function's shading does not correlate with the shape of the cloud\n // produced by the layers of noise, so an extra shading scalar is calculated.\n // The darkest areas of the cloud are assigned to be where the noise erodes\n // the cloud the most. This is then interpolated based on the translucency\n // and the diffuse shading term of that point in the cloud.\n float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR);\n\n // To avoid values that are too dark, this scalar is increased by a small amount\n // and clamped so it never goes to zero.\n shading = clamp(shading + 0.2, 0.3, 1.0);\n\n // Finally, the contrast of the cloud's color is increased.\n vec3 finalColor = mix(vec3(0.5), shading * color, 1.15);\n return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color;\n}\n\nvoid main() {\n#ifdef DEBUG_BILLBOARDS\n gl_FragColor = vec4(0.0, 0.5, 0.5, 1.0);\n#endif\n // To avoid calculations with high values,\n // we raycast from an arbitrarily smaller space.\n vec2 coordinate = v_maximumSize.xy * v_offset;\n\n vec3 ellipsoidScale = 0.82 * v_maximumSize;\n vec3 ellipsoidCenter = vec3(0.0);\n\n float zOffset = max(ellipsoidScale.z - 10.0, 0.0);\n vec3 eye = vec3(0, 0, -10.0 - zOffset);\n vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye);\n vec3 rayOrigin = eye;\n#ifdef DEBUG_ELLIPSOIDS\n vec3 point, normal;\n if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,\n point, normal)) {\n gl_FragColor = v_brightness * v_color;\n }\n#else\n#ifndef DEBUG_BILLBOARDS\n vec4 cloud = drawCloud(rayOrigin, rayDir,\n ellipsoidCenter, ellipsoidScale, v_slice, v_brightness);\n if(cloud.w < 0.01) {\n discard;\n }\n gl_FragColor = cloud;\n#endif\n#endif\n}\n",DKe="#ifdef INSTANCED\nattribute vec2 direction;\n#endif\nattribute vec4 positionHighAndScaleX;\nattribute vec4 positionLowAndScaleY;\nattribute vec4 packedAttribute0;\nattribute vec4 packedAttribute1;\nattribute vec4 color;\n\nvarying vec2 v_offset;\nvarying vec3 v_maximumSize;\nvarying vec4 v_color;\nvarying float v_slice;\nvarying float v_brightness;\n\nvoid main() {\n // Unpack attributes.\n vec3 positionHigh = positionHighAndScaleX.xyz;\n vec3 positionLow = positionLowAndScaleY.xyz;\n vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w);\n\n float show = packedAttribute0.x;\n float brightness = packedAttribute0.y;\n vec2 coordinates = packedAttribute0.wz;\n vec3 maximumSize = packedAttribute1.xyz;\n float slice = packedAttribute1.w;\n\n#ifdef INSTANCED\n vec2 dir = direction;\n#else\n vec2 dir = coordinates;\n#endif\n\n vec2 offset = dir - vec2(0.5, 0.5);\n vec2 scaledOffset = scale * offset;\n vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n vec4 positionEC = czm_modelViewRelativeToEye * p;\n positionEC.xy += scaledOffset;\n \n positionEC.xyz *= show;\n gl_Position = czm_projection * positionEC;\n\n v_offset = offset;\n v_maximumSize = maximumSize;\n v_color = color;\n v_slice = slice;\n v_brightness = brightness;\n}\n",jKe="uniform vec3 u_noiseTextureDimensions;\nuniform float u_noiseDetail;\nuniform vec3 u_noiseOffset;\nvarying vec2 v_position;\n\nfloat textureSliceWidth = u_noiseTextureDimensions.x;\nfloat inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\nfloat wrap(float value, float rangeLength) {\n if(value < 0.0) {\n float absValue = abs(value);\n float modValue = mod(absValue, rangeLength);\n return mod(rangeLength - modValue, rangeLength);\n }\n return mod(value, rangeLength);\n}\n\nvec3 wrapVec(vec3 value, float rangeLength) {\n return vec3(wrap(value.x, rangeLength),\n wrap(value.y, rangeLength),\n wrap(value.z, rangeLength));\n}\n\nvec3 random3(vec3 p) {\n float dot1 = dot(p, vec3(127.1, 311.7, 932.8));\n float dot2 = dot(p, vec3(269.5, 183.3, 421.4));\n return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2));\n}\n\n// Frequency corresponds to cell size.\n// The higher the frequency, the smaller the cell size.\nvec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) {\n vec3 cell = centerCell + offset;\n cell = wrapVec(cell, textureSliceWidth / u_noiseDetail);\n cell += floor(u_noiseOffset / u_noiseDetail);\n vec3 p = offset + random3(cell);\n return p;\n}\n\nfloat worleyNoise(vec3 p, float freq) {\n vec3 centerCell = floor(p * freq);\n vec3 pointInCell = fract(p * freq);\n float shortestDistance = 1000.0;\n\n for(float z = -1.0; z <= 1.0; z++) {\n for(float y = -1.0; y <= 1.0; y++) {\n for(float x = -1.0; x <= 1.0; x++) {\n vec3 offset = vec3(x, y, z);\n vec3 point = getWorleyCellPoint(centerCell, offset, freq);\n\n float distance = length(pointInCell - point);\n if(distance < shortestDistance) {\n shortestDistance = distance;\n }\n }\n }\n }\n\n return shortestDistance;\n}\n\nconst float MAX_FBM_ITERATIONS = 10.0;\n\nfloat worleyFBMNoise(vec3 p, float octaves, float scale) {\n float noise = 0.0;\n float freq = 1.0;\n float persistence = 0.625;\n for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) {\n if(i >= octaves) {\n break;\n }\n\n noise += worleyNoise(p * scale, freq * scale) * persistence;\n persistence *= 0.5;\n freq *= 2.0;\n }\n return noise;\n}\n\nvoid main() {\n float x = mod(v_position.x, textureSliceWidth);\n float y = mod(v_position.y, textureSliceWidth);\n float sliceRow = floor(v_position.y / textureSliceWidth);\n float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth;\n\n vec3 position = vec3(x, y, z);\n position /= u_noiseDetail;\n float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0);\n float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0);\n float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0);\n gl_FragColor = vec4(worley0, worley1, worley2, 1.0);\n}\n",PKe="uniform vec3 u_noiseTextureDimensions;\nattribute vec2 position;\n\nvarying vec2 v_position;\n\nvoid main()\n{\n gl_Position = vec4(position, 0.1, 1.0);\n\n float textureSliceWidth = u_noiseTextureDimensions.x;\n float noiseTextureRows = u_noiseTextureDimensions.y;\n float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n vec2 transformedPos = (position * 0.5) + vec2(0.5);\n transformedPos *= textureSliceWidth;\n transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows;\n transformedPos.y *= noiseTextureRows;\n v_position = transformedPos;\n}\n";function RKe(e,t){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._show=Object(o["a"])(e.show,!0),this._position=g.clone(Object(o["a"])(e.position,g.ZERO)),!Object(r["a"])(e.scale)&&Object(r["a"])(e.maximumSize))this._maximumSize=g.clone(e.maximumSize),this._scale=new Ht(this._maximumSize.x,this._maximumSize.y);else{this._scale=Ht.clone(Object(o["a"])(e.scale,new Ht(20,12)));const t=new g(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=g.clone(Object(o["a"])(e.maximumSize,t))}this._slice=Object(o["a"])(e.slice,-1),this._color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this._brightness=Object(o["a"])(e.brightness,1),this._cloudCollection=t,this._index=-1}const MKe=RKe.SHOW_INDEX=0,NKe=RKe.POSITION_INDEX=1,LKe=RKe.SCALE_INDEX=2,BKe=RKe.MAXIMUM_SIZE_INDEX=3,FKe=RKe.SLICE_INDEX=4,kKe=RKe.BRIGHTNESS_INDEX=5,zKe=RKe.COLOR_INDEX=6;function UKe(e,t){const n=e._cloudCollection;Object(r["a"])(n)&&(n._updateCloud(e,t),e._dirty=!0)}RKe.NUMBER_OF_PROPERTIES=7,Object.defineProperties(RKe.prototype,{show:{get:function(){return this._show},set:function(e){i["a"].typeOf.bool("value",e),this._show!==e&&(this._show=e,UKe(this,MKe))}},position:{get:function(){return this._position},set:function(e){i["a"].typeOf.object("value",e);const t=this._position;g.equals(t,e)||(g.clone(e,t),UKe(this,NKe))}},scale:{get:function(){return this._scale},set:function(e){i["a"].typeOf.object("value",e);const t=this._scale;Ht.equals(t,e)||(Ht.clone(e,t),UKe(this,LKe))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){i["a"].typeOf.object("value",e);const t=this._maximumSize;g.equals(t,e)||(g.clone(e,t),UKe(this,BKe))}},color:{get:function(){return this._color},set:function(e){i["a"].typeOf.object("value",e);const t=this._color;j_.equals(t,e)||(j_.clone(e,t),UKe(this,zKe))}},slice:{get:function(){return this._slice},set:function(e){i["a"].typeOf.number("value",e);const t=this._slice;t!==e&&(this._slice=e,UKe(this,FKe))}},brightness:{get:function(){return this._brightness},set:function(e){i["a"].typeOf.number("value",e);const t=this._brightness;t!==e&&(this._brightness=e,UKe(this,kKe))}}}),RKe.prototype._destroy=function(){this._cloudCollection=void 0};var VKe=RKe;let HKe;const GKe=new g,qKe={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},WKe={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},YKe=VKe.SHOW_INDEX,XKe=VKe.POSITION_INDEX,KKe=VKe.SCALE_INDEX,JKe=VKe.MAXIMUM_SIZE_INDEX,ZKe=VKe.SLICE_INDEX,$Ke=VKe.BRIGHTNESS_INDEX,QKe=VKe.NUMBER_OF_PROPERTIES,eJe=VKe.COLOR_INDEX;function tJe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(QKe),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=Object(o["a"])(e.noiseDetail,16),this.noiseOffset=g.clone(Object(o["a"])(e.noiseOffset,g.ZERO)),this._loading=!1,this._ready=!1;const t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:nJe(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=Object(o["a"])(e.show,!0),this._colorCommands=[],this.debugBillboards=Object(o["a"])(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=Object(o["a"])(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function nJe(e){return function(){return GKe.x=e._textureSliceWidth,GKe.y=e._noiseTextureRows,GKe.z=1/e._noiseTextureRows,GKe}}function iJe(e){const t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}function oJe(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;const t=[],n=e._clouds,i=n.length;for(let e=0,o=0;e<i;++e){const i=n[e];Object(r["a"])(i)&&(n._index=o++,t.push(i))}e._clouds=t}}Object.defineProperties(tJe.prototype,{length:{get:function(){return oJe(this),this._clouds.length}}}),tJe.prototype.add=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.cloudType,SKe.CUMULUS);if(!SKe.validate(t))throw new a["a"]("invalid cloud type");let n;return t===SKe.CUMULUS&&(n=new VKe(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n},tJe.prototype.remove=function(e){return!!this.contains(e)&&(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0)},tJe.prototype.removeAll=function(){iJe(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0},tJe.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]},tJe.prototype.contains=function(e){return Object(r["a"])(e)&&e._cloudCollection===this},tJe.prototype.get=function(e){return i["a"].typeOf.number("index",e),oJe(this),this._clouds[e]};const rJe=new Float32Array([-1,-1,1,-1,1,1,-1,1]),aJe=new Uint16Array([0,1,2,0,2,3]);function sJe(e){const t=SG.createVertexBuffer({context:e,typedArray:rJe,usage:EG.STATIC_DRAW}),n=SG.createIndexBuffer({context:e,typedArray:aJe,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:$c.FLOAT}];return new BG({context:e,attributes:i,indexBuffer:n})}let cJe;function lJe(e){const t=16384;let n=e.cache.cloudCollection_indexBufferBatched;if(Object(r["a"])(n))return n;const i=6*t-6,o=new Uint16Array(i);for(let r=0,a=0;r<i;r+=6,a+=4)o[r]=a,o[r+1]=a+1,o[r+2]=a+2,o[r+3]=a,o[r+4]=a+2,o[r+5]=a+3;return n=SG.createIndexBuffer({context:e,typedArray:o,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function uJe(e){let t=e.cache.cloudCollection_indexBufferInstanced;return Object(r["a"])(t)||(t=SG.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function hJe(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return Object(r["a"])(t)||(t=SG.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:EG.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function dJe(e,t,n){const i=[{index:HKe.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:EG.STATIC_DRAW},{index:HKe.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:EG.STATIC_DRAW},{index:HKe.packedAttribute0,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:EG.STATIC_DRAW},{index:HKe.packedAttribute1,componentsPerAttribute:4,componentDatatype:$c.FLOAT,usage:EG.STATIC_DRAW},{index:HKe.color,componentsPerAttribute:4,componentDatatype:$c.UNSIGNED_BYTE,normalize:!0,usage:EG.STATIC_DRAW}];n&&i.push({index:HKe.direction,componentsPerAttribute:2,componentDatatype:$c.FLOAT,vertexBuffer:hJe(e)});const o=n?t:4*t;return new Aie(e,i,o,n)}const fJe=new kf;function pJe(e,t,n,i){let o;const r=n[HKe.positionHighAndScaleX],a=n[HKe.positionLowAndScaleY],s=i.position;kf.fromCartesian(s,fJe);const c=i.scale,l=fJe.high,u=fJe.low;e._instanced?(o=i._index,r(o,l.x,l.y,l.z,c.x),a(o,u.x,u.y,u.z,c.y)):(o=4*i._index,r(o+0,l.x,l.y,l.z,c.x),r(o+1,l.x,l.y,l.z,c.x),r(o+2,l.x,l.y,l.z,c.x),r(o+3,l.x,l.y,l.z,c.x),a(o+0,u.x,u.y,u.z,c.y),a(o+1,u.x,u.y,u.z,c.y),a(o+2,u.x,u.y,u.z,c.y),a(o+3,u.x,u.y,u.z,c.y))}function mJe(e,t,n,i){let o;const r=n[HKe.packedAttribute0],a=i.show,s=i.brightness;e._instanced?(o=i._index,r(o,a,s,0,0)):(o=4*i._index,r(o+0,a,s,0,0),r(o+1,a,s,1,0),r(o+2,a,s,1,1),r(o+3,a,s,0,1))}function _Je(e,t,n,i){let o;const r=n[HKe.packedAttribute1],a=i.maximumSize,s=i.slice;e._instanced?(o=i._index,r(o,a.x,a.y,a.z,s)):(o=4*i._index,r(o+0,a.x,a.y,a.z,s),r(o+1,a.x,a.y,a.z,s),r(o+2,a.x,a.y,a.z,s),r(o+3,a.x,a.y,a.z,s))}function gJe(e,t,n,i){let o;const r=n[HKe.color],a=i.color,s=j_.floatToByte(a.red),c=j_.floatToByte(a.green),l=j_.floatToByte(a.blue),u=j_.floatToByte(a.alpha);e._instanced?(o=i._index,r(o,s,c,l,u)):(o=4*i._index,r(o+0,s,c,l,u),r(o+1,s,c,l,u),r(o+2,s,c,l,u),r(o+3,s,c,l,u))}function bJe(e,t,n,i){pJe(e,t,n,i),mJe(e,t,n,i),_Je(e,t,n,i),gJe(e,t,n,i)}function yJe(e,t,n,i){const o=e,r=o._textureSliceWidth,s=o._noiseTextureRows;if(r/s<1||r%s!==0)throw new a["a"]("noiseTextureRows must evenly divide textureSliceWidth");const c=t.context;o._vaNoise=sJe(c),o._spNoise=IU.fromCache({context:c,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});const l=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new nk({context:c,width:r*r/s,height:r*s,pixelDatatype:WS.UNSIGNED_BYTE,pixelFormat:XS.RGBA,sampler:new $F({wrapS:JF.REPEAT,wrapT:JF.REPEAT,minificationFilter:XF.NEAREST,magnificationFilter:WF.NEAREST})});const h=new XK({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:nJe(o),u_noiseDetail:function(){return l},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(e){o._ready=!0,o._loading=!1}});t.commandList.push(h),o._loading=!0}function vJe(e,t){const n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();const o=e._clouds,r=o.length;if(r>0){n._vaf=dJe(i,r,n._instanced);const a=n._vaf.writers;let s;for(s=0;s<r;++s){const n=o[s];bJe(e,t,a,n)}n._vaf.commit(cJe(i))}}const OJe=[];function wJe(e,t){const n=t.context,i=e,o=i._clouds,r=o.length,a=i._cloudsToUpdate,s=i._cloudsToUpdateIndex,c=i._propertiesChanged,l=OJe;l.length=0,(c[XKe]||c[KKe])&&l.push(pJe),(c[YKe]||c[$Ke])&&l.push(mJe),(c[JKe]||c[ZKe])&&l.push(_Je),c[eJe]&&l.push(gJe);const u=l.length,h=i._vaf.writers;let d,f,p;if(s/r>.1){for(d=0;d<s;++d)for(f=a[d],f._dirty=!1,p=0;p<u;++p)l[p](e,t,h,f);i._vaf.commit(cJe(n))}else{for(d=0;d<s;++d){for(f=a[d],f._dirty=!1,p=0;p<u;++p)l[p](e,t,h,f);i._instanced?i._vaf.subCommit(f._index,1):i._vaf.subCommit(4*f._index,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function AJe(e,t,n,i){const o=t.context,r=e,a=new bG({defines:[],sources:[n]});r._instanced&&a.defines.push("INSTANCED");const s=new bG({defines:[],sources:[i]});r.debugBillboards&&s.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&s.defines.push("DEBUG_ELLIPSOIDS"),r._sp=IU.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:HKe}),r._rs=Mz.fromCache({depthTest:{enabled:!0,func:Jc.LESS},depthMask:!1,blending:MF.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function TJe(e,t){const n=e,i=t.passes,o=n._uniforms,a=t.commandList;if(i.render){const t=n._colorCommands,i=n._vaf.va,s=i.length;t.length=s;for(let c=0;c<s;c++){let s=t[c];Object(r["a"])(s)||(s=t[c]=new nz),s.pass=oz.TRANSLUCENT,s.owner=e,s.uniformMap=o,s.count=i[c].indicesCount,s.vertexArray=i[c].va,s.shaderProgram=n._sp,s.renderState=n._rs,n._instanced&&(s.count=6,s.instanceCount=n._clouds.length),a.push(s)}}}tJe.prototype.update=function(e){if(oJe(this),!this.show)return;const t=this.debugBillboards||this.debugEllipsoids;this._ready=!!t||Object(r["a"])(this._noiseTexture),this._ready||this._loading||t||yJe(this,e,PKe,jKe),this._instanced=e.context.instancedArrays,HKe=this._instanced?WKe:qKe,cJe=this._instanced?uJe:lJe;const n=this._clouds,i=n.length,o=this._cloudsToUpdate,a=this._cloudsToUpdateIndex;this._createVertexArray?vJe(this,e):a>0&&wJe(this,e),a>1.5*i&&(o.length=i),!Object(r["a"])(this._vaf)||!Object(r["a"])(this._vaf.va)||!this._ready&!t||(this._spCreated&&this.debugBillboards===this._compiledDebugBillboards&&this.debugEllipsoids===this._compiledDebugEllipsoids||AJe(this,e,DKe,IKe),TJe(this,e))},tJe.prototype.isDestroyed=function(){return!1},tJe.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),iJe(this._clouds),Wl(this)};var CJe=tJe;const EJe=s["a"].toRadians(30);function xJe(e){this._angle=Object(o["a"])(e,EJe)}Object.defineProperties(xJe.prototype,{angle:{get:function(){return this._angle},set:function(e){i["a"].typeOf.number("value",e),this._angle=e}}}),xJe.prototype.emit=function(e){const t=Math.tan(this._angle),n=s["a"].randomBetween(0,s["a"].TWO_PI),i=s["a"].randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),a=1;e.velocity=g.fromElements(o,r,a,e.velocity),g.normalize(e.velocity,e.velocity),e.position=g.clone(g.ZERO,e.position)};var SJe=xJe;const IJe=576,DJe=100,jJe="#ffffff",PJe="#48b";function RJe(e,t){this.credit=e,this.count=Object(o["a"])(t,1)}function MJe(e,t){const n=e.length;for(let i=0;i<n;i++){const n=e[i];if(fi.equals(n,t))return!0}return!1}function NJe(e){const t=e._previousCesiumCredit,n=e._currentCesiumCredit;fi.equals(n,t)||(Object(r["a"])(t)&&e._cesiumCreditContainer.removeChild(t.element),Object(r["a"])(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}const LJe="cesium-credit-delimiter";function BJe(e){const t=document.createElement("span");return t.textContent=e,t.className=LJe,t}function FJe(e,t){if(Object(r["a"])(t)){const n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function kJe(e,t,n,i){const o=e.childNodes;let a=-1;t.sort((function(e,t){return t.count-e.count}));for(let s=0;s<t.length;++s){const c=t[s].credit;if(Object(r["a"])(c)){if(a=s,Object(r["a"])(n)&&(a*=2,s>0)){const t=a-1;if(o.length<=t)e.appendChild(BJe(n));else{const i=o[t];i.className!==LJe&&e.replaceChild(BJe(n),i)}}const t=c.element;if(o.length<=a)e.appendChild(FJe(t,i));else{const n=o[a];n._creditId!==c._id&&e.replaceChild(FJe(t,i),n)}}}++a;while(a<o.length)e.removeChild(o[a])}function zJe(e){const t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<IJe?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=Math.floor(.5*(i-t.clientHeight))+"px"),e._lastViewportWidth=n),n>=IJe&&i!==e._lastViewportHeight&&(t.style.marginTop=Math.floor(.5*(i-t.clientHeight))+"px",e._lastViewportHeight=i)}function UJe(e,t){let n=e+" {";for(const i in t)t.hasOwnProperty(i)&&(n+=`${i}: ${t[i]}; `);return n+=" }\n",n}function VJe(){let e="";e+=UJe(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),e+=UJe(".cesium-credit-lightbox",{"background-color":"#303336",color:jJe,position:"relative","min-height":DJe+"px",margin:"auto"}),e+=UJe(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:jJe}),e+=UJe(".cesium-credit-lightbox > ul > li a:hover",{color:PJe}),e+=UJe(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),e+=UJe(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),e+=UJe(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),e+=UJe(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:jJe}),e+=UJe(".cesium-credit-lightbox-close:hover",{color:PJe}),e+=UJe(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),e+=UJe(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),e+=UJe(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),e+=UJe(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:jJe}),e+=UJe(".cesium-credit-expand-link:hover",{color:PJe}),e+=UJe(".cesium-credit-text",{color:jJe}),e+=UJe(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});const t=document.head,n=document.createElement("style");n.innerHTML=e,t.insertBefore(n,t.firstChild)}function HJe(e,t,n){i["a"].defined("container",e);const r=this;n=Object(o["a"])(n,document.body);const a=document.createElement("div");a.className="cesium-credit-lightbox-overlay",n.appendChild(a);const s=document.createElement("div");function c(e){s.contains(e.target)||r.hideLightbox()}s.className="cesium-credit-lightbox",a.appendChild(s),a.addEventListener("click",c,!1);const l=document.createElement("div");l.className="cesium-credit-lightbox-title",l.textContent="Data provided by:",s.appendChild(l);const u=document.createElement("a");u.onclick=this.hideLightbox.bind(this),u.innerHTML="&times;",u.className="cesium-credit-lightbox-close",s.appendChild(u);const h=document.createElement("ul");s.appendChild(h);const d=document.createElement("div");d.className="cesium-credit-logoContainer",d.style.display="inline",e.appendChild(d);const f=document.createElement("div");f.className="cesium-credit-textContainer",f.style.display="inline",e.appendChild(f);const p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),VJe();const m=fi.clone(HJe.cesiumCredit);this._delimiter=Object(o["a"])(t," • "),this._screenContainer=f,this._cesiumCreditContainer=d,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=s,this._creditList=h,this._lightbox=a,this._hideLightbox=c,this._expandLink=p,this._expanded=!1,this._defaultCredits=[],this._cesiumCredit=m,this._previousCesiumCredit=void 0,this._currentCesiumCredit=m,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new fh,lightboxCredits:new fh},this._defaultCredit=void 0,this.viewport=n,this.container=e}function GJe(e,t,n,i){i=Object(o["a"])(i,1);let a=t.get(n.id);if(Object(r["a"])(a))a.count<Number.MAX_VALUE&&(a.count+=i);else{const o=e._creditDisplayElementPool,r=e._creditDisplayElementPoolIndex;r<o.length?(a=o[r],a.credit=n,a.count=i):(a=new RJe(n,i),o.push(a)),++e._creditDisplayElementPoolIndex,t.set(n.id,a)}}let qJe;function WJe(){if(!Object(r["a"])(qJe)){let e=Lt("Assets/Images/ion-credit.png");if(0!==e.indexOf("http://")&&0!==e.indexOf("https://")&&0!==e.indexOf("data:")){const t=new Hl["a"](e);e=t.path()}qJe=new fi(`<a href="https://cesium.com/" target="_blank"><img src="${e}" title="Cesium ion"/></a>`,!0)}return HJe._cesiumCreditInitialized||(HJe._cesiumCredit=qJe,HJe._cesiumCreditInitialized=!0),qJe}HJe.prototype.addCredit=function(e){if(i["a"].defined("credit",e),e._isIon)return Object(r["a"])(this._defaultCredit)||(this._defaultCredit=fi.clone(WJe())),void(this._currentCesiumCredit=this._defaultCredit);let t;t=e.showOnScreen?this._currentFrameCredits.screenCredits:this._currentFrameCredits.lightboxCredits,GJe(this,t,e)},HJe.prototype.addDefaultCredit=function(e){i["a"].defined("credit",e);const t=this._defaultCredits;MJe(t,e)||t.push(e)},HJe.prototype.removeDefaultCredit=function(e){i["a"].defined("credit",e);const t=this._defaultCredits,n=t.indexOf(e);-1!==n&&t.splice(n,1)},HJe.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0},HJe.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1},HJe.prototype.update=function(){this._expanded&&zJe(this)},HJe.prototype.beginFrame=function(){const e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;const t=e.screenCredits;t.removeAll();const n=this._defaultCredits;for(let i=0;i<n.length;++i){const e=n[i];GJe(this,t,e,Number.MAX_VALUE)}e.lightboxCredits.removeAll(),fi.equals(HJe.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=fi.clone(HJe.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit},HJe.prototype.endFrame=function(){const e=this._currentFrameCredits.screenCredits.values;kJe(this._screenContainer,e,this._delimiter,void 0);const t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",kJe(this._creditList,t,void 0,"li"),NJe(this)},HJe.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),Wl(this)},HJe.prototype.isDestroyed=function(){return!1},HJe._cesiumCredit=void 0,HJe._cesiumCreditInitialized=!1,Object.defineProperties(HJe,{cesiumCredit:{get:function(){return WJe(),HJe._cesiumCredit},set:function(e){HJe._cesiumCredit=e,HJe._cesiumCreditInitialized=!0}}}),HJe.CreditDisplayElement=RJe;var YJe=HJe;function XJe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.attributeName;let n=e.perInstanceAttribute;if(!Object(r["a"])(t))throw new a["a"]("options.attributeName is required.");Object(r["a"])(n)||(n=!1);let i=Object(o["a"])(e.glslDatatype,"vec3");const s="v_"+t;let c;if("normal"===t||"tangent"===t||"bitangent"===t)c=`vec4 getColor() { return vec4((${s} + vec3(1.0)) * 0.5, 1.0); }\n`;else switch("st"===t&&(i="vec2"),i){case"float":c=`vec4 getColor() { return vec4(vec3(${s}), 1.0); }\n`;break;case"vec2":c=`vec4 getColor() { return vec4(${s}, 0.0, 1.0); }\n`;break;case"vec3":c=`vec4 getColor() { return vec4(${s}, 1.0); }\n`;break;case"vec4":c=`vec4 getColor() { return ${s}; }\n`;break;default:throw new a["a"]("options.glslDatatype must be float, vec2, vec3, or vec4.")}const l=`attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute float batchId;\n${n?"":`attribute ${i} ${t};\n`}varying ${i} ${s};\nvoid main()\n{\nvec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow);\n${n?`${s} = czm_batchTable_${t}(batchId);\n`:`${s} = ${t};\n`}gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}`,u=`varying ${i} ${s};\n${c}\nvoid main()\n{\ngl_FragColor = getColor();\n}`;this.material=void 0,this.translucent=Object(o["a"])(e.translucent,!1),this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,l),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,u),this._renderState=FF.getDefaultRenderState(!1,!1,e.renderState),this._closed=Object(o["a"])(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(XJe.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}}),XJe.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,XJe.prototype.isTranslucent=FF.prototype.isTranslucent,XJe.prototype.getRenderState=FF.prototype.getRenderState;var KJe=XJe;function JJe(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.camera))throw new a["a"]("options.camera is required.");this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=Object(o["a"])(e.color,j_.CYAN),this._updateOnChange=Object(o["a"])(e.updateOnChange,!0),this.show=Object(o["a"])(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}const ZJe=new g,$Je=new ce,QJe=new $a,eZe=new vA,tZe=new gA,nZe=new uA,iZe=new sA,oZe=new j_,rZe=[1,1e5];JJe.prototype.update=function(e){if(!this.show)return;const t=this._planesPrimitives,n=this._outlinePrimitives;let i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(0===t.length){const e=this._camera,o=e.frustum;let a,s;a=o instanceof vA?eZe:o instanceof gA?tZe:o instanceof uA?nZe:iZe,a=o.clone(a);let c=this._frustumSplits;!Object(r["a"])(c)||c.length<=1?(c=rZe,c[0]=this._camera.frustum.near,c[1]=this._camera.frustum.far,s=1):s=c.length-1;const l=e.positionWC,u=e.directionWC,h=e.upWC;let d=e.rightWC;d=g.negate(d,ZJe);const f=$Je;ce.setColumn(f,0,d,f),ce.setColumn(f,1,h,f),ce.setColumn(f,2,u,f);const p=$a.fromRotationMatrix(f,QJe);for(t.length=n.length=s,i=0;i<s;++i)a.near=c[i],a.far=c[i+1],t[i]=new bW({geometryInstances:new Df({geometry:new VA({origin:l,orientation:p,frustum:a,_drawNearPlane:0===i}),attributes:{color:R_.fromColor(j_.fromAlpha(this._color,.1,oZe))},id:this.id,pickPrimitive:this}),appearance:new Kk({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new bW({geometryInstances:new Df({geometry:new JA({origin:l,orientation:p,frustum:a,_drawNearPlane:0===i}),attributes:{color:R_.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)},JJe.prototype.isDestroyed=function(){return!1},JJe.prototype.destroy=function(){const e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return Wl(this)};var aZe=JJe;function sZe(){this._cachedShowFrustumsShaders={}}function cZe(e){const t={},n=e.vertexAttributes;for(const i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function lZe(e,t){const n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map((function(e){e=bG.replaceMain(e,"czm_Debug_main");const t=/gl_FragData\[(\d+)\]/g;let n;while(null!==(n=t.exec(e)))-1===r.indexOf(n[1])&&r.push(n[1]);return e}));const a=r.length;let s,c="";if(c+="uniform vec3 debugShowCommandsColor;\n",c+="uniform vec3 debugShowFrustumsColor;\n",c+="void main() \n{ \n czm_Debug_main(); \n",a>0)for(s=0;s<a;++s)c+=` gl_FragData[${r[s]}].rgb *= debugShowCommandsColor;\n`,c+=` gl_FragData[${r[s]}].rgb *= debugShowFrustumsColor;\n`;else c+=" gl_FragColor.rgb *= debugShowCommandsColor;\n",c+=" gl_FragColor.rgb *= debugShowFrustumsColor;\n";c+="}",o.sources.push(c);const l=cZe(i);return IU.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:l})}const uZe=new j_;function hZe(e,t){let n;return n=Object(r["a"])(t.uniformMap)?t.uniformMap:{},Object(r["a"])(n.debugShowCommandsColor)||Object(r["a"])(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(Object(r["a"])(t._debugColor)||(t._debugColor=j_.fromRandom()),t._debugColor):j_.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(uZe.red=1&t.debugOverlappingFrustums?1:0,uZe.green=2&t.debugOverlappingFrustums?1:0,uZe.blue=4&t.debugOverlappingFrustums?1:0,uZe.alpha=1,uZe):j_.WHITE}),n}const dZe=new nz;sZe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){const i=t.shaderProgram.id;let o=this._cachedShowFrustumsShaders[i];Object(r["a"])(o)||(o=lZe(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);const a=nz.shallowClone(t,dZe);a.shaderProgram=o,a.uniformMap=hZe(e,t),a.execute(e.context,n)};var fZe=sZe;function pZe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.length=Object(o["a"])(e.length,1e7),this._length=void 0,this.width=Object(o["a"])(e.width,2),this._width=void 0,this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=new Ne,this.id=e.id,this._id=void 0,this._primitive=void 0}pZe.prototype.update=function(e){if(this.show){if(!Object(r["a"])(this._primitive)||!Ne.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=Ne.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,Object(r["a"])(this._primitive)&&this._primitive.destroy(),0===this.modelMatrix[12]&&0===this.modelMatrix[13]&&0===this.modelMatrix[14]&&(this.modelMatrix[14]=.01);const e=new Df({geometry:new aD({positions:[g.ZERO,g.UNIT_X],width:this.width,vertexFormat:WY.VERTEX_FORMAT,colors:[j_.RED,j_.RED],arcType:hh.NONE}),modelMatrix:Ne.multiplyByUniformScale(this.modelMatrix,this.length,new Ne),id:this.id,pickPrimitive:this}),t=new Df({geometry:new aD({positions:[g.ZERO,g.UNIT_Y],width:this.width,vertexFormat:WY.VERTEX_FORMAT,colors:[j_.GREEN,j_.GREEN],arcType:hh.NONE}),modelMatrix:Ne.multiplyByUniformScale(this.modelMatrix,this.length,new Ne),id:this.id,pickPrimitive:this}),n=new Df({geometry:new aD({positions:[g.ZERO,g.UNIT_Z],width:this.width,vertexFormat:WY.VERTEX_FORMAT,colors:[j_.BLUE,j_.BLUE],arcType:hh.NONE}),modelMatrix:Ne.multiplyByUniformScale(this.modelMatrix,this.length,new Ne),id:this.id,pickPrimitive:this});this._primitive=new bW({geometryInstances:[e,t,n],appearance:new WY,asynchronous:!1})}this._primitive.update(e)}},pZe.prototype.isDestroyed=function(){return!1},pZe.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Wl(this)};var mZe=pZe,_Ze="varying vec4 positionEC;\n\nvoid main()\n{\n vec3 position;\n vec3 direction;\n if (czm_orthographicIn3D == 1.0)\n {\n vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw;\n vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom\n vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top\n position = vec3(mix(minPlane, maxPlane, uv), 0.0);\n direction = vec3(0.0, 0.0, -1.0);\n } \n else \n {\n position = vec3(0.0);\n direction = normalize(positionEC.xyz);\n }\n\n czm_ray ray = czm_ray(position, direction);\n\n vec3 ellipsoid_center = czm_view[3].xyz;\n\n czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);\n if (!czm_isEmpty(intersection))\n {\n gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n }\n else\n {\n discard;\n }\n\n czm_writeLogDepth();\n}\n",gZe="attribute vec4 position;\n\nvarying vec4 positionEC;\n\nvoid main()\n{\n positionEC = czm_modelView * position;\n gl_Position = czm_projection * positionEC;\n\n czm_vertexLogDepth();\n}\n";function bZe(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=Object(o["a"])(e,0)}const yZe=Ta.supportsTypedArrays()?new Float32Array(12):[],vZe=new g,OZe=new g,wZe=new g,AZe=new g,TZe=new g;function CZe(e,t){const n=e.radii,i=t.camera;let o,r,a;if(i.frustum instanceof uA)o=g.ZERO,r=i.rightWC,a=i.upWC;else{const t=i.positionWC,n=g.multiplyComponents(e.oneOverRadii,t,vZe),s=g.normalize(n,OZe),c=g.normalize(g.cross(g.UNIT_Z,n,wZe),wZe),l=g.normalize(g.cross(s,c,AZe),AZe),u=g.magnitude(n),h=Math.sqrt(u*u-1);o=g.multiplyByScalar(s,1/u,vZe);const d=h/u;r=g.multiplyByScalar(c,d,OZe),a=g.multiplyByScalar(l,d,wZe)}const s=g.add(o,a,TZe);g.subtract(s,r,s),g.multiplyComponents(n,s,s),g.pack(s,yZe,0);const c=g.subtract(o,a,TZe);g.subtract(c,r,c),g.multiplyComponents(n,c,c),g.pack(c,yZe,3);const l=g.add(o,a,TZe);g.add(l,r,l),g.multiplyComponents(n,l,l),g.pack(l,yZe,6);const u=g.subtract(o,a,TZe);return g.add(u,r,u),g.multiplyComponents(n,u,u),g.pack(u,yZe,9),yZe}bZe.prototype.update=function(e){if(this._mode=e.mode,e.mode!==vq.SCENE3D)return;const t=e.context,n=e.mapProjection.ellipsoid.radii,i=new z(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(Object(r["a"])(this._command)||(this._rs=Mz.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new nz({renderState:this._rs,boundingVolume:new Tt(g.ZERO,i.maximumRadius),pass:oz.OPAQUE,owner:this})),!Object(r["a"])(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;const e=new bG({sources:[gZe]}),n=new bG({sources:[_Ze]});if(o){const t="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n";n.sources.push(t),n.defines.push("LOG_DEPTH"),e.defines.push("LOG_DEPTH")}this._sp=IU.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:e,fragmentShaderSource:n,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}const a=CZe(i,e);if(Object(r["a"])(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(a);else{const e=new kh({attributes:{position:new Uh({componentDatatype:$c.FLOAT,componentsPerAttribute:3,values:a})},indices:[0,1,2,2,1,3],primitiveType:xh.TRIANGLES});this._va=BG.fromGeometry({context:t,geometry:e,attributeLocations:{position:0},bufferUsage:EG.DYNAMIC_DRAW}),this._command.vertexArray=this._va}},bZe.prototype.execute=function(e,t){this._mode===vq.SCENE3D&&this._command.execute(e,t)},bZe.prototype.isDestroyed=function(){return!1},bZe.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var EZe=bZe;function xZe(){}const SZe=/\bgl_FragDepthEXT\b/,IZe=/\bdiscard\b/;function DZe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(!Object(r["a"])(n)){const i=t._attributeLocations;let o,r=t.fragmentShaderSource,a=!1;const s=r.sources;let c=s.length;for(o=0;o<c;++o)if(SZe.test(s[o])||IZe.test(s[o])){a=!0;break}let l=!1;const u=r.defines;for(c=u.length,o=0;o<c;++o)if("LOG_DEPTH"===u[o]){l=!0;break}let h;a||l?!a&&l&&(h="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\nvoid main() \n{ \n gl_FragColor = vec4(1.0); \n czm_writeLogDepth(); \n} \n",r=new bG({defines:["LOG_DEPTH"],sources:[h]})):(h="void main() \n{ \n gl_FragColor = vec4(1.0); \n} \n",r=new bG({sources:[h]})),n=e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:r,attributeLocations:i})}return n}function jZe(e,t){const n=e._depthOnlyRenderStateCache;let i=n[t.id];if(!Object(r["a"])(i)){const e=Mz.getState(t);e.depthMask=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i=Mz.fromCache(e),n[t.id]=i}return i}xZe.createDepthOnlyDerivedCommand=function(e,t,n,i){let o,a;return Object(r["a"])(i)||(i={}),Object(r["a"])(i.depthOnlyCommand)&&(o=i.depthOnlyCommand.shaderProgram,a=i.depthOnlyCommand.renderState),i.depthOnlyCommand=nz.shallowClone(t,i.depthOnlyCommand),Object(r["a"])(o)&&i.shaderProgramId===t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=a):(i.depthOnlyCommand.shaderProgram=DZe(n,t.shaderProgram),i.depthOnlyCommand.renderState=jZe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id),i};const PZe=/\s+czm_writeLogDepth\(/,RZe=/\s+czm_vertexLogDepth\(/,MZe=/\s*#extension\s+GL_EXT_frag_depth\s*:\s*enable/;function NZe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(!Object(r["a"])(n)){const i=t._attributeLocations,o=t.vertexShaderSource.clone(),a=t.fragmentShaderSource.clone();let s,c;o.defines=Object(r["a"])(o.defines)?o.defines.slice(0):[],o.defines.push("LOG_DEPTH"),a.defines=Object(r["a"])(a.defines)?a.defines.slice(0):[],a.defines.push("LOG_DEPTH");let l=!1,u=o.sources,h=u.length;for(s=0;s<h;++s)if(RZe.test(u[s])){l=!0;break}if(!l){for(s=0;s<h;++s)u[s]=bG.replaceMain(u[s],"czm_log_depth_main");c="\n\nvoid main() \n{ \n czm_log_depth_main(); \n czm_vertexLogDepth(); \n} \n",u.push(c)}for(u=a.sources,h=u.length,l=!1,s=0;s<h;++s)PZe.test(u[s])&&(l=!0);-1!==a.defines.indexOf("LOG_DEPTH_WRITE")&&(l=!0);let d=!0;for(s=0;s<h;++s)MZe.test(u[s])&&(d=!1);let f="";if(d&&(f+="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n"),!l){for(s=0;s<h;s++)u[s]=bG.replaceMain(u[s],"czm_log_depth_main");f+="\nvoid main() \n{ \n czm_log_depth_main(); \n czm_writeLogDepth(); \n} \n"}u.push(f),n=e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:o,fragmentShaderSource:a,attributeLocations:i})}return n}function LZe(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(!Object(r["a"])(i)){const o=t._attributeLocations;let r=t.fragmentShaderSource;const a=r.sources,s=a.length,c=`void main() \n{ \n czm_non_pick_main(); \n if (gl_FragColor.a == 0.0) { \n discard; \n } \n gl_FragColor = ${n}; \n} \n`,l=new Array(s+1);for(let e=0;e<s;++e)l[e]=bG.replaceMain(a[e],"czm_non_pick_main");l[s]=c,r=new bG({sources:l,defines:r.defines}),i=e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:r,attributeLocations:o})}return i}function BZe(e,t){const n=e.picking.pickRenderStateCache;let i=n[t.id];if(!Object(r["a"])(i)){const e=Mz.getState(t);e.blending.enabled=!1,e.depthMask=!0,i=Mz.fromCache(e),n[t.id]=i}return i}function FZe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(!Object(r["a"])(n)){const i=t._attributeLocations,o=t.vertexShaderSource.clone(),a=t.fragmentShaderSource.clone();o.defines=Object(r["a"])(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),a.defines=Object(r["a"])(a.defines)?a.defines.slice(0):[],a.defines.push("HDR"),n=e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:a,attributeLocations:i})}return n}xZe.createLogDepthCommand=function(e,t,n){let i;return Object(r["a"])(n)||(n={}),Object(r["a"])(n.command)&&(i=n.command.shaderProgram),n.command=nz.shallowClone(e,n.command),Object(r["a"])(i)&&n.shaderProgramId===e.shaderProgram.id?n.command.shaderProgram=i:(n.command.shaderProgram=NZe(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id),n},xZe.createPickDerivedCommand=function(e,t,n,i){let o,a;return Object(r["a"])(i)||(i={}),Object(r["a"])(i.pickCommand)&&(o=i.pickCommand.shaderProgram,a=i.pickCommand.renderState),i.pickCommand=nz.shallowClone(t,i.pickCommand),Object(r["a"])(o)&&i.shaderProgramId===t.shaderProgram.id?(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=a):(i.pickCommand.shaderProgram=LZe(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=BZe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id),i},xZe.createHdrCommand=function(e,t,n){let i;return Object(r["a"])(n)||(n={}),Object(r["a"])(n.command)&&(i=n.command.shaderProgram),n.command=nz.shallowClone(e,n.command),Object(r["a"])(i)&&n.shaderProgramId===e.shaderProgram.id?n.command.shaderProgram=i:(n.command.shaderProgram=FZe(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id),n};var kZe=xZe;function zZe(e){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;const t=this;function n(e){const n=e.alpha;if(!Object(r["a"])(n))return t._alpha=void 0,t._beta=void 0,void(t._gamma=void 0);t._alpha=s["a"].toRadians(n),t._beta=s["a"].toRadians(e.beta),t._gamma=s["a"].toRadians(e.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}const UZe=new $a,VZe=new $a,HZe=new ce;function GZe(e,t,n,i){const o=e.direction,r=e.right,a=e.up,s=$a.fromAxisAngle(o,n,VZe),c=$a.fromAxisAngle(r,i,UZe),l=$a.multiply(c,s,c),u=$a.fromAxisAngle(a,t,VZe);$a.multiply(u,l,l);const h=ce.fromQuaternion(l,HZe);ce.multiplyByVector(h,r,r),ce.multiplyByVector(h,a,a),ce.multiplyByVector(h,o,o)}zZe.prototype.update=function(){if(!Object(r["a"])(this._alpha))return;Object(r["a"])(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);const e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;GZe(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma},zZe.prototype.isDestroyed=function(){return!1},zZe.prototype.destroy=function(){return this._removeListener(),Wl(this)};var qZe=zZe;function WZe(e){if(i["a"].typeOf.object("options",e),i["a"].typeOf.object("options.direction",e.direction),g.equals(e.direction,g.ZERO))throw new a["a"]("options.direction cannot be zero-length");this.direction=g.clone(e.direction),this.color=j_.clone(Object(o["a"])(e.color,j_.WHITE)),this.intensity=Object(o["a"])(e.intensity,1)}var YZe=WZe,XZe="#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n#endif\n\nuniform vec3 u_radii;\nuniform vec3 u_oneOverEllipsoidRadiiSquared;\n\nvarying vec3 v_positionEC;\n\nvec4 computeEllipsoidColor(czm_ray ray, float intersection, float side)\n{\n vec3 positionEC = czm_pointAlongRay(ray, intersection);\n vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;\n vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared));\n vec3 sphericalNormal = normalize(positionMC / u_radii);\n vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates\n vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordiantes\n\n vec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal);\n vec3 positionToEyeEC = -positionEC;\n\n czm_materialInput materialInput;\n materialInput.s = st.s;\n materialInput.st = st;\n materialInput.str = (positionMC + u_radii) / u_radii;\n materialInput.normalEC = normalEC;\n materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC);\n materialInput.positionToEyeEC = positionToEyeEC;\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef ONLY_SUN_LIGHTING\n return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC);\n#else\n return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n\nvoid main()\n{\n // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii\n // in the vertex shader. Only when it is larger than some constant, march along the ray.\n // Otherwise perform one intersection test which will be the common case.\n\n // Test if the ray intersects a sphere with the ellipsoid's maximum radius.\n // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test\n // may cause false negatives. This will discard fragments before marching the ray forward.\n float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5;\n vec3 direction = normalize(v_positionEC);\n vec3 ellipsoidCenter = czm_modelView[3].xyz;\n\n float t1 = -1.0;\n float t2 = -1.0;\n\n float b = -2.0 * dot(direction, ellipsoidCenter);\n float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius;\n\n float discriminant = b * b - 4.0 * c;\n if (discriminant >= 0.0) {\n t1 = (-b - sqrt(discriminant)) * 0.5;\n t2 = (-b + sqrt(discriminant)) * 0.5;\n }\n\n if (t1 < 0.0 && t2 < 0.0) {\n discard;\n }\n\n float t = min(t1, t2);\n if (t < 0.0) {\n t = 0.0;\n }\n\n // March ray forward to intersection with larger sphere and find\n czm_ray ray = czm_ray(t * direction, direction);\n\n vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z);\n\n czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii);\n\n if (czm_isEmpty(intersection))\n {\n discard;\n }\n\n // If the viewer is outside, compute outsideFaceColor, with normals facing outward.\n vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0);\n\n // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward.\n vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0);\n\n gl_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a);\n gl_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a);\n\n#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\n t = (intersection.start != 0.0) ? intersection.start : intersection.stop;\n vec3 positionEC = czm_pointAlongRay(ray, t);\n vec4 positionCC = czm_projection * vec4(positionEC, 1.0);\n#ifdef LOG_DEPTH\n czm_writeLogDepth(1.0 + positionCC.w);\n#else\n float z = positionCC.z / positionCC.w;\n\n float n = czm_depthRange.near;\n float f = czm_depthRange.far;\n\n gl_FragDepthEXT = (z * (f - n) + f + n) * 0.5;\n#endif\n#endif\n#endif\n}\n",KZe="attribute vec3 position;\n\nuniform vec3 u_radii;\n\nvarying vec3 v_positionEC;\n\nvoid main()\n{\n // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates.\n // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry,\n // but doing it here allows us to change the radii without rewriting the vertex data, and\n // allows all ellipsoids to reuse the same vertex data.\n vec4 p = vec4(u_radii * position, 1.0);\n\n v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates\n gl_Position = czm_modelViewProjection * p; // position in clip coordinates\n\n // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums\n // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the\n // ellipsoid (does not write depth) that was rendered in the farther frustum.\n //\n // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates\n // artifacts since some fragments can be alpha blended twice. This is solved by only rendering\n // the ellipsoid in the closest frustum to the viewer.\n gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far);\n\n czm_vertexLogDepth();\n}\n";const JZe={position:0};function ZZe(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.center=g.clone(Object(o["a"])(e.center,g.ZERO)),this._center=new g,this.radii=g.clone(e.radii),this._radii=new g,this._oneOverEllipsoidRadiiSquared=new g,this._boundingSphere=new Tt,this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._modelMatrix=new Ne,this._computedModelMatrix=new Ne,this.show=Object(o["a"])(e.show,!0),this.material=Object(o["a"])(e.material,Uk.fromType(Uk.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=Object(o["a"])(e.debugShowBoundingVolume,!1),this.onlySunLighting=Object(o["a"])(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=Object(o["a"])(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new nz({owner:Object(o["a"])(e._owner,this)}),this._pickCommand=new nz({owner:Object(o["a"])(e._owner,this),pickOnly:!0});const t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function $Ze(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(Object(r["a"])(t))return t;const n=td.createGeometry(td.fromDimensions({dimensions:new g(2,2,2),vertexFormat:Yh.POSITION_ONLY}));return t=BG.fromGeometry({context:e,geometry:n,attributeLocations:JZe,bufferUsage:EG.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}const QZe="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n";ZZe.prototype.update=function(e){if(!this.show||e.mode!==vq.SCENE3D||!Object(r["a"])(this.center)||!Object(r["a"])(this.radii))return;if(!Object(r["a"])(this.material))throw new a["a"]("this.material must be defined.");const t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;Object(r["a"])(this._rs)&&!i||(this._translucent=n,this._rs=Mz.fromCache({cull:{enabled:!0,face:LF.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?MF.ALPHA_BLEND:void 0})),Object(r["a"])(this._va)||(this._va=$Ze(t));let o=!1;const s=this.radii;if(!g.equals(this._radii,s)){g.clone(s,this._radii);const e=this._oneOverEllipsoidRadiiSquared;e.x=1/(s.x*s.x),e.y=1/(s.y*s.y),e.z=1/(s.z*s.z),o=!0}Ne.equals(this.modelMatrix,this._modelMatrix)&&g.equals(this.center,this._center)||(Ne.clone(this.modelMatrix,this._modelMatrix),g.clone(this.center,this._center),Ne.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(g.clone(g.ZERO,this._boundingSphere.center),this._boundingSphere.radius=g.maximumComponent(s),Tt.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));const c=this._material!==this.material;this._material=this.material,this._material.update(t);const l=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;const u=e.useLogDepth,h=this._useLogDepth!==u;this._useLogDepth=u;const d=this._colorCommand;let f,p;(c||l||i||h)&&(f=new bG({sources:[KZe]}),p=new bG({sources:[this.material.shaderSource,XZe]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(f.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH"),p.sources.push(QZe)),this._sp=IU.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:f,fragmentShaderSource:p,attributeLocations:JZe}),d.vertexArray=this._va,d.renderState=this._rs,d.shaderProgram=this._sp,d.uniformMap=Object(xS["a"])(this._uniforms,this.material._uniforms),d.executeInClosestFrustum=n);const m=e.commandList,_=e.passes;if(_.render&&(d.boundingVolume=this._boundingSphere,d.debugShowBoundingVolume=this.debugShowBoundingVolume,d.modelMatrix=this._computedModelMatrix,d.pass=n?oz.TRANSLUCENT:oz.OPAQUE,m.push(d)),_.pick){const e=this._pickCommand;Object(r["a"])(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(c||l||!Object(r["a"])(this._pickSP)||h)&&(f=new bG({sources:[KZe]}),p=new bG({sources:[this.material.shaderSource,XZe],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(f.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH"),p.sources.push(QZe)),this._pickSP=IU.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:f,fragmentShaderSource:p,attributeLocations:JZe}),e.vertexArray=this._va,e.renderState=this._rs,e.shaderProgram=this._pickSP,e.uniformMap=Object(xS["a"])(Object(xS["a"])(this._uniforms,this._pickUniforms),this.material._uniforms),e.executeInClosestFrustum=n),e.boundingVolume=this._boundingSphere,e.modelMatrix=this._computedModelMatrix,e.pass=n?oz.TRANSLUCENT:oz.OPAQUE,m.push(e)}},ZZe.prototype.isDestroyed=function(){return!1},ZZe.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),Wl(this)};var e$e=ZZe,t$e="varying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n czm_materialInput materialInput;\n\n vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n#ifdef FACE_FORWARD\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\n\n materialInput.s = v_st.s;\n materialInput.st = v_st;\n materialInput.str = vec3(v_st, 0.0);\n\n // Convert tangent space material normal to eye space\n materialInput.normalEC = normalEC;\n materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\n // Convert view vector to world space\n vec3 positionToEyeEC = -v_positionEC;\n materialInput.positionToEyeEC = positionToEyeEC;\n\n czm_material material = czm_getMaterial(materialInput);\n\n#ifdef FLAT\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\n gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",n$e="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec2 st;\nattribute float batchId;\n\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\n\nvoid main()\n{\n vec4 p = czm_computePosition();\n\n v_positionMC = position3DHigh + position3DLow; // position in model coordinates\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_st = st;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n";function i$e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.translucent,!0),n=Object(o["a"])(e.aboveGround,!1);this.material=Object(r["a"])(e.material)?e.material:Uk.fromType(Uk.ColorType),this.translucent=Object(o["a"])(e.translucent,!0),this._vertexShaderSource=Object(o["a"])(e.vertexShaderSource,n$e),this._fragmentShaderSource=Object(o["a"])(e.fragmentShaderSource,t$e),this._renderState=FF.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=Object(o["a"])(e.flat,!1),this._faceForward=Object(o["a"])(e.faceForward,n),this._aboveGround=n}Object.defineProperties(i$e.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return i$e.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}}),i$e.VERTEX_FORMAT=Yh.POSITION_AND_ST,i$e.prototype.getFragmentShaderSource=FF.prototype.getFragmentShaderSource,i$e.prototype.isTranslucent=FF.prototype.isTranslucent,i$e.prototype.getRenderState=FF.prototype.getRenderState;var o$e=i$e;function r$e(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}const a$e=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],s$e=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let opt=0;opt<s$e.length;++opt)s$e[opt]*=1e6;const c$e=s$e[1],l$e=s$e[s$e.length-1];for(let opt=0;opt<s$e.length;++opt)s$e[opt]=(s$e[opt]-l$e)/(c$e-l$e);let u$e=0;function h$e(e){const t=a$e,n=t.length;if(e<t[0])return u$e=0,u$e;if(e>t[n-1])return u$e=n-2,u$e;if(e>=t[u$e]){if(u$e+1<n&&e<t[u$e+1])return u$e;if(u$e+2<n&&e<t[u$e+2])return++u$e,u$e}else if(u$e-1>=0&&e>=t[u$e-1])return--u$e,u$e;let i;for(i=0;i<n-2;++i)if(e>=t[i]&&e<t[i+1])break;return u$e=i,u$e}const d$e=new g;r$e.prototype.update=function(e){const t=e.fog.enabled=this.enabled;if(!t)return;e.fog.renderable=this.renderable;const n=e.camera,i=n.positionCartographic;if(!Object(r["a"])(i)||i.height>8e5||e.mode!==vq.SCENE3D)return void(e.fog.enabled=!1);const o=i.height,a=h$e(o),c=s["a"].clamp((o-a$e[a])/(a$e[a+1]-a$e[a]),0,1);let l=s["a"].lerp(s$e[a],s$e[a+1],c);const u=1e6*this.density,h=u/c$e*l$e;l=l*(u-h)*1e-6;const d=g.normalize(n.positionWC,d$e),f=Math.abs(g.dot(n.directionWC,d));l*=1-f,e.fog.density=l,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var f$e=r$e;function p$e(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.scene))throw new a["a"]("options.scene is required.");this._scene=e.scene,this.samplingWindow=Object(o["a"])(e.samplingWindow,p$e.defaultSettings.samplingWindow),this.quietPeriod=Object(o["a"])(e.quietPeriod,p$e.defaultSettings.quietPeriod),this.warmupPeriod=Object(o["a"])(e.warmupPeriod,p$e.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=Object(o["a"])(e.minimumFrameRateDuringWarmup,p$e.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=Object(o["a"])(e.minimumFrameRateAfterWarmup,p$e.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new pi["a"],this._nominalFrameRate=new pi["a"],this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;const t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener((function(e,n){m$e(t,n)})),this._hiddenPropertyName=void 0!==document.hidden?"hidden":void 0!==document.mozHidden?"mozHidden":void 0!==document.msHidden?"msHidden":void 0!==document.webkitHidden?"webkitHidden":void 0;const n=void 0!==document.hidden?"visibilitychange":void 0!==document.mozHidden?"mozvisibilitychange":void 0!==document.msHidden?"msvisibilitychange":void 0!==document.webkitHidden?"webkitvisibilitychange":void 0;function i(){_$e(t)}this._visibilityChangeRemoveListener=void 0,Object(r["a"])(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}function m$e(e,t){if(e._pauseCount>0)return;const n=y_();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Yo.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Yo.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);const t=n-e.samplingWindow/Yo.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=t){while(e._frameTimes.length>=2&&e._frameTimes[1]<t)e._frameTimes.shift();const i=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/i;const o=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);i>o?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function _$e(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}p$e.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8},p$e.fromScene=function(e){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");return Object(r["a"])(e._frameRateMonitor)&&!e._frameRateMonitor.isDestroyed()||(e._frameRateMonitor=new p$e({scene:e})),e._frameRateMonitor},Object.defineProperties(p$e.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}}),p$e.prototype.pause=function(){++this._pauseCount,1===this._pauseCount&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)},p$e.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)},p$e.prototype.isDestroyed=function(){return!1},p$e.prototype.destroy=function(){return this._preUpdateRemoveListener(),Object(r["a"])(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),Wl(this)};var g$e=p$e;function b$e(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=vq.SCENE3D,this.morphTime=vq.getMorphTime(vq.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}var y$e=b$e;function v$e(e,t){this.near=Object(o["a"])(e,0),this.far=Object(o["a"])(t,0);const n=oz.NUMBER_OF_PASSES,i=new Array(n),r=new Array(n);for(let o=0;o<n;++o)i[o]=[],r[o]=0;this.commands=i,this.indices=r}var O$e=v$e;function w$e(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("type is required.");if(this.type=e,!Object(r["a"])(t))if("json"===e)t="application/json";else if("xml"===e)t="text/xml";else if("html"===e)t="text/html";else{if("text"!==e)throw new a["a"]('format is required when type is not "json", "xml", "html", or "text".');t="text/plain"}if(this.format=t,!Object(r["a"])(n))if("json"===e)n=A$e;else if("xml"===e)n=S$e;else if("html"===e)n=k$e;else{if("text"!==e)throw new a["a"]('callback is required when type is not "json", "xml", "html", or "text".');n=k$e}this.callback=n}function A$e(e){const t=[],n=e.features;for(let i=0;i<n.length;++i){const e=n[i],o=new Iqe;if(o.data=e,o.properties=e.properties,o.configureNameFromProperties(e.properties),o.configureDescriptionFromProperties(e.properties),Object(r["a"])(e.geometry)&&"Point"===e.geometry.type){const t=e.geometry.coordinates[0],n=e.geometry.coordinates[1];o.position=I.fromDegrees(t,n)}t.push(o)}return t}const T$e="http://www.mapinfo.com/mxp",C$e="http://www.esri.com/wms",E$e="http://www.opengis.net/wfs",x$e="http://www.opengis.net/gml";function S$e(e){const t=e.documentElement;if("MultiFeatureCollection"===t.localName&&t.namespaceURI===T$e)return I$e(e);if("FeatureInfoResponse"===t.localName&&t.namespaceURI===C$e)return D$e(e);if("FeatureCollection"===t.localName&&t.namespaceURI===E$e)return j$e(e);if("ServiceExceptionReport"===t.localName)throw new ye["a"]((new XMLSerializer).serializeToString(t));return"msGMLOutput"===t.localName?P$e(e):N$e(e)}function I$e(e){const t=[],n=e.documentElement,i=n.getElementsByTagNameNS(T$e,"Feature");for(let o=0;o<i.length;++o){const e=i[o],n={},r=e.getElementsByTagNameNS(T$e,"Val");for(let t=0;t<r.length;++t){const e=r[t];if(e.hasAttribute("ref")){const t=e.getAttribute("ref"),i=e.textContent.trim();n[t]=i}}const a=new Iqe;a.data=e,a.properties=n,a.configureNameFromProperties(n),a.configureDescriptionFromProperties(n),t.push(a)}return t}function D$e(e){const t=e.documentElement,n=[];let i;const o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){const e=o[r];i={};const t=e.attributes;for(let n=0;n<t.length;++n){const e=t[n];i[e.name]=e.value}n.push(M$e(e,i))}else{const e=t.getElementsByTagNameNS("*","FeatureInfo");for(let t=0;t<e.length;++t){const o=e[t];i={};const r=o.childNodes;for(let e=0;e<r.length;++e){const t=r[e];t.nodeType===Node.ELEMENT_NODE&&(i[t.localName]=t.textContent)}n.push(M$e(o,i))}}return n}function j$e(e){const t=[],n=e.documentElement,i=n.getElementsByTagNameNS(x$e,"featureMember");for(let o=0;o<i.length;++o){const e=i[o],n={};R$e(e,n),t.push(M$e(e,n))}return t}function P$e(e){const t=[];let n;const i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!Object(r["a"])(n))throw new ye["a"]("Unable to find first child of the feature info xml document");const o=n.childNodes;for(let r=0;r<o.length;++r){const e=o[r];if(e.nodeType===Node.ELEMENT_NODE){const n={};R$e(e,n),t.push(M$e(e,n))}}return t}function R$e(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){const o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),"Point"!==o.localName&&"LineString"!==o.localName&&"Polygon"!==o.localName&&"boundedBy"!==o.localName&&(o.hasChildNodes()&&R$e(o,t)&&(t[o.localName]=o.textContent))}return n}function M$e(e,t){const n=new Iqe;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function N$e(e){const t=(new XMLSerializer).serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);const o=new Iqe;return o.data=e,o.description=n.innerHTML,[o]}const L$e=/<body>\s*<\/body>/im,B$e=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,F$e=/<title>([\s\S]*)<\/title>/im;function k$e(e){if(L$e.test(e))return;if(B$e.test(e))return;let t;const n=F$e.exec(e);n&&n.length>1&&(t=n[1]);const i=new Iqe;return i.name=t,i.description=e,i.data=e,[i]}var z$e=w$e,U$e="uniform vec4 u_initialColor;\n\n#if TEXTURE_UNITS > 0\nuniform sampler2D u_dayTextures[TEXTURE_UNITS];\nuniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];\nuniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS];\n\n#ifdef APPLY_ALPHA\nuniform float u_dayTextureAlpha[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_DAY_NIGHT_ALPHA\nuniform float u_dayTextureNightAlpha[TEXTURE_UNITS];\nuniform float u_dayTextureDayAlpha[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_SPLIT\nuniform float u_dayTextureSplit[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_BRIGHTNESS\nuniform float u_dayTextureBrightness[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_CONTRAST\nuniform float u_dayTextureContrast[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_HUE\nuniform float u_dayTextureHue[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_SATURATION\nuniform float u_dayTextureSaturation[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_GAMMA\nuniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_IMAGERY_CUTOUT\nuniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS];\n#endif\n\n#ifdef APPLY_COLOR_TO_ALPHA\nuniform vec4 u_colorsToAlpha[TEXTURE_UNITS];\n#endif\n\nuniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS];\n#endif\n\n#ifdef SHOW_REFLECTIVE_OCEAN\nuniform sampler2D u_waterMask;\nuniform vec4 u_waterMaskTranslationAndScale;\nuniform float u_zoomedOutOceanSpecularIntensity;\n#endif\n\n#ifdef SHOW_OCEAN_WAVES\nuniform sampler2D u_oceanNormalMap;\n#endif\n\n#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)\nuniform vec2 u_lightingFadeDistance;\n#endif\n\n#ifdef TILE_LIMIT_RECTANGLE\nuniform vec4 u_cartographicLimitRectangle;\n#endif\n\n#ifdef GROUND_ATMOSPHERE\nuniform vec2 u_nightFadeDistance;\n#endif\n\n#ifdef ENABLE_CLIPPING_PLANES\nuniform highp sampler2D u_clippingPlanes;\nuniform mat4 u_clippingPlanesMatrix;\nuniform vec4 u_clippingPlanesEdgeStyle;\n#endif\n\n#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))\nuniform float u_minimumBrightness;\n#endif\n\n#ifdef COLOR_CORRECT\nuniform vec3 u_hsbShift; // Hue, saturation, brightness\n#endif\n\n#ifdef HIGHLIGHT_FILL_TILE\nuniform vec4 u_fillHighlightColor;\n#endif\n\n#ifdef TRANSLUCENT\nuniform vec4 u_frontFaceAlphaByDistance;\nuniform vec4 u_backFaceAlphaByDistance;\nuniform vec4 u_translucencyRectangle;\n#endif\n\n#ifdef UNDERGROUND_COLOR\nuniform vec4 u_undergroundColor;\nuniform vec4 u_undergroundColorAlphaByDistance;\n#endif\n\n#ifdef ENABLE_VERTEX_LIGHTING\nuniform float u_lambertDiffuseMultiplier;\n#endif\n\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec3 v_textureCoordinates;\nvarying vec3 v_normalMC;\nvarying vec3 v_normalEC;\n\n#ifdef APPLY_MATERIAL\nvarying float v_height;\nvarying float v_slope;\nvarying float v_aspect;\n#endif\n\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nvarying float v_distance;\n#endif\n\n#if defined(GROUND_ATMOSPHERE) || defined(FOG)\nvarying vec3 v_atmosphereRayleighColor;\nvarying vec3 v_atmosphereMieColor;\nvarying float v_atmosphereOpacity;\n#endif\n\n#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nfloat interpolateByDistance(vec4 nearFarScalar, float distance)\n{\n float startDistance = nearFarScalar.x;\n float startValue = nearFarScalar.y;\n float endDistance = nearFarScalar.z;\n float endValue = nearFarScalar.w;\n float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0);\n return mix(startValue, endValue, t);\n}\n#endif\n\n#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL)\nvec4 alphaBlend(vec4 sourceColor, vec4 destinationColor)\n{\n return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a);\n}\n#endif\n\n#ifdef TRANSLUCENT\nbool inTranslucencyRectangle()\n{\n return\n v_textureCoordinates.x > u_translucencyRectangle.x &&\n v_textureCoordinates.x < u_translucencyRectangle.z &&\n v_textureCoordinates.y > u_translucencyRectangle.y &&\n v_textureCoordinates.y < u_translucencyRectangle.w;\n}\n#endif\n\nvec4 sampleAndBlend(\n vec4 previousColor,\n sampler2D textureToSample,\n vec2 tileTextureCoordinates,\n vec4 textureCoordinateRectangle,\n vec4 textureCoordinateTranslationAndScale,\n float textureAlpha,\n float textureNightAlpha,\n float textureDayAlpha,\n float textureBrightness,\n float textureContrast,\n float textureHue,\n float textureSaturation,\n float textureOneOverGamma,\n float split,\n vec4 colorToAlpha,\n float nightBlend)\n{\n // This crazy step stuff sets the alpha to 0.0 if this following condition is true:\n // tileTextureCoordinates.s < textureCoordinateRectangle.s ||\n // tileTextureCoordinates.s > textureCoordinateRectangle.p ||\n // tileTextureCoordinates.t < textureCoordinateRectangle.t ||\n // tileTextureCoordinates.t > textureCoordinateRectangle.q\n // In other words, the alpha is zero if the fragment is outside the rectangle\n // covered by this texture. Would an actual 'if' yield better performance?\n vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates);\n textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\n\n alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates);\n textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\n\n#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)\n textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend);\n#endif\n\n vec2 translation = textureCoordinateTranslationAndScale.xy;\n vec2 scale = textureCoordinateTranslationAndScale.zw;\n vec2 textureCoordinates = tileTextureCoordinates * scale + translation;\n vec4 value = texture2D(textureToSample, textureCoordinates);\n vec3 color = value.rgb;\n float alpha = value.a;\n\n#ifdef APPLY_COLOR_TO_ALPHA\n vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb);\n colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b);\n alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha);\n#endif\n\n#if !defined(APPLY_GAMMA)\n vec4 tempColor = czm_gammaCorrect(vec4(color, alpha));\n color = tempColor.rgb;\n alpha = tempColor.a;\n#else\n color = pow(color, vec3(textureOneOverGamma));\n#endif\n\n#ifdef APPLY_SPLIT\n float splitPosition = czm_splitPosition;\n // Split to the left\n if (split < 0.0 && gl_FragCoord.x > splitPosition) {\n alpha = 0.0;\n }\n // Split to the right\n else if (split > 0.0 && gl_FragCoord.x < splitPosition) {\n alpha = 0.0;\n }\n#endif\n\n#ifdef APPLY_BRIGHTNESS\n color = mix(vec3(0.0), color, textureBrightness);\n#endif\n\n#ifdef APPLY_CONTRAST\n color = mix(vec3(0.5), color, textureContrast);\n#endif\n\n#ifdef APPLY_HUE\n color = czm_hue(color, textureHue);\n#endif\n\n#ifdef APPLY_SATURATION\n color = czm_saturation(color, textureSaturation);\n#endif\n\n float sourceAlpha = alpha * textureAlpha;\n float outAlpha = mix(previousColor.a, 1.0, sourceAlpha);\n outAlpha += sign(outAlpha) - 1.0;\n\n vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha;\n\n // When rendering imagery for a tile in multiple passes,\n // some GPU/WebGL implementation combinations will not blend fragments in\n // additional passes correctly if their computation includes an unmasked\n // divide-by-zero operation,\n // even if it's not in the output or if the output has alpha zero.\n //\n // For example, without sanitization for outAlpha,\n // this renders without artifacts:\n // if (outAlpha == 0.0) { outColor = vec3(0.0); }\n //\n // but using czm_branchFreeTernary will cause portions of the tile that are\n // alpha-zero in the additional pass to render as black instead of blending\n // with the previous pass:\n // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor);\n //\n // So instead, sanitize against divide-by-zero,\n // store this state on the sign of outAlpha, and correct on return.\n\n return vec4(outColor, max(outAlpha, 0.0));\n}\n\nvec3 colorCorrect(vec3 rgb) {\n#ifdef COLOR_CORRECT\n // Convert rgb color to hsb\n vec3 hsb = czm_RGBToHSB(rgb);\n // Perform hsb shift\n hsb.x += u_hsbShift.x; // hue\n hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation\n hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness\n // Convert shifted hsb back to rgb\n rgb = czm_HSBToRGB(hsb);\n#endif\n return rgb;\n}\n\nvec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend);\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade);\n\nconst float fExposure = 2.0;\n\nvec3 computeEllipsoidPosition()\n{\n float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0);\n vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0);\n xy *= czm_viewport.zw * mpp * 0.5;\n\n vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x));\n czm_ray ray = czm_ray(vec3(0.0), direction);\n\n vec3 ellipsoid_center = czm_view[3].xyz;\n\n czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);\n\n vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start);\n return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz;\n}\n\nvoid main()\n{\n#ifdef TILE_LIMIT_RECTANGLE\n if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x ||\n v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y)\n {\n discard;\n }\n#endif\n\n#ifdef ENABLE_CLIPPING_PLANES\n float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix);\n#endif\n\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR)\n vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates\n vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordiantes\n#endif\n\n#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)\n float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0);\n#else\n float nightBlend = 0.0;\n#endif\n\n // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0\n // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the\n // fragments on the edges of tiles even though the vertex shader is outputting\n // coordinates strictly in the 0-1 range.\n vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend);\n\n#ifdef SHOW_TILE_BOUNDARIES\n if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||\n v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))\n {\n color = vec4(1.0, 0.0, 0.0, 1.0);\n }\n#endif\n\n#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)\n float cameraDist;\n if (czm_sceneMode == czm_sceneMode2D)\n {\n cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5;\n }\n else if (czm_sceneMode == czm_sceneModeColumbusView)\n {\n cameraDist = -czm_view[3].z;\n }\n else\n {\n cameraDist = length(czm_view[3]);\n }\n float fadeOutDist = u_lightingFadeDistance.x;\n float fadeInDist = u_lightingFadeDistance.y;\n if (czm_sceneMode != czm_sceneMode3D) {\n vec3 radii = czm_ellipsoidRadii;\n float maxRadii = max(radii.x, max(radii.y, radii.z));\n fadeOutDist -= maxRadii;\n fadeInDist -= maxRadii;\n }\n float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);\n#else\n float fade = 0.0;\n#endif\n\n#ifdef SHOW_REFLECTIVE_OCEAN\n vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy;\n vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw;\n vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation;\n waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y;\n\n float mask = texture2D(u_waterMask, waterMaskTextureCoordinates).r;\n\n if (mask > 0.0)\n {\n mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC);\n\n vec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC);\n vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx);\n\n vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z));\n\n color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade);\n }\n#endif\n\n#ifdef APPLY_MATERIAL\n czm_materialInput materialInput;\n materialInput.st = v_textureCoordinates.st;\n materialInput.normalEC = normalize(v_normalEC);\n materialInput.positionToEyeEC = -v_positionEC;\n materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); \n materialInput.slope = v_slope;\n materialInput.height = v_height;\n materialInput.aspect = v_aspect;\n czm_material material = czm_getMaterial(materialInput);\n vec4 materialColor = vec4(material.diffuse, material.alpha);\n color = alphaBlend(materialColor, color);\n#endif\n\n#ifdef ENABLE_VERTEX_LIGHTING\n float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + 0.3, 0.0, 1.0);\n vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);\n#elif defined(ENABLE_DAYNIGHT_SHADING)\n float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0);\n diffuseIntensity = mix(1.0, diffuseIntensity, fade);\n vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);\n#else\n vec4 finalColor = color;\n#endif\n\n#ifdef ENABLE_CLIPPING_PLANES\n vec4 clippingPlanesEdgeColor = vec4(1.0);\n clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb;\n float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a;\n\n if (clipDistance < clippingPlanesEdgeWidth)\n {\n finalColor = clippingPlanesEdgeColor;\n }\n#endif\n\n#ifdef HIGHLIGHT_FILL_TILE\n finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a);\n#endif\n\n#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN)\n vec3 atmosphereLightDirection = czm_sunDirectionWC;\n#else\n vec3 atmosphereLightDirection = czm_lightDirectionWC;\n#endif\n\n#if defined(GROUND_ATMOSPHERE) || defined(FOG)\n if (!czm_backFacing())\n {\n bool dynamicLighting = false;\n #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING))\n dynamicLighting = true; \n #endif\n\n vec3 rayleighColor;\n vec3 mieColor;\n float opacity;\n\n vec3 positionWC;\n vec3 lightDirection;\n\n // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader.\n // Otherwise, the scattering is computed in the vertex shader.\n #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE\n positionWC = computeEllipsoidPosition();\n lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC));\n computeAtmosphereScattering(\n positionWC,\n lightDirection,\n rayleighColor,\n mieColor,\n opacity\n );\n #else\n positionWC = v_positionMC;\n lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC));\n rayleighColor = v_atmosphereRayleighColor;\n mieColor = v_atmosphereMieColor;\n opacity = v_atmosphereOpacity;\n #endif\n\n rayleighColor = colorCorrect(rayleighColor);\n mieColor = colorCorrect(mieColor);\n\n vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity);\n\n // Fog is applied to tiles selected for fog, close to the Earth.\n #ifdef FOG\n vec3 fogColor = groundAtmosphereColor.rgb;\n \n // If there is lighting, apply that to the fog.\n #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))\n float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0);\n fogColor *= darken; \n #endif\n\n #ifndef HDR\n fogColor.rgb = czm_acesTonemapping(fogColor.rgb);\n fogColor.rgb = czm_inverseGamma(fogColor.rgb);\n #endif\n \n const float modifier = 0.15;\n finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a);\n\n #else\n // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere.\n // This value is larger near the \"circumference\", as it is further away from the camera. We use it to\n // brighten up that area of the ground atmosphere.\n const float transmittanceModifier = 0.5;\n float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0);\n\n vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance;\n\n #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))\n float fadeInDist = u_nightFadeDistance.x;\n float fadeOutDist = u_nightFadeDistance.y;\n \n float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0);\n float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0);\n vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken);\n\n finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity);\n #endif\n \n #ifndef HDR\n finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb);\n #else\n finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6);\n #endif\n \n finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade);\n #endif\n }\n#endif\n\n#ifdef UNDERGROUND_COLOR\n if (czm_backFacing())\n {\n float distanceFromEllipsoid = max(czm_eyeHeight, 0.0);\n float distance = max(v_distance - distanceFromEllipsoid, 0.0);\n float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance);\n vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount);\n finalColor = alphaBlend(undergroundColor, finalColor);\n }\n#endif\n\n#ifdef TRANSLUCENT\n if (inTranslucencyRectangle())\n {\n vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;\n finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);\n }\n#endif\n \n gl_FragColor = finalColor;\n}\n\n\n#ifdef SHOW_REFLECTIVE_OCEAN\n\nfloat waveFade(float edge0, float edge1, float x)\n{\n float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n return pow(1.0 - y, 5.0);\n}\n\nfloat linearFade(float edge0, float edge1, float x)\n{\n return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n}\n\n// Based on water rendering by Jonas Wagner:\n// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog\n\n// low altitude wave settings\nconst float oceanFrequencyLowAltitude = 825000.0;\nconst float oceanAnimationSpeedLowAltitude = 0.004;\nconst float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0;\nconst float oceanSpecularIntensity = 0.5;\n\n// high altitude wave settings\nconst float oceanFrequencyHighAltitude = 125000.0;\nconst float oceanAnimationSpeedHighAltitude = 0.008;\nconst float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0;\n\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade)\n{\n vec3 positionToEyeEC = -positionEyeCoordinates;\n float positionToEyeECLength = length(positionToEyeEC);\n\n // The double normalize below works around a bug in Firefox on Android devices.\n vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC));\n\n // Fade out the waves as the camera moves far from the surface.\n float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength);\n\n#ifdef SHOW_OCEAN_WAVES\n // high altitude waves\n float time = czm_frameNumber * oceanAnimationSpeedHighAltitude;\n vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0);\n vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude);\n\n // low altitude waves\n time = czm_frameNumber * oceanAnimationSpeedLowAltitude;\n noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0);\n vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude);\n\n // blend the 2 wave layers based on distance to surface\n float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength);\n float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength);\n vec3 normalTangentSpace =\n (highAltitudeFade * normalTangentSpaceHighAltitude) +\n (lowAltitudeFade * normalTangentSpaceLowAltitude);\n normalTangentSpace = normalize(normalTangentSpace);\n\n // fade out the normal perturbation as we move farther from the water surface\n normalTangentSpace.xy *= waveIntensity;\n normalTangentSpace = normalize(normalTangentSpace);\n#else\n vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0);\n#endif\n\n vec3 normalEC = enuToEye * normalTangentSpace;\n\n const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6);\n\n // Use diffuse light to highlight the waves\n float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue;\n vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade);\n\n#ifdef SHOW_OCEAN_WAVES\n // Where diffuse light is low or non-existent, use wave highlights based solely on\n // the wave bumpiness and no particular light direction.\n float tsPerturbationRatio = normalTangentSpace.z;\n vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity);\n#else\n vec3 nonDiffuseHighlight = vec3(0.0);\n#endif\n\n // Add specular highlights in 3D, and in all modes when zoomed in.\n float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0);\n float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue);\n float specular = specularIntensity * surfaceReflectance;\n\n#ifdef HDR\n specular *= 1.4;\n\n float e = 0.2;\n float d = 3.3;\n float c = 1.7;\n\n vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular));\n#else\n vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular;\n#endif\n\n return vec4(color, imageryColor.a);\n}\n\n#endif // #ifdef SHOW_REFLECTIVE_OCEAN\n",V$e="#ifdef QUANTIZATION_BITS12\nattribute vec4 compressed0;\nattribute float compressed1;\n#else\nattribute vec4 position3DAndHeight;\nattribute vec4 textureCoordAndEncodedNormals;\n#endif\n\n#ifdef GEODETIC_SURFACE_NORMALS\nattribute vec3 geodeticSurfaceNormal;\n#endif\n\n#ifdef EXAGGERATION\nuniform vec2 u_terrainExaggerationAndRelativeHeight;\n#endif\n\nuniform vec3 u_center3D;\nuniform mat4 u_modifiedModelView;\nuniform mat4 u_modifiedModelViewProjection;\nuniform vec4 u_tileRectangle;\n\n// Uniforms for 2D Mercator projection\nuniform vec2 u_southAndNorthLatitude;\nuniform vec2 u_southMercatorYAndOneOverHeight;\n\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\n\nvarying vec3 v_textureCoordinates;\nvarying vec3 v_normalMC;\nvarying vec3 v_normalEC;\n\n#ifdef APPLY_MATERIAL\nvarying float v_slope;\nvarying float v_aspect;\nvarying float v_height;\n#endif\n\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nvarying float v_distance;\n#endif\n\n#if defined(FOG) || defined(GROUND_ATMOSPHERE)\nvarying vec3 v_atmosphereRayleighColor;\nvarying vec3 v_atmosphereMieColor;\nvarying float v_atmosphereOpacity;\n#endif\n\n// These functions are generated at runtime.\nvec4 getPosition(vec3 position, float height, vec2 textureCoordinates);\nfloat get2DYPositionFraction(vec2 textureCoordinates);\n\nvec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates)\n{\n return u_modifiedModelViewProjection * vec4(position, 1.0);\n}\n\nfloat get2DMercatorYPositionFraction(vec2 textureCoordinates)\n{\n // The width of a tile at level 11, in radians and assuming a single root tile, is\n // 2.0 * czm_pi / pow(2.0, 11.0)\n // We want to just linearly interpolate the 2D position from the texture coordinates\n // when we're at this level or higher. The constant below is the expression\n // above evaluated and then rounded up at the 4th significant digit.\n const float maxTileWidth = 0.003068;\n float positionFraction = textureCoordinates.y;\n float southLatitude = u_southAndNorthLatitude.x;\n float northLatitude = u_southAndNorthLatitude.y;\n if (northLatitude - southLatitude > maxTileWidth)\n {\n float southMercatorY = u_southMercatorYAndOneOverHeight.x;\n float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y;\n\n float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y);\n currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude);\n positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight);\n }\n return positionFraction;\n}\n\nfloat get2DGeographicYPositionFraction(vec2 textureCoordinates)\n{\n return textureCoordinates.y;\n}\n\nvec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates)\n{\n float yPositionFraction = get2DYPositionFraction(textureCoordinates);\n vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\n return u_modifiedModelViewProjection * rtcPosition2D;\n}\n\nvec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates)\n{\n return getPositionPlanarEarth(position, 0.0, textureCoordinates);\n}\n\nvec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates)\n{\n return getPositionPlanarEarth(position, height, textureCoordinates);\n}\n\nvec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates)\n{\n // We do not do RTC while morphing, so there is potential for jitter.\n // This is unlikely to be noticeable, though.\n vec3 position3DWC = position + u_center3D;\n float yPositionFraction = get2DYPositionFraction(textureCoordinates);\n vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\n vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime);\n return czm_modelViewProjection * morphPosition;\n}\n\n#ifdef QUANTIZATION_BITS12\nuniform vec2 u_minMaxHeight;\nuniform mat4 u_scaleAndBias;\n#endif\n\nvoid main()\n{\n#ifdef QUANTIZATION_BITS12\n vec2 xy = czm_decompressTextureCoordinates(compressed0.x);\n vec2 zh = czm_decompressTextureCoordinates(compressed0.y);\n vec3 position = vec3(xy, zh.x);\n float height = zh.y;\n vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z);\n\n height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x;\n position = (u_scaleAndBias * vec4(position, 1.0)).xyz;\n\n#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y)\n float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;\n float encodedNormal = compressed1;\n#elif defined(INCLUDE_WEB_MERCATOR_Y)\n float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;\n float encodedNormal = 0.0;\n#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)\n float webMercatorT = textureCoordinates.y;\n float encodedNormal = compressed0.w;\n#else\n float webMercatorT = textureCoordinates.y;\n float encodedNormal = 0.0;\n#endif\n\n#else\n // A single float per element\n vec3 position = position3DAndHeight.xyz;\n float height = position3DAndHeight.w;\n vec2 textureCoordinates = textureCoordAndEncodedNormals.xy;\n\n#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y)\n float webMercatorT = textureCoordAndEncodedNormals.z;\n float encodedNormal = textureCoordAndEncodedNormals.w;\n#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)\n float webMercatorT = textureCoordinates.y;\n float encodedNormal = textureCoordAndEncodedNormals.z;\n#elif defined(INCLUDE_WEB_MERCATOR_Y)\n float webMercatorT = textureCoordAndEncodedNormals.z;\n float encodedNormal = 0.0;\n#else\n float webMercatorT = textureCoordinates.y;\n float encodedNormal = 0.0;\n#endif\n\n#endif\n\n vec3 position3DWC = position + u_center3D;\n\n#ifdef GEODETIC_SURFACE_NORMALS\n vec3 ellipsoidNormal = geodeticSurfaceNormal;\n#else\n vec3 ellipsoidNormal = normalize(position3DWC);\n#endif\n\n#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS)\n float exaggeration = u_terrainExaggerationAndRelativeHeight.x;\n float relativeHeight = u_terrainExaggerationAndRelativeHeight.y;\n float newHeight = (height - relativeHeight) * exaggeration + relativeHeight;\n\n // stop from going through center of earth\n float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z);\n newHeight = max(newHeight, -minRadius);\n\n vec3 offset = ellipsoidNormal * (newHeight - height);\n position += offset;\n position3DWC += offset;\n height = newHeight;\n#endif\n\n gl_Position = getPosition(position, height, textureCoordinates);\n\n v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz;\n v_positionMC = position3DWC; // position in model coordinates\n\n v_textureCoordinates = vec3(textureCoordinates, webMercatorT);\n\n#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)\n vec3 normalMC = czm_octDecode(encodedNormal);\n\n#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS)\n vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal;\n vec3 rejection = normalMC - projection;\n normalMC = normalize(projection + rejection * exaggeration);\n#endif\n\n v_normalMC = normalMC;\n v_normalEC = czm_normal3D * v_normalMC;\n#endif\n\n#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE))\n\n bool dynamicLighting = false;\n\n #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING))\n dynamicLighting = true;\n #endif\n\n#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN)\n vec3 atmosphereLightDirection = czm_sunDirectionWC;\n#else\n vec3 atmosphereLightDirection = czm_lightDirectionWC;\n#endif\n\n vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC));\n\n computeAtmosphereScattering(\n position3DWC,\n lightDirection,\n v_atmosphereRayleighColor,\n v_atmosphereMieColor,\n v_atmosphereOpacity\n );\n#endif\n\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\n v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz);\n#endif\n\n#ifdef APPLY_MATERIAL\n float northPoleZ = czm_ellipsoidRadii.z;\n vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ);\n vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal));\n float dotProd = abs(dot(ellipsoidNormal, v_normalMC));\n v_slope = acos(dotProd);\n vec3 normalRejected = ellipsoidNormal * dotProd;\n vec3 normalProjected = v_normalMC - normalRejected;\n vec3 aspectVector = normalize(normalProjected);\n v_aspect = acos(dot(aspectVector, vectorEastMC));\n float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal);\n v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect);\n v_height = height;\n#endif\n}\n",H$e="uniform vec3 u_radiiAndDynamicAtmosphereColor;\n\nuniform float u_atmosphereLightIntensity;\nuniform float u_atmosphereRayleighScaleHeight;\nuniform float u_atmosphereMieScaleHeight;\nuniform float u_atmosphereMieAnisotropy;\nuniform vec3 u_atmosphereRayleighCoefficient;\nuniform vec3 u_atmosphereMieCoefficient;\n\nconst float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters.\nconst int PRIMARY_STEPS = 16; // Number of times the ray from the camera to the world position (primary ray) is sampled.\nconst int LIGHT_STEPS = 4; // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray.\n\n/**\n * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as\n * the transmittance value for the ray.\n *\n * @param {czm_ray} primaryRay The ray from the camera to the position.\n * @param {float} primaryRayLength The length of the primary ray.\n * @param {vec3} lightDirection The direction of the light to calculate the scattering from.\n * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to.\n * @param {vec3} mieColor The variable the Mie scattering will be written to.\n * @param {float} opacity The variable the transmittance will be written to.\n * @glslFunction\n */\nvoid computeScattering(\n czm_ray primaryRay,\n float primaryRayLength,\n vec3 lightDirection,\n float atmosphereInnerRadius,\n out vec3 rayleighColor,\n out vec3 mieColor,\n out float opacity\n) {\n\n // Initialize the default scattering amounts to 0.\n rayleighColor = vec3(0.0);\n mieColor = vec3(0.0);\n opacity = 0.0;\n\n float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS;\n\n vec3 origin = vec3(0.0);\n\n // Calculate intersection from the camera to the outer ring of the atmosphere.\n czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius);\n\n // Return empty colors if no intersection with the atmosphere geometry.\n if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) {\n return;\n }\n\n // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere.\n primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0);\n // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller.\n primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength));\n\n // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere.\n float rayStepLength = (primaryRayAtmosphereIntersect.stop - primaryRayAtmosphereIntersect.start) / float(PRIMARY_STEPS);\n float rayPositionLength = primaryRayAtmosphereIntersect.start;\n\n vec3 rayleighAccumulation = vec3(0.0);\n vec3 mieAccumulation = vec3(0.0);\n vec2 opticalDepth = vec2(0.0);\n vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight);\n\n // Sample positions on the primary ray.\n for (int i = 0; i < PRIMARY_STEPS; i++) {\n // Calculate sample position along viewpoint ray.\n vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength);\n \n // Calculate height of sample position above ellipsoid.\n float sampleHeight = length(samplePosition) - atmosphereInnerRadius;\n\n // Calculate and accumulate density of particles at the sample position.\n vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength;\n opticalDepth += sampleDensity;\n\n // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere.\n czm_ray lightRay = czm_ray(samplePosition, lightDirection);\n czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius);\n \n float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS);\n float lightPositionLength = 0.0;\n\n vec2 lightOpticalDepth = vec2(0.0);\n\n // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment.\n for (int j = 0; j < LIGHT_STEPS; j++) {\n\n // Calculate sample position along light ray.\n vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5);\n\n // Calculate height of the light sample position above ellipsoid.\n float lightHeight = length(lightPosition) - atmosphereInnerRadius;\n\n // Calculate density of photons at the light sample position.\n lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength;\n\n // Increment distance on light ray.\n lightPositionLength += lightStepLength;\n }\n\n // Compute attenuation via the primary ray and the light ray.\n vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x))));\n\n // Accumulate the scattering.\n rayleighAccumulation += sampleDensity.x * attenuation;\n mieAccumulation += sampleDensity.y * attenuation;\n\n // Increment distance on primary ray.\n rayPositionLength += rayStepLength;\n }\n\n // Compute the scattering amount.\n rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation;\n mieColor = u_atmosphereMieCoefficient * mieAccumulation;\n\n // Compute the transmittance i.e. how much light is passing through the atmosphere.\n opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x))));\n}\n\nvec4 computeAtmosphereColor(\n vec3 positionWC,\n vec3 lightDirection,\n vec3 rayleighColor,\n vec3 mieColor,\n float opacity\n) {\n // Setup the primary ray: from the camera position to the vertex position.\n vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;\n vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);\n\n float cosAngle = dot(cameraToPositionWCDirection, lightDirection);\n float cosAngleSq = cosAngle * cosAngle;\n\n float G = u_atmosphereMieAnisotropy;\n float GSq = G * G;\n\n // The Rayleigh phase function.\n float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq);\n // The Mie phase function.\n float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq));\n\n // The final color is generated by combining the effects of the Rayleigh and Mie scattering.\n vec3 rayleigh = rayleighPhase * rayleighColor;\n vec3 mie = miePhase * mieColor;\n\n vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity;\n\n return vec4(color, opacity);\n}\n",G$e="void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) {\n\n vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;\n vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);\n czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection);\n \n float atmosphereInnerRadius = length(positionWC);\n\n computeScattering(\n primaryRay,\n length(cameraToPositionWC),\n lightDirection,\n atmosphereInnerRadius,\n rayleighColor,\n mieColor,\n opacity\n );\n}\n";function q$e(e,t,n,i,o){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o}function W$e(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function Y$e(e){const t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }";let o;switch(e){case vq.SCENE3D:o=t;break;case vq.SCENE2D:case vq.COLUMBUS_VIEW:o=n;break;case vq.MORPHING:o=i;break}return o}function X$e(e){const t="float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }",n="float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }";return e?n:t}W$e.prototype.getShaderProgram=function(e){const t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,a=e.applyContrast,s=e.applyHue,c=e.applySaturation,l=e.applyGamma,u=e.applyAlpha,h=e.applyDayNightAlpha,d=e.applySplit,f=e.showReflectiveOcean,p=e.showOceanWaves,m=e.enableLighting,_=e.dynamicAtmosphereLighting,g=e.dynamicAtmosphereLightingFromSun,b=e.showGroundAtmosphere,y=e.perFragmentGroundAtmosphere,v=e.hasVertexNormals,O=e.useWebMercatorProjection,w=e.enableFog,A=e.enableClippingPlanes,T=e.clippingPlanes,C=e.clippedByBoundaries,E=e.hasImageryLayerCutout,x=e.colorCorrect,S=e.highlightFillTile,I=e.colorToAlpha,D=e.hasGeodeticSurfaceNormals,j=e.hasExaggeration,P=e.showUndergroundColor,R=e.translucent;let M=0,N="";const L=n.renderedMesh,B=L.encoding,F=B.quantization;F===wl.BITS12&&(M=1,N="QUANTIZATION_BITS12");let k=0,z="";C&&(k=1,z="TILE_LIMIT_RECTANGLE");let U=0,V="";E&&(U=1,V="APPLY_IMAGERY_CUTOUT");const H=t.mode,G=H|o<<2|a<<3|s<<4|c<<5|l<<6|u<<7|f<<8|p<<9|m<<10|_<<11|g<<12|b<<13|y<<14|v<<15|O<<16|w<<17|M<<18|d<<19|A<<20|k<<21|U<<22|x<<23|S<<24|I<<25|D<<26|j<<27|P<<28|R<<29|h<<30;let q=0;Object(r["a"])(T)&&T.length>0&&(q=A?T.clippingPlanesState:0);let W=n.surfaceShader;if(Object(r["a"])(W)&&W.numberOfDayTextures===i&&W.flags===G&&W.material===this.material&&W.clippingShaderState===q)return W.shaderProgram;let Y=this._shadersByTexturesFlags[i];if(Object(r["a"])(Y)||(Y=this._shadersByTexturesFlags[i]=[]),W=Y[G],!Object(r["a"])(W)||W.material!==this.material||W.clippingShaderState!==q){const e=this.baseVertexShaderSource.clone(),n=this.baseFragmentShaderSource.clone();0!==q&&n.sources.unshift(Z2(T,t.context)),e.defines.push(N),n.defines.push("TEXTURE_UNITS "+i,z,V),o&&n.defines.push("APPLY_BRIGHTNESS"),a&&n.defines.push("APPLY_CONTRAST"),s&&n.defines.push("APPLY_HUE"),c&&n.defines.push("APPLY_SATURATION"),l&&n.defines.push("APPLY_GAMMA"),u&&n.defines.push("APPLY_ALPHA"),h&&n.defines.push("APPLY_DAY_NIGHT_ALPHA"),f&&(n.defines.push("SHOW_REFLECTIVE_OCEAN"),e.defines.push("SHOW_REFLECTIVE_OCEAN")),p&&n.defines.push("SHOW_OCEAN_WAVES"),I&&n.defines.push("APPLY_COLOR_TO_ALPHA"),P&&(e.defines.push("UNDERGROUND_COLOR"),n.defines.push("UNDERGROUND_COLOR")),R&&(e.defines.push("TRANSLUCENT"),n.defines.push("TRANSLUCENT")),m&&(v?(e.defines.push("ENABLE_VERTEX_LIGHTING"),n.defines.push("ENABLE_VERTEX_LIGHTING")):(e.defines.push("ENABLE_DAYNIGHT_SHADING"),n.defines.push("ENABLE_DAYNIGHT_SHADING"))),_&&(e.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),n.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),g&&(e.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),n.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),b&&(e.defines.push("GROUND_ATMOSPHERE"),n.defines.push("GROUND_ATMOSPHERE"),y&&(e.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),n.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),e.defines.push("INCLUDE_WEB_MERCATOR_Y"),n.defines.push("INCLUDE_WEB_MERCATOR_Y"),w&&(e.defines.push("FOG"),n.defines.push("FOG")),d&&n.defines.push("APPLY_SPLIT"),A&&n.defines.push("ENABLE_CLIPPING_PLANES"),x&&n.defines.push("COLOR_CORRECT"),S&&n.defines.push("HIGHLIGHT_FILL_TILE"),D&&e.defines.push("GEODETIC_SURFACE_NORMALS"),j&&e.defines.push("EXAGGERATION");let r=" vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend)\n {\n vec4 color = initialColor;\n";E&&(r+=" vec4 cutoutAndColorResult;\n bool texelUnclipped;\n");for(let t=0;t<i;++t)r+=E?` cutoutAndColorResult = u_dayTextureCutoutRectangles[${t}];\n texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y;\n cutoutAndColorResult = sampleAndBlend(\n`:" color = sampleAndBlend(\n",r+=` color,\n u_dayTextures[${t}],\n u_dayTextureUseWebMercatorT[${t}] ? textureCoordinates.xz : textureCoordinates.xy,\n u_dayTextureTexCoordsRectangle[${t}],\n u_dayTextureTranslationAndScale[${t}],\n ${u?`u_dayTextureAlpha[${t}]`:"1.0"},\n ${h?`u_dayTextureNightAlpha[${t}]`:"1.0"},\n${h?`u_dayTextureDayAlpha[${t}]`:"1.0"},\n${o?`u_dayTextureBrightness[${t}]`:"0.0"},\n ${a?`u_dayTextureContrast[${t}]`:"0.0"},\n ${s?`u_dayTextureHue[${t}]`:"0.0"},\n ${c?`u_dayTextureSaturation[${t}]`:"0.0"},\n ${l?`u_dayTextureOneOverGamma[${t}]`:"0.0"},\n ${d?`u_dayTextureSplit[${t}]`:"0.0"},\n ${I?`u_colorsToAlpha[${t}]`:"vec4(0.0)"},\n nightBlend );\n`,E&&(r+=" color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color);\n");r+=" return color;\n }",n.sources.push(r),e.sources.push(Y$e(H)),e.sources.push(X$e(O));const C=IU.fromCache({context:t.context,vertexShaderSource:e,fragmentShaderSource:n,attributeLocations:B.getAttributeLocations()});W=Y[G]=new q$e(i,G,this.material,C,q)}return n.surfaceShader=W,W.shaderProgram},W$e.prototype.destroy=function(){let e,t;const n=this._shadersByTexturesFlags;for(const i in n)if(n.hasOwnProperty(i)){const o=n[i];if(!Object(r["a"])(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],Object(r["a"])(t)&&t.shaderProgram.destroy())}return Wl(this)};var K$e=W$e;const J$e={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7};var Z$e=Object.freeze(J$e);const $$e={START:0,LOADING:1,DONE:2,FAILED:3};var Q$e=Object.freeze($$e);const eQe={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6};var tQe=Object.freeze(eQe);function nQe(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new be(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new g,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=tQe.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new Tt,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(nQe.prototype,{eligibleForUnloading:{get:function(){const e=this.terrainState,t=e===tQe.RECEIVING||e===tQe.TRANSFORMING;let n=!t;const i=this.imagery;for(let o=0,a=i.length;n&&o<a;++o){const e=i[o];n=!Object(r["a"])(e.loadingImagery)||e.loadingImagery.state!==Z$e.TRANSITIONING}return n}},renderedMesh:{get:function(){return Object(r["a"])(this.vertexArray)?this.mesh:Object(r["a"])(this.fill)?this.fill.mesh:void 0}}});const iQe=new I;function oQe(e,t,n,i,o,a){let s=e.getExaggeratedPosition(i,o,a);if(Object(r["a"])(t)&&t!==vq.SCENE3D){const e=n.ellipsoid,t=e.cartesianToCartographic(s,iQe);s=n.project(t,a),s=g.fromElements(s.z,s.x,s.y,a)}return s}const rQe=new g,aQe=new g,sQe=new g;function cQe(e,t,n,i){const o=e.renderedMesh,r=o.vertices,a=o.encoding,s=r.length/a.stride;let c=Ml.clone(a);c.hasGeodeticSurfaceNormals=t,c=Ml.clone(c);const l=c.stride,u=new Float32Array(s*l);t?a.addGeodeticSurfaceNormals(r,u,n):a.removeGeodeticSurfaceNormals(r,u),o.vertices=u,o.stride=l;const h=o!==e.mesh;h?(nQe._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=nQe._createVertexArrayForMesh(i.context,o)):(nQe._freeVertexArray(e.vertexArray),e.vertexArray=nQe._createVertexArrayForMesh(i.context,o)),nQe._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}function lQe(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!Object(r["a"])(i)&&Object(r["a"])(e.parent)){const t=e.parent,n=t.data;Object(r["a"])(n)&&Object(r["a"])(n.terrainData)&&(i=n.terrainData.isChildAvailable(t.x,t.y,e.x,e.y))}!1===i&&(e.data.terrainState=tQe.FAILED);for(let o=0,r=n.length;o<r;++o){const i=n.get(o);i.show&&i._createTileImagerySkeletons(e,t)}}function uQe(e,t,n,i,o,a){const s=e.data,c=e.parent;if(s.terrainState===tQe.FAILED&&void 0!==c){const e=void 0!==c.data&&void 0!==c.data.terrainData&&!1!==c.data.terrainData.canUpsample;e||nQe.processStateMachine(c,t,n,i,o,a,!0)}if(s.terrainState===tQe.FAILED&&hQe(s,e,t,n,e.x,e.y,e.level),s.terrainState===tQe.UNLOADED&&dQe(s,n,e.x,e.y,e.level),s.terrainState===tQe.RECEIVED&&pQe(s,t,n,e.x,e.y,e.level),s.terrainState===tQe.TRANSFORMED&&(mQe(s,t.context,n,e.x,e.y,e.level,a),s.updateExaggeration(e,t,o)),s.terrainState>=tQe.RECEIVED&&void 0===s.waterMaskTexture&&n.hasWaterMask){const n=s.terrainData;if(void 0!==n.waterMask)gQe(t.context,s);else{const t=s._findAncestorTileWithTerrainData(e);Object(r["a"])(t)&&Object(r["a"])(t.data.waterMaskTexture)&&(s.waterMaskTexture=t.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,t,s.waterMaskTranslationAndScale))}}}function hQe(e,t,n,i,o,a,s){const c=t.parent;if(!c)return void(t.state=Q$e.FAILED);const l=c.data.terrainData,u=c.x,h=c.y,d=c.level;if(!Object(r["a"])(l))return;const f=l.upsample(i.tilingScheme,u,h,d,o,a,s);Object(r["a"])(f)&&(e.terrainState=tQe.RECEIVING,Promise.resolve(f).then((function(t){e.terrainData=t,e.terrainState=tQe.RECEIVED})).catch((function(){e.terrainState=tQe.FAILED})))}function dQe(e,t,n,i,o){function a(t){e.terrainData=t,e.terrainState=tQe.RECEIVED,e.request=void 0}function s(r){if(e.request.state===Du["a"].CANCELLED)return e.terrainData=void 0,e.terrainState=tQe.UNLOADED,void(e.request=void 0);e.terrainState=tQe.FAILED,e.request=void 0;const a=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${r}"`;t._requestError=eh.handleError(t._requestError,t,t.errorEvent,a,n,i,o,c)}function c(){const c=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].TERRAIN});e.request=c;const l=t.requestTileGeometry(n,i,o,c);Object(r["a"])(l)?(e.terrainState=tQe.RECEIVING,Promise.resolve(l).then((function(e){a(e)})).catch((function(e){s(e)}))):(e.terrainState=tQe.UNLOADED,e.request=void 0)}c()}nQe.prototype.pick=function(e,t,n,i,o){const a=this.renderedMesh;if(!Object(r["a"])(a))return;const s=a.vertices,c=a.indices,l=a.encoding,u=c.length;let h=Number.MAX_VALUE;for(let d=0;d<u;d+=3){const o=c[d],a=c[d+1],u=c[d+2],f=oQe(l,t,n,s,o,rQe),p=oQe(l,t,n,s,a,aQe),m=oQe(l,t,n,s,u,sQe),_=So.rayTriangleParametric(e,f,p,m,i);Object(r["a"])(_)&&_<h&&_>=0&&(h=_)}return h!==Number.MAX_VALUE?Ki.getPoint(e,h,o):void 0},nQe.prototype.freeResources=function(){Object(r["a"])(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=tQe.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();const e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()},nQe.prototype.freeVertexArray=function(){nQe._freeVertexArray(this.vertexArray),this.vertexArray=void 0,nQe._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0},nQe.initialize=function(e,t,n){let i=e.data;Object(r["a"])(i)||(i=e.data=new nQe),e.state===Q$e.START&&(lQe(e,t,n),e.state=Q$e.LOADING)},nQe.processStateMachine=function(e,t,n,i,o,a,s){nQe.initialize(e,n,i);const c=e.data;if(e.state===Q$e.LOADING&&uQe(e,t,n,i,o,a),s)return;const l=e.renderable;e.renderable=Object(r["a"])(c.vertexArray);const u=c.terrainState===tQe.READY;e.upsampledFromParent=Object(r["a"])(c.terrainData)&&c.terrainData.wasCreatedByUpsampling();const h=c.processImagery(e,n,t);if(u&&h){const t=e._loadedCallbacks,n={};for(const i in t)t.hasOwnProperty(i)&&(t[i](e)||(n[i]=t[i]));e._loadedCallbacks=n,e.state=Q$e.DONE}l&&(e.renderable=!0)},nQe.prototype.processImagery=function(e,t,n,i){const o=e.data;let a=e.upsampledFromParent,s=!1,c=!0;const l=o.imagery;let u,h;for(u=0,h=l.length;u<h;++u){const o=l[u];if(!Object(r["a"])(o.loadingImagery)){a=!1;continue}if(o.loadingImagery.state===Z$e.PLACEHOLDER){const n=o.loadingImagery.imageryLayer;if(n.imageryProvider.ready){o.freeResources(),l.splice(u,1),n._createTileImagerySkeletons(e,t,u),--u,h=l.length;continue}a=!1}const d=o.processStateMachine(e,n,i);c=c&&d,s=s||d||Object(r["a"])(o.readyImagery),a=a&&Object(r["a"])(o.loadingImagery)&&(o.loadingImagery.state===Z$e.FAILED||o.loadingImagery.state===Z$e.INVALID)}return e.upsampledFromParent=a,e.renderable=e.renderable&&(s||c),c},nQe.prototype.addGeodeticSurfaceNormals=function(e,t){cQe(this,!0,e,t)},nQe.prototype.removeGeodeticSurfaceNormals=function(e){cQe(this,!1,void 0,e)},nQe.prototype.updateExaggeration=function(e,t,n){const i=this,o=i.renderedMesh;if(void 0===o)return;const r=t.terrainExaggeration,a=t.terrainExaggerationRelativeHeight,s=1!==r,c=o.encoding,l=c.exaggeration!==r,u=c.exaggerationRelativeHeight!==a;if(l||u){if(l)if(s&&!c.hasGeodeticSurfaceNormals){const n=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(n,t)}else!s&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=a,void 0!==n){n._tileToUpdateHeights.push(e);const t=e.customData,i=t.length;for(let e=0;e<i;e++){const n=t[e];n.level=-1}}}};const fQe={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function pQe(e,t,n,i,o,a){const s=n.tilingScheme,c=fQe;c.tilingScheme=s,c.x=i,c.y=o,c.level=a,c.exaggeration=t.terrainExaggeration,c.exaggerationRelativeHeight=t.terrainExaggerationRelativeHeight,c.throttle=!0;const l=e.terrainData,u=l.createMesh(c);Object(r["a"])(u)&&(e.terrainState=tQe.TRANSFORMING,Promise.resolve(u).then((function(t){e.mesh=t,e.terrainState=tQe.TRANSFORMED})).catch((function(){e.terrainState=tQe.FAILED})))}function mQe(e,t,n,i,o,r,a){e.vertexArray=nQe._createVertexArrayForMesh(t,e.mesh),e.terrainState=tQe.READY,e.fill=e.fill&&e.fill.destroy(a)}function _Qe(e){let t=e.cache.tile_waterMaskData;if(!Object(r["a"])(t)){const n=nk.create({context:e,pixelFormat:XS.LUMINANCE,pixelDatatype:WS.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;const i=new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.LINEAR,magnificationFilter:WF.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function gQe(e,t){const n=t.terrainData.waterMask,i=_Qe(e);let o;const r=n.length;if(1===r){if(0===n[0])return;o=i.allWaterTexture}else{const t=Math.sqrt(r);o=nk.create({context:e,pixelFormat:XS.LUMINANCE,pixelDatatype:WS.UNSIGNED_BYTE,source:{width:t,height:t,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,be.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}nQe._createVertexArrayForMesh=function(e,t){const n=t.vertices,i=SG.createVertexBuffer({context:e,typedArray:n,usage:EG.STATIC_DRAW}),o=t.encoding.getAttributes(i),a=t.indices.indexBuffers||{};let s=a[e.id];if(!Object(r["a"])(s)||s.isDestroyed()){const n=t.indices;s=SG.createIndexBuffer({context:e,typedArray:n,usage:EG.STATIC_DRAW,indexDatatype:uu.fromSizeInBytes(n.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,a[e.id]=s,t.indices.indexBuffers=a}else++s.referenceCount;return new BG({context:e,attributes:o,indexBuffer:s})},nQe._freeVertexArray=function(e){if(Object(r["a"])(e)){const t=e.indexBuffer;e.isDestroyed()||e.destroy(),Object(r["a"])(t)&&!t.isDestroyed()&&Object(r["a"])(t.referenceCount)&&(--t.referenceCount,0===t.referenceCount&&t.destroy())}},nQe.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;while(Object(r["a"])(t)&&(!Object(r["a"])(t.data)||!Object(r["a"])(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling()))t=t.parent;return t},nQe.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){const i=t.rectangle,o=e.rectangle,r=o.width,a=o.height,s=r/i.width,c=a/i.height;return n.x=s*(o.west-i.west)/r,n.y=c*(o.south-i.south)/a,n.z=s,n.w=c,n};var bQe=nQe,yQe="uniform sampler2D u_texture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n",vQe="attribute vec4 position;\nattribute float webMercatorT;\n\nuniform vec2 u_textureDimensions;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n v_textureCoordinates = vec2(position.x, webMercatorT);\n gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0));\n}\n";function OQe(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,0!==i){const o=t/2|0,r=n/2|0,a=i-1;this.parent=e.getImageryFromCache(o,r,a)}if(this.state=Z$e.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!Object(r["a"])(o)&&e.imageryProvider.ready){const r=e.imageryProvider.tilingScheme;o=r.tileXYToRectangle(t,n,i)}this.rectangle=o}OQe.createPlaceholder=function(e){const t=new OQe(e,0,0,0);return t.addReference(),t.state=Z$e.PLACEHOLDER,t},OQe.prototype.addReference=function(){++this.referenceCount},OQe.prototype.releaseReference=function(){return--this.referenceCount,0===this.referenceCount?(this.imageryLayer.removeImageryFromCache(this),Object(r["a"])(this.parent)&&this.parent.releaseReference(),Object(r["a"])(this.image)&&Object(r["a"])(this.image.destroy)&&this.image.destroy(),Object(r["a"])(this.texture)&&this.texture.destroy(),Object(r["a"])(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),Wl(this),0):this.referenceCount},OQe.prototype.processStateMachine=function(e,t,n){this.state!==Z$e.UNLOADED||n||(this.state=Z$e.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===Z$e.RECEIVED&&(this.state=Z$e.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));const i=this.state===Z$e.READY&&t&&!this.texture;(this.state===Z$e.TEXTURE_LOADED||i)&&(this.state=Z$e.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var wQe=OQe;function AQe(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}AQe.prototype.freeResources=function(){Object(r["a"])(this.readyImagery)&&this.readyImagery.releaseReference(),Object(r["a"])(this.loadingImagery)&&this.loadingImagery.releaseReference()},AQe.prototype.processStateMachine=function(e,t,n){const i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===Z$e.READY)return Object(r["a"])(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let a,s=i.parent;while(Object(r["a"])(s)&&(s.state!==Z$e.READY||!this.useWebMercatorT&&!Object(r["a"])(s.texture)))s.state!==Z$e.FAILED&&s.state!==Z$e.INVALID&&(a=a||s),s=s.parent;return this.readyImagery!==s&&(Object(r["a"])(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=s,Object(r["a"])(s)&&(s.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),(i.state===Z$e.FAILED||i.state===Z$e.INVALID)&&(!Object(r["a"])(a)||(a.processStateMachine(t,!this.useWebMercatorT,n),!1))};var TQe=AQe;function CQe(e,t){this._imageryProvider=e,t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),this.alpha=Object(o["a"])(t.alpha,Object(o["a"])(e.defaultAlpha,1)),this.nightAlpha=Object(o["a"])(t.nightAlpha,Object(o["a"])(e.defaultNightAlpha,1)),this.dayAlpha=Object(o["a"])(t.dayAlpha,Object(o["a"])(e.defaultDayAlpha,1)),this.brightness=Object(o["a"])(t.brightness,Object(o["a"])(e.defaultBrightness,CQe.DEFAULT_BRIGHTNESS)),this.contrast=Object(o["a"])(t.contrast,Object(o["a"])(e.defaultContrast,CQe.DEFAULT_CONTRAST)),this.hue=Object(o["a"])(t.hue,Object(o["a"])(e.defaultHue,CQe.DEFAULT_HUE)),this.saturation=Object(o["a"])(t.saturation,Object(o["a"])(e.defaultSaturation,CQe.DEFAULT_SATURATION)),this.gamma=Object(o["a"])(t.gamma,Object(o["a"])(e.defaultGamma,CQe.DEFAULT_GAMMA)),this.splitDirection=Object(o["a"])(t.splitDirection,Object(o["a"])(e.defaultSplit,CQe.DEFAULT_SPLIT)),this.minificationFilter=Object(o["a"])(t.minificationFilter,Object(o["a"])(e.defaultMinificationFilter,CQe.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=Object(o["a"])(t.magnificationFilter,Object(o["a"])(e.defaultMagnificationFilter,CQe.DEFAULT_MAGNIFICATION_FILTER)),this.show=Object(o["a"])(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=Object(o["a"])(t.rectangle,Fe.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new TQe(wQe.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=Object(o["a"])(t.colorToAlphaThreshold,CQe.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}Object.defineProperties(CQe.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},rectangle:{get:function(){return this._rectangle}}}),CQe.DEFAULT_BRIGHTNESS=1,CQe.DEFAULT_CONTRAST=1,CQe.DEFAULT_HUE=0,CQe.DEFAULT_SATURATION=1,CQe.DEFAULT_GAMMA=1,CQe.DEFAULT_SPLIT=z3.NONE,CQe.DEFAULT_MINIFICATION_FILTER=XF.LINEAR,CQe.DEFAULT_MAGNIFICATION_FILTER=WF.LINEAR,CQe.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004,CQe.prototype.isBaseLayer=function(){return this._isBaseLayer},CQe.prototype.isDestroyed=function(){return!1},CQe.prototype.destroy=function(){return Wl(this)};const EQe=new Fe,xQe=new Fe,SQe=new Fe,IQe=new Fe;function DQe(e,t,n){return`${e}:${t}:${n}`}function jQe(e,t,n){return JSON.stringify([e,t,n])}CQe.prototype.getViewableRectangle=function(){const e=this._imageryProvider,t=this._rectangle;return e.readyPromise.then((function(){return Fe.intersection(e.rectangle,t)}))},CQe.prototype._createTileImagerySkeletons=function(e,t,n){const i=e.data;if(Object(r["a"])(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return!1;if(Object(r["a"])(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;const o=this._imageryProvider;if(Object(r["a"])(n)||(n=i.imagery.length),!o.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;const a=o.tilingScheme.projection instanceof Ll&&e.rectangle.north<Ll.MaximumLatitude&&e.rectangle.south>-Ll.MaximumLatitude,s=Fe.intersection(o.rectangle,this._rectangle,EQe);let c=Fe.intersection(e.rectangle,s,xQe);if(!Object(r["a"])(c)){if(!this.isBaseLayer())return!1;const t=s,n=e.rectangle;c=xQe,n.south>=t.north?c.north=c.south=t.north:n.north<=t.south?c.north=c.south=t.south:(c.south=Math.max(n.south,t.south),c.north=Math.min(n.north,t.north)),n.west>=t.east?c.west=c.east=t.east:n.east<=t.west?c.west=c.east=t.west:(c.west=Math.max(n.west,t.west),c.east=Math.min(n.east,t.east))}let l=0;c.south>0?l=c.south:c.north<0&&(l=c.north);const u=1,h=u*t.getLevelMaximumGeometricError(e.level);let d=NQe(this,h,l);d=Math.max(0,d);const f=o.maximumLevel;if(d>f&&(d=f),Object(r["a"])(o.minimumLevel)){const e=o.minimumLevel;d<e&&(d=e)}const p=o.tilingScheme,m=p.positionToTileXY(Fe.northwest(c),d),_=p.positionToTileXY(Fe.southeast(c),d);let g=e.rectangle.width/512,b=e.rectangle.height/512;const y=p.tileXYToRectangle(m.x,m.y,d);Math.abs(y.south-e.rectangle.north)<b&&m.y<_.y&&++m.y,Math.abs(y.east-e.rectangle.west)<g&&m.x<_.x&&++m.x;const v=p.tileXYToRectangle(_.x,_.y,d);Math.abs(v.north-e.rectangle.south)<b&&_.y>m.y&&--_.y,Math.abs(v.west-e.rectangle.east)<g&&_.x>m.x&&--_.x;const O=Fe.clone(e.rectangle,IQe);let w,A,T=p.tileXYToRectangle(m.x,m.y,d),C=Fe.intersection(T,s,SQe);a?(p.rectangleToNativeRectangle(O,O),p.rectangleToNativeRectangle(T,T),p.rectangleToNativeRectangle(C,C),p.rectangleToNativeRectangle(s,s),w=p.tileXYToNativeRectangle.bind(p),g=O.width/512,b=O.height/512):w=p.tileXYToRectangle.bind(p);let E,x=0,S=1;!this.isBaseLayer()&&Math.abs(C.west-O.west)>=g&&(x=Math.min(1,(C.west-O.west)/O.width)),!this.isBaseLayer()&&Math.abs(C.north-O.north)>=b&&(S=Math.max(0,(C.north-O.south)/O.height));const I=S;for(let D=m.x;D<=_.x;D++)if(A=x,T=w(D,m.y,d),C=Fe.simpleIntersection(T,s,SQe),Object(r["a"])(C)){x=Math.min(1,(C.east-O.west)/O.width),D===_.x&&(this.isBaseLayer()||Math.abs(C.east-O.east)<g)&&(x=1),S=I;for(let e=m.y;e<=_.y;e++){if(E=S,T=w(D,e,d),C=Fe.simpleIntersection(T,s,SQe),!Object(r["a"])(C))continue;S=Math.max(0,(C.south-O.south)/O.height),e===_.y&&(this.isBaseLayer()||Math.abs(C.south-O.south)<b)&&(S=0);const t=new be(A,S,x,E),o=this.getImageryFromCache(D,e,d);i.imagery.splice(n,0,new TQe(o,t,a)),++n}}return!0},CQe.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){const e=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=e.rectangleToNativeRectangle(n,EQe),i=e.rectangleToNativeRectangle(i,IQe)}const o=i.width,r=i.height,a=o/n.width,s=r/n.height;return new be(a*(i.west-n.west)/o,s*(i.south-n.south)/r,a,s)},CQe.prototype._requestImagery=function(e){const t=this._imageryProvider,n=this;function i(t){if(!Object(r["a"])(t))return o();e.image=t,e.state=Z$e.RECEIVED,e.request=void 0,eh.handleSuccess(n._requestImageError)}function o(i){if(e.request.state===Du["a"].CANCELLED)return e.state=Z$e.UNLOADED,void(e.request=void 0);e.state=Z$e.FAILED,e.request=void 0;const o=`Failed to obtain image tile X: ${e.x} Y: ${e.y} Level: ${e.level}.`;n._requestImageError=eh.handleError(n._requestImageError,t,t.errorEvent,o,e.x,e.y,e.level,a,i)}function a(){const n=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].IMAGERY});e.request=n,e.state=Z$e.TRANSITIONING;const a=t.requestImage(e.x,e.y,e.level,n);if(!Object(r["a"])(a))return e.state=Z$e.UNLOADED,void(e.request=void 0);Object(r["a"])(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),a.then((function(e){i(e)})).catch((function(e){o(e)}))}a()},CQe.prototype._createTextureWebGL=function(e,t){const n=new $F({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return Object(r["a"])(i.internalFormat)?new nk({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new nk({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?XS.RGBA:XS.RGB,sampler:n})},CQe.prototype._createTexture=function(e,t){const n=this._imageryProvider,i=t.image;if(Object(r["a"])(n.tileDiscardPolicy)){const e=n.tileDiscardPolicy;if(Object(r["a"])(e)){if(!e.isReady())return void(t.state=Z$e.RECEIVED);if(e.shouldDiscardImage(i))return void(t.state=Z$e.INVALID)}}if(this.minificationFilter!==XF.NEAREST&&this.minificationFilter!==XF.LINEAR)throw new a["a"]("ImageryLayer minification filter must be NEAREST or LINEAR");const o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Ll?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=Z$e.TEXTURE_LOADED},CQe.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter;const i=this.magnificationFilter,a=n===XF.LINEAR&&i===WF.LINEAR;if(a&&!XS.isCompressedFormat(t.pixelFormat)&&s["a"].isPowerOfTwo(t.width)&&s["a"].isPowerOfTwo(t.height)){n=XF.LINEAR_MIPMAP_LINEAR;const a=zF.maximumTextureFilterAnisotropy,s=Math.min(a,Object(o["a"])(this._maximumAnisotropy,a)),c=DQe(n,i,s);let l=e.cache.imageryLayerMipmapSamplers;Object(r["a"])(l)||(l={},e.cache.imageryLayerMipmapSamplers=l);let u=l[c];Object(r["a"])(u)||(u=l[c]=new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(GF.NICEST),t.sampler=u}else{const o=DQe(n,i,0);let a=e.cache.imageryLayerNonMipmapSamplers;Object(r["a"])(a)||(a={},e.cache.imageryLayerNonMipmapSamplers=a);let s=a[o];Object(r["a"])(s)||(s=a[o]=new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=s}},CQe.prototype._reprojectTexture=function(e,t,n){const i=t.textureWebMercator||t.texture,r=t.rectangle,a=e.context;if(n=Object(o["a"])(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof V)&&r.width/i.width>1e-5){const e=this;t.addReference();const n=new XK({persists:!0,owner:this,preExecute:function(e){MQe(e,a,i,t.rectangle)},postExecute:function(n){t.texture=n,e._finalizeReprojectTexture(a,n),t.state=Z$e.READY,t.releaseReference()},canceled:function(){t.state=Z$e.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(n)}else n&&(t.texture=i),this._finalizeReprojectTexture(a,i),t.state=Z$e.READY},CQe.prototype.queueReprojectionCommands=function(e){const t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0},CQe.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach((function(e){Object(r["a"])(e.canceled)&&e.canceled()})),this._reprojectComputeCommands.length=0},CQe.prototype.getImageryFromCache=function(e,t,n,i){const o=jQe(e,t,n);let a=this._imageryCache[o];return Object(r["a"])(a)||(a=new wQe(this,e,t,n,i),this._imageryCache[o]=a),a.addReference(),a},CQe.prototype.removeImageryFromCache=function(e){const t=jQe(e.x,e.y,e.level);delete this._imageryCache[t]};const PQe={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new Ht,texture:void 0},RQe=Ta.supportsTypedArrays()?new Float32Array(128):void 0;function MQe(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!Object(r["a"])(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){Object(r["a"])(this.framebuffer)&&this.framebuffer.destroy(),Object(r["a"])(this.vertexArray)&&this.vertexArray.destroy(),Object(r["a"])(this.shaderProgram)&&this.shaderProgram.destroy()}};const e=new Float32Array(256);let n=0;for(let t=0;t<64;++t){const i=t/63;e[n++]=0,e[n++]=i,e[n++]=1,e[n++]=i}const i={position:0,webMercatorT:1},a=bu.getRegularGridIndices(2,64),s=SG.createIndexBuffer({context:t,typedArray:a,usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT});o.vertexArray=new BG({context:t,attributes:[{index:i.position,vertexBuffer:SG.createVertexBuffer({context:t,typedArray:e,usage:EG.STATIC_DRAW}),componentsPerAttribute:2},{index:i.webMercatorT,vertexBuffer:SG.createVertexBuffer({context:t,sizeInBytes:512,usage:EG.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:s});const c=new bG({sources:[vQe]});o.shaderProgram=IU.fromCache({context:t,vertexShaderSource:c,fragmentShaderSource:yQe,attributeLocations:i}),o.sampler=new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.LINEAR,magnificationFilter:WF.LINEAR})}n.sampler=o.sampler;const a=n.width,c=n.height;PQe.textureDimensions.x=a,PQe.textureDimensions.y=c,PQe.texture=n;let l=Math.sin(i.south);const u=.5*Math.log((1+l)/(1-l));l=Math.sin(i.north);const h=.5*Math.log((1+l)/(1-l)),d=1/(h-u),f=new nk({context:t,width:a,height:c,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});s["a"].isPowerOfTwo(a)&&s["a"].isPowerOfTwo(c)&&f.generateMipmap(GF.NICEST);const p=i.south,m=i.north,_=RQe;let g=0;for(let r=0;r<64;++r){const e=r/63,t=s["a"].lerp(p,m,e);l=Math.sin(t);const n=.5*Math.log((1+l)/(1-l)),i=(n-u)*d;_[g++]=i,_[g++]=i}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(_),e.shaderProgram=o.shaderProgram,e.outputTexture=f,e.uniformMap=PQe,e.vertexArray=o.vertexArray}function NQe(e,t,n){const i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,a=e._imageryProvider.tilingScheme.projection instanceof V?1:Math.cos(n),s=o.rectangle,c=r.maximumRadius*s.width*a/(i.tileWidth*o.getNumberOfXTilesAtLevel(0)),l=c/t,u=Math.log(l)/Math.log(2),h=Math.round(u);return 0|h}var LQe=CQe;const BQe={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=BQe.RENDERED_AND_KICKED},originalResult:function(e){return 3&e},kick:function(e){return 4|e}};var FQe=BQe;function kQe(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new be}kQe.prototype.update=function(e,t,n){this.changedThisFrame&&(s1e(e,t,this.tile,n),this.changedThisFrame=!1)},kQe.prototype.destroy=function(e){this._destroyVertexArray(e),Object(r["a"])(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)},kQe.prototype._destroyVertexArray=function(e){Object(r["a"])(this.vertexArray)&&(Object(r["a"])(e)?e.push(this.vertexArray):bQe._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};const zQe=new cb;function UQe(e,t,n,i,o,s,c,l,u){if(void 0===i)return;let h=i;while(h&&(h._lastSelectionResultFrame!==o||FQe.wasKicked(h._lastSelectionResult)||FQe.originalResult(h._lastSelectionResult)===FQe.CULLED)){if(c)return;const e=h.parent;if(s>=dN.NORTHWEST&&void 0!==e)switch(s){case dN.NORTHWEST:h=h===e.northwestChild?e:void 0;break;case dN.NORTHEAST:h=h===e.northeastChild?e:void 0;break;case dN.SOUTHWEST:h=h===e.southwestChild?e:void 0;break;case dN.SOUTHEAST:h=h===e.southeastChild?e:void 0;break}else h=e}if(void 0!==h)if(h._lastSelectionResult!==FQe.RENDERED){if(FQe.originalResult(i._lastSelectionResult)!==FQe.CULLED)switch(s){case dN.WEST:UQe(e,t,n,i.northwestChild,o,s,!0,l,u),UQe(e,t,n,i.southwestChild,o,s,!0,l,u);break;case dN.EAST:UQe(e,t,n,i.southeastChild,o,s,!0,l,u),UQe(e,t,n,i.northeastChild,o,s,!0,l,u);break;case dN.SOUTH:UQe(e,t,n,i.southwestChild,o,s,!0,l,u),UQe(e,t,n,i.southeastChild,o,s,!0,l,u);break;case dN.NORTH:UQe(e,t,n,i.northeastChild,o,s,!0,l,u),UQe(e,t,n,i.northwestChild,o,s,!0,l,u);break;case dN.NORTHWEST:UQe(e,t,n,i.northwestChild,o,s,!0,l,u);break;case dN.NORTHEAST:UQe(e,t,n,i.northeastChild,o,s,!0,l,u);break;case dN.SOUTHWEST:UQe(e,t,n,i.southwestChild,o,s,!0,l,u);break;case dN.SOUTHEAST:UQe(e,t,n,i.southeastChild,o,s,!0,l,u);break;default:throw new a["a"]("Invalid edge")}}else{if(Object(r["a"])(h.data.vertexArray))return;VQe(e,t,n,h,s,o,l,u)}}function VQe(e,t,n,i,o,r,a,s){const c=i.data;if(void 0===c.fill)c.fill=new kQe(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,a.enqueue(i)),HQe(e,t,n,i,o,s)}function HQe(e,t,n,i,o,a){const c=i.data.fill;let l;const u=n.data.fill;let h,d,f,p,m,_;switch(Object(r["a"])(u)?(u.visitedFrame=t.frameNumber,u.changedThisFrame&&(s1e(e,t,n,a),u.changedThisFrame=!1),l=n.data.fill.mesh):l=n.data.mesh,o){case dN.WEST:h=c.westMeshes,d=c.westTiles;break;case dN.SOUTH:h=c.southMeshes,d=c.southTiles;break;case dN.EAST:h=c.eastMeshes,d=c.eastTiles;break;case dN.NORTH:h=c.northMeshes,d=c.northTiles;break;case dN.NORTHWEST:return c.changedThisFrame=c.changedThisFrame||c.northwestMesh!==l,c.northwestMesh=l,void(c.northwestTile=n);case dN.NORTHEAST:return c.changedThisFrame=c.changedThisFrame||c.northeastMesh!==l,c.northeastMesh=l,void(c.northeastTile=n);case dN.SOUTHWEST:return c.changedThisFrame=c.changedThisFrame||c.southwestMesh!==l,c.southwestMesh=l,void(c.southwestTile=n);case dN.SOUTHEAST:return c.changedThisFrame=c.changedThisFrame||c.southeastMesh!==l,c.southeastMesh=l,void(c.southeastTile=n)}if(n.level<=i.level)return c.changedThisFrame=c.changedThisFrame||h[0]!==l||1!==h.length,h[0]=l,d[0]=n,h.length=1,void(d.length=1);const g=n.rectangle;let b;const y=i.rectangle;switch(o){case dN.WEST:for(b=(y.north-y.south)*s["a"].EPSILON5,f=0;f<d.length;++f)if(m=d[f],_=m.rectangle,s["a"].greaterThan(g.north,_.south,b))break;for(p=f;p<d.length;++p)if(m=d[p],_=m.rectangle,s["a"].greaterThanOrEquals(g.south,_.north,b))break;break;case dN.SOUTH:for(b=(y.east-y.west)*s["a"].EPSILON5,f=0;f<d.length;++f)if(m=d[f],_=m.rectangle,s["a"].lessThan(g.west,_.east,b))break;for(p=f;p<d.length;++p)if(m=d[p],_=m.rectangle,s["a"].lessThanOrEquals(g.east,_.west,b))break;break;case dN.EAST:for(b=(y.north-y.south)*s["a"].EPSILON5,f=0;f<d.length;++f)if(m=d[f],_=m.rectangle,s["a"].lessThan(g.south,_.north,b))break;for(p=f;p<d.length;++p)if(m=d[p],_=m.rectangle,s["a"].lessThanOrEquals(g.north,_.south,b))break;break;case dN.NORTH:for(b=(y.east-y.west)*s["a"].EPSILON5,f=0;f<d.length;++f)if(m=d[f],_=m.rectangle,s["a"].greaterThan(g.east,_.west,b))break;for(p=f;p<d.length;++p)if(m=d[p],_=m.rectangle,s["a"].greaterThanOrEquals(g.west,_.east,b))break;break}p-f===1?(c.changedThisFrame=c.changedThisFrame||h[f]!==l,h[f]=l,d[f]=n):(c.changedThisFrame=!0,h.splice(f,p-f,l),d.splice(f,p-f,n))}kQe.updateFillTiles=function(e,t,n,i){const o=e._quadtree,a=o._levelZeroTiles,s=o._lastSelectionFrameNumber,c=zQe;c.clear();for(let u=0;u<t.length;++u){const e=t[u];Object(r["a"])(e.data.vertexArray)&&c.enqueue(t[u])}let l=c.dequeue();while(void 0!==l){const t=l.findTileToWest(a),o=l.findTileToSouth(a),r=l.findTileToEast(a),u=l.findTileToNorth(a);UQe(e,n,l,t,s,dN.EAST,!1,c,i),UQe(e,n,l,o,s,dN.NORTH,!1,c,i),UQe(e,n,l,r,s,dN.WEST,!1,c,i),UQe(e,n,l,u,s,dN.SOUTH,!1,c,i);const h=t.findTileToNorth(a),d=t.findTileToSouth(a),f=r.findTileToNorth(a),p=r.findTileToSouth(a);UQe(e,n,l,h,s,dN.SOUTHEAST,!1,c,i),UQe(e,n,l,f,s,dN.SOUTHWEST,!1,c,i),UQe(e,n,l,d,s,dN.NORTHEAST,!1,c,i),UQe(e,n,l,p,s,dN.NORTHWEST,!1,c,i),l=c.dequeue()}};const GQe=new I,qQe=new I,WQe=new g,YQe=new g,XQe=new Ht,KQe=new Ht,JQe=new Ht;function ZQe(){this.height=0,this.encodedNormal=new Ht}function $Qe(e,t,n,i,o,a,s,c,l){if(Object(r["a"])(o))return o;let u;if(Object(r["a"])(a)&&Object(r["a"])(s))u=.5*(a.height+s.height);else if(Object(r["a"])(a))u=a.height;else if(Object(r["a"])(s))u=s.height;else if(Object(r["a"])(c))u=c.height;else{const t=e.tile.data,n=t.tileBoundingRegion;let i=0,o=0;Object(r["a"])(n)&&(i=n.minimumHeight,o=n.maximumHeight),u=.5*(i+o)}return _1e(e,t,n,i,u,l),l}const QQe={minimumHeight:0,maximumHeight:0},e1e=new g,t1e=new ZQe,n1e=new ZQe,i1e=new ZQe,o1e=new ZQe,r1e="undefined"!==typeof Uint8Array?new Uint8Array(81):void 0,a1e={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function s1e(e,t,n,i){bQe.initialize(n,e.terrainProvider,e._imageryLayers);const o=n.data,a=o.fill,s=n.rectangle,c=t.terrainExaggeration,l=t.terrainExaggerationRelativeHeight,u=1!==c,h=n.tilingScheme.ellipsoid;let d=g1e(a,h,0,1,a.northwestTile,a.northwestMesh,a.northTiles,a.northMeshes,a.westTiles,a.westMeshes,i1e),f=g1e(a,h,0,0,a.southwestTile,a.southwestMesh,a.westTiles,a.westMeshes,a.southTiles,a.southMeshes,t1e),p=g1e(a,h,1,0,a.southeastTile,a.southeastMesh,a.southTiles,a.southMeshes,a.eastTiles,a.eastMeshes,n1e),m=g1e(a,h,1,1,a.northeastTile,a.northeastMesh,a.eastTiles,a.eastMeshes,a.northTiles,a.northMeshes,o1e);d=$Qe(a,h,0,1,d,f,m,p,i1e),f=$Qe(a,h,0,0,f,d,p,m,t1e),p=$Qe(a,h,1,1,p,f,m,d,n1e),m=$Qe(a,h,1,1,m,p,d,f,o1e);const _=f.height,g=p.height,b=d.height,y=m.height;let v=Math.min(_,g,b,y),O=Math.max(_,g,b,y);const w=.5*(v+O);let A,T;const C=e.getLevelMaximumGeometricError(n.level),E=h.maximumRadius-C;let x=4*Math.acos(E/h.maximumRadius);if(x*=1.5,s.width>x&&O-v<=C){const e=new Su({width:9,height:9,buffer:r1e,structure:{heightOffset:O}}),t=a1e;t.tilingScheme=n.tilingScheme,t.x=n.x,t.y=n.y,t.level=n.level,t.exaggeration=c,t.exaggerationRelativeHeight=l,a.mesh=e._createMeshSync(t)}else{const t=u,i=Fe.center(s,qQe);i.height=w;const o=h.cartographicToCartesian(i,e1e),r=new Ml(o,void 0,void 0,void 0,void 0,!0,!0,t,c,l);let _,g=5;for(_=a.westMeshes,A=0,T=_.length;A<T;++A)g+=_[A].eastIndicesNorthToSouth.length;for(_=a.southMeshes,A=0,T=_.length;A<T;++A)g+=_[A].northIndicesWestToEast.length;for(_=a.eastMeshes,A=0,T=_.length;A<T;++A)g+=_[A].westIndicesSouthToNorth.length;for(_=a.northMeshes,A=0,T=_.length;A<T;++A)g+=_[A].southIndicesEastToWest.length;const b=QQe;b.minimumHeight=v,b.maximumHeight=O;const y=r.stride;let C=new Float32Array(g*y),E=0;const x=E;E=c1e(h,s,r,C,E,0,1,d.height,d.encodedNormal,1,b),E=y1e(a,h,r,C,E,a.westTiles,a.westMeshes,dN.EAST,b);const S=E;E=c1e(h,s,r,C,E,0,0,f.height,f.encodedNormal,0,b),E=y1e(a,h,r,C,E,a.southTiles,a.southMeshes,dN.NORTH,b);const I=E;E=c1e(h,s,r,C,E,1,0,p.height,p.encodedNormal,0,b),E=y1e(a,h,r,C,E,a.eastTiles,a.eastMeshes,dN.WEST,b);const D=E;E=c1e(h,s,r,C,E,1,1,m.height,m.encodedNormal,1,b),E=y1e(a,h,r,C,E,a.northTiles,a.northMeshes,dN.SOUTH,b),v=b.minimumHeight,O=b.maximumHeight;const j=Xc.fromRectangle(s,v,O,n.tilingScheme.ellipsoid),P=Ll.geodeticLatitudeToMercatorAngle(s.south),R=1/(Ll.geodeticLatitudeToMercatorAngle(s.north)-P),M=(Ll.geodeticLatitudeToMercatorAngle(i.latitude)-P)*R,N=h.geodeticSurfaceNormalCartographic(GQe,YQe),L=gl.octEncode(N,XQe),B=E;r.encode(C,E*y,j.center,Ht.fromElements(.5,.5,JQe),w,L,M,N),++E;const F=E,k=F<256?1:2,z=3*(F-1),U=z*k,V=(C.length-F*y)*Float32Array.BYTES_PER_ELEMENT;let H;if(V>=U){const e=F*y*Float32Array.BYTES_PER_ELEMENT;H=F<256?new Uint8Array(C.buffer,e,z):new Uint16Array(C.buffer,e,z)}else H=F<256?new Uint8Array(z):new Uint16Array(z);C=new Float32Array(C.buffer,0,F*y);let G=0;for(A=0;A<F-2;++A)H[G++]=B,H[G++]=A,H[G++]=A+1;H[G++]=B,H[G++]=A,H[G++]=0;const q=[];for(A=S;A>=x;--A)q.push(A);const W=[];for(A=I;A>=S;--A)W.push(A);const Y=[];for(A=D;A>=I;--A)Y.push(A);const X=[];for(X.push(0),A=B-1;A>=D;--A)X.push(A);a.mesh=new cu(r.center,C,H,z,F,v,O,Tt.fromOrientedBoundingBox(j),C1e(e,j.center,s,v,O),r.stride,j,r,q,W,Y,X)}const S=t.context;a._destroyVertexArray(i),a.vertexArray=bQe._createVertexArrayForMesh(S,a.mesh),o.processImagery(n,e.terrainProvider,t,!0);const I=a.waterMaskTexture;if(a.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){const e=o._findAncestorTileWithTerrainData(n);Object(r["a"])(e)&&Object(r["a"])(e.data.waterMaskTexture)&&(a.waterMaskTexture=e.data.waterMaskTexture,++a.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,e,a.waterMaskTranslationAndScale))}Object(r["a"])(I)&&(--I.referenceCount,0===I.referenceCount&&I.destroy())}function c1e(e,t,n,i,o,r,a,c,l,u,h){const d=GQe;d.longitude=s["a"].lerp(t.west,t.east,r),d.latitude=s["a"].lerp(t.south,t.north,a),d.height=c;const f=e.cartographicToCartesian(d,WQe);let p;n.hasGeodeticSurfaceNormals&&(p=e.geodeticSurfaceNormal(f,YQe));const m=KQe;return m.x=r,m.y=a,n.encode(i,o*n.stride,f,m,c,l,u,p),h.minimumHeight=Math.min(h.minimumHeight,c),h.maximumHeight=Math.max(h.maximumHeight,c),o+1}const l1e=new Fe;function u1e(e,t,n,i){let o=e.rectangle;const r=t.rectangle;0===t.x&&1===n.x&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=Fe.clone(e.rectangle,l1e),o.west-=s["a"].TWO_PI,o.east-=s["a"].TWO_PI):0===e.x&&0===n.x&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=Fe.clone(e.rectangle,l1e),o.west+=s["a"].TWO_PI,o.east+=s["a"].TWO_PI);const a=o.east-o.west,c=(r.west-o.west)/a,l=(r.east-o.west)/a,u=o.north-o.south,h=(r.south-o.south)/u,d=(r.north-o.south)/u;let f=(n.x-c)/(l-c),p=(n.y-h)/(d-h);return Math.abs(f)<Math.EPSILON5?f=0:Math.abs(f-1)<Math.EPSILON5&&(f=1),Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),i.x=f,i.y=p,i}const h1e=new Ht;function d1e(e,t,n,i,o){const r=e.encoding,a=e.vertices;if(o.height=r.decodeHeight(a,t),r.hasVertexNormals)r.getOctEncodedNormal(a,t,o.encodedNormal);else{const e=o.encodedNormal;e.x=0,e.y=0}}const f1e=new Ht,p1e=new g;function m1e(e,t,n,i,o,r,a,c,l,u){const h=i.encoding,d=i.vertices,f=u1e(t,n,h.decodeTextureCoordinates(d,o,JQe),JQe),p=u1e(t,n,h.decodeTextureCoordinates(d,r,KQe),KQe);let m;m=l?(a-f.x)/(p.x-f.x):(c-f.y)/(p.y-f.y);const _=h.decodeHeight(d,o),b=h.decodeHeight(d,r),y=n.rectangle;let v;if(GQe.longitude=s["a"].lerp(y.west,y.east,a),GQe.latitude=s["a"].lerp(y.south,y.north,c),u.height=GQe.height=s["a"].lerp(_,b,m),h.hasVertexNormals){const e=h.getOctEncodedNormal(d,o,h1e),t=h.getOctEncodedNormal(d,r,f1e),n=gl.octDecode(e.x,e.y,WQe),i=gl.octDecode(t.x,t.y,p1e);v=g.lerp(n,i,m,WQe),g.normalize(v,v),gl.octEncode(v,u.encodedNormal)}else v=e.geodeticSurfaceNormalCartographic(GQe,WQe),gl.octEncode(v,u.encodedNormal)}function _1e(e,t,n,i,o,r){r.height=o;const a=t.geodeticSurfaceNormalCartographic(GQe,WQe);gl.octEncode(a,r.encodedNormal)}function g1e(e,t,n,i,o,a,s,c,l,u,h){const d=A1e(e,t,c,s,!1,n,i,h)||A1e(e,t,u,l,!0,n,i,h);if(d)return h;let f,p;return w1e(o,a)?(f=0===n?0===i?a.eastIndicesNorthToSouth[0]:a.southIndicesEastToWest[0]:0===i?a.northIndicesWestToEast[0]:a.westIndicesSouthToNorth[0],d1e(a,f,n,i,h),h):(p=0===n?0===i?b1e(e.westMeshes,e.westTiles,dN.EAST,e.southMeshes,e.southTiles,dN.NORTH,n,i):b1e(e.northMeshes,e.northTiles,dN.SOUTH,e.westMeshes,e.westTiles,dN.EAST,n,i):0===i?b1e(e.southMeshes,e.southTiles,dN.NORTH,e.eastMeshes,e.eastTiles,dN.WEST,n,i):b1e(e.eastMeshes,e.eastTiles,dN.WEST,e.northMeshes,e.northTiles,dN.SOUTH,n,i),Object(r["a"])(p)?(_1e(e,t,n,i,p,h),h):void 0)}function b1e(e,t,n,i,o,a,s,c){const l=O1e(e,t,!1,n,s,c),u=O1e(i,o,!0,a,s,c);return Object(r["a"])(l)&&Object(r["a"])(u)?.5*(l+u):Object(r["a"])(l)?l:u}function y1e(e,t,n,i,o,r,a,s,c){for(let l=0;l<r.length;++l)o=v1e(e,t,n,i,o,r[l],a[l],s,c);return o}function v1e(e,t,n,i,o,r,a,c,l){let u=r.rectangle;c===dN.EAST&&0===e.tile.x?(u=Fe.clone(r.rectangle,l1e),u.west-=s["a"].TWO_PI,u.east-=s["a"].TWO_PI):c===dN.WEST&&0===r.x&&(u=Fe.clone(r.rectangle,l1e),u.west+=s["a"].TWO_PI,u.east+=s["a"].TWO_PI);const h=e.tile.rectangle;let d,f,p,m;switch(o>0&&(n.decodeTextureCoordinates(i,o-1,JQe),d=JQe.x,f=JQe.y),c){case dN.WEST:p=a.westIndicesSouthToNorth,m=!1;break;case dN.NORTH:p=a.northIndicesWestToEast,m=!0;break;case dN.EAST:p=a.eastIndicesNorthToSouth,m=!1;break;case dN.SOUTH:p=a.southIndicesEastToWest,m=!0;break}const _=r,g=e.tile,b=a.encoding,y=a.vertices,v=n.stride;let O,w;b.hasWebMercatorT&&(O=Ll.geodeticLatitudeToMercatorAngle(h.south),w=1/(Ll.geodeticLatitudeToMercatorAngle(h.north)-O));for(let A=0;A<p.length;++A){const e=p[A],r=b.decodeTextureCoordinates(y,e,JQe);u1e(_,g,r,r);const a=r.x,c=r.y,u=m?a:c;if(u<0||u>1)continue;if(Math.abs(a-d)<s["a"].EPSILON5&&Math.abs(c-f)<s["a"].EPSILON5)continue;const T=Math.abs(a)<s["a"].EPSILON5||Math.abs(a-1)<s["a"].EPSILON5,C=Math.abs(c)<s["a"].EPSILON5||Math.abs(c-1)<s["a"].EPSILON5;if(T&&C)continue;const E=b.decodePosition(y,e,WQe),x=b.decodeHeight(y,e);let S;b.hasVertexNormals?S=b.getOctEncodedNormal(y,e,XQe):(S=XQe,S.x=0,S.y=0);let I,D=c;if(b.hasWebMercatorT){const e=s["a"].lerp(h.south,h.north,c);D=(Ll.geodeticLatitudeToMercatorAngle(e)-O)*w}n.hasGeodeticSurfaceNormals&&(I=t.geodeticSurfaceNormal(E,YQe)),n.encode(i,o*v,E,r,x,S,D,I),l.minimumHeight=Math.min(l.minimumHeight,x),l.maximumHeight=Math.max(l.maximumHeight,x),++o}return o}function O1e(e,t,n,i,o,a){let s,c,l;n?(s=0,c=e.length,l=1):(s=e.length-1,c=-1,l=-1);for(let u=s;u!==c;u+=l){const o=e[u],a=t[u];if(!w1e(a,o))continue;let s;switch(i){case dN.WEST:s=o.westIndicesSouthToNorth;break;case dN.SOUTH:s=o.southIndicesEastToWest;break;case dN.EAST:s=o.eastIndicesNorthToSouth;break;case dN.NORTH:s=o.northIndicesWestToEast;break}const c=s[n?0:s.length-1];if(Object(r["a"])(c))return o.encoding.decodeHeight(o.vertices,c)}}function w1e(e,t){return Object(r["a"])(t)&&(!Object(r["a"])(e.data.fill)||!e.data.fill.changedThisFrame)}function A1e(e,t,n,i,o,r,a,s){let c,l,u,h,d;const f=i[o?0:n.length-1],p=n[o?0:n.length-1];if(w1e(f,p)&&(0===r?0===a?(c=o?p.northIndicesWestToEast:p.eastIndicesNorthToSouth,l=o,u=o):(c=o?p.eastIndicesNorthToSouth:p.southIndicesEastToWest,l=!o,u=!1):0===a?(c=o?p.westIndicesSouthToNorth:p.northIndicesWestToEast,l=!o,u=!0):(c=o?p.southIndicesEastToWest:p.westIndicesSouthToNorth,l=o,u=!o),c.length>0)){h=o?0:c.length-1,d=c[h],p.encoding.decodeTextureCoordinates(p.vertices,d,JQe);const n=u1e(f,e.tile,JQe,JQe);if(n.x===r&&n.y===a)return d1e(p,d,r,a,s),!0;if(h=Bo(c,l?r:a,(function(t,n){p.encoding.decodeTextureCoordinates(p.vertices,t,JQe);const i=u1e(f,e.tile,JQe,JQe);return u?l?i.x-r:i.y-a:l?r-i.x:a-i.y})),!(h<0))return d1e(p,c[h],r,a,s),!0;if(h=~h,h>0&&h<c.length)return m1e(t,f,e.tile,p,c[h-1],c[h],r,a,l,s),!0}return!1}const T1e=[new g,new g,new g,new g];function C1e(e,t,n,i,o,r){const a=e.quadtree._occluders.ellipsoid,s=a.ellipsoid,c=T1e;return g.fromRadians(n.west,n.south,o,s,c[0]),g.fromRadians(n.east,n.south,o,s,c[1]),g.fromRadians(n.west,n.north,o,s,c[2]),g.fromRadians(n.east,n.north,o,s,c[3]),a.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var E1e=kQe;function x1e(e){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.terrainProvider))throw new a["a"]("options.terrainProvider is required.");if(!Object(r["a"])(e.imageryLayers))throw new a["a"]("options.imageryLayers is required.");if(!Object(r["a"])(e.surfaceShaderSet))throw new a["a"]("options.surfaceShaderSet is required.");this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=wq.RECEIVE_ONLY,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new pi["a"],this._imageryLayers.layerAdded.addEventListener(x1e.prototype._onLayerAdded,this),this._imageryLayers.layerRemoved.addEventListener(x1e.prototype._onLayerRemoved,this),this._imageryLayers.layerMoved.addEventListener(x1e.prototype._onLayerMoved,this),this._imageryLayers.layerShownOrHidden.addEventListener(x1e.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new pi["a"],this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new j_(0,0,.5,1),this._clippingPlanes=void 0,this.cartographicLimitRectangle=Fe.clone(Fe.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldTerrainExaggeration=void 0,this._oldTerrainExaggerationRelativeHeight=void 0}function S1e(e,t){let n=e.loadingImagery;Object(r["a"])(n)||(n=e.readyImagery);let i=t.loadingImagery;return Object(r["a"])(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}function I1e(e,t){const n=t.creditDisplay;e._terrainProvider.ready&&Object(r["a"])(e._terrainProvider.credit)&&n.addCredit(e._terrainProvider.credit);const i=e._imageryLayers;for(let o=0,a=i.length;o<a;++o){const e=i.get(o).imageryProvider;e.ready&&Object(r["a"])(e.credit)&&n.addCredit(e.credit)}}function D1e(e,t){const n=t.globeTranslucencyState;if(n.translucent){const i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}Object.defineProperties(x1e.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._baseColor=e,this._firstPassInitialColor=be.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._quadtree=e}},ready:{get:function(){return this._terrainProvider.ready&&(0===this._imageryLayers.length||this._imageryLayers.get(0).imageryProvider.ready)}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){if(this._terrainProvider!==e){if(!Object(r["a"])(e))throw new a["a"]("terrainProvider is required.");this._terrainProvider=e,Object(r["a"])(this._quadtree)&&this._quadtree.invalidateAllTiles()}}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){M2.setOwner(e,this,"_clippingPlanes")}}}),x1e.prototype.update=function(e){this._imageryLayers._update()},x1e.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile((function(e){e.data.imagery.sort(S1e)}))),I1e(this,e);const t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)bQe._freeVertexArray(t[i]);t.length=0},x1e.prototype.beginUpdate=function(e){const t=this._tilesToRenderByTextureCount;for(let i=0,o=t.length;i<o;++i){const e=t[i];Object(r["a"])(e)&&(e.length=0)}const n=this._clippingPlanes;Object(r["a"])(n)&&n.enabled&&n.update(e),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1},x1e.prototype.endUpdate=function(e){if(!Object(r["a"])(this._renderState)){this._renderState=Mz.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:TG.LESS}}),this._blendRenderState=Mz.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:TG.LESS_OR_EQUAL},blending:MF.ALPHA_BLEND});let e=Object(jL["a"])(this._renderState,!0);e.cull.enabled=!1,this._disableCullingRenderState=Mz.fromCache(e),e=Object(jL["a"])(this._blendRenderState,!0),e.cull.enabled=!1,this._disableCullingBlendRenderState=Mz.fromCache(e)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&E1e.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);const t=this.quadtree,n=e.terrainExaggeration,i=e.terrainExaggerationRelativeHeight,o=this._oldTerrainExaggeration!==n||this._oldTerrainExaggerationRelativeHeight!==i;this._oldTerrainExaggeration=n,this._oldTerrainExaggerationRelativeHeight=i,o&&t.forEachLoadedTile((function(n){const i=n.data;i.updateExaggeration(n,e,t)}));const a=this._tilesToRenderByTextureCount;for(let s=0,c=a.length;s<c;++s){const t=a[s];if(Object(r["a"])(t))for(let n=0,i=t.length;n<i;++n){const i=t[n],o=i.data.tileBoundingRegion;h0e(this,i,e),e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,o.minimumHeight)}}},x1e.prototype.updateForPick=function(e){const t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)D1e(t[n],e)},x1e.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()},x1e.prototype.getLevelMaximumGeometricError=function(e){return this._terrainProvider.getLevelMaximumGeometricError(e)},x1e.prototype.loadTile=function(e,t){let n,i=t.data,o=!0;Object(r["a"])(i)&&(o=i.boundingVolumeSourceTile!==t||t._lastSelectionResult===FQe.CULLED_BUT_NEEDED,n=i.terrainState),bQe.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,o),i=t.data,o&&n!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==uS.NONE&&i.boundingVolumeSourceTile===t&&(o=!1,bQe.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,o))};const j1e=new Tt,P1e=new Fe,R1e=new Fe,M1e=new I;function N1e(e,t){if(t.west<t.east)return t;const n=Fe.clone(t,R1e),i=Fe.center(e,M1e);return i.longitude>0?n.east=s["a"].PI:n.west=-s["a"].PI,n}function L1e(e,t){if(t.cameraUnderground)return!0;if(t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;const n=e._clippingPlanes;return!(!Object(r["a"])(n)||!n.enabled)||!Fe.equals(e.cartographicLimitRectangle,Fe.MAX_VALUE)}x1e.prototype.computeTileVisibility=function(e,t,n){const i=this.computeDistanceToTile(e,t);e._distance=i;const o=L1e(this,t);if(t.fog.enabled&&!o&&s["a"].fog(i,t.fog.density)>=1)return uS.NONE;const a=e.data,c=a.tileBoundingRegion;if(void 0===a.boundingVolumeSourceTile)return uS.PARTIAL;const l=t.cullingVolume;let u=c.boundingVolume;Object(r["a"])(u)||(u=c.boundingSphere),a.clippedByBoundaries=!1;const h=N1e(e.rectangle,this.cartographicLimitRectangle),d=Fe.simpleIntersection(h,e.rectangle,P1e);if(!Object(r["a"])(d))return uS.NONE;if(Fe.equals(d,e.rectangle)||(a.clippedByBoundaries=!0),t.mode!==vq.SCENE3D&&(u=j1e,Tt.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,c.minimumHeight,c.maximumHeight,u),g.fromElements(u.center.z,u.center.x,u.center.y,u.center),t.mode===vq.MORPHING&&Object(r["a"])(a.renderedMesh)&&(u=Tt.union(c.boundingSphere,u,u))),!Object(r["a"])(u))return uS.PARTIAL;const f=this._clippingPlanes;if(Object(r["a"])(f)&&f.enabled){const t=f.computeIntersectionWithBoundingVolume(u);if(e.isClipped=t!==G.INSIDE,t===G.OUTSIDE)return uS.NONE}let p;const m=l.computeVisibility(u);if(m===G.OUTSIDE?p=uS.NONE:m===G.INTERSECTING?p=uS.PARTIAL:m===G.INSIDE&&(p=uS.FULL),p===uS.NONE)return p;const _=t.mode===vq.SCENE3D&&t.camera.frustum instanceof uA;if(t.mode===vq.SCENE3D&&!_&&Object(r["a"])(n)&&!o){const e=a.occludeePointInScaledSpace;return Object(r["a"])(e)?n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(e,c.minimumHeight)?p:uS.NONE:p}return p},x1e.prototype.canRefine=function(e){if(Object(r["a"])(e.data.terrainData))return!0;const t=this.terrainProvider.getTileDataAvailable(2*e.x,2*e.y,e.level+1);return void 0!==t};const B1e=[],F1e=[];x1e.prototype.canRenderWithoutLosingDetail=function(e,t){const n=e.data,i=B1e;i.length=this._imageryLayers.length;let o,a,s,c=!1,l=!1;for(Object(r["a"])(n)&&(c=n.terrainState===tQe.READY,l=!0,o=n.imagery),a=0,s=i.length;a<s;++a)i[a]=l;if(Object(r["a"])(o))for(a=0,s=o.length;a<s;++a){const e=o[a],t=e.loadingImagery,n=!Object(r["a"])(t)||t.state===Z$e.FAILED||t.state===Z$e.INVALID,s=(e.loadingImagery||e.readyImagery).imageryLayer._layerIndex;i[s]=n&&i[s]}const u=this.quadtree._lastSelectionFrameNumber,h=F1e;h.length=0,h.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);while(h.length>0){const e=h.pop(),t=e._lastSelectionResultFrame===u?e._lastSelectionResult:FQe.NONE;if(t===FQe.RENDERED){const t=e.data;if(!Object(r["a"])(t))continue;if(!c&&e.data.terrainState===tQe.READY)return!1;const n=e.data.imagery;for(a=0,s=n.length;a<s;++a){const e=n[a],t=e.loadingImagery,o=!Object(r["a"])(t)||t.state===Z$e.FAILED||t.state===Z$e.INVALID,s=(e.loadingImagery||e.readyImagery).imageryLayer._layerIndex;if(o&&!i[s])return!1}}else t===FQe.REFINED&&h.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild)}return!0};const k1e=new g;x1e.prototype.computeTileLoadPriority=function(e,t){const n=e.data;if(void 0===n)return 0;const i=n.tileBoundingRegion.boundingVolume;if(void 0===i)return 0;const o=t.camera.positionWC,r=t.camera.directionWC,a=g.subtract(i.center,o,k1e),c=g.magnitude(a);return c<s["a"].EPSILON5?0:(g.divideByScalar(a,c,a),(1-g.dot(a,r))*e._distance)};const z1e=new Ne,U1e=new Ne,V1e=new be,H1e=new be,G1e=new be,q1e=new g,W1e=new g,Y1e=new g,X1e=new g;x1e.prototype.showTileThisFrame=function(e,t){let n=0;const i=e.data.imagery;for(let c=0,l=i.length;c<l;++c){const e=i[c];Object(r["a"])(e.readyImagery)&&0!==e.readyImagery.imageryLayer.alpha&&++n}let o=this._tilesToRenderByTextureCount[n];Object(r["a"])(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);const a=e.data;Object(r["a"])(a.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;const s=this._debug;++s.tilesRendered,s.texturesRendered+=n};const K1e=[new g,new g,new g,new g];function J1e(e,t,n,i,o,r){const a=e.quadtree._occluders.ellipsoid,s=a.ellipsoid,c=K1e;return g.fromRadians(n.west,n.south,o,s,c[0]),g.fromRadians(n.east,n.south,o,s,c[1]),g.fromRadians(n.west,n.north,o,s,c[2]),g.fromRadians(n.east,n.north,o,s,c[3]),a.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}function Z1e(e,t,n){let i=e.data;void 0===i&&(i=e.data=new bQe);const o=e.tilingScheme.ellipsoid;void 0===i.tileBoundingRegion&&(i.tileBoundingRegion=new aye({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));const a=i.tileBoundingRegion,s=a.minimumHeight,c=a.maximumHeight;let l=!1,u=e;const h=i.mesh,d=i.terrainData;if(void 0!==h&&void 0!==h.minimumHeight&&void 0!==h.maximumHeight)a.minimumHeight=h.minimumHeight,a.maximumHeight=h.maximumHeight,l=!0;else if(void 0!==d&&void 0!==d._minimumHeight&&void 0!==d._maximumHeight)a.minimumHeight=d._minimumHeight,a.maximumHeight=d._maximumHeight;else{a.minimumHeight=Number.NaN,a.maximumHeight=Number.NaN;let t=e.parent;while(void 0!==t){const e=t.data;if(void 0!==e){const t=e.mesh,n=e.terrainData;if(void 0!==t&&void 0!==t.minimumHeight&&void 0!==t.maximumHeight){a.minimumHeight=t.minimumHeight,a.maximumHeight=t.maximumHeight;break}if(void 0!==n&&void 0!==n._minimumHeight&&void 0!==n._maximumHeight){a.minimumHeight=n._minimumHeight,a.maximumHeight=n._maximumHeight;break}}t=t.parent}u=t}if(void 0!==u){const d=n.terrainExaggeration,f=n.terrainExaggerationRelativeHeight,p=1!==d;if(p&&(l=!1,a.minimumHeight=vl.getHeight(a.minimumHeight,d,f),a.maximumHeight=vl.getHeight(a.maximumHeight,d,f)),l)i.boundingVolumeIsFromMesh||(a._orientedBoundingBox=Xc.clone(h.orientedBoundingBox,a._orientedBoundingBox),a._boundingSphere=Tt.clone(h.boundingSphere3D,a._boundingSphere),i.occludeePointInScaledSpace=g.clone(h.occludeePointInScaledSpace,i.occludeePointInScaledSpace),Object(r["a"])(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=J1e(t,a._orientedBoundingBox.center,e.rectangle,a.minimumHeight,a.maximumHeight,i.occludeePointInScaledSpace)));else{const n=void 0===a._orientedBoundingBox||void 0===a._boundingSphere,r=a.minimumHeight!==s||a.maximumHeight!==c;(r||n)&&(a.computeBoundingVolumes(o),i.occludeePointInScaledSpace=J1e(t,a._orientedBoundingBox.center,e.rectangle,a.minimumHeight,a.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=l}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}function $1e(e,t,n){return function(i){let a,s,c=-1;const l=i.data.imagery,u=l.length;let h;for(h=0;h<u;++h)if(a=l[h],s=Object(o["a"])(a.readyImagery,a.loadingImagery),s.imageryLayer===t){c=h;break}if(-1!==c){const u=c+e;if(a=l[u],s=Object(r["a"])(a)?Object(o["a"])(a.readyImagery,a.loadingImagery):void 0,!Object(r["a"])(s)||s.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,u);for(h=c;h<u;++h)l[h].freeResources();l.splice(c,e)}return!0}}x1e.prototype.computeDistanceToTile=function(e,t){Z1e(e,this,t);const n=e.data,i=n.boundingVolumeSourceTile;if(void 0===i)return 9999999999;const o=n.tileBoundingRegion,r=o.minimumHeight,a=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){const e=t.camera.positionCartographic.height,n=Math.abs(e-r),i=Math.abs(e-a);n>i?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=a,o.maximumHeight=a)}const s=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=a,s},x1e.prototype.isDestroyed=function(){return!1},x1e.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),Wl(this)},x1e.prototype._onLayerAdded=function(e,t){if(e.show){const t=this._terrainProvider,n=this,i=e.imageryProvider,a=this._imageryLayersUpdatedEvent;i._reload=function(){e._imageryCache={},n._quadtree.forEachLoadedTile((function(n){if(Object(r["a"])(n._loadedCallbacks[e._layerIndex]))return;let i;const a=n.data.imagery,s=a.length;let c=-1,l=0;for(i=0;i<s;++i){const t=a[i],n=Object(o["a"])(t.readyImagery,t.loadingImagery);if(n.imageryLayer===e)-1===c&&(c=i),++l;else if(-1!==c)break}if(-1===c)return;const u=c+l;e._createTileImagerySkeletons(n,t,u)&&(n._loadedCallbacks[e._layerIndex]=$1e(l,e,t),n.state=Q$e.LOADING)}))},this._quadtree.forEachLoadedTile((function(i){e._createTileImagerySkeletons(i,t)&&(i.state=Q$e.LOADING,0===i.level||i._lastSelectionResultFrame===n.quadtree._lastSelectionFrameNumber&&i._lastSelectionResult===FQe.RENDERED||(i.renderable=!1))})),this._layerOrderChanged=!0,a.raiseEvent()}},x1e.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile((function(t){const n=t.data.imagery;let i=-1,o=0;for(let a=0,s=n.length;a<s;++a){const t=n[a];let s=t.loadingImagery;if(Object(r["a"])(s)||(s=t.readyImagery),s.imageryLayer===e)-1===i&&(i=a),t.freeResources(),++o;else if(-1!==i)break}-1!==i&&n.splice(i,o)})),Object(r["a"])(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()},x1e.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()},x1e.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};const Q1e=new Ne,e0e=new Ne;function t0e(e,t){const n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_terrainExaggerationAndRelativeHeight:function(){return this.properties.terrainExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){const t=e.context.uniformState.view,n=Ne.multiplyByPoint(t,this.properties.rtc,W1e);return Ne.setTranslation(t,n,z1e),z1e},u_modifiedModelViewProjection:function(){const t=e.context.uniformState.view,n=e.context.uniformState.projection,i=Ne.multiplyByPoint(t,this.properties.rtc,W1e);return Ne.setTranslation(t,i,U1e),Ne.multiply(n,U1e,U1e),U1e},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){const n=t._clippingPlanes;return Object(r["a"])(n)&&Object(r["a"])(n.texture)?n.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){const n=t._clippingPlanes,i=Object(r["a"])(n)?Ne.multiply(e.context.uniformState.view,n.modelMatrix,Q1e):Ne.IDENTITY;return Ne.inverseTranspose(i,e0e)},u_clippingPlanesEdgeStyle:function(){const e=this.properties.clippingPlanesEdgeColor;return e.alpha=this.properties.clippingPlanesEdgeWidth,e},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},properties:{initialColor:new be(0,0,.5,1),fillHighlightColor:new j_(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new Ht(65e5,9e6),nightFadeDistance:new Ht(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new g(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new g(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new g,center3D:void 0,rtc:new g,modifiedModelView:new Ne,tileRectangle:new be,terrainExaggerationAndRelativeHeight:new Ht(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new Ht,southMercatorYAndOneOverHeight:new Ht,waterMask:void 0,waterMaskTranslationAndScale:new be,minMaxHeight:new Ht,scaleAndBias:new Ne,clippingPlanesEdgeColor:j_.clone(j_.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new be,frontFaceAlphaByDistance:new be,backFaceAlphaByDistance:new be,localizedTranslucencyRectangle:new be,undergroundColor:j_.clone(j_.TRANSPARENT),undergroundColorAlphaByDistance:new be,lambertDiffuseMultiplier:0}};return Object(r["a"])(t.materialUniformMap)?Object(xS["a"])(n,t.materialUniformMap):n}function n0e(e,t,n){const i=n.data;let o,a;if(Object(r["a"])(i.vertexArray)?(o=i.mesh,a=i.vertexArray):Object(r["a"])(i.fill)&&Object(r["a"])(i.fill.vertexArray)&&(o=i.fill.mesh,a=i.fill.vertexArray),Object(r["a"])(o)&&Object(r["a"])(a)){if(Object(r["a"])(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=i0e(e,a,o),i.wireframeVertexArray.mesh=o}}function i0e(e,t,n){const i=n.indices,o={indices:i,primitiveType:xh.TRIANGLES};_m.toWireframe(o);const r=o.indices,a=SG.createIndexBuffer({context:e,typedArray:r,usage:EG.STATIC_DRAW,indexDatatype:uu.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new BG({context:e,attributes:t._attributes,indexBuffer:a})}let o0e,r0e,a0e;(function(){const e=new Df({geometry:sd.fromDimensions({dimensions:new g(2,2,2)})}),t=new Df({geometry:new aN({radius:1})});let n,i,o=new Ne;function a(e){return new bW({geometryInstances:e,appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1})}o0e=function(t,r){return t===n||(a0e(),n=t,o=Ne.fromRotationTranslation(t.halfAxes,t.center,o),e.modelMatrix=o,e.attributes.color=R_.fromColor(r),i=a(e)),i},r0e=function(e,r){return e===n||(a0e(),n=e,o=Ne.fromTranslation(e.center,o),o=Ne.multiplyByUniformScale(o,e.radius,o),t.modelMatrix=o,t.attributes.color=R_.fromColor(r),i=a(t)),i},a0e=function(){Object(r["a"])(i)&&(i.destroy(),i=void 0,n=void 0)}})();const s0e=new be(0,0,0,0),c0e={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},l0e=j_.TRANSPARENT,u0e=new cS;function h0e(e,t,n){const i=t.data;Object(r["a"])(i.vertexArray)||(void 0===i.fill&&(i.fill=new E1e(t)),i.fill.update(e,n));const c=n.creditDisplay,l=i.terrainData;if(Object(r["a"])(l)&&Object(r["a"])(l.credits)){const e=l.credits;for(let t=0,n=e.length;t<n;++t)c.addCredit(e[t])}let u=zF.maximumTextureImageUnits,h=i.waterMaskTexture,d=i.waterMaskTranslationAndScale;!Object(r["a"])(h)&&Object(r["a"])(i.fill)&&(h=i.fill.waterMaskTexture,d=i.fill.waterMaskTranslationAndScale);const f=n.cameraUnderground,p=n.globeTranslucencyState,m=p.translucent,_=p.frontFaceAlphaByDistance,b=p.backFaceAlphaByDistance,y=p.rectangle,v=Object(o["a"])(e.undergroundColor,l0e),O=Object(o["a"])(e.undergroundColorAlphaByDistance,u0e),w=L1e(e,n)&&n.mode===vq.SCENE3D&&v.alpha>0&&(O.nearValue>0||O.farValue>0),A=e.lambertDiffuseMultiplier,T=e.hasWaterMask&&Object(r["a"])(h),C=e.oceanNormalMap,E=T&&Object(r["a"])(C),x=e.terrainProvider.ready&&e.terrainProvider.hasVertexNormals,S=n.fog.enabled&&n.fog.renderable&&!f,I=e.showGroundAtmosphere&&n.mode===vq.SCENE3D,D=wq.castShadows(e.shadows)&&!m,j=wq.receiveShadows(e.shadows)&&!m,P=e.hueShift,R=e.saturationShift,M=e.brightnessShift;let N=!(s["a"].equalsEpsilon(P,0,s["a"].EPSILON7)&&s["a"].equalsEpsilon(R,0,s["a"].EPSILON7)&&s["a"].equalsEpsilon(M,0,s["a"].EPSILON7)),L=!1;if(I){const t=g.magnitude(n.camera.positionWC),i=e.nightFadeOutDistance;L=t>i}T&&--u,E&&--u,Object(r["a"])(n.shadowState)&&n.shadowState.shadowsEnabled&&--u,Object(r["a"])(e.clippingPlanes)&&e.clippingPlanes.enabled&&--u,u-=p.numberOfTextureUniforms;const B=i.renderedMesh;let F=B.center;const k=B.encoding,z=i.tileBoundingRegion,U=n.terrainExaggeration,V=n.terrainExaggerationRelativeHeight,H=1!==U,G=k.hasGeodeticSurfaceNormals,q=V1e;let W=0,Y=0,X=0,K=0,J=!1;if(n.mode!==vq.SCENE3D){const e=n.mapProjection,i=e.project(Fe.southwest(t.rectangle),Y1e),o=e.project(Fe.northeast(t.rectangle),X1e);if(q.x=i.x,q.y=i.y,q.z=o.x,q.w=o.y,n.mode!==vq.MORPHING&&(F=q1e,F.x=0,F.y=.5*(q.z+q.x),F.z=.5*(q.w+q.y),q.x-=F.y,q.y-=F.z,q.z-=F.y,q.w-=F.z),n.mode===vq.SCENE2D&&k.quantization===wl.BITS12){const e=1/(Math.pow(2,12)-1)*.5,t=(q.z-q.x)*e,n=(q.w-q.y)*e;q.x-=t,q.y-=n,q.z+=t,q.w+=n}e instanceof Ll&&(W=t.rectangle.south,Y=t.rectangle.north,X=Ll.geodeticLatitudeToMercatorAngle(W),K=1/(Ll.geodeticLatitudeToMercatorAngle(Y)-X),J=!0)}const Z=c0e;Z.frameState=n,Z.surfaceTile=i,Z.showReflectiveOcean=T,Z.showOceanWaves=E,Z.enableLighting=e.enableLighting,Z.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Z.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Z.showGroundAtmosphere=I,Z.atmosphereLightIntensity=e.atmosphereLightIntensity,Z.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Z.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Z.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Z.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Z.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Z.perFragmentGroundAtmosphere=L,Z.hasVertexNormals=x,Z.useWebMercatorProjection=J,Z.clippedByBoundaries=i.clippedByBoundaries,Z.hasGeodeticSurfaceNormals=G,Z.hasExaggeration=H;const $=i.imagery;let Q=0;const ee=$.length,te=e.showSkirts&&!f&&!m,ne=e.backFaceCulling&&!f&&!m,ie=ne?e._renderState:e._disableCullingRenderState,oe=ne?e._blendRenderState:e._disableCullingBlendRenderState;let re=ie,ae=e._firstPassInitialColor;const se=n.context;Object(r["a"])(e._debug.boundingSphereTile)||a0e();const ce=e._materialUniformMap!==e.materialUniformMap;if(ce){e._materialUniformMap=e.materialUniformMap;const t=e._drawCommands.length;for(let i=0;i<t;++i)e._uniformMaps[i]=t0e(n,e)}do{let o,l,T=0;if(e._drawCommands.length<=e._usedDrawCommands?(o=new nz,o.owner=t,o.cull=!1,o.boundingVolume=new Tt,o.orientedBoundingBox=void 0,l=t0e(n,e),e._drawCommands.push(o),e._uniformMaps.push(l)):(o=e._drawCommands[e._usedDrawCommands],l=e._uniformMaps[e._usedDrawCommands]),o.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){const e=z.boundingVolume,t=z.boundingSphere;Object(r["a"])(e)?o0e(e,j_.RED).update(n):Object(r["a"])(t)&&r0e(t,j_.RED).update(n)}const E=l.properties;be.clone(ae,E.initialColor),E.oceanNormalMap=C,E.lightingFadeDistance.x=e.lightingFadeOutDistance,E.lightingFadeDistance.y=e.lightingFadeInDistance,E.nightFadeDistance.x=e.nightFadeOutDistance,E.nightFadeDistance.y=e.nightFadeInDistance,E.atmosphereLightIntensity=e.atmosphereLightIntensity,E.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,E.atmosphereMieCoefficient=e.atmosphereMieCoefficient,E.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,E.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,E.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,E.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;const x=f?b:_,L=f?_:b;Object(r["a"])(x)&&(be.fromElements(x.near,x.nearValue,x.far,x.farValue,E.frontFaceAlphaByDistance),be.fromElements(L.near,L.nearValue,L.far,L.farValue,E.backFaceAlphaByDistance)),be.fromElements(O.near,O.nearValue,O.far,O.farValue,E.undergroundColorAlphaByDistance),j_.clone(v,E.undergroundColor),E.lambertDiffuseMultiplier=A;const H=!Object(r["a"])(i.vertexArray)&&Object(r["a"])(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;H&&j_.clone(e.fillHighlightColor,E.fillHighlightColor),E.terrainExaggerationAndRelativeHeight.x=U,E.terrainExaggerationAndRelativeHeight.y=V,E.center3D=B.center,g.clone(F,E.rtc),be.clone(q,E.tileRectangle),E.southAndNorthLatitude.x=W,E.southAndNorthLatitude.y=Y,E.southMercatorYAndOneOverHeight.x=X,E.southMercatorYAndOneOverHeight.y=K;const G=H1e,J=N1e(t.rectangle,e.cartographicLimitRectangle),ne=G1e,ie=N1e(t.rectangle,y);g.fromElements(P,R,M,E.hsbShift);const ce=t.rectangle,le=1/ce.width,ue=1/ce.height;G.x=(J.west-ce.west)*le,G.y=(J.south-ce.south)*ue,G.z=(J.east-ce.west)*le,G.w=(J.north-ce.south)*ue,be.clone(G,E.localizedCartographicLimitRectangle),ne.x=(ie.west-ce.west)*le,ne.y=(ie.south-ce.south)*ue,ne.z=(ie.east-ce.west)*le,ne.w=(ie.north-ce.south)*ue,be.clone(ne,E.localizedTranslucencyRectangle);const he=S&&s["a"].fog(t._distance,n.fog.density)>s["a"].EPSILON3;N=N&&(he||I);let de=!1,fe=!1,pe=!1,me=!1,_e=!1,ge=!1,ye=!1,ve=!1,Oe=!1,we=!1;while(T<u&&Q<ee){const e=$[Q],n=e.readyImagery;if(++Q,!Object(r["a"])(n)||0===n.imageryLayer.alpha)continue;const i=e.useWebMercatorT?n.textureWebMercator:n.texture;if(!Object(r["a"])(i))throw new a["a"]("readyImagery is not actually ready!");const o=n.imageryLayer;Object(r["a"])(e.textureTranslationAndScale)||(e.textureTranslationAndScale=o._calculateTextureTranslationAndScale(t,e)),E.dayTextures[T]=i,E.dayTextureTranslationAndScale[T]=e.textureTranslationAndScale,E.dayTextureTexCoordsRectangle[T]=e.textureCoordinateRectangle,E.dayTextureUseWebMercatorT[T]=e.useWebMercatorT,E.dayTextureAlpha[T]=o.alpha,ge=ge||1!==E.dayTextureAlpha[T],E.dayTextureNightAlpha[T]=o.nightAlpha,ye=ye||1!==E.dayTextureNightAlpha[T],E.dayTextureDayAlpha[T]=o.dayAlpha,ye=ye||1!==E.dayTextureDayAlpha[T],E.dayTextureBrightness[T]=o.brightness,de=de||E.dayTextureBrightness[T]!==LQe.DEFAULT_BRIGHTNESS,E.dayTextureContrast[T]=o.contrast,fe=fe||E.dayTextureContrast[T]!==LQe.DEFAULT_CONTRAST,E.dayTextureHue[T]=o.hue,pe=pe||E.dayTextureHue[T]!==LQe.DEFAULT_HUE,E.dayTextureSaturation[T]=o.saturation,me=me||E.dayTextureSaturation[T]!==LQe.DEFAULT_SATURATION,E.dayTextureOneOverGamma[T]=1/o.gamma,_e=_e||E.dayTextureOneOverGamma[T]!==1/LQe.DEFAULT_GAMMA,E.dayTextureSplit[T]=o.splitDirection,ve=ve||0!==E.dayTextureSplit[T];let s=E.dayTextureCutoutRectangles[T];if(Object(r["a"])(s)||(s=E.dayTextureCutoutRectangles[T]=new be),be.clone(be.ZERO,s),Object(r["a"])(o.cutoutRectangle)){const e=N1e(ce,o.cutoutRectangle),t=Fe.simpleIntersection(e,ce,P1e);Oe=Object(r["a"])(t)||Oe,s.x=(e.west-ce.west)*le,s.y=(e.south-ce.south)*ue,s.z=(e.east-ce.west)*le,s.w=(e.north-ce.south)*ue}let l=E.colorsToAlpha[T];Object(r["a"])(l)||(l=E.colorsToAlpha[T]=new be);const u=Object(r["a"])(o.colorToAlpha)&&o.colorToAlphaThreshold>0;if(we=we||u,u){const e=o.colorToAlpha;l.x=e.red,l.y=e.green,l.z=e.blue,l.w=o.colorToAlphaThreshold}else l.w=-1;if(Object(r["a"])(n.credits)){const e=n.credits;for(let t=0,n=e.length;t<n;++t)c.addCredit(e[t])}++T}E.dayTextures.length=T,E.waterMask=h,be.clone(d,E.waterMaskTranslationAndScale),E.minMaxHeight.x=k.minimumHeight,E.minMaxHeight.y=k.maximumHeight,Ne.clone(k.matrix,E.scaleAndBias);const Ae=e._clippingPlanes,Te=Object(r["a"])(Ae)&&Ae.enabled&&t.isClipped;Te&&(E.clippingPlanesEdgeColor=j_.clone(Ae.edgeColor,E.clippingPlanesEdgeColor),E.clippingPlanesEdgeWidth=Ae.edgeWidth),Z.numberOfDayTextures=T,Z.applyBrightness=de,Z.applyContrast=fe,Z.applyHue=pe,Z.applySaturation=me,Z.applyGamma=_e,Z.applyAlpha=ge,Z.applyDayNightAlpha=ye,Z.applySplit=ve,Z.enableFog=he,Z.enableClippingPlanes=Te,Z.clippingPlanes=Ae,Z.hasImageryLayerCutout=Oe,Z.colorCorrect=N,Z.highlightFillTile=H,Z.colorToAlpha=we,Z.showUndergroundColor=w,Z.translucent=m;let Ce=i.renderedMesh.indices.length;te||(Ce=i.renderedMesh.indexCountWithoutSkirts),o.shaderProgram=e._surfaceShaderSet.getShaderProgram(Z),o.castShadows=D,o.receiveShadows=j,o.renderState=re,o.primitiveType=xh.TRIANGLES,o.vertexArray=i.vertexArray||i.fill.vertexArray,o.count=Ce,o.uniformMap=l,o.pass=oz.GLOBE,e._debug.wireframe&&(n0e(se,e,t),Object(r["a"])(i.wireframeVertexArray)&&(o.vertexArray=i.wireframeVertexArray,o.primitiveType=xh.LINES,o.count=2*Ce));let Ee=o.boundingVolume;const xe=o.orientedBoundingBox;n.mode!==vq.SCENE3D?(Tt.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,z.minimumHeight,z.maximumHeight,Ee),g.fromElements(Ee.center.z,Ee.center.x,Ee.center.y,Ee.center),n.mode===vq.MORPHING&&(Ee=Tt.union(z.boundingSphere,Ee,Ee))):(o.boundingVolume=Tt.clone(z.boundingSphere,Ee),o.orientedBoundingBox=Xc.clone(z.boundingVolume,xe)),o.dirty=!0,m&&p.updateDerivedCommands(o,n),D1e(o,n),re=oe,ae=s0e}while(Q<ee)}var d0e=x1e;function f0e(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=Fe.clone(Fe.MAX_VALUE)}Object.defineProperties(f0e.prototype,{enabled:{get:function(){return this._enabled},set:function(e){i["a"].typeOf.bool("enabled",e),this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("frontFaceAlpha",e,0),i["a"].typeOf.number.lessThanOrEquals("frontFaceAlpha",e,1),this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<e.near)throw new a["a"]("far distance must be greater than near distance.");this._frontFaceAlphaByDistance=cS.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("backFaceAlpha",e,0),i["a"].typeOf.number.lessThanOrEquals("backFaceAlpha",e,1),this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<e.near)throw new a["a"]("far distance must be greater than near distance.");this._backFaceAlphaByDistance=cS.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){Object(r["a"])(e)||(e=Fe.clone(Fe.MAX_VALUE)),Fe.clone(e,this._rectangle)}}});var p0e=f0e;function m0e(){this._layers=[],this.layerAdded=new pi["a"],this.layerRemoved=new pi["a"],this.layerMoved=new pi["a"],this.layerShownOrHidden=new pi["a"]}function _0e(e,t){if(!Object(r["a"])(t))throw new a["a"]("layer is required.");const n=e.indexOf(t);if(-1===n)throw new a["a"]("layer is not in this collection.");return n}function g0e(e,t,n){const i=e._layers;if(t=s["a"].clamp(t,0,i.length-1),n=s["a"].clamp(n,0,i.length-1),t===n)return;const o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}Object.defineProperties(m0e.prototype,{length:{get:function(){return this._layers.length}}}),m0e.prototype.add=function(e,t){const n=Object(r["a"])(t);if(!Object(r["a"])(e))throw new a["a"]("layer is required.");if(n){if(t<0)throw new a["a"]("index must be greater than or equal to zero.");if(t>this._layers.length)throw new a["a"]("index must be less than or equal to the number of layers.")}n?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t)},m0e.prototype.addImageryProvider=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("imageryProvider is required.");const n=new LQe(e);return this.add(n,t),n},m0e.prototype.remove=function(e,t){t=Object(o["a"])(t,!0);const n=this._layers.indexOf(e);return-1!==n&&(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0)},m0e.prototype.removeAll=function(e){e=Object(o["a"])(e,!0);const t=this._layers;for(let n=0,i=t.length;n<i;n++){const i=t[n];this.layerRemoved.raiseEvent(i,n),e&&i.destroy()}this._layers=[]},m0e.prototype.contains=function(e){return-1!==this.indexOf(e)},m0e.prototype.indexOf=function(e){return this._layers.indexOf(e)},m0e.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.","index");return this._layers[e]},m0e.prototype.raise=function(e){const t=_0e(this._layers,e);g0e(this,t,t+1)},m0e.prototype.lower=function(e){const t=_0e(this._layers,e);g0e(this,t,t-1)},m0e.prototype.raiseToTop=function(e){const t=_0e(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))},m0e.prototype.lowerToBottom=function(e){const t=_0e(this._layers,e);0!==t&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};const b0e=new Fe;function y0e(e,t,n,i){const o=e.globe._surface._tilesToRender;let a;for(let s=0;!Object(r["a"])(a)&&s<o.length;++s){const e=o[s];Fe.contains(e.rectangle,t)&&(a=e)}if(!Object(r["a"])(a))return;const c=a.data.imagery;for(let l=c.length-1;l>=0;--l){const e=c[l],o=e.readyImagery;if(!Object(r["a"])(o))continue;const u=o.imageryLayer.imageryProvider;if(n&&!Object(r["a"])(u.pickFeatures))continue;if(!Fe.contains(o.rectangle,t))continue;const h=b0e,d=1/1024;h.west=s["a"].lerp(a.rectangle.west,a.rectangle.east,e.textureCoordinateRectangle.x-d),h.east=s["a"].lerp(a.rectangle.west,a.rectangle.east,e.textureCoordinateRectangle.z+d),h.south=s["a"].lerp(a.rectangle.south,a.rectangle.north,e.textureCoordinateRectangle.y-d),h.north=s["a"].lerp(a.rectangle.south,a.rectangle.north,e.textureCoordinateRectangle.w+d),Fe.contains(h,t)&&i(o)}}m0e.prototype.pickImageryLayers=function(e,t){const n=t.globe.pick(e,t);if(!Object(r["a"])(n))return;const i=t.globe.ellipsoid.cartesianToCartographic(n),o=[];return y0e(t,i,!1,(function(e){o.push(e.imageryLayer)})),0!==o.length?o:void 0},m0e.prototype.pickImageryLayerFeatures=function(e,t){const n=t.globe.pick(e,t);if(!Object(r["a"])(n))return;const i=t.globe.ellipsoid.cartesianToCartographic(n),o=[],a=[];return y0e(t,i,!0,(function(e){const t=e.imageryLayer.imageryProvider,n=t.pickFeatures(e.x,e.y,e.level,i.longitude,i.latitude);Object(r["a"])(n)&&(o.push(n),a.push(e.imageryLayer))})),0!==o.length?Promise.all(o).then((function(e){const t=[];for(let n=0;n<e.length;++n){const o=e[n],s=a[n];if(Object(r["a"])(o)&&o.length>0)for(let e=0;e<o.length;++e){const n=o[e];n.imageryLayer=s,Object(r["a"])(n.position)||(n.position=i),t.push(n)}}return t})):void 0},m0e.prototype.queueReprojectionCommands=function(e){const t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)},m0e.prototype.cancelReprojections=function(){const e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()},m0e.prototype.isDestroyed=function(){return!1},m0e.prototype.destroy=function(){return this.removeAll(!0),Wl(this)},m0e.prototype._update=function(){let e=!0;const t=this._layers;let n,i,o,a;for(o=0,a=t.length;o<a;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(Object(r["a"])(i._show)&&(Object(r["a"])(n)||(n=[]),n.push(i)),i._show=i.show);if(Object(r["a"])(n))for(o=0,a=n.length;o<a;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var v0e=m0e;function O0e(e){this._ellipsoid=new Bi(e.ellipsoid,g.ZERO)}Object.defineProperties(O0e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var w0e=O0e;function A0e(e){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.x))throw new a["a"]("options.x is required.");if(!Object(r["a"])(e.y))throw new a["a"]("options.y is required.");if(e.x<0||e.y<0)throw new a["a"]("options.x and options.y must be greater than or equal to zero.");if(!Object(r["a"])(e.level))throw new a["a"]("options.level is required and must be greater than or equal to zero.");if(!Object(r["a"])(e.tilingScheme))throw new a["a"]("options.tilingScheme is required.");this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=FQe.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=Q$e.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}function T0e(e){Object(r["a"])(e)&&e.freeResources()}A0e.createLevelZeroTiles=function(e){if(!Object(r["a"])(e))throw new a["a"]("tilingScheme is required.");const t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n);let o=0;for(let r=0;r<n;++r)for(let n=0;n<t;++n)i[o++]=new A0e({tilingScheme:e,x:n,y:r,level:0});return i},A0e.prototype._updateCustomData=function(e,t,n){let i,o,a,s=this.customData;if(Object(r["a"])(t)&&Object(r["a"])(n)){for(s=s.filter((function(e){return-1===n.indexOf(e)})),this._customData=s,a=this._rectangle,i=0;i<t.length;++i)o=t[i],Fe.contains(a,o.positionCartographic)&&s.push(o);this._frameUpdated=e}else{const e=this._parent;if(Object(r["a"])(e)&&this._frameUpdated!==e._frameUpdated){s.length=0,a=this._rectangle;const t=e.customData;for(i=0;i<t.length;++i)o=t[i],Fe.contains(a,o.positionCartographic)&&s.push(o);this._frameUpdated=e._frameUpdated}}},Object.defineProperties(A0e.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return Object(r["a"])(this._southwestChild)||(this._southwestChild=new A0e({tilingScheme:this.tilingScheme,x:2*this.x,y:2*this.y+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return Object(r["a"])(this._southeastChild)||(this._southeastChild=new A0e({tilingScheme:this.tilingScheme,x:2*this.x+1,y:2*this.y+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return Object(r["a"])(this._northwestChild)||(this._northwestChild=new A0e({tilingScheme:this.tilingScheme,x:2*this.x,y:2*this.y,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return Object(r["a"])(this._northeastChild)||(this._northeastChild=new A0e({tilingScheme:this.tilingScheme,x:2*this.x+1,y:2*this.y,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<Q$e.DONE}},eligibleForUnloading:{get:function(){let e=!0;return Object(r["a"])(this.data)&&(e=this.data.eligibleForUnloading,Object(r["a"])(e)||(e=!0)),e}}}),A0e.prototype.findLevelZeroTile=function(e,t,n){const i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter((function(e){return e.x===t&&e.y===n}))[0]},A0e.prototype.findTileToWest=function(e){const t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;const n=t.findTileToWest(e);return void 0!==n?t.southwestChild===this?n.southeastChild:n.northeastChild:void 0},A0e.prototype.findTileToEast=function(e){const t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;const n=t.findTileToEast(e);return void 0!==n?t.southeastChild===this?n.southwestChild:n.northwestChild:void 0},A0e.prototype.findTileToSouth=function(e){const t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;const n=t.findTileToSouth(e);return void 0!==n?t.southwestChild===this?n.northwestChild:n.northeastChild:void 0},A0e.prototype.findTileToNorth=function(e){const t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;const n=t.findTileToNorth(e);return void 0!==n?t.northwestChild===this?n.southwestChild:n.southeastChild:void 0},A0e.prototype.freeResources=function(){this.state=Q$e.START,this.renderable=!1,this.upsampledFromParent=!1,Object(r["a"])(this.data)&&Object(r["a"])(this.data.freeResources)&&this.data.freeResources(),T0e(this._southwestChild),this._southwestChild=void 0,T0e(this._southeastChild),this._southeastChild=void 0,T0e(this._northwestChild),this._northwestChild=void 0,T0e(this._northeastChild),this._northeastChild=void 0};var C0e=A0e;function E0e(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}function x0e(e,t){const n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}E0e.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head},E0e.prototype.trimTiles=function(e){let t=this.tail,n=!0;while(n&&Object(r["a"])(this._lastBeforeStartOfFrame)&&this.count>e&&Object(r["a"])(t)){n=t!==this._lastBeforeStartOfFrame;const e=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),x0e(this,t)),t=e}},E0e.prototype.markTileRendered=function(e){const t=this.head;if(t!==e){if(++this.count,!Object(r["a"])(t))return e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,void(this.tail=e);(Object(r["a"])(e.replacementPrevious)||Object(r["a"])(e.replacementNext))&&x0e(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e}else e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext)};var S0e=E0e;function I0e(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.tileProvider))throw new a["a"]("options.tileProvider is required.");if(Object(r["a"])(e.tileProvider.quadtree))throw new a["a"]("A QuadtreeTileProvider can only be used with a single QuadtreePrimitive");this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};const t=this._tileProvider.tilingScheme,n=t.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new S0e,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=Object(o["a"])(e.maximumScreenSpaceError,2),this.tileCacheSize=Object(o["a"])(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new w0e({ellipsoid:n}),this._tileLoadProgressEvent=new pi["a"],this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}function D0e(e){const t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,j0e(e);const n=e._levelZeroTiles;if(Object(r["a"])(n))for(let i=0;i<n.length;++i){const t=n[i],o=t.customData,r=o.length;for(let n=0;n<r;++n){const t=o[n];t.level=0,e._addHeightCallbacks.push(t)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}function j0e(e){const t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}function P0e(e,t){const n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;(n!==e._lastTileLoadQueueLength||e._tilesInvalidated)&&(t.afterRender.push(pi["a"].prototype.raiseEvent.bind(e._tileLoadProgressEvent,n)),e._lastTileLoadQueueLength=n);const i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce((function(e,t){return Math.max(e,t.level)}),-1),i.tilesRendered=e._tilesToRender.length,i.tilesVisited===i.lastTilesVisited&&i.tilesRendered===i.lastTilesRendered&&i.tilesCulled===i.lastTilesCulled&&i.maxDepth===i.lastMaxDepth&&i.tilesWaitingForChildren===i.lastTilesWaitingForChildren&&i.maxDepthVisited===i.lastMaxDepthVisited||(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}let R0e;Object.defineProperties(I0e.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}}),I0e.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0},I0e.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;while(Object(r["a"])(t))t.state!==Q$e.START&&e(t),t=t.replacementNext},I0e.prototype.forEachRenderedTile=function(e){const t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])},I0e.prototype.updateHeight=function(e,t){const n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t,removeFunc:function(){const e=n._addHeightCallbacks,t=e.length;for(let n=0;n<t;++n)if(e[n]===i){e.splice(n,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)}};return n._addHeightCallbacks.push(i),i.removeFunc},I0e.prototype.update=function(e){Object(r["a"])(this._tileProvider.update)&&this._tileProvider.update(e)},I0e.prototype.beginFrame=function(e){const t=e.passes;t.render&&(this._tilesInvalidated&&(D0e(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),j0e(this),this._debug.suspendLodUpdate||this._tileReplacementQueue.markStartOfRenderFrame())},I0e.prototype.render=function(e){const t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),F0e(this,e),o2e(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)},I0e.prototype.endFrame=function(e){const t=e.passes;t.render&&e.mode!==vq.MORPHING&&(J0e(this,e),i2e(this,e),P0e(this,e))},I0e.prototype.isDestroyed=function(){return!1},I0e.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};const M0e=new I;function N0e(e,t){let n=Fe.center(e.rectangle,M0e);const i=n.longitude-R0e.longitude,o=n.latitude-R0e.latitude;n=Fe.center(t.rectangle,M0e);const r=n.longitude-R0e.longitude,a=n.latitude-R0e.latitude;return i*i+o*o-(r*r+a*a)}const L0e=new g;let B0e=[];function F0e(e,t){const n=e._debug;if(n.suspendLodUpdate)return;const i=e._tilesToRender;let o;i.length=0;const a=e._tileProvider;if(!Object(r["a"])(e._levelZeroTiles)){if(!a.ready)return;{const t=a.tilingScheme;e._levelZeroTiles=C0e.createLevelZeroTiles(t);const n=e._levelZeroTiles.length;if(B0e.length<n)for(B0e=new Array(n),o=0;o<n;++o)void 0===B0e[o]&&(B0e[o]=new z0e)}}let s;e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;const c=e._levelZeroTiles,l=c.length>1?e._occluders:void 0;R0e=t.camera.positionCartographic,c.sort(N0e);const u=e._addHeightCallbacks,h=e._removeHeightCallbacks,d=t.frameNumber;let f;if(u.length>0||h.length>0){for(o=0,f=c.length;o<f;++o)s=c[o],s._updateCustomData(d,u,h);u.length=0,h.length=0}const p=t.camera;e._cameraPositionCartographic=p.positionCartographic;const m=Ne.getTranslation(p.transform,L0e);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,f=c.length;o<f;++o)s=c[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?W0e(e,s,a,t,l,!1,B0e[o]):(k0e(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function k0e(e,t,n,i){n.needsLoading&&(void 0!==e.tileProvider.computeTileLoadPriority&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function z0e(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function U0e(){this.southwest=new z0e,this.southeast=new z0e,this.northwest=new z0e,this.northeast=new z0e}U0e.prototype.combine=function(e){const t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};const V0e=new Array(31);for(let opt=0;opt<V0e.length;++opt)V0e[opt]=new U0e;function H0e(e,t,n,i,o){const a=e._debug;++a.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>a.maxDepthVisited&&(a.maxDepthVisited=n.level);const s=Y0e(e,t,n)<e.maximumScreenSpaceError,c=n.southwestChild,l=n.southeastChild,u=n.northwestChild,h=n.northeastChild,d=e._lastSelectionFrameNumber,f=n._lastSelectionResultFrame===d?n._lastSelectionResult:FQe.NONE,p=e.tileProvider;if(s||i){const a=FQe.originalResult(f)===FQe.RENDERED,c=FQe.originalResult(f)===FQe.CULLED||f===FQe.NONE,l=n.state===Q$e.DONE;let u=a||c||l;if(u||Object(r["a"])(p.canRenderWithoutLosingDetail)&&(u=p.canRenderWithoutLosingDetail(n)),u)return s&&k0e(e,e._tileLoadQueueMedium,n,t),K0e(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=f===FQe.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=FQe.RENDERED,void(o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n));i=!0,s&&k0e(e,e._tileLoadQueueHigh,n,t)}if(p.canRefine(n)){const r=c.upsampledFromParent&&l.upsampledFromParent&&u.upsampledFromParent&&h.upsampledFromParent;if(r)return K0e(e,n),k0e(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(l),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(h),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=f===FQe.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=FQe.RENDERED,void(o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n));n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=FQe.REFINED;const s=e._tilesToRender.length,d=e._tileLoadQueueLow.length,p=e._tileLoadQueueMedium.length,m=e._tileLoadQueueHigh.length,_=e._tileToUpdateHeights.length;if(G0e(e,c,l,u,h,t,i,o),s!==e._tilesToRender.length){const i=o.allAreRenderable,r=o.anyWereRenderedLastFrame,c=o.notYetRenderableCount;let l=!1;if(!i&&!r){const i=e._tilesToRender;for(let e=s;e<i.length;++e){let t=i[e];while(void 0!==t&&t._lastSelectionResult!==FQe.KICKED&&t!==n)t._lastSelectionResult=FQe.kick(t._lastSelectionResult),t=t.parent}e._tilesToRender.length=s,e._tileToUpdateHeights.length=_,K0e(e,n),n._lastSelectionResult=FQe.RENDERED;const r=f===FQe.RENDERED;!r&&c>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=d,e._tileLoadQueueMedium.length=p,e._tileLoadQueueHigh.length=m,k0e(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,l=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=r,r||e._tileToUpdateHeights.push(n),++a.tilesWaitingForChildren}e.preloadAncestors&&!l&&k0e(e,e._tileLoadQueueLow,n,t)}}else n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=FQe.RENDERED,K0e(e,n),k0e(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=f===FQe.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function G0e(e,t,n,i,o,r,a,s){const c=r.camera.positionCartographic,l=e._tileProvider,u=e._occluders,h=V0e[t.level],d=h.southwest,f=h.southeast,p=h.northwest,m=h.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(W0e(e,t,l,r,u,a,d),W0e(e,n,l,r,u,a,f),W0e(e,i,l,r,u,a,p),W0e(e,o,l,r,u,a,m)):(W0e(e,i,l,r,u,a,p),W0e(e,t,l,r,u,a,d),W0e(e,o,l,r,u,a,m),W0e(e,n,l,r,u,a,f)):c.latitude<t.rectangle.north?(W0e(e,n,l,r,u,a,f),W0e(e,t,l,r,u,a,d),W0e(e,o,l,r,u,a,m),W0e(e,i,l,r,u,a,p)):(W0e(e,o,l,r,u,a,m),W0e(e,i,l,r,u,a,p),W0e(e,n,l,r,u,a,f),W0e(e,t,l,r,u,a,d)),h.combine(s)}function q0e(e,t){const n=t.rectangle;return Object(r["a"])(e._cameraPositionCartographic)&&Fe.contains(n,e._cameraPositionCartographic)||Object(r["a"])(e._cameraReferenceFrameOriginCartographic)&&Fe.contains(n,e._cameraReferenceFrameOriginCartographic)}function W0e(e,t,n,i,o,a,s){if(n.computeTileVisibility(t,i,o)!==uS.NONE)return H0e(e,i,t,a,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,q0e(e,t)){Object(r["a"])(t.data)&&Object(r["a"])(t.data.vertexArray)||k0e(e,e._tileLoadQueueMedium,t,i);const n=e._lastSelectionFrameNumber,o=t._lastSelectionResultFrame===n?t._lastSelectionResult:FQe.NONE;o!==FQe.CULLED_BUT_NEEDED&&o!==FQe.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=FQe.CULLED_BUT_NEEDED}else e.preloadSiblings||0===t.level?(k0e(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=FQe.CULLED):t._lastSelectionResult=FQe.CULLED;t._lastSelectionResultFrame=i.frameNumber}function Y0e(e,t,n){if(t.mode===vq.SCENE2D||t.camera.frustum instanceof uA||t.camera.frustum instanceof sA)return X0e(e,t,n);const i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,a=t.camera.frustum.sseDenominator;let c=i*r/(o*a);return t.fog.enabled&&(c-=s["a"].fog(o,t.fog.density)*t.fog.sse),c/=t.pixelRatio,c}function X0e(e,t,n){const i=t.camera;let o=i.frustum;Object(r["a"])(o._offCenterFrustum)&&(o=o._offCenterFrustum);const a=t.context,c=a.drawingBufferWidth,l=a.drawingBufferHeight,u=e._tileProvider.getLevelMaximumGeometricError(n.level),h=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(c,l);let d=u/h;return t.fog.enabled&&t.mode!==vq.SCENE2D&&(d-=s["a"].fog(n._distance,t.fog.density)*t.fog.sse),d/=t.pixelRatio,d}function K0e(e,t){e._tilesToRender.push(t)}function J0e(e,t){const n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(0===n.length&&0===i.length&&0===o.length)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);const r=y_()+e._loadQueueTimeSlice,a=e._tileProvider;let s=$0e(e,t,a,r,n,!1);s=$0e(e,t,a,r,i,s),$0e(e,t,a,r,o,s)}function Z0e(e,t){return e._loadPriority-t._loadPriority}function $0e(e,t,n,i,o,r){void 0!==n.computeTileLoadPriority&&o.sort(Z0e);for(let a=0,s=o.length;a<s&&(y_()<i||!r);++a){const i=o[a];e._tileReplacementQueue.markTileRendered(i),n.loadTile(t,i),r=!0}return r}const Q0e=new Ki,e2e=new I,t2e=new g,n2e=[];function i2e(e,t){if(!e.tileProvider.ready)return;const n=n2e;n.length=0;const i=e._tileToUpdateHeights,o=y_(),a=e._updateHeightsTimeSlice,s=o+a,c=t.mode,l=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid;let h;while(i.length>0){const t=i[0];if(!Object(r["a"])(t.data)||!Object(r["a"])(t.data.mesh)){const o=t._lastSelectionResultFrame===e._lastSelectionFrameNumber?t._lastSelectionResult:FQe.NONE;o!==FQe.RENDERED&&o!==FQe.CULLED_BUT_NEEDED||n.push(t),i.shift(),e._lastTileIndex=0;continue}const o=t.customData,a=o.length;let d=!1;for(h=e._lastTileIndex;h<a;++h){const e=o[h],n=t.data.terrainData,i=Object(r["a"])(n)&&n.wasCreatedByUpsampling();if(t.level>e.level&&!i){if(Object(r["a"])(e.positionOnEllipsoidSurface)||(e.positionOnEllipsoidSurface=g.fromRadians(e.positionCartographic.longitude,e.positionCartographic.latitude,0,u)),c===vq.SCENE3D){const n=u.geodeticSurfaceNormal(e.positionOnEllipsoidSurface,Q0e.direction),i=u.getSurfaceNormalIntersectionWithZAxis(e.positionOnEllipsoidSurface,11500,Q0e.origin);if(!Object(r["a"])(i)){let i=0;Object(r["a"])(t.data.tileBoundingRegion)&&(i=t.data.tileBoundingRegion.minimumHeight);const o=Math.min(i,-11500),a=g.multiplyByScalar(n,Math.abs(o)+1,t2e);g.subtract(e.positionOnEllipsoidSurface,a,Q0e.origin)}}else I.clone(e.positionCartographic,e2e),e2e.height=-11500,l.project(e2e,t2e),g.fromElements(t2e.z,t2e.x,t2e.y,t2e),g.clone(t2e,Q0e.origin),g.clone(g.UNIT_X,Q0e.direction);const n=t.data.pick(Q0e,c,l,!1,t2e);Object(r["a"])(n)&&(Object(r["a"])(e.callback)&&e.callback(n),e.level=t.level)}if(y_()>=s){d=!0;break}}if(d){e._lastTileIndex=h;break}e._lastTileIndex=0,i.shift()}for(h=0;h<n.length;h++)i.push(n[h])}function o2e(e,t){const n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){const e=i[o];n.showTileThisFrame(e,t)}}var r2e=I0e;function a2e(e){e=Object(o["a"])(e,z.WGS84);const t=new Xw({ellipsoid:e}),n=new v0e;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new K$e,this._material=void 0,this._surface=new r2e({tileProvider:new d0e({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new pi["a"],this._undergroundColor=j_.clone(j_.BLACK),this._undergroundColorAlphaByDistance=new cS(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new p0e,s2e(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Et["a"]({url:Lt("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new g(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new g(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=wq.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0}function s2e(e){const t=[],n=Object(r["a"])(e._material)&&(e._material.shaderSource.match(/slope/)||e._material.shaderSource.match("normalEC")),i=[H$e,G$e];!Object(r["a"])(e._material)||n&&!e._terrainProvider.requestVertexNormals?e._surface._tileProvider.materialUniformMap=void 0:(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms),i.push(U$e),e._surfaceShaderSet.baseVertexShaderSource=new bG({sources:[H$e,G$e,V$e],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new bG({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function c2e(e){return function(t,n){const i=Tt.distanceSquaredTo(t.pickBoundingSphere,e),o=Tt.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}Object.defineProperties(a2e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return!Object(r["a"])(this._surface)||this._surface.tileProvider.ready&&0===this._surface._tileLoadQueueHigh.length&&0===this._surface._tileLoadQueueMedium.length&&0===this._surface._tileLoadQueueLow.length}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){Object(r["a"])(e)||(e=Fe.clone(Fe.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),Object(r["a"])(this._material)&&s2e(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,s2e(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=j_.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){if(Object(r["a"])(e)&&e.far<e.near)throw new a["a"]("far distance must be greater than near distance.");this._undergroundColorAlphaByDistance=cS.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});const l2e=[],u2e={start:0,stop:0};a2e.prototype.pickWorldCoordinates=function(e,t,n,i){if(!Object(r["a"])(e))throw new a["a"]("ray is required");if(!Object(r["a"])(t))throw new a["a"]("scene is required");n=Object(o["a"])(n,!0);const s=t.mode,c=t.mapProjection,l=l2e;l.length=0;const u=this._surface._tilesToRender;let h,d,f,p=u.length;for(d=0;d<p;++d){h=u[d];const t=h.data;if(!Object(r["a"])(t))continue;let n=t.pickBoundingSphere;if(s!==vq.SCENE3D)t.pickBoundingSphere=n=Tt.fromRectangleWithHeights2D(h.rectangle,c,t.tileBoundingRegion.minimumHeight,t.tileBoundingRegion.maximumHeight,n),g.fromElements(n.center.z,n.center.x,n.center.y,n.center);else{if(!Object(r["a"])(t.renderedMesh))continue;Tt.clone(t.tileBoundingRegion.boundingSphere,n)}const i=So.raySphere(e,n,u2e);Object(r["a"])(i)&&l.push(t)}for(l.sort(c2e(e.origin)),p=l.length,d=0;d<p;++d)if(f=l[d].pick(e,t.mode,t.mapProjection,n,i),Object(r["a"])(f))break;return f};const h2e=new I;a2e.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),Object(r["a"])(n)&&t.mode!==vq.SCENE3D){n=g.fromElements(n.y,n.z,n.x,n);const e=t.mapProjection.unproject(n,h2e);n=t.globe.ellipsoid.cartographicToCartesian(e,n)}return n};const d2e=new g,f2e=new g,p2e=new I,m2e=new Ki;function _2e(e,t){return Object(r["a"])(e)&&Fe.contains(e.rectangle,t)?e:void 0}a2e.prototype.getHeight=function(e){if(!Object(r["a"])(e))throw new a["a"]("cartographic is required");const t=this._surface._levelZeroTiles;if(!Object(r["a"])(t))return;let n,i;const s=t.length;for(i=0;i<s;++i)if(n=t[i],Fe.contains(n.rectangle,e))break;if(i>=s)return;let c=n;while(Object(r["a"])(n))n=_2e(n._southwestChild,e)||_2e(n._southeastChild,e)||_2e(n._northwestChild,e)||n._northeastChild,Object(r["a"])(n)&&Object(r["a"])(n.data)&&Object(r["a"])(n.data.renderedMesh)&&(c=n);if(n=c,!Object(r["a"])(n)||!Object(r["a"])(n.data)||!Object(r["a"])(n.data.renderedMesh))return;const l=this._surface._tileProvider.tilingScheme.projection,u=this._surface._tileProvider.tilingScheme.ellipsoid,h=g.fromRadians(e.longitude,e.latitude,0,u,d2e),d=m2e,f=u.geodeticSurfaceNormal(h,d.direction),p=u.getSurfaceNormalIntersectionWithZAxis(h,11500,d.origin);if(!Object(r["a"])(p)){let e;Object(r["a"])(n.data.tileBoundingRegion)&&(e=n.data.tileBoundingRegion.minimumHeight);const t=Math.min(Object(o["a"])(e,0),-11500),i=g.multiplyByScalar(f,Math.abs(t)+1,f2e);g.subtract(h,i,d.origin)}const m=n.data.pick(d,void 0,l,!1,f2e);return Object(r["a"])(m)?u.cartesianToCartographic(m,p2e).height:void 0},a2e.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)},a2e.prototype.beginFrame=function(e){const t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=this.showWaterEffect&&i.ready&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;const t=this._oceanNormalMapResource,n=t.url;if(Object(r["a"])(n)){const i=this;t.fetchImage().then((function(t){n===i._oceanNormalMapResource.url&&(i._oceanNormalMap=i._oceanNormalMap&&i._oceanNormalMap.destroy(),i._oceanNormalMap=new nk({context:e.context,source:t}))}))}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}const a=e.passes,s=e.mode;a.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===vq.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))},a2e.prototype.render=function(e){this.show&&(Object(r["a"])(this._material)&&this._material.update(e.context),this._surface.render(e))},a2e.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)},a2e.prototype.isDestroyed=function(){return!1},a2e.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),Wl(this)};var g2e=a2e,b2e="uniform sampler2D colorTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n gl_FragColor = texture2D(colorTexture, v_textureCoordinates);\n}\n",y2e="uniform highp sampler2D u_depthTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n gl_FragColor = czm_packDepth(texture2D(u_depthTexture, v_textureCoordinates).r);\n}\n";function v2e(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new Yne({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new Yne({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new Yne,this._tempCopyDepthFramebuffer=new Yne,this._updateDepthFramebuffer=new Yne({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Oh,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}function O2e(e){e._pickColorFramebuffer.destroy(),e._outputFramebuffer.destroy(),e._copyDepthFramebuffer.destroy(),e._tempCopyDepthFramebuffer.destroy(),e._updateDepthFramebuffer.destroy()}function w2e(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;const a=!Oh.equals(e._viewport,o.viewport);let s=a!==e._useScissorTest;e._useScissorTest=a,Oh.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Oh.clone(o.viewport,e._scissorRectangle),s=!0),Object(r["a"])(e._rs)&&Oh.equals(e._viewport,e._rs.viewport)&&!s||(e._rs=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:MF.ALPHA_BLEND}),e._rsUpdate=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:JW.EQUAL,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},backFunction:JW.NEVER,reference:eY.CESIUM_3D_TILE_MASK,mask:eY.CESIUM_3D_TILE_MASK}})),Object(r["a"])(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(y2e,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,Object(r["a"])(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(b2e,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,Object(r["a"])(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(y2e,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,Object(r["a"])(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(b2e,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,Object(r["a"])(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new bJ({color:new j_(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}Object.defineProperties(v2e.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}}),v2e.prototype.update=function(e,t,n,i,o,r){const a=n.width,s=n.height,c=o?e.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT:WS.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,a,s):this._outputFramebuffer.update(e,a,s,i,c),this._copyDepthFramebuffer.update(e,a,s),w2e(this,e,a,s,t),e.uniformState.globeDepthTexture=void 0,this._useHdr=o,this._clearGlobeDepth=r},v2e.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)},v2e.prototype.executeCopyDepth=function(e,t){Object(r["a"])(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())},v2e.prototype.executeUpdateDepth=function(e,t,n,i){const o=Object(r["a"])(i)?i:t.framebuffer.depthStencilTexture;if(n||o!==this.colorFramebufferManager.getDepthStencilTexture()){if(Object(r["a"])(this._updateDepthCommand)){if(!Object(r["a"])(this._updateDepthFramebuffer.framebuffer)||this._updateDepthFramebuffer.getDepthStencilTexture()!==o||this._updateDepthFramebuffer.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){const n=this._copyDepthFramebuffer.getColorTexture().width,i=this._copyDepthFramebuffer.getColorTexture().height;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,n,i);const r=this._copyDepthFramebuffer.getColorTexture();this._updateDepthFramebuffer.setColorTexture(r,0),this._updateDepthFramebuffer.setDepthStencilTexture(o),this._updateDepthFramebuffer.update(e,n,i),w2e(this,e,n,i,t)}this._tempCopyDepthTexture=o,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)}}else Object(r["a"])(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t)},v2e.prototype.executeCopyColor=function(e,t){Object(r["a"])(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)},v2e.prototype.clear=function(e,t,n){const i=this._clearGlobeColorCommand;Object(r["a"])(i)&&(j_.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))},v2e.prototype.isDestroyed=function(){return!1},v2e.prototype.destroy=function(){return O2e(this),Object(r["a"])(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),Object(r["a"])(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),Object(r["a"])(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),Object(r["a"])(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),Wl(this)};var A2e=v2e;function T2e(){this._framebuffer=new Yne({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new Yne,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Oh,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}function C2e(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function E2e(e,t,n,i,o){const r=o?t.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT:WS.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function x2e(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;const a=!Oh.equals(e._viewport,o.viewport);let s=a!==e._useScissorTest;e._useScissorTest=a,Oh.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Oh.clone(o.viewport,e._scissorRectangle),s=!0),Object(r["a"])(e._renderState)&&Oh.equals(e._viewport,e._renderState.viewport)&&!s||(e._renderState=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),Object(r["a"])(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(y2e,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),Object(r["a"])(e._clearCommand)||(e._clearCommand=new bJ({color:new j_(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}Object.defineProperties(T2e.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}}),T2e.prototype.updateAndClear=function(e,t,n,i){const o=t.width,r=t.height;E2e(this,n,o,r,e),x2e(this,n,o,r,i),this._useHdr=e},T2e.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)},T2e.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture},T2e.prototype.isDestroyed=function(){return!1},T2e.prototype.destroy=function(){return C2e(this),Wl(this)};var S2e=T2e;const I2e={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},D2e=I2e.DERIVED_COMMANDS_MAXIMUM_LENGTH,j2e=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function P2e(){this._frontFaceAlphaByDistance=new cS(0,1,0,1),this._backFaceAlphaByDistance=new cS(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=Fe.clone(Fe.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(D2e),this._derivedBlendCommandTypes=new Array(D2e),this._derivedPickCommandTypes=new Array(D2e),this._derivedCommandTypesToUpdate=new Array(D2e),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}function R2e(e,t,n,i){return e?Object(r["a"])(n)?(cS.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function M2e(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function N2e(e,t){const n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function L2e(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function B2e(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function F2e(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==vq.SCENE2D&&t.context.depthTexture}function k2e(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function z2e(e,t){let n;e._derivedCommandsLength=U2e(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=U2e(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=U2e(e,t,!1,!0,e._derivedPickCommandTypes);let i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<D2e;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;const a=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=a,!Object(r["a"])(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=d3e())}function U2e(e,t,n,i,o){let r=0;const a=e._frontFaceTranslucent,s=e._backFaceTranslucent;if(!a)return r;const c=t.cameraUnderground,l=e._requiresManualDepthTest,u=i?I2e.PICK_FRONT_FACE:l?I2e.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:I2e.TRANSLUCENT_FRONT_FACE,h=i?I2e.PICK_BACK_FACE:l?I2e.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:I2e.TRANSLUCENT_BACK_FACE;return t.mode===vq.SCENE2D?(o[r++]=I2e.DEPTH_ONLY_FRONT_FACE,o[r++]=u,r):(s?(n||(o[r++]=I2e.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=u,o[r++]=h):(o[r++]=h,o[r++]=u)):c?(n||(o[r++]=I2e.DEPTH_ONLY_BACK_FACE),o[r++]=I2e.OPAQUE_FRONT_FACE,o[r++]=h):(n||(o[r++]=I2e.DEPTH_ONLY_FRONT_FACE),o[r++]=I2e.OPAQUE_BACK_FACE,o[r++]=u),r)}function V2e(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function H2e(e,t){return e.indexOf(t)>-1}function G2e(e,t){V2e(e.defines,"TRANSLUCENT"),V2e(t.defines,"TRANSLUCENT")}function q2e(e,t){V2e(e.defines,"GROUND_ATMOSPHERE"),V2e(t.defines,"GROUND_ATMOSPHERE"),V2e(e.defines,"FOG"),V2e(t.defines,"FOG"),V2e(e.defines,"TRANSLUCENT"),V2e(t.defines,"TRANSLUCENT")}function W2e(e,t){if(H2e(t.defines,"TILE_LIMIT_RECTANGLE")||H2e(t.defines,"ENABLE_CLIPPING_PLANES"))return;const n="void main() \n{ \n gl_FragColor = vec4(1.0); \n} \n";t.sources=[n]}function Y2e(e,t){const n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=bG.replaceMain(n[r],"czm_globe_translucency_main");const o="\n\nuniform sampler2D u_classificationTexture; \nvoid main() \n{ \n vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n#ifdef MANUAL_DEPTH_TEST \n float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st)); \n if (logDepthOrDepth != 0.0) \n { \n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); \n float depthEC = eyeCoordinate.z / eyeCoordinate.w; \n if (v_positionEC.z < depthEC) \n { \n discard; \n } \n } \n#endif \n czm_globe_translucency_main(); \n vec4 classificationColor = texture2D(u_classificationTexture, st); \n if (classificationColor.a > 0.0) \n { \n // Reverse premultiplication process to get the correct composited result of the classification primitives \n classificationColor.rgb /= classificationColor.a; \n } \n gl_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + gl_FragColor * (1.0 - classificationColor.a); \n} \n";n.push(o)}function X2e(e,t){Y2e(e,t),V2e(e.defines,"GROUND_ATMOSPHERE"),V2e(t.defines,"GROUND_ATMOSPHERE"),V2e(e.defines,"FOG"),V2e(t.defines,"FOG")}function K2e(e,t){Y2e(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function J2e(e,t){X2e(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Z2e(e,t){const n="uniform sampler2D u_classificationTexture; \nvoid main() \n{ \n vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n vec4 pickColor = texture2D(u_classificationTexture, st); \n if (pickColor == vec4(0.0)) \n { \n discard; \n } \n gl_FragColor = pickColor; \n} \n";t.sources=[n]}function $2e(e,t,n,i,o,a){if(!Object(r["a"])(o))return t;if(!i&&Object(r["a"])(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,a);if(!Object(r["a"])(s)){const n=t._attributeLocations,i=t.vertexShaderSource.clone(),c=t.fragmentShaderSource.clone();i.defines=Object(r["a"])(i.defines)?i.defines.slice(0):[],c.defines=Object(r["a"])(c.defines)?c.defines.slice(0):[],o(i,c),s=e.shaderCache.createDerivedShaderProgram(t,a,{vertexShaderSource:i,fragmentShaderSource:c,attributeLocations:n})}return s}function Q2e(e){e.cull.face=LF.BACK,e.cull.enabled=!0}function e3e(e){e.cull.face=LF.FRONT,e.cull.enabled=!0}function t3e(e){e.cull.face=LF.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function n3e(e){e.cull.face=LF.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function i3e(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function o3e(e){e.cull.face=LF.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=MF.ALPHA_BLEND}function r3e(e){e.cull.face=LF.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=MF.ALPHA_BLEND}function a3e(e){e.cull.face=LF.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function s3e(e){e.cull.face=LF.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function c3e(e,t,n,i,o){if(!Object(r["a"])(i))return e;if(!n&&Object(r["a"])(t))return t;let a=o[e.id];if(!Object(r["a"])(a)){const t=Mz.getState(e);i(t),a=Mz.fromCache(t),o[e.id]=a}return a}function l3e(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function u3e(e,t,n,i,o){return Object(r["a"])(o)?!i&&Object(r["a"])(n)?n:Object(xS["a"])(t,o(e),!1):t}function h3e(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function d3e(){return[new h3e({pass:oz.GLOBE,pickOnly:!1,getShaderProgramFunction:G2e,getRenderStateFunction:Q2e,getUniformMapFunction:void 0}),new h3e({pass:oz.GLOBE,pickOnly:!1,getShaderProgramFunction:q2e,getRenderStateFunction:e3e,getUniformMapFunction:void 0}),new h3e({pass:oz.GLOBE,pickOnly:!1,getShaderProgramFunction:W2e,getRenderStateFunction:t3e,getUniformMapFunction:void 0}),new h3e({pass:oz.GLOBE,pickOnly:!1,getShaderProgramFunction:W2e,getRenderStateFunction:n3e,getUniformMapFunction:void 0}),new h3e({pass:oz.GLOBE,pickOnly:!1,getShaderProgramFunction:W2e,getRenderStateFunction:i3e,getUniformMapFunction:void 0}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Y2e,getRenderStateFunction:o3e,getUniformMapFunction:l3e}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:X2e,getRenderStateFunction:r3e,getUniformMapFunction:l3e}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:K2e,getRenderStateFunction:o3e,getUniformMapFunction:l3e}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:J2e,getRenderStateFunction:r3e,getUniformMapFunction:l3e}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Z2e,getRenderStateFunction:a3e,getUniformMapFunction:l3e}),new h3e({pass:oz.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Z2e,getRenderStateFunction:s3e,getUniformMapFunction:l3e})]}Object.defineProperties(P2e.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}}),P2e.prototype.update=function(e){const t=e.globe;if(!Object(r["a"])(t)||!t.show)return this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,void(this._useDepthPlane=!1);this._frontFaceAlphaByDistance=R2e(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=R2e(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=M2e(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=M2e(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=F2e(this,e,t),this._sunVisibleThroughGlobe=N2e(this,e),this._environmentVisible=L2e(this,e),this._useDepthPlane=B2e(this,e),this._numberOfTextureUniforms=k2e(this),this._rectangle=Fe.clone(t.translucency.rectangle,this._rectangle),z2e(this,e)};const f3e=new Array(D2e),p3e=new Array(D2e);function m3e(e,t,n,i,a,s,c){let l=t.derivedCommands.globeTranslucency;const u=e._derivedCommandsDirty;if(t.dirty||!Object(r["a"])(l)||u){t.dirty=!1,Object(r["a"])(l)||(l={},t.derivedCommands.globeTranslucency=l);const u=c.frameNumber,h=Object(o["a"])(l.uniformMapDirtyFrame,0),d=Object(o["a"])(l.shaderProgramDirtyFrame,0),f=Object(o["a"])(l.renderStateDirtyFrame,0),p=l.uniformMap!==t.uniformMap,m=l.shaderProgramId!==t.shaderProgram.id,_=l.renderStateId!==t.renderState.id;p&&(l.uniformMapDirtyFrame=u),m&&(l.shaderProgramDirtyFrame=u),_&&(l.renderStateDirtyFrame=u),l.uniformMap=t.uniformMap,l.shaderProgramId=t.shaderProgram.id,l.renderStateId=t.renderState.id;for(let g=0;g<n;++g){const n=s[g],b=i[g],y=a[g];let v,O,w,A=l[y];Object(r["a"])(A)?(v=A.uniformMap,O=A.shaderProgram,w=A.renderState):(v=void 0,O=void 0,w=void 0),A=nz.shallowClone(t,A),l[y]=A;const T=Object(o["a"])(A.derivedCommands.uniformMapDirtyFrame,0),C=Object(o["a"])(A.derivedCommands.shaderProgramDirtyFrame,0),E=Object(o["a"])(A.derivedCommands.renderStateDirtyFrame,0),x=p||T<h,S=m||C<d,I=_||E<f;x&&(A.derivedCommands.uniformMapDirtyFrame=u),S&&(A.derivedCommands.shaderProgramDirtyFrame=u),I&&(A.derivedCommands.renderStateDirtyFrame=u),A.derivedCommands.type=b,A.pass=n.pass,A.pickOnly=n.pickOnly,A.uniformMap=u3e(e,t.uniformMap,v,x,n.getUniformMapFunction),A.shaderProgram=$2e(c.context,t.shaderProgram,O,S,n.getShaderProgramFunction,y),A.renderState=c3e(t.renderState,w,I,n.getRenderStateFunction,n.renderStateCache)}}}function _3e(e,t,n,i,o,a,s){for(let c=0;c<t;++c){const t=e[c],l=t.derivedCommands.type;(!Object(r["a"])(s)||s.indexOf(l)>-1)&&n(t,i,o,a)}}function g3e(e,t,n,i,o,r){for(let a=0;a<t;++a)n(e[a],i,o,r)}P2e.prototype.updateDerivedCommands=function(e,t){const n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(0!==i){for(let e=0;e<i;++e)p3e[e]=this._derivedCommandPacks[n[e]],f3e[e]=j2e[n[e]];m3e(this,e,i,n,f3e,p3e,t)}},P2e.prototype.pushDerivedCommands=function(e,t,n){const i=n.passes.pick;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),0===r)return void n.commandList.push(e);const a=e.derivedCommands.globeTranslucency;for(let s=0;s<r;++s){const e=j2e[o[s]];n.commandList.push(a[e])}};const b3e=[I2e.OPAQUE_FRONT_FACE,I2e.OPAQUE_BACK_FACE],y3e=[I2e.DEPTH_ONLY_FRONT_FACE,I2e.DEPTH_ONLY_BACK_FACE,I2e.DEPTH_ONLY_FRONT_AND_BACK_FACE];P2e.prototype.executeGlobeCommands=function(e,t,n,i,o){const r=i.context,a=e.commands[oz.GLOBE],s=e.indices[oz.GLOBE];0!==s&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),_3e(a,s,t,i,r,o,b3e))},P2e.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){const r=i.context,a=e.commands[oz.GLOBE],s=e.indices[oz.GLOBE],c=e.commands[oz.TERRAIN_CLASSIFICATION],l=e.indices[oz.TERRAIN_CLASSIFICATION];if(0===s||0===l)return;const u=this._frontFaceTranslucent,h=this._backFaceTranslucent;if(u&&h||g3e(c,l,t,i,r,o),!u&&!h)return;this._globeTranslucencyFramebuffer=n;const d=r.uniformState.globeDepthTexture,f=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,_3e(a,s,t,i,r,o,y3e),r.depthTexture){const e=n.packDepth(r,o);r.uniformState.globeDepthTexture=e}g3e(c,l,t,i,r,o),r.uniformState.globeDepthTexture=d,o.framebuffer=f};var v3e=P2e;function O3e(){this._image=new Image}function w3e(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url)&&!Object(r["a"])(e.metadata))throw new a["a"]("options.url or options.metadata is required.");let t;if(this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,Object(r["a"])(e.metadata))t=e.metadata;else{const n=Et["a"].createIfNeeded(e.url);t=new CT(n)}this._metadata=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new qt({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Fe(-s["a"].PI,-s["a"].PI,s["a"].PI,s["a"].PI),ellipsoid:e.ellipsoid});let n=e.credit;"string"===typeof n&&(n=new fi(n)),this._credit=n,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,Object(r["a"])(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new O3e),this._errorEvent=new pi["a"],this._ready=!1;const i=this;let c;this._readyPromise=t.readyPromise.then((function(e){if(!t.imageryPresent){const e=new ye["a"](`The server ${t.url} doesn't have imagery`);return c=eh.handleError(c,i,i._errorEvent,e.message,void 0,void 0,void 0,e),Promise.reject(e)}return eh.handleSuccess(c),i._ready=e,e})).catch((function(e){return c=eh.handleError(c,i,i._errorEvent,e.message,void 0,void 0,void 0,e),Promise.reject(e)}))}function A3e(e,t,n,i,o,a){const s=CT.tileXYToQuadKey(n,i,o);let c=t.imageryVersion;return c=Object(r["a"])(c)&&c>0?c:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${c.toString()}`,request:a})}function T3e(e){const t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";const n="PNG";return e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2)?"image/png":void 0}function C3e(e){const t=rT["a"].Reader.create(e),n=t.len,i={};while(t.pos<n){const e=t.uint32();let n;switch(e>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(n=i.copyrightIds,Object(r["a"])(n)||(n=i.copyrightIds=[]),2===(7&e)){const e=t.uint32()+t.pos;while(t.pos<e)n.push(t.uint32())}else n.push(t.uint32());break;default:t.skipType(7&e);break}}const o=i.imageType;if(Object(r["a"])(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new ye["a"]("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}const a=i.alphaType;return Object(r["a"])(a)&&0!==a&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}O3e.prototype.isReady=function(){return!0},O3e.prototype.shouldDiscardImage=function(e){return e===this._image},Object.defineProperties(w3e.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return 0}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this._ready)throw new a["a"]("rectangle must not be called before the imagery provider is ready.");return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}}),w3e.prototype.getTileCredits=function(e,t,n){if(!this._ready)throw new a["a"]("getTileCredits must not be called before the imagery provider is ready.");const i=this._metadata,o=i.getTileInformation(e,t,n);if(Object(r["a"])(o)){const e=i.providers[o.imageryProvider];if(Object(r["a"])(e))return[e]}},w3e.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");const o=this._tileDiscardPolicy._image,s=this._metadata,c=CT.tileXYToQuadKey(e,t,n),l=s.getTileInformation(e,t,n);if(!Object(r["a"])(l)){if(s.isValid(c)){const o=new Iu["a"]({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});return void s.populateSubtree(e,t,n,o)}return Promise.resolve(o)}if(!l.hasImagery())return Promise.resolve(o);const u=A3e(this,l,e,t,n,i).fetchArrayBuffer();return Object(r["a"])(u)?u.then((function(e){kL(s.key,e);let t,n=new Uint8Array(e);const i=s.protoImagery;if(Object(r["a"])(i)&&i||(t=T3e(n)),!Object(r["a"])(t)&&(!Object(r["a"])(i)||i)){const e=C3e(n);t=e.imageType,n=e.imageData}return Object(r["a"])(t)&&Object(r["a"])(n)?nB({uint8Array:n,format:t,flipY:!0}):o})):void 0},w3e.prototype.pickFeatures=function(e,t,n,i,o){};var E3e=w3e;function x3e(e){if(e=Object(o["a"])(e,{}),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");if(!Object(r["a"])(e.channel))throw new a["a"]("options.channel is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1.9,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const t=e.url,n=Object(o["a"])(e.path,"/default_map"),i=Et["a"].createIfNeeded(t).getDerivedResource({url:"/"===n[0]?n.substring(1):n});i.appendForwardSlash(),this._resource=i,this._url=t,this._path=n,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new fi(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${x3e.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new pi["a"],this._ready=!1,this._readyPromise=Object(xr["a"])();const s=i.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),c=this;let l;function u(t){let n,i,o;try{n=JSON.parse(t)}catch(a){n=JSON.parse(t.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}for(let e=0;e<n.layers.length;e++)if(n.layers[e].id===c._channel){i=n.layers[e];break}if(!Object(r["a"])(i))throw o=`Could not find layer with channel (id) of ${c._channel}.`,l=eh.handleError(l,c,c._errorEvent,o,void 0,void 0,void 0,d),new ye["a"](o);if(!Object(r["a"])(i.version))throw o=`Could not find a version in channel (id) ${c._channel}.`,l=eh.handleError(l,c,c._errorEvent,o,void 0,void 0,void 0,d),new ye["a"](o);if(c._version=i.version,Object(r["a"])(n.projection)&&"flat"===n.projection)c._tilingScheme=new qt({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Fe(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:e.ellipsoid});else{if(Object(r["a"])(n.projection)&&"mercator"!==n.projection)throw o=`Unsupported projection ${n.projection}.`,l=eh.handleError(l,c,c._errorEvent,o,void 0,void 0,void 0,d),new ye["a"](o);c._tilingScheme=new nh({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid})}c._ready=!0,c._readyPromise.resolve(!0),eh.handleSuccess(l)}function h(e){const t=Object(o["a"])(e.message,`An error occurred while accessing ${s.url}.`);l=eh.handleError(l,c,c._errorEvent,t,void 0,void 0,void 0,d),c._readyPromise.reject(new ye["a"](t))}function d(){s.fetchText().then((function(e){u(e)})).catch((function(e){h(e)}))}d()}Object.defineProperties(x3e.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return 0}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},version:{get:function(){if(!this._ready)throw new a["a"]("version must not be called before the imagery provider is ready.");return this._version}},requestType:{get:function(){if(!this._ready)throw new a["a"]("requestType must not be called before the imagery provider is ready.");return this._requestType}},rectangle:{get:function(){if(!this._ready)throw new a["a"]("rectangle must not be called before the imagery provider is ready.");return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}}),x3e.prototype.getTileCredits=function(e,t,n){},x3e.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");const o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return Pqe.loadImage(this,o)},x3e.prototype.pickFeatures=function(e,t,n,i,o){},x3e._logoUrl=void 0,Object.defineProperties(x3e,{logoUrl:{get:function(){return Object(r["a"])(x3e._logoUrl)||(x3e._logoUrl=Lt("Assets/Images/google_earth_credit.png")),x3e._logoUrl},set:function(e){i["a"].defined("value",e),x3e._logoUrl=e}}});var S3e=x3e;const I3e=new j_(1,1,1,.4),D3e=new j_(0,1,0,.05),j3e=new j_(0,.5,0,.2);function P3e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._tilingScheme=Object(r["a"])(e.tilingScheme)?e.tilingScheme:new qt({ellipsoid:e.ellipsoid}),this._cells=Object(o["a"])(e.cells,8),this._color=Object(o["a"])(e.color,I3e),this._glowColor=Object(o["a"])(e.glowColor,D3e),this._glowWidth=Object(o["a"])(e.glowWidth,6),this._backgroundColor=Object(o["a"])(e.backgroundColor,j3e),this._errorEvent=new pi["a"],this._tileWidth=Object(o["a"])(e.tileWidth,256),this._tileHeight=Object(o["a"])(e.tileHeight,256),this._canvasSize=Object(o["a"])(e.canvasSize,256),this._canvas=this._createGridCanvas(),this._readyPromise=Promise.resolve(!0)}Object.defineProperties(P3e.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}}),P3e.prototype._drawGrid=function(e){const t=0,n=this._canvasSize;for(let i=0;i<=this._cells;++i){const o=i/this._cells,r=1+o*(n-1);e.moveTo(r,t),e.lineTo(r,n),e.moveTo(t,r),e.lineTo(n,r)}e.stroke()},P3e.prototype._createGridCanvas=function(){const e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;const t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);const r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=.5*this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i);const a=this._color.toCssColorString();return i.strokeStyle=a,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e},P3e.prototype.getTileCredits=function(e,t,n){},P3e.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)},P3e.prototype.pickFeatures=function(e,t,n,i,o){};var R3e=P3e;function M3e(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new Yne({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new Yne({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new bJ({color:new j_(0,0,0,0),owner:this}),this._clearCommand=new bJ({color:new j_(0,0,0,0),depth:1,stencil:0});const e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(M3e.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}}),M3e.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};const N3e={depthMask:!1,stencilTest:{enabled:!0,frontFunction:JW.EQUAL,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},backFunction:JW.NEVER,reference:0,mask:eY.CLASSIFICATION_MASK},blending:MF.ALPHA_BLEND},L3e={depthMask:!1,stencilTest:{enabled:!0,frontFunction:JW.NOT_EQUAL,frontOperation:{fail:$W.KEEP,zFail:$W.KEEP,zPass:$W.KEEP},backFunction:JW.NEVER,reference:0,mask:eY.CLASSIFICATION_MASK},blending:MF.ALPHA_BLEND},B3e={depthMask:!0,depthTest:{enabled:!0},stencilTest:eY.setCesium3DTileBit(),stencilMask:eY.CESIUM_3D_TILE_MASK,blending:MF.ALPHA_BLEND},F3e="#extension GL_EXT_frag_depth : enable\nuniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform sampler2D classifiedTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n if (color.a == 0.0)\n {\n discard;\n }\n bool isClassified = all(equal(texture2D(classifiedTexture, v_textureCoordinates), vec4(0.0)));\n#ifdef UNCLASSIFIED\n vec4 highlightColor = czm_invertClassificationColor;\n if (isClassified)\n {\n discard;\n }\n#else\n vec4 highlightColor = vec4(1.0);\n if (!isClassified)\n {\n discard;\n }\n#endif\n gl_FragColor = color * highlightColor;\n gl_FragDepthEXT = texture2D(depthTexture, v_textureCoordinates).r;\n}\n",k3e="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n if (color.a == 0.0)\n {\n discard;\n }\n#ifdef UNCLASSIFIED\n gl_FragColor = color * czm_invertClassificationColor;\n#else\n gl_FragColor = color;\n#endif\n}\n";M3e.prototype.update=function(e,t,n){const i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;const a=this._numSamples!==t,s=e.drawingBufferWidth,c=e.drawingBufferHeight,l=!Object(r["a"])(i)||i.width!==s||i.height!==c;if((l||o||a)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),Object(r["a"])(this._previousFramebuffer)||(this._depthStencilTexture=new nk({context:e,width:s,height:c,pixelFormat:XS.DEPTH_STENCIL,pixelDatatype:WS.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new qne({context:e,width:s,height:c,format:Hne.DEPTH24_STENCIL8,numSamples:t})))),!Object(r["a"])(this._fbo.framebuffer)||l||o||a){let i,o;this._fbo.destroy(),this._fboClassified.destroy(),Object(r["a"])(this._previousFramebuffer)?(i=n.getDepthStencilTexture(),o=n.getDepthStencilRenderbuffer()):(i=this._depthStencilTexture,o=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(i),Object(r["a"])(o)&&this._fbo.setDepthStencilRenderbuffer(o),this._fbo.update(e,s,c,t),Object(r["a"])(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(i),this._fboClassified.update(e,s,c))}if(Object(r["a"])(this._rsUnclassified)||(this._rsUnclassified=Mz.fromCache(N3e),this._rsClassified=Mz.fromCache(L3e),this._rsDefault=Mz.fromCache(B3e)),!Object(r["a"])(this._unclassifiedCommand)||o||a){Object(r["a"])(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());const t=Object(r["a"])(this._previousFramebuffer)?k3e:F3e,n=new bG({defines:["UNCLASSIFIED"],sources:[t]}),i=new bG({sources:[t]});this._unclassifiedCommand=e.createViewportQuadCommand(n,{renderState:Object(r["a"])(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(i,{renderState:Object(r["a"])(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),Object(r["a"])(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),Object(r["a"])(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(b2e,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}},M3e.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)},M3e.prototype.clear=function(e,t){Object(r["a"])(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))},M3e.prototype.executeClassified=function(e,t){if(!Object(r["a"])(this._previousFramebuffer)){const n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)},M3e.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)},M3e.prototype.isDestroyed=function(){return!1},M3e.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),Object(r["a"])(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),Wl(this)};var z3e=M3e;const U3e=/{[^}]+}/g,V3e={x:t4e,y:i4e,z:a4e,s:s4e,reverseX:n4e,reverseY:o4e,reverseZ:r4e,westDegrees:l4e,southDegrees:u4e,eastDegrees:h4e,northDegrees:d4e,westProjected:p4e,southProjected:m4e,eastProjected:_4e,northProjected:g4e,width:b4e,height:y4e},H3e=Object(xS["a"])(V3e,{i:v4e,j:O4e,reverseI:w4e,reverseJ:A4e,longitudeDegrees:x4e,latitudeDegrees:S4e,longitudeProjected:I4e,latitudeProjected:D4e,format:R4e});function G3e(e){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.then)&&!Object(r["a"])(e.url))throw new a["a"]("options is required.");this._errorEvent=new pi["a"],this._resource=void 0,this._urlSchemeZeroPadding=void 0,this._pickFeaturesResource=void 0,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._minimumLevel=void 0,this._tilingScheme=void 0,this._rectangle=void 0,this._tileDiscardPolicy=void 0,this._credit=void 0,this._hasAlphaChannel=void 0,this._readyPromise=void 0,this._tags=void 0,this._pickFeaturesTags=void 0,this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this.enablePickFeatures=!0,this.reinitialize(e)}Object.defineProperties(G3e.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){if(!this.ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this.ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this.ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this.ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return this._minimumLevel}},tilingScheme:{get:function(){if(!this.ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this.ready)throw new a["a"]("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},tileDiscardPolicy:{get:function(){if(!this.ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return Object(r["a"])(this._resource)}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){if(!this.ready)throw new a["a"]("credit must not be called before the imagery provider is ready.");return this._credit}},hasAlphaChannel:{get:function(){if(!this.ready)throw new a["a"]("hasAlphaChannel must not be called before the imagery provider is ready.");return this._hasAlphaChannel}}}),G3e.prototype.reinitialize=function(e){const t=this;t._readyPromise=Promise.resolve(e).then((function(e){if(!Object(r["a"])(e))throw new a["a"]("options is required.");if(!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");const n=e.customTags,i=Object(xS["a"])(V3e,n),s=Object(xS["a"])(H3e,n),c=Et["a"].createIfNeeded(e.url),l=Et["a"].createIfNeeded(e.pickFeaturesUrl);t.enablePickFeatures=Object(o["a"])(e.enablePickFeatures,t.enablePickFeatures),t._urlSchemeZeroPadding=Object(o["a"])(e.urlSchemeZeroPadding,t.urlSchemeZeroPadding),t._tileDiscardPolicy=e.tileDiscardPolicy,t._getFeatureInfoFormats=e.getFeatureInfoFormats,t._subdomains=e.subdomains,Array.isArray(t._subdomains)?t._subdomains=t._subdomains.slice():Object(r["a"])(t._subdomains)&&t._subdomains.length>0?t._subdomains=t._subdomains.split(""):t._subdomains=["a","b","c"],t._tileWidth=Object(o["a"])(e.tileWidth,256),t._tileHeight=Object(o["a"])(e.tileHeight,256),t._minimumLevel=Object(o["a"])(e.minimumLevel,0),t._maximumLevel=e.maximumLevel,t._tilingScheme=Object(o["a"])(e.tilingScheme,new nh({ellipsoid:e.ellipsoid})),t._rectangle=Object(o["a"])(e.rectangle,t._tilingScheme.rectangle),t._rectangle=Fe.intersection(t._rectangle,t._tilingScheme.rectangle),t._hasAlphaChannel=Object(o["a"])(e.hasAlphaChannel,!0);let u=e.credit;return"string"===typeof u&&(u=new fi(u)),t._credit=u,t._resource=c,t._tags=i,t._pickFeaturesResource=l,t._pickFeaturesTags=s,!0}))},G3e.prototype.getTileCredits=function(e,t,n){if(!this.ready)throw new a["a"]("getTileCredits must not be called before the imagery provider is ready.")},G3e.prototype.requestImage=function(e,t,n,i){if(!this.ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");return Pqe.loadImage(this,K3e(this,e,t,n,i))},G3e.prototype.pickFeatures=function(e,t,n,i,o){if(!this.ready)throw new a["a"]("pickFeatures must not be called before the imagery provider is ready.");if(!this.enablePickFeatures||!Object(r["a"])(this._pickFeaturesResource)||0===this._getFeatureInfoFormats.length)return;let s=0;const c=this;function l(e,t){return e.callback(t)}function u(){if(s>=c._getFeatureInfoFormats.length)return Promise.resolve([]);const r=c._getFeatureInfoFormats[s],a=Q3e(c,e,t,n,i,o,r.format);return++s,"json"===r.type?a.fetchJson().then(r.callback).catch(u):"xml"===r.type?a.fetchXML().then(r.callback).catch(u):"text"===r.type||"html"===r.type?a.fetchText().then(r.callback).catch(u):a.fetch({responseType:r.format}).then(l.bind(void 0,r)).catch(u)}return u()};let q3e=!1;const W3e=new Fe;let Y3e=!1;const X3e=new Fe;function K3e(e,t,n,i,o){q3e=!1,Y3e=!1;const a=e._resource,s=a.getUrlComponent(!0),c=e._tags,l={},u=s.match(U3e);return Object(r["a"])(u)&&u.forEach((function(o){const a=o.substring(1,o.length-1);Object(r["a"])(c[a])&&(l[a]=c[a](e,t,n,i))})),a.getDerivedResource({request:o,templateValues:l})}let J3e=!1;const Z3e=new Ht;let $3e=!1;function Q3e(e,t,n,i,o,a,s){q3e=!1,Y3e=!1,J3e=!1,$3e=!1;const c=e._pickFeaturesResource,l=c.getUrlComponent(!0),u=e._pickFeaturesTags,h={},d=l.match(U3e);return Object(r["a"])(d)&&d.forEach((function(c){const l=c.substring(1,c.length-1);Object(r["a"])(u[l])&&(h[l]=u[l](e,t,n,i,o,a,s))})),c.getDerivedResource({templateValues:h})}function e4e(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){const i=e.urlSchemeZeroPadding[t];if("string"===typeof i){const e=i.length;e>1&&(n=n.length>=e?n:new Array(e-n.toString().length+1).join("0")+n)}}return n}function t4e(e,t,n,i){return e4e(e,"{x}",t)}function n4e(e,t,n,i){const o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return e4e(e,"{reverseX}",o)}function i4e(e,t,n,i){return e4e(e,"{y}",n)}function o4e(e,t,n,i){const o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return e4e(e,"{reverseY}",o)}function r4e(e,t,n,i){const o=e.maximumLevel,a=Object(r["a"])(o)&&i<o?o-i-1:i;return e4e(e,"{reverseZ}",a)}function a4e(e,t,n,i){return e4e(e,"{z}",i)}function s4e(e,t,n,i){const o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function c4e(e,t,n,i){q3e||(e.tilingScheme.tileXYToRectangle(t,n,i,W3e),W3e.west=s["a"].toDegrees(W3e.west),W3e.south=s["a"].toDegrees(W3e.south),W3e.east=s["a"].toDegrees(W3e.east),W3e.north=s["a"].toDegrees(W3e.north),q3e=!0)}function l4e(e,t,n,i){return c4e(e,t,n,i),W3e.west}function u4e(e,t,n,i){return c4e(e,t,n,i),W3e.south}function h4e(e,t,n,i){return c4e(e,t,n,i),W3e.east}function d4e(e,t,n,i){return c4e(e,t,n,i),W3e.north}function f4e(e,t,n,i){Y3e||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,X3e),Y3e=!0)}function p4e(e,t,n,i){return f4e(e,t,n,i),X3e.west}function m4e(e,t,n,i){return f4e(e,t,n,i),X3e.south}function _4e(e,t,n,i){return f4e(e,t,n,i),X3e.east}function g4e(e,t,n,i){return f4e(e,t,n,i),X3e.north}function b4e(e,t,n,i){return e.tileWidth}function y4e(e,t,n,i){return e.tileHeight}function v4e(e,t,n,i,o,r,a){return E4e(e,t,n,i,o,r),Z3e.x}function O4e(e,t,n,i,o,r,a){return E4e(e,t,n,i,o,r),Z3e.y}function w4e(e,t,n,i,o,r,a){return E4e(e,t,n,i,o,r),e.tileWidth-Z3e.x-1}function A4e(e,t,n,i,o,r,a){return E4e(e,t,n,i,o,r),e.tileHeight-Z3e.y-1}const T4e=new Fe,C4e=new g;function E4e(e,t,n,i,o,r,a){if(J3e)return;P4e(e,t,n,i,o,r);const s=C4e,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,T4e);Z3e.x=e.tileWidth*(s.x-c.west)/c.width|0,Z3e.y=e.tileHeight*(c.north-s.y)/c.height|0,J3e=!0}function x4e(e,t,n,i,o,r,a){return s["a"].toDegrees(o)}function S4e(e,t,n,i,o,r,a){return s["a"].toDegrees(r)}function I4e(e,t,n,i,o,r,a){return P4e(e,t,n,i,o,r),C4e.x}function D4e(e,t,n,i,o,r,a){return P4e(e,t,n,i,o,r),C4e.y}const j4e=new I;function P4e(e,t,n,i,o,r,a){if(!$3e){if(e.tilingScheme.projection instanceof V)C4e.x=s["a"].toDegrees(o),C4e.y=s["a"].toDegrees(r);else{const t=j4e;t.longitude=o,t.latitude=r,e.tilingScheme.projection.project(t,C4e)}$3e=!0}}function R4e(e,t,n,i,o,r,a){return a}var M4e=G3e;function N4e(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");const t=Object(xr["a"])();let n;M4e.call(this,t.promise),this._tmsResource=void 0,this._xmlResource=void 0,this._options=e,this._deferred=t,this._metadataError=void 0,this._metadataSuccess=this._metadataSuccess.bind(this),this._metadataFailure=this._metadataFailure.bind(this),this._requestMetadata=this._requestMetadata.bind(this);const i=this;Promise.resolve(e.url).then((function(e){n=Et["a"].createIfNeeded(e),n.appendForwardSlash(),i._tmsResource=n,i._xmlResource=n.getDerivedResource({url:"tilemapresource.xml"}),i._requestMetadata()})).catch((function(e){t.reject(e)}))}function L4e(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function B4e(e,t,n){const i=e.positionToTileXY(Fe.southwest(t),n),o=e.positionToTileXY(Fe.northeast(t),n),r=(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1);return r>4?0:n}Object(r["a"])(Object.create)&&(N4e.prototype=Object.create(M4e.prototype),N4e.prototype.constructor=N4e),N4e.prototype._requestMetadata=function(){this._xmlResource.fetchXML().then(this._metadataSuccess).catch(this._metadataFailure)},N4e.prototype._metadataSuccess=function(e){const t=/tileformat/i,n=/tileset/i,i=/tilesets/i,a=/boundingbox/i;let s,c,l;const u=[],h=this._xmlResource;let d=this._metadataError;const f=this._deferred,p=this._requestMetadata,m=e.childNodes[0].childNodes;for(let o=0;o<m.length;o++)if(t.test(m.item(o).nodeName))s=m.item(o);else if(i.test(m.item(o).nodeName)){l=m.item(o);const e=m.item(o).childNodes;for(let t=0;t<e.length;t++)n.test(e.item(t).nodeName)&&u.push(e.item(t))}else a.test(m.item(o).nodeName)&&(c=m.item(o));let _;if(!Object(r["a"])(l)||!Object(r["a"])(c))return _=`Unable to find expected tilesets or bbox attributes in ${h.url}.`,d=eh.handleError(d,this,this.errorEvent,_,void 0,void 0,void 0,p),d.retry||f.reject(new ye["a"](_)),void(this._metadataError=d);const g=this._options,b=Object(o["a"])(g.fileExtension,s.getAttribute("extension")),y=Object(o["a"])(g.tileWidth,parseInt(s.getAttribute("width"),10)),v=Object(o["a"])(g.tileHeight,parseInt(s.getAttribute("height"),10));let O=Object(o["a"])(g.minimumLevel,parseInt(u[0].getAttribute("order"),10));const w=Object(o["a"])(g.maximumLevel,parseInt(u[u.length-1].getAttribute("order"),10)),A=l.getAttribute("profile");let T=g.tilingScheme;if(!Object(r["a"])(T))if("geodetic"===A||"global-geodetic"===A)T=new qt({ellipsoid:g.ellipsoid});else{if("mercator"!==A&&"global-mercator"!==A)return _=`${h.url}specifies an unsupported profile attribute, ${A}.`,d=eh.handleError(d,this,this.errorEvent,_,void 0,void 0,void 0,p),d.retry||f.reject(new ye["a"](_)),void(this._metadataError=d);T=new nh({ellipsoid:g.ellipsoid})}let C=Fe.clone(g.rectangle);if(!Object(r["a"])(C)){let e,t,n,i;const r=Object(o["a"])(g.flipXY,!1);r?(n=new Ht(parseFloat(c.getAttribute("miny")),parseFloat(c.getAttribute("minx"))),i=new Ht(parseFloat(c.getAttribute("maxy")),parseFloat(c.getAttribute("maxx")))):(n=new Ht(parseFloat(c.getAttribute("minx")),parseFloat(c.getAttribute("miny"))),i=new Ht(parseFloat(c.getAttribute("maxx")),parseFloat(c.getAttribute("maxy"))));const a="geodetic"===A||"mercator"===A;if(T.projection instanceof V||a)e=I.fromDegrees(n.x,n.y),t=I.fromDegrees(i.x,i.y);else{const o=T.projection;e=o.unproject(n),t=o.unproject(i)}C=new Fe(e.longitude,e.latitude,t.longitude,t.latitude)}C=L4e(C,T),O=B4e(T,C,O);const E=this._tmsResource.getDerivedResource({url:"{z}/{x}/{reverseY}."+b});f.resolve({url:E,tilingScheme:T,rectangle:C,tileWidth:y,tileHeight:v,minimumLevel:O,maximumLevel:w,tileDiscardPolicy:g.tileDiscardPolicy,credit:g.credit})},N4e.prototype._metadataFailure=function(e){const t=this._options,n=Object(o["a"])(t.fileExtension,"png"),i=Object(o["a"])(t.tileWidth,256),a=Object(o["a"])(t.tileHeight,256),s=t.maximumLevel,c=Object(r["a"])(t.tilingScheme)?t.tilingScheme:new nh({ellipsoid:t.ellipsoid});let l=Object(o["a"])(t.rectangle,c.rectangle);l=L4e(l,c);const u=B4e(c,l,t.minimumLevel),h=this._tmsResource.getDerivedResource({url:"{z}/{x}/{reverseY}."+n});this._deferred.resolve({url:h,tilingScheme:c,rectangle:l,tileWidth:i,tileHeight:a,minimumLevel:u,maximumLevel:s,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit})};var F4e=N4e;const k4e=/\/$/,z4e=new fi('&copy; <a href="https://www.mapbox.com/about/maps/">Mapbox</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function U4e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.mapId;if(!Object(r["a"])(t))throw new a["a"]("options.mapId is required.");const n=e.accessToken;if(!Object(r["a"])(n))throw new a["a"]("options.accessToken is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const i=Et["a"].createIfNeeded(Object(o["a"])(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let s=Object(o["a"])(e.format,"png");/\./.test(s)||(s="."+s),this._format=s;let c,l=i.getUrlComponent();k4e.test(l)||(l+="/"),l+=`${t}/{z}/{x}/{y}${this._format}`,i.url=l,i.setQueryParameters({access_token:n}),Object(r["a"])(e.credit)?(c=e.credit,"string"===typeof c&&(c=new fi(c))):c=z4e,this._resource=i,this._imageryProvider=new M4e({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(U4e.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}}),U4e.prototype.getTileCredits=function(e,t,n){},U4e.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)},U4e.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)},U4e._defaultCredit=z4e;var V4e=U4e;function H4e(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const t=Et["a"].createIfNeeded(e.url),n=Object(o["a"])(e.rectangle,Fe.MAX_VALUE),i=new qt({rectangle:n,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=i,this._resource=t,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new pi["a"],this._ready=!1,this._readyPromise=Object(xr["a"])();let s=e.credit;"string"===typeof s&&(s=new fi(s)),this._credit=s;const c=this;let l;function u(e){c._image=e,c._tileWidth=e.width,c._tileHeight=e.height,c._ready=!0,c._readyPromise.resolve(!0),eh.handleSuccess(c._errorEvent)}function h(e){const n=`Failed to load image ${t.url}.`;l=eh.handleError(l,c,c._errorEvent,n,0,0,0,d,e),l.retry||c._readyPromise.reject(new ye["a"](n))}function d(){Pqe.loadImage(null,t).then(u).catch(h)}d()}Object.defineProperties(H4e.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return 0}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return 0}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.")}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}}),H4e.prototype.getTileCredits=function(e,t,n){},H4e.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");if(Object(r["a"])(this._image))return Promise.resolve(this._image)},H4e.prototype.pickFeatures=function(e,t,n,i,o){};var G4e=H4e;function q4e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.clock",e.clock),i["a"].typeOf.object("options.times",e.times),i["a"].typeOf.func("options.requestImageFunction",e.requestImageFunction),i["a"].typeOf.func("options.reloadFunction",e.reloadFunction),this._tileCache={},this._tilesRequestedForInterval=[];const t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}function W4e(e,t,n){return`${e}-${t}-${n}`}function Y4e(e){const t=e.split("-");if(3===t.length)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function X4e(e){const t=e._times;if(!Object(r["a"])(t))return;const n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,a=n.multiplier;if(!o&&0!==a)return;let s,c=t.indexOf(i);if(c<0)return;const l=t.get(c);return a>0?(s=gr.secondsDifference(l.stop,i),++c):(s=gr.secondsDifference(l.start,i),--c),s/=a,c>=0&&s<=5?t.get(c):void 0}function K4e(e,t,n){const i=e._times.indexOf(n.start),o=e._tileCache;let a=o[i];Object(r["a"])(a)||(a=o[i]={});const s=t.key;if(Object(r["a"])(a[s]))return!0;const c=Y4e(s),l=new Iu["a"]({throttle:!1,throttleByServer:!0,type:ju["a"].IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(c.x,c.y,c.level,l,n);return!!Object(r["a"])(u)&&(a[s]={promise:u,request:l},!0)}Object.defineProperties(q4e.prototype,{clock:{get:function(){return this._clock},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}}),q4e.prototype.getFromCache=function(e,t,n,i){const o=W4e(e,t,n);let a;const s=this._tileCache[this._currentIntervalIndex];if(Object(r["a"])(s)&&Object(r["a"])(s[o])){const e=s[o];a=e.promise.catch((function(t){throw i.state=e.request.state,t})),delete s[o]}return a},q4e.prototype.checkApproachingInterval=function(e,t,n,i){const o=W4e(e,t,n),a=this._tilesRequestedForInterval,s=X4e(this),c={key:o,priorityFunction:i.priorityFunction};Object(r["a"])(s)&&K4e(this,c,s)||a.push(c),a.length>=512&&a.splice(0,256)},q4e.prototype._clockOnTick=function(e){const t=e.currentTime,n=this._times,i=n.indexOf(t),o=this._currentIntervalIndex;if(i!==o){const e=this._tileCache[o];for(const t in e)e.hasOwnProperty(t)&&e[t].request.cancel();return delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,void this._reloadFunction()}const a=X4e(this);if(Object(r["a"])(a)){const e=this._tilesRequestedForInterval;let t=!0;while(t){if(0===e.length)break;const n=e.pop();t=K4e(this,n,a),t||e.push(n)}}};var J4e=q4e;const Z4e=[3034,3035,3042,3043,3044],$4e=[4471,4559];function Q4e(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");if(!Object(r["a"])(e.layers))throw new a["a"]("options.layers is required.");if(Object(r["a"])(e.times)&&!Object(r["a"])(e.clock))throw new a["a"]("options.times was specified, so options.clock is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=Object(o["a"])(e.getFeatureInfoUrl,e.url);const t=Et["a"].createIfNeeded(e.url),n=Et["a"].createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(Q4e.DefaultParameters,!0),n.setQueryParameters(Q4e.GetFeatureInfoDefaultParameters,!0),Object(r["a"])(e.parameters)&&t.setQueryParameters(n5e(e.parameters)),Object(r["a"])(e.getFeatureInfoParameters)&&n.setQueryParameters(n5e(e.getFeatureInfoParameters));const i=this;this._reload=void 0,Object(r["a"])(e.times)&&(this._timeDynamicImagery=new J4e({clock:e.clock,times:e.times,requestImageFunction:function(e,t,n,o,r){return e5e(i,e,t,n,o,r)},reloadFunction:function(){Object(r["a"])(i._reload)&&i._reload()}}));const s={};if(s.layers=e.layers,s.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",s.width="{width}",s.height="{height}",parseFloat(t.queryParameters.version)>=1.3){s.crs=Object(o["a"])(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Ll?"EPSG:3857":"CRS:84");const t=s.crs.split(":");if("EPSG"===t[0]&&2===t.length){const e=Number(t[1]);(e>=4e3&&e<5e3&&!$4e.includes(e)||Z4e.includes(e))&&(s.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else s.srs=Object(o["a"])(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Ll?"EPSG:3857":"EPSG:4326");t.setQueryParameters(s,!0),n.setQueryParameters(s,!0);const c={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(c.i="{i}",c.j="{j}"):(c.x="{i}",c.y="{j}"),n.setQueryParameters(c,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new M4e({url:t,pickFeaturesUrl:n,tilingScheme:Object(o["a"])(e.tilingScheme,new qt({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:Object(o["a"])(e.getFeatureInfoFormats,Q4e.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function e5e(e,t,n,i,o,a){const s=Object(r["a"])(a)?a.data:void 0,c=e._tileProvider;return Object(r["a"])(s)&&c._resource.setQueryParameters(s),c.requestImage(t,n,i,o)}function t5e(e,t,n,i,o,a,s){const c=Object(r["a"])(s)?s.data:void 0,l=e._tileProvider;return Object(r["a"])(c)&&l._pickFeaturesResource.setQueryParameters(c),l.pickFeatures(t,n,i,o,a)}function n5e(e){const t={};for(const n in e)e.hasOwnProperty(n)&&(t[n.toLowerCase()]=e[n]);return t}Object.defineProperties(Q4e.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return this._tileProvider.ready}},readyPromise:{get:function(){return this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}}),Q4e.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)},Q4e.prototype.requestImage=function(e,t,n,i){let o;const a=this._timeDynamicImagery;let s;return Object(r["a"])(a)&&(s=a.currentInterval,o=a.getFromCache(e,t,n,i)),Object(r["a"])(o)||(o=e5e(this,e,t,n,i,s)),Object(r["a"])(o)&&Object(r["a"])(a)&&a.checkApproachingInterval(e,t,n,i),o},Q4e.prototype.pickFeatures=function(e,t,n,i,o){const a=this._timeDynamicImagery,s=Object(r["a"])(a)?a.currentInterval:void 0;return t5e(this,e,t,n,i,o,s)},Q4e.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"}),Q4e.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"}),Q4e.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new z$e("json","application/json")),Object.freeze(new z$e("xml","text/xml")),Object.freeze(new z$e("text","text/html"))]);var i5e=Q4e;const o5e=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function r5e(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.url))throw new a["a"]("options.url is required.");if(!Object(r["a"])(e.layer))throw new a["a"]("options.layer is required.");if(!Object(r["a"])(e.style))throw new a["a"]("options.style is required.");if(!Object(r["a"])(e.tileMatrixSetID))throw new a["a"]("options.tileMatrixSetID is required.");if(Object(r["a"])(e.times)&&!Object(r["a"])(e.clock))throw new a["a"]("options.times was specified, so options.clock is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const t=Et["a"].createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,s=t.url,c=s.match(/{/g);if(!Object(r["a"])(c)||1===c.length&&/{s}/.test(s))t.setQueryParameters(o5e),this._useKvp=!0;else{const e={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(e),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=Object(o["a"])(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=Object(r["a"])(e.tilingScheme)?e.tilingScheme:new nh({ellipsoid:e.ellipsoid}),this._tileWidth=Object(o["a"])(e.tileWidth,256),this._tileHeight=Object(o["a"])(e.tileHeight,256),this._minimumLevel=Object(o["a"])(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=Object(o["a"])(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;const l=this;this._reload=void 0,Object(r["a"])(e.times)&&(this._timeDynamicImagery=new J4e({clock:e.clock,times:e.times,requestImageFunction:function(e,t,n,i,o){return a5e(l,e,t,n,i,o)},reloadFunction:function(){Object(r["a"])(l._reload)&&l._reload()}})),this._readyPromise=Promise.resolve(!0);const u=this._tilingScheme.positionToTileXY(Fe.southwest(this._rectangle),this._minimumLevel),h=this._tilingScheme.positionToTileXY(Fe.northeast(this._rectangle),this._minimumLevel),d=(Math.abs(h.x-u.x)+1)*(Math.abs(h.y-u.y)+1);if(d>4)throw new a["a"](`The imagery provider's rectangle and minimumLevel indicate that there are ${d} tiles at the minimum level. Imagery providers with more than four tiles at the minimum level are not supported.`);this._errorEvent=new pi["a"];const f=e.credit;this._credit="string"===typeof f?new fi(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():Object(r["a"])(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function a5e(e,t,n,i,o,a){const s=e._tileMatrixLabels,c=Object(r["a"])(s)?s[i]:i.toString(),l=e._subdomains,u=e._dimensions,h=Object(r["a"])(a)?a.data:void 0;let d,f;if(e._useKvp){let a={};a.tilematrix=c,a.layer=e._layer,a.style=e._style,a.tilerow=n,a.tilecol=t,a.tilematrixset=e._tileMatrixSetID,a.format=e._format,Object(r["a"])(u)&&(a=Object(xS["a"])(a,u)),Object(r["a"])(h)&&(a=Object(xS["a"])(a,h)),f={s:l[(t+n+i)%l.length]},d=e._resource.getDerivedResource({queryParameters:a,request:o}),d.setTemplateValues(f)}else f={TileMatrix:c,TileRow:n.toString(),TileCol:t.toString(),s:l[(t+n+i)%l.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(f),Object(r["a"])(u)&&d.setTemplateValues(u),Object(r["a"])(h)&&d.setTemplateValues(h);return Pqe.loadImage(e,d)}Object.defineProperties(r5e.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{value:!0},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,Object(r["a"])(this._reload)&&this._reload())}}}),r5e.prototype.getTileCredits=function(e,t,n){},r5e.prototype.requestImage=function(e,t,n,i){let o;const a=this._timeDynamicImagery;let s;return Object(r["a"])(a)&&(s=a.currentInterval,o=a.getFromCache(e,t,n,i)),Object(r["a"])(o)||(o=a5e(this,e,t,n,i,s)),Object(r["a"])(o)&&Object(r["a"])(a)&&a.checkApproachingInterval(e,t,n,i),o},r5e.prototype.pickFeatures=function(e,t,n,i,o){};var s5e=r5e;function c5e(e){return function(t){return new e(t)}}const l5e={ARCGIS_MAPSERVER:c5e(Nqe),BING:c5e(eWe),GOOGLE_EARTH:c5e(S3e),MAPBOX:c5e(V4e),SINGLE_TILE:c5e(G4e),TMS:c5e(F4e),URL_TEMPLATE:c5e(M4e),WMS:c5e(i5e),WMTS:c5e(s5e)};function u5e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.assetId;i["a"].typeOf.number("options.assetId",t),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new pi["a"];const n=this,a=jx._createEndpointResource(t,e),s=e.assetId.toString()+e.accessToken+e.server;let c=u5e._endpointCache[s];Object(r["a"])(c)||(c=a.fetchJson(),u5e._endpointCache[s]=c),this._readyPromise=c.then((function(e){if("IMAGERY"!==e.type)return Promise.reject(new ye["a"](`Cesium ion asset ${t} is not an imagery asset.`));let i;const o=e.externalType;if(Object(r["a"])(o)){const t=l5e[o];if(!Object(r["a"])(t))return Promise.reject(new ye["a"]("Unrecognized Cesium ion imagery type: "+o));i=t(e.options)}else i=new F4e({url:new jx(e,a)});return n._tileCredits=jx.getCreditsFromEndpoint(e,a),i.errorEvent.addEventListener((function(e){e.provider=n,n._errorEvent.raiseEvent(e)})),n._imageryProvider=i,i.readyPromise.then((function(){return n._ready=!0,!0}))}))}Object.defineProperties(u5e.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._imageryProvider.rectangle}},tileWidth:{get:function(){if(!this._ready)throw new a["a"]("tileWidth must not be called before the imagery provider is ready.");return this._imageryProvider.tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new a["a"]("tileHeight must not be called before the imagery provider is ready.");return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new a["a"]("maximumLevel must not be called before the imagery provider is ready.");return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new a["a"]("minimumLevel must not be called before the imagery provider is ready.");return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){if(!this._ready)throw new a["a"]("tilingScheme must not be called before the imagery provider is ready.");return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new a["a"]("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){if(!this._ready)throw new a["a"]("credit must not be called before the imagery provider is ready.");return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){if(!this._ready)throw new a["a"]("hasAlphaChannel must not be called before the imagery provider is ready.");return this._imageryProvider.hasAlphaChannel},proxy:{get:function(){}}}}),u5e.prototype.getTileCredits=function(e,t,n){if(!this._ready)throw new a["a"]("getTileCredits must not be called before the imagery provider is ready.");const i=this._imageryProvider.getTileCredits(e,t,n);return Object(r["a"])(i)?this._tileCredits.concat(i):this._tileCredits},u5e.prototype.requestImage=function(e,t,n,i){if(!this._ready)throw new a["a"]("requestImage must not be called before the imagery provider is ready.");return this._imageryProvider.requestImage(e,t,n,i)},u5e.prototype.pickFeatures=function(e,t,n,i,o){if(!this._ready)throw new a["a"]("pickFeatures must not be called before the imagery provider is ready.");return this._imageryProvider.pickFeatures(e,t,n,i,o)},u5e._endpointCache={};var h5e=u5e;const d5e={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4};var f5e=Object.freeze(d5e);function p5e(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}function m5e(e){if(Object(r["a"])(e)&&e.length!==Q2.NUMBER_OF_JOB_TYPES)throw new a["a"]("A budget must be specified for each job type; budgets.length should equal JobType.NUMBER_OF_JOB_TYPES.");const t=new Array(Q2.NUMBER_OF_JOB_TYPES);t[Q2.TEXTURE]=new p5e(Object(r["a"])(e)?e[Q2.TEXTURE]:10),t[Q2.PROGRAM]=new p5e(Object(r["a"])(e)?e[Q2.PROGRAM]:10),t[Q2.BUFFER]=new p5e(Object(r["a"])(e)?e[Q2.BUFFER]:30);const n=t.length;let i,o=0;for(i=0;i<n;++i)o+=t[i].total;const s=new Array(n);for(i=0;i<n;++i)s[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=s}Object.defineProperties(p5e.prototype,{total:{get:function(){return this._total}}}),m5e.getTimestamp=y_,Object.defineProperties(m5e.prototype,{totalBudget:{get:function(){return this._totalBudget}}}),m5e.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget},m5e.prototype.resetBudgets=function(){const e=this._budgets,t=e.length;for(let n=0;n<t;++n){const t=e[n];t.starvedLastFrame=t.starvedThisFrame,t.starvedThisFrame=!1,t.usedThisFrame=0,t.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0},m5e.prototype.execute=function(e,t){const n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){const e=n.length;let t;for(t=0;t<e;++t)if(r=n[t],r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame)break;if(t===e&&o)return!1;o&&(i.starvedThisFrame=!0)}const a=m5e.getTimestamp();e.execute();const s=m5e.getTimestamp()-a;return this._totalUsedThisFrame+=s,r?r.stolenFromMeThisFrame+=s:i.usedThisFrame+=s,this._executedThisFrame[t]=!0,!0};var _5e=m5e;function g5e(){}Object.defineProperties(g5e.prototype,{color:{get:a["a"].throwInstantiationError},intensity:{get:a["a"].throwInstantiationError}});var b5e=g5e;const y5e=/\/$/,v5e=new fi('&copy; <a href="https://www.mapbox.com/about/maps/">Mapbox</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function O5e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.styleId;if(!Object(r["a"])(t))throw new a["a"]("options.styleId is required.");const n=e.accessToken;if(!Object(r["a"])(n))throw new a["a"]("options.accessToken is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;const i=Et["a"].createIfNeeded(Object(o["a"])(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;const s=Object(o["a"])(e.tilesize,512);this._tilesize=s;const c=Object(o["a"])(e.username,"mapbox");this._username=c;const l=Object(r["a"])(e.scaleFactor)?"@2x":"";let u,h=i.getUrlComponent();y5e.test(h)||(h+="/"),h+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${l}`,i.url=h,i.setQueryParameters({access_token:n}),Object(r["a"])(e.credit)?(u=e.credit,"string"===typeof u&&(u=new fi(u))):u=v5e,this._resource=i,this._imageryProvider=new M4e({url:i,credit:u,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(O5e.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}}),O5e.prototype.getTileCredits=function(e,t,n){},O5e.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)},O5e.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)},O5e._defaultCredit=v5e;var w5e=O5e;function A5e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);let t=e.textureUrl;Object(r["a"])(t)||(t=Lt("Assets/Textures/moonSmall.jpg")),this.show=Object(o["a"])(e.show,!0),this.textureUrl=t,this._ellipsoid=Object(o["a"])(e.ellipsoid,z.MOON),this.onlySunLighting=Object(o["a"])(e.onlySunLighting,!0),this._ellipsoidPrimitive=new e$e({radii:this.ellipsoid.radii,material:Uk.fromType(Uk.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new _x}Object.defineProperties(A5e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});const T5e=new ce,C5e=new ce,E5e=new g,x5e=[];A5e.prototype.update=function(e){if(!this.show)return;const t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;const n=e.time;Object(r["a"])(Hs.computeIcrfToFixedMatrix(n,T5e))||Hs.computeTemeToPseudoFixedMatrix(n,T5e);const i=this._axes.evaluate(n,C5e);ce.transpose(i,i),ce.multiply(T5e,i,i);const o=WM.computeMoonPositionInEarthInertialFrame(n,E5e);ce.multiplyByVector(T5e,o,o),Ne.fromRotationTranslation(i,o,t.modelMatrix);const a=e.commandList;return e.commandList=x5e,x5e.length=0,t.update(e),e.commandList=a,1===x5e.length?x5e[0]:void 0},A5e.prototype.isDestroyed=function(){return!1},A5e.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),Wl(this)};var S5e=A5e;function I5e(e){}I5e.prototype.isReady=function(){return!0},I5e.prototype.shouldDiscardImage=function(e){return!1};var D5e=I5e,j5e="#ifdef MRT\n#extension GL_EXT_draw_buffers : enable\n#endif\n\nuniform vec4 u_bgColor;\nuniform sampler2D u_depthTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n if (texture2D(u_depthTexture, v_textureCoordinates).r < 1.0)\n {\n#ifdef MRT\n gl_FragData[0] = u_bgColor;\n gl_FragData[1] = vec4(u_bgColor.a);\n#else\n gl_FragColor = u_bgColor;\n#endif\n return;\n }\n \n discard;\n}\n",P5e="/**\n * Compositing for Weighted Blended Order-Independent Transparency. See:\n * - http://jcgt.org/published/0002/02/09/\n * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html\n */\n\nuniform sampler2D u_opaque;\nuniform sampler2D u_accumulation;\nuniform sampler2D u_revealage;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n vec4 opaque = texture2D(u_opaque, v_textureCoordinates);\n vec4 accum = texture2D(u_accumulation, v_textureCoordinates);\n float r = texture2D(u_revealage, v_textureCoordinates).r;\n\n#ifdef MRT\n vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);\n#else\n vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);\n#endif\n\n gl_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;\n\n if (opaque != czm_backgroundColor)\n {\n gl_FragColor.a = 1.0;\n }\n}\n";function R5e(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;const t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new Yne({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new Yne({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new Yne({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new Yne({createColorAttachments:!1}),this._opaqueClearCommand=new bJ({color:new j_(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new bJ({color:new j_(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new bJ({color:new j_(0,0,0,0),owner:this}),this._alphaClearCommand=new bJ({color:new j_(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Oh,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function M5e(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function N5e(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function L5e(e){M5e(e),N5e(e)}function B5e(e,t,n,i){M5e(e),e._accumulationTexture=new nk({context:t,width:n,height:i,pixelFormat:XS.RGBA,pixelDatatype:WS.FLOAT});const o=new Float32Array(n*i*4);e._revealageTexture=new nk({context:t,pixelFormat:XS.RGBA,pixelDatatype:WS.FLOAT,source:{arrayBufferView:o,width:n,height:i},flipY:!1})}function F5e(e,t){N5e(e);const n=Jc.FRAMEBUFFER_COMPLETE;let i=!0;const o=e._accumulationTexture.width,r=e._accumulationTexture.height;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),e._translucentFBO.status===n&&e._adjustTranslucentFBO.status===n||(N5e(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);const a=e._translucentFBO.status===n,s=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,l=e._adjustAlphaFBO.status===n;a&&s&&c&&l||(L5e(e),e._translucentMultipassSupport=!1,i=!1)}return i}R5e.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();const a=this._opaqueTexture.width,s=this._opaqueTexture.height,c=this._accumulationTexture,l=!Object(r["a"])(c)||c.width!==a||c.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((l||u)&&(this._numSamples=o,B5e(this,e,a,s)),(!Object(r["a"])(this._translucentFBO.framebuffer)||l||u)&&!F5e(this,e))return;this._useHDR=i;const h=this;let d,f;Object(r["a"])(this._compositeCommand)||(d=new bG({sources:[P5e]}),this._translucentMRTSupport&&d.defines.push("MRT"),f={u_opaque:function(){return h._opaqueTexture},u_accumulation:function(){return h._accumulationTexture},u_revealage:function(){return h._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:f,owner:this})),Object(r["a"])(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new bG({defines:["MRT"],sources:[j5e]}),f={u_bgColor:function(){return h._translucentMRTClearCommand.color},u_depthTexture:function(){return h._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:f,owner:this})):this._translucentMultipassSupport&&(d=new bG({sources:[j5e]}),f={u_bgColor:function(){return h._translucentMultipassClearCommand.color},u_depthTexture:function(){return h._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:f,owner:this}),f={u_bgColor:function(){return h._alphaClearCommand.color},u_depthTexture:function(){return h._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:f,owner:this}))),this._viewport.width=a,this._viewport.height=s;const p=!Oh.equals(this._viewport,t.viewport);let m=p!==this._useScissorTest;this._useScissorTest=p,Oh.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Oh.clone(t.viewport,this._scissorRectangle),m=!0),Object(r["a"])(this._rs)&&Oh.equals(this._viewport,this._rs.viewport)&&!m||(this._rs=Mz.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),Object(r["a"])(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),Object(r["a"])(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};const k5e={enabled:!0,color:new j_(0,0,0,0),equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.ONE,functionDestinationRgb:PF.ONE,functionSourceAlpha:PF.ZERO,functionDestinationAlpha:PF.ONE_MINUS_SOURCE_ALPHA},z5e={enabled:!0,color:new j_(0,0,0,0),equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.ONE,functionDestinationRgb:PF.ONE,functionSourceAlpha:PF.ONE,functionDestinationAlpha:PF.ONE},U5e={enabled:!0,color:new j_(0,0,0,0),equationRgb:DF.ADD,equationAlpha:DF.ADD,functionSourceRgb:PF.ZERO,functionDestinationRgb:PF.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:PF.ZERO,functionDestinationAlpha:PF.ONE_MINUS_SOURCE_ALPHA};function V5e(e,t,n,i){let o=n[i.id];if(!Object(r["a"])(o)){const e=Mz.getState(i);e.depthMask=!1,e.blending=t,o=Mz.fromCache(e),n[i.id]=o}return o}function H5e(e,t,n){return V5e(t,k5e,e._translucentRenderStateCache,n)}function G5e(e,t,n){return V5e(t,z5e,e._translucentRenderStateCache,n)}function q5e(e,t,n){return V5e(t,U5e,e._alphaRenderStateCache,n)}const W5e=" vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;\n float ai = czm_gl_FragColor.a;\n float wzi = czm_alphaWeight(ai);\n gl_FragData[0] = vec4(Ci * wzi, ai);\n gl_FragData[1] = vec4(ai * wzi);\n",Y5e=" vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;\n float ai = czm_gl_FragColor.a;\n float wzi = czm_alphaWeight(ai);\n gl_FragColor = vec4(Ci, ai) * wzi;\n",X5e=" float ai = czm_gl_FragColor.a;\n gl_FragColor = vec4(ai);\n";function K5e(e,t,n,i){let o=e.shaderCache.getDerivedShaderProgram(t,n);if(!Object(r["a"])(o)){const r=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map((function(e){return e=bG.replaceMain(e,"czm_translucent_main"),e=e.replace(/gl_FragColor/g,"czm_gl_FragColor"),e=e.replace(/\bdiscard\b/g,"czm_discard = true"),e=e.replace(/czm_phong/g,"czm_translucentPhong"),e})),a.sources.splice(0,0,(-1!==i.indexOf("gl_FragData")?"#extension GL_EXT_draw_buffers : enable \n":"")+"vec4 czm_gl_FragColor;\nbool czm_discard = false;\n"),a.sources.push(`void main()\n{\n czm_translucent_main();\n if (czm_discard)\n {\n discard;\n }\n${i}}\n`),o=e.shaderCache.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:r})}return o}function J5e(e,t){return K5e(e,t,"translucentMRT",W5e)}function Z5e(e,t){return K5e(e,t,"translucentMultipass",Y5e)}function $5e(e,t){return K5e(e,t,"alphaMultipass",X5e)}function Q5e(e,t,n,i,o,a){let s,c,l;const u=t.context,h=t.frameState.useLogDepth,d=t._hdr,f=i.framebuffer,p=o.length,m=t.frameState.shadowState.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(u,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(u,i);const _=e._opaqueFBO.framebuffer;for(i.framebuffer=e._translucentFBO.framebuffer,l=0;l<p;++l)s=o[l],s=h?s.derivedCommands.logDepth.command:s,s=d?s.derivedCommands.hdr.command:s,c=m&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(c,t,u,i,_);for(Object(r["a"])(a)&&(s=a.unclassifiedCommand,c=m&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(c,t,u,i,_)),i.framebuffer=e._alphaFBO.framebuffer,l=0;l<p;++l)s=o[l],s=h?s.derivedCommands.logDepth.command:s,s=d?s.derivedCommands.hdr.command:s,c=m&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(c,t,u,i,_);Object(r["a"])(a)&&(s=a.unclassifiedCommand,c=m&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(c,t,u,i,_)),i.framebuffer=f}function e6e(e,t,n,i,o,a){const s=t.context,c=t.frameState.useLogDepth,l=t._hdr,u=i.framebuffer,h=o.length,d=t.frameState.shadowState.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);const f=e._opaqueFBO.framebuffer;let p,m;i.framebuffer=e._translucentFBO.framebuffer;for(let r=0;r<h;++r)p=o[r],p=c?p.derivedCommands.logDepth.command:p,p=l?p.derivedCommands.hdr.command:p,m=d&&p.receiveShadows?p.derivedCommands.oit.shadows.translucentCommand:p.derivedCommands.oit.translucentCommand,n(m,t,s,i,f);Object(r["a"])(a)&&(p=a.unclassifiedCommand,m=d&&p.receiveShadows?p.derivedCommands.oit.shadows.translucentCommand:p.derivedCommands.oit.translucentCommand,n(m,t,s,i,f)),i.framebuffer=u}R5e.prototype.createDerivedCommands=function(e,t,n){if(Object(r["a"])(n)||(n={}),this._translucentMRTSupport){let i,o;Object(r["a"])(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState),n.translucentCommand=nz.shallowClone(e,n.translucentCommand),Object(r["a"])(i)&&n.shaderProgramId===e.shaderProgram.id?(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o):(n.translucentCommand.shaderProgram=J5e(t,e.shaderProgram),n.translucentCommand.renderState=H5e(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id)}else{let i,o,a,s;Object(r["a"])(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,a=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=nz.shallowClone(e,n.translucentCommand),n.alphaCommand=nz.shallowClone(e,n.alphaCommand),Object(r["a"])(i)&&n.shaderProgramId===e.shaderProgram.id?(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=a,n.alphaCommand.renderState=s):(n.translucentCommand.shaderProgram=Z5e(t,e.shaderProgram),n.translucentCommand.renderState=G5e(this,t,e.renderState),n.alphaCommand.shaderProgram=$5e(t,e.shaderProgram),n.alphaCommand.renderState=q5e(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id)}return n},R5e.prototype.executeCommands=function(e,t,n,i,o){this._translucentMRTSupport?e6e(this,e,t,n,i,o):Q5e(this,e,t,n,i,o)},R5e.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)},R5e.prototype.clear=function(e,t,n){const i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,j_.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer;const o=this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand;o.execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i},R5e.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport},R5e.prototype.isDestroyed=function(){return!1},R5e.prototype.destroy=function(){return L5e(this),Object(r["a"])(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),Object(r["a"])(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),Object(r["a"])(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),Wl(this)};var t6e=R5e;const n6e=new fi("MapQuest, Open Street Map and contributors, CC-BY-SA");function i6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Et["a"].createIfNeeded(Object(o["a"])(e.url,"https://a.tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+="{z}/{x}/{y}."+Object(o["a"])(e.fileExtension,"png");const n=new nh({ellipsoid:e.ellipsoid}),i=256,r=256,s=Object(o["a"])(e.minimumLevel,0),c=e.maximumLevel,l=Object(o["a"])(e.rectangle,n.rectangle),u=n.positionToTileXY(Fe.southwest(l),s),h=n.positionToTileXY(Fe.northeast(l),s),d=(Math.abs(h.x-u.x)+1)*(Math.abs(h.y-u.y)+1);if(d>4)throw new a["a"](`The rectangle and minimumLevel indicate that there are ${d} tiles at the minimum level. Imagery providers with more than four tiles at the minimum level are not supported.`);let f=Object(o["a"])(e.credit,n6e);"string"===typeof f&&(f=new fi(f)),M4e.call(this,{url:t,credit:f,tilingScheme:n,tileWidth:i,tileHeight:r,minimumLevel:s,maximumLevel:c,rectangle:l})}Object(r["a"])(Object.create)&&(i6e.prototype=Object.create(M4e.prototype),i6e.prototype.constructor=i6e);var o6e=i6e;const r6e=new Ht(1,1);function a6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.mass=Object(o["a"])(e.mass,1),this.position=g.clone(Object(o["a"])(e.position,g.ZERO)),this.velocity=g.clone(Object(o["a"])(e.velocity,g.ZERO)),this.life=Object(o["a"])(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=j_.clone(Object(o["a"])(e.startColor,j_.WHITE)),this.endColor=j_.clone(Object(o["a"])(e.endColor,j_.WHITE)),this.startScale=Object(o["a"])(e.startScale,1),this.endScale=Object(o["a"])(e.endScale,1),this.imageSize=Ht.clone(Object(o["a"])(e.imageSize,r6e)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(a6e.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});const s6e=new g;a6e.prototype.update=function(e,t){return g.multiplyByScalar(this.velocity,e,s6e),g.add(this.position,s6e,this.position),Object(r["a"])(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var c6e=a6e;function l6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.time=Object(o["a"])(e.time,0),this.minimum=Object(o["a"])(e.minimum,0),this.maximum=Object(o["a"])(e.maximum,50),this._complete=!1}Object.defineProperties(l6e.prototype,{complete:{get:function(){return this._complete}}});var u6e=l6e;function h6e(e){throw new a["a"]("This type should not be instantiated directly. Instead, use BoxEmitter, CircleEmitter, ConeEmitter or SphereEmitter.")}h6e.prototype.emit=function(e){a["a"].throwInstantiationError()};var d6e=h6e;const f6e=new Ht(1,1);function p6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.show=Object(o["a"])(e.show,!0),this.updateCallback=e.updateCallback,this.loop=Object(o["a"])(e.loop,!0),this.image=Object(o["a"])(e.image,void 0);let t=e.emitter;Object(r["a"])(t)||(t=new EKe(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this._emitterModelMatrix=Ne.clone(Object(o["a"])(e.emitterModelMatrix,Ne.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new Ne,this._startColor=j_.clone(Object(o["a"])(e.color,Object(o["a"])(e.startColor,j_.WHITE))),this._endColor=j_.clone(Object(o["a"])(e.color,Object(o["a"])(e.endColor,j_.WHITE))),this._startScale=Object(o["a"])(e.scale,Object(o["a"])(e.startScale,1)),this._endScale=Object(o["a"])(e.scale,Object(o["a"])(e.endScale,1)),this._emissionRate=Object(o["a"])(e.emissionRate,5),this._minimumSpeed=Object(o["a"])(e.speed,Object(o["a"])(e.minimumSpeed,1)),this._maximumSpeed=Object(o["a"])(e.speed,Object(o["a"])(e.maximumSpeed,1)),this._minimumParticleLife=Object(o["a"])(e.particleLife,Object(o["a"])(e.minimumParticleLife,5)),this._maximumParticleLife=Object(o["a"])(e.particleLife,Object(o["a"])(e.maximumParticleLife,5)),this._minimumMass=Object(o["a"])(e.mass,Object(o["a"])(e.minimumMass,1)),this._maximumMass=Object(o["a"])(e.mass,Object(o["a"])(e.maximumMass,1)),this._minimumImageSize=Ht.clone(Object(o["a"])(e.imageSize,Object(o["a"])(e.minimumImageSize,f6e))),this._maximumImageSize=Ht.clone(Object(o["a"])(e.imageSize,Object(o["a"])(e.maximumImageSize,f6e))),this._sizeInMeters=Object(o["a"])(e.sizeInMeters,!1),this._lifetime=Object(o["a"])(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new pi["a"],this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}function m6e(e){const t=e._emissionRate,n=e._maximumParticleLife;let i=0;const o=e._bursts;if(Object(r["a"])(o)){const e=o.length;for(let t=0;t<e;++t)i+=o[t].maximum}const a=e._billboardCollection,s=e.image,c=Math.ceil(t*n+i),l=e._particles,u=e._particlePool,h=Math.max(c-l.length-u.length,0);for(let r=0;r<h;++r){const e=new c6e;e._billboard=a.add({image:s}),u.push(e)}e._particleEstimate=c}function _6e(e){let t=e._particlePool.pop();return Object(r["a"])(t)||(t=new c6e),t}function g6e(e,t){e._particlePool.push(t)}function b6e(e){const t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,a=e._particleEstimate,s=r-Math.max(a-o-r,0);for(let c=s;c<r;++c){const e=n[c];i.remove(e._billboard)}n.length=s}function y6e(e){Object(r["a"])(e._billboard)&&(e._billboard.show=!1)}function v6e(e,t){let n=t._billboard;Object(r["a"])(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;const i=s["a"].lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=s["a"].lerp(t.startColor.green,t.endColor.green,t.normalizedAge),a=s["a"].lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),c=s["a"].lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new j_(i,o,a,c),n.scale=s["a"].lerp(t.startScale,t.endScale,t.normalizedAge)}function O6e(e,t){t.startColor=j_.clone(e._startColor,t.startColor),t.endColor=j_.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=s["a"].randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=s["a"].randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=s["a"].randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=s["a"].randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;const n=s["a"].randomBetween(e._minimumSpeed,e._maximumSpeed);g.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function w6e(e,t){if(e._isComplete)return 0;t=s["a"].mod(t,e._lifetime);const n=t*e._emissionRate;let i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),Object(r["a"])(e.bursts)){const t=e.bursts.length;for(let n=0;n<t;n++){const t=e.bursts[n],o=e._currentTime;Object(r["a"])(t)&&!t._complete&&o>t.time&&(i+=s["a"].randomBetween(t.minimum,t.maximum),t._complete=!0)}}return i}Object.defineProperties(p6e.prototype,{emitter:{get:function(){return this._emitter},set:function(e){i["a"].defined("value",e),this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){i["a"].defined("value",e),this._matrixDirty=this._matrixDirty||!Ne.equals(this._modelMatrix,e),Ne.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){i["a"].defined("value",e),this._matrixDirty=this._matrixDirty||!Ne.equals(this._emitterModelMatrix,e),Ne.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){i["a"].defined("value",e),j_.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){i["a"].defined("value",e),j_.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){i["a"].typeOf.object("value",e),i["a"].typeOf.number.greaterThanOrEquals("value.x",e.x,0),i["a"].typeOf.number.greaterThanOrEquals("value.y",e.y,0),this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){i["a"].typeOf.object("value",e),i["a"].typeOf.number.greaterThanOrEquals("value.x",e.x,0),i["a"].typeOf.number.greaterThanOrEquals("value.y",e.y,0),this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){i["a"].typeOf.bool("value",e),this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){i["a"].typeOf.number.greaterThanOrEquals("value",e,0),this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});const A6e=new g;p6e.prototype.update=function(e){if(!this.show)return;Object(r["a"])(this._billboardCollection)||(this._billboardCollection=new Bre),this._updateParticlePool&&(m6e(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=gr.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);const n=this._particles,i=this._emitter,o=this.updateCallback;let a,c,l=n.length;for(a=0;a<l;++a)c=n[a],c.update(t,o)?v6e(this,c):(y6e(c),g6e(this,c),n[a]=n[l-1],--a,--l);n.length=l;const u=w6e(this,t);if(u>0&&Object(r["a"])(i)){this._matrixDirty&&(this._combinedMatrix=Ne.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);const e=this._combinedMatrix;for(a=0;a<u;a++)c=_6e(this),this._emitter.emit(c),g.add(c.position,c.velocity,A6e),Ne.multiplyByPoint(e,A6e,A6e),c.position=Ne.multiplyByPoint(e,c.position,c.position),g.subtract(A6e,c.position,c.velocity),g.normalize(c.velocity,c.velocity),O6e(this,c),v6e(this,c)}if(this._billboardCollection.update(e),this._previousTime=gr.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=s["a"].mod(this._currentTime,this._lifetime),this.bursts){const e=this.bursts.length;for(a=0;a<e;a++)this.bursts[a]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&b6e(this)},p6e.prototype.isDestroyed=function(){return!1},p6e.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),Wl(this)};var T6e=p6e;function C6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=mUe(e.container);if(!Object(r["a"])(t))throw new a["a"]("container is required");this._container=t;const n=document.createElement("div");n.className="cesium-performanceDisplay";const i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);const s=document.createElement("div");s.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),s.appendChild(this._msText),n.appendChild(s),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=y_(),this._lastMsSampleTime=y_(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;const c=document.createElement("div");c.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),c.appendChild(this._throttledText),n.appendChild(c)}Object.defineProperties(C6e.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(this._throttledText.nodeValue=e?"(throttled)":"",this._throttled=e)}}}),C6e.prototype.update=function(e){const t=y_(),n=Object(o["a"])(e,!0);this._fpsFrameCount++;const i=t-this._lastFpsSampleTime;if(i>1e3){let e="N/A";n&&(e=1e3*this._fpsFrameCount/i|0),this._fpsText.nodeValue=e+" FPS",this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;const r=t-this._lastMsSampleTime;if(r>200){let e="N/A";n&&(e=(r/this._msFrameCount).toFixed(2)),this._msText.nodeValue=e+" MS",this._lastMsSampleTime=t,this._msFrameCount=0}},C6e.prototype.destroy=function(){return Wl(this)};var E6e=C6e;function x6e(){this._framebuffer=new Yne,this._textureToCopy=void 0,this._copyDepthCommand=void 0}function S6e(e,t,n){const i=n.width,o=n.height;e._framebuffer.update(t,i,o)}function I6e(e,t,n){if(!Object(r["a"])(e._copyDepthCommand)){const n="uniform highp sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n gl_FragColor = czm_packDepth(texture2D(u_texture, v_textureCoordinates).r);\n}\n";e._copyDepthCommand=t.createViewportQuadCommand(n,{renderState:Mz.fromCache(),uniformMap:{u_texture:function(){return e._textureToCopy}},owner:e})}e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}Object.defineProperties(x6e.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}}),x6e.prototype.update=function(e,t){S6e(this,e,t),I6e(this,e,t)};const D6e=new be,j6e=new be(1,1/255,1/65025,1/16581375);x6e.prototype.getDepth=function(e,t,n){if(!Object(r["a"])(this.framebuffer))return;const i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=be.unpack(i,0,D6e);return be.divideByScalar(o,255,o),be.dot(o,j6e)},x6e.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)},x6e.prototype.isDestroyed=function(){return!1},x6e.prototype.destroy=function(){return this._framebuffer.destroy(),Object(r["a"])(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=Object(r["a"])(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),Wl(this)};var P6e=x6e;function R6e(){this._framebuffer=new Yne({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}function M6e(e){e._framebuffer.destroy()}function N6e(e,t){const n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);const o=new hGe(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Oh},o.viewport=new Oh,e._passState=o}Object.defineProperties(R6e.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}}),R6e.prototype.update=function(e,t,n){const i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&N6e(this,e);const r=this.framebuffer,a=this._passState;return a.framebuffer=r,a.viewport.width=i,a.viewport.height=o,a.scissorTest.rectangle.x=t.x,a.scissorTest.rectangle.y=o-t.y,a.scissorTest.rectangle.width=1,a.scissorTest.rectangle.height=1,a},R6e.prototype.isDestroyed=function(){return!1},R6e.prototype.destroy=function(){return M6e(this),Wl(this)};var L6e=R6e;function B6e(e){const t=new hGe(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Oh},t.viewport=new Oh,this._context=e,this._fb=new Yne({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}B6e.prototype.begin=function(e,t){const n=this._context,i=t.width,o=t.height;return Oh.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};const F6e=new j_;B6e.prototype.end=function(e){const t=Object(o["a"])(e.width,1),n=Object(o["a"])(e.height,1),i=this._context,a=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),s=Math.max(t,n),c=s*s,l=Math.floor(.5*t),u=Math.floor(.5*n);let h=0,d=0,f=0,p=-1;for(let o=0;o<c;++o){if(-l<=h&&h<=l&&-u<=d&&d<=u){const e=4*((u-d)*t+h+l);F6e.red=j_.byteToFloat(a[e]),F6e.green=j_.byteToFloat(a[e+1]),F6e.blue=j_.byteToFloat(a[e+2]),F6e.alpha=j_.byteToFloat(a[e+3]);const n=i.getObjectByPickColor(F6e);if(Object(r["a"])(n))return n}if(h===d||h<0&&-h===d||h>0&&h===1-d){const e=f;f=-p,p=e}h+=f,d+=p}},B6e.prototype.isDestroyed=function(){return!1},B6e.prototype.destroy=function(){return this._fb.destroy(),Wl(this)};var k6e=B6e;function z6e(){this._numSamples=1,this._colorFramebuffer=new Yne({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new Yne({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new j_(0,0,0,0),this._clearCommand=new bJ({color:new j_(0,0,0,0),depth:1,owner:this})}function U6e(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(z6e.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}}),z6e.prototype.update=function(e,t,n,i){const o=t.width,r=t.height,a=n?e.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT:WS.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,a),this._idFramebuffer.update(e,o,r)},z6e.prototype.clear=function(e,t,n){j_.clone(n,this._clearCommand.color),j_.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)},z6e.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer},z6e.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer},z6e.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)},z6e.prototype.isDestroyed=function(){return!1},z6e.prototype.destroy=function(){return U6e(this),Wl(this)};var V6e=z6e;function H6e(){}H6e.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`},H6e.createShadowCastVertexShader=function(e,t,n){const i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");const a=bG.findPositionVarying(e),s=Object(r["a"])(a);if(t&&!s){const e=o.length;for(let n=0;n<e;++n)o[n]=bG.replaceMain(o[n],"czm_shadow_cast_main");const t="varying vec3 v_positionEC; \nvoid main() \n{ \n czm_shadow_cast_main(); \n v_positionEC = (czm_inverseProjection * gl_Position).xyz; \n}";o.push(t)}return new bG({defines:i,sources:o})},H6e.createShadowCastFragmentShader=function(e,t,n,i){const o=e.defines.slice(0),a=e.sources.slice(0);o.push("SHADOW_MAP");let s=bG.findPositionVarying(e);const c=Object(r["a"])(s);c||(s="v_positionEC");const l=a.length;for(let r=0;r<l;++r)a[r]=bG.replaceMain(a[r],"czm_shadow_cast_main");let u="";return t&&(c||(u+="varying vec3 v_positionEC; \n"),u+="uniform vec4 shadowMap_lightPositionEC; \n"),u+=i?"void main() \n{ \n":"void main() \n{ \n czm_shadow_cast_main(); \n if (gl_FragColor.a == 0.0) \n { \n discard; \n } \n",u+=t?` float distance = length(${s}); \n if (distance >= shadowMap_lightPositionEC.w) \n { \n discard; \n } \n distance /= shadowMap_lightPositionEC.w; // radius \n gl_FragColor = czm_packDepth(distance); \n`:n?" gl_FragColor = vec4(1.0); \n":" gl_FragColor = czm_packDepth(gl_FragCoord.z); \n",u+="} \n",a.push(u),new bG({defines:o,sources:a})},H6e.getShadowReceiveShaderKeyword=function(e,t,n,i){const o=e._usesDepthTexture,r=e._polygonOffsetSupported,a=e._isPointLight,s=e._isSpotLight,c=e._numberOfCascades>1,l=e.debugCascadeColors,u=e.softShadows;return`receiveShadow ${o}${r}${a}${s}${c}${l}${u}${t}${n}${i}`},H6e.createShadowReceiveVertexShader=function(e,t,n){const i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new bG({defines:i,sources:o})},H6e.createShadowReceiveFragmentShader=function(e,t,n,i,o){const a=bG.findNormalVarying(e),s=!i&&Object(r["a"])(a)||i&&o,c=bG.findPositionVarying(e),l=Object(r["a"])(c),u=t._usesDepthTexture,h=t._polygonOffsetSupported,d=t._isPointLight,f=t._isSpotLight,p=t._numberOfCascades>1,m=t.debugCascadeColors,_=t.softShadows,g=d?t._pointBias:i?t._terrainBias:t._primitiveBias,b=e.defines.slice(0),y=e.sources.slice(0),v=y.length;for(let r=0;r<v;++r)y[r]=bG.replaceMain(y[r],"czm_shadow_receive_main");d?b.push("USE_CUBE_MAP_SHADOW"):u&&b.push("USE_SHADOW_DEPTH_TEXTURE"),_&&!d&&b.push("USE_SOFT_SHADOWS"),p&&n&&i&&(s?b.push("ENABLE_VERTEX_LIGHTING"):b.push("ENABLE_DAYNIGHT_SHADING")),n&&g.normalShading&&s&&(b.push("USE_NORMAL_SHADING"),g.normalShadingSmooth>0&&b.push("USE_NORMAL_SHADING_SMOOTH"));let O,w="";return w+=d?"uniform samplerCube shadowMap_textureCube; \n":"uniform sampler2D shadowMap_texture; \n",O=l?` return vec4(${c}, 1.0); \n`:"#ifndef LOG_DEPTH \n return czm_windowToEyeCoordinates(gl_FragCoord); \n#else \n return vec4(v_logPositionEC, 1.0); \n#endif \n",w+=`uniform mat4 shadowMap_matrix; \nuniform vec3 shadowMap_lightDirectionEC; \nuniform vec4 shadowMap_lightPositionEC; \nuniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; \nuniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; \n#ifdef LOG_DEPTH \nvarying vec3 v_logPositionEC; \n#endif \nvec4 getPositionEC() \n{ \n${O}} \nvec3 getNormalEC() \n{ \n${s?` return normalize(${a}); \n`:" return vec3(1.0); \n"}} \nvoid applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) \n{ \n${g.normalOffset&&s?" float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; \n float normalOffsetScale = 1.0 - nDotL; \n vec3 offset = normalOffset * normalOffsetScale * normalEC; \n positionEC.xyz += offset; \n":""}} \n`,w+="void main() \n{ \n czm_shadow_receive_main(); \n vec4 positionEC = getPositionEC(); \n vec3 normalEC = getNormalEC(); \n float depth = -positionEC.z; \n",w+=" czm_shadowParameters shadowParameters; \n shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; \n shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; \n shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; \n shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; \n",i?w+=" shadowParameters.depthBias *= max(depth * 0.01, 1.0); \n":h||(w+=" shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); \n"),w+=d?" vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; \n float distance = length(directionEC); \n directionEC = normalize(directionEC); \n float radius = shadowMap_lightPositionEC.w; \n // Stop early if the fragment is beyond the point light radius \n if (distance > radius) \n { \n return; \n } \n vec3 directionWC = czm_inverseViewRotation * directionEC; \n shadowParameters.depth = distance / radius; \n shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); \n shadowParameters.texCoords = directionWC; \n float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); \n":f?" vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); \n float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n vec4 shadowPosition = shadowMap_matrix * positionEC; \n // Spot light uses a perspective projection, so perform the perspective divide \n shadowPosition /= shadowPosition.w; \n // Stop early if the fragment is not in the shadow bounds \n if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) \n { \n return; \n } \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n":p?" float maxDepth = shadowMap_cascadeSplits[1].w; \n // Stop early if the eye depth exceeds the last cascade \n if (depth > maxDepth) \n { \n return; \n } \n // Get the cascade based on the eye-space depth \n vec4 weights = czm_cascadeWeights(depth); \n // Apply normal offset \n float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n // Transform position into the cascade \n vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; \n // Get visibility \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n // Fade out shadows that are far away \n float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; \n float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); \n visibility = mix(visibility, 1.0, fade); \n"+(m?" // Draw cascade colors for debugging \n gl_FragColor *= czm_cascadeColor(weights); \n":""):" float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n vec4 shadowPosition = shadowMap_matrix * positionEC; \n // Stop early if the fragment is not in the shadow bounds \n if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) \n { \n return; \n } \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n",w+=" gl_FragColor.rgb *= visibility; \n} \n",y.push(w),new bG({defines:b,sources:y})};var G6e=H6e;function q6e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.context;if(!Object(r["a"])(t))throw new a["a"]("context is required.");if(!Object(r["a"])(e.lightCamera))throw new a["a"]("lightCamera is required.");if(Object(r["a"])(e.numberOfCascades)&&1!==e.numberOfCascades&&4!==e.numberOfCascades)throw new a["a"]("Only one or four cascades are supported.");this._enabled=Object(o["a"])(e.enabled,!0),this._softShadows=Object(o["a"])(e.softShadows,!1),this._normalOffset=Object(o["a"])(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=Object(o["a"])(e.fromLightSource,!0),this.darkness=Object(o["a"])(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=Object(o["a"])(e.fadingEnabled,!0),this.maximumDistance=Object(o["a"])(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n,i=!0;(Ta.isInternetExplorer()||Ta.isEdge()||(Ta.isChrome()||Ta.isFirefox())&&Ta.isWindows()&&!t.depthTexture)&&(i=!1),this._polygonOffsetSupported=i,this._terrainBias={polygonOffset:i,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:i,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Ne,this._shadowMapTexture=void 0,this._lightDirectionEC=new g,this._lightPositionEC=new be,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new p7e,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new Tt,this._isPointLight=Object(o["a"])(e.isPointLight,!1),this._pointLightRadius=Object(o["a"])(e.pointLightRadius,100),this._cascadesEnabled=!this._isPointLight&&Object(o["a"])(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?Object(o["a"])(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new Ht,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new sA:Object(r["a"])(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new be,new be],this._cascadeMatrices=[new Ne,new Ne,new Ne,new Ne],this._cascadeDistances=new be,n=this._isPointLight?6:this._cascadesEnabled?this._numberOfCascades:1,this._passes=new Array(n);for(let o=0;o<n;++o)this._passes[o]=new W6e(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,X6e(this),this._clearCommand=new bJ({depth:1,color:new j_}),this._clearPassState=new hGe(t),this._size=Object(o["a"])(e.size,2048),this.size=this._size}function W6e(e){this.camera=new p7e,this.passState=new hGe(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function Y6e(e,t){return Mz.fromCache({cull:{enabled:!0,face:LF.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function X6e(e){const t=!e._usesDepthTexture;e._primitiveRenderState=Y6e(t,e._primitiveBias),e._terrainRenderState=Y6e(t,e._terrainBias),e._pointRenderState=Y6e(t,e._pointBias)}function K6e(e){const t=e._passes.length;for(let n=0;n<t;++n){const t=e._passes[n],i=t.framebuffer;Object(r["a"])(i)&&!i.isDestroyed()&&i.destroy(),t.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function J6e(e,t){const n=new qne({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Hne.DEPTH_COMPONENT16}),i=new nk({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,sampler:$F.NEAREST}),o=new kne({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let a=0;a<r;++a){const t=e._passes[a];t.framebuffer=o,t.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Z6e(e,t){const n=new nk({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:XS.DEPTH_STENCIL,pixelDatatype:WS.UNSIGNED_INT_24_8,sampler:$F.NEAREST}),i=new kne({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){const t=e._passes[r];t.framebuffer=i,t.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function $6e(e,t){const n=new qne({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Hne.DEPTH_COMPONENT16}),i=new ek({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,sampler:$F.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){const i=new kne({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=i,a.passState.framebuffer=i}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Q6e(e,t){e._isPointLight?$6e(e,t):e._usesDepthTexture?Z6e(e,t):J6e(e,t)}function e7e(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==Jc.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,X6e(e),K6e(e),Q6e(e,t))}function t7e(e,t){Object(r["a"])(e._passes[0].framebuffer)&&e._shadowMapTexture.width===e._textureSize.x||(K6e(e),Q6e(e,t),e7e(e,t),n7e(e,t))}function n7e(e,t,n){n=Object(o["a"])(n,0),(e._isPointLight||0===n)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function i7e(e,t){e._size=t;const n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=zF.maximumCubeMapSize>=t?t:zF.maximumCubeMapSize,o.x=t,o.y=t;const e=new Oh(0,0,t,t);n[0].passState.viewport=e,n[1].passState.viewport=e,n[2].passState.viewport=e,n[3].passState.viewport=e,n[4].passState.viewport=e,n[5].passState.viewport=e}else 1===i?(t=zF.maximumTextureSize>=t?t:zF.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Oh(0,0,t,t)):4===i&&(t=zF.maximumTextureSize>=2*t?t:zF.maximumTextureSize/2,o.x=2*t,o.y=2*t,n[0].passState.viewport=new Oh(0,0,t,t),n[1].passState.viewport=new Oh(t,0,t,t),n[2].passState.viewport=new Oh(0,t,t,t),n[3].passState.viewport=new Oh(t,t,t,t));e._clearPassState.viewport=new Oh(0,0,o.x,o.y);for(let r=0;r<i;++r){const e=n[r],t=e.passState.viewport,i=t.x/o.x,a=t.y/o.y,s=t.width/o.x,c=t.height/o.y;e.textureOffsets=new Ne(s,0,0,i,0,c,0,a,0,0,1,0,0,0,0,1)}}q6e.MAXIMUM_DISTANCE=2e4,q6e.prototype.debugCreateRenderStates=function(){X6e(this)},Object.defineProperties(q6e.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){i7e(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});const o7e=new Oh;function r7e(e,t){let n;n=e._isPointLight?"uniform samplerCube shadowMap_textureCube; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n vec2 uv = v_textureCoordinates; \n vec3 dir; \n \n if (uv.y < 0.5) \n { \n if (uv.x < 0.333) \n { \n dir.x = -1.0; \n dir.y = uv.x * 6.0 - 1.0; \n dir.z = uv.y * 4.0 - 1.0; \n } \n else if (uv.x < 0.666) \n { \n dir.y = -1.0; \n dir.x = uv.x * 6.0 - 3.0; \n dir.z = uv.y * 4.0 - 1.0; \n } \n else \n { \n dir.z = -1.0; \n dir.x = uv.x * 6.0 - 5.0; \n dir.y = uv.y * 4.0 - 1.0; \n } \n } \n else \n { \n if (uv.x < 0.333) \n { \n dir.x = 1.0; \n dir.y = uv.x * 6.0 - 1.0; \n dir.z = uv.y * 4.0 - 3.0; \n } \n else if (uv.x < 0.666) \n { \n dir.y = 1.0; \n dir.x = uv.x * 6.0 - 3.0; \n dir.z = uv.y * 4.0 - 3.0; \n } \n else \n { \n dir.z = 1.0; \n dir.x = uv.x * 6.0 - 5.0; \n dir.y = uv.y * 4.0 - 3.0; \n } \n } \n \n float shadow = czm_unpackDepth(textureCube(shadowMap_textureCube, dir)); \n gl_FragColor = vec4(vec3(shadow), 1.0); \n} \n":`uniform sampler2D shadowMap_texture; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n${e._usesDepthTexture?" float shadow = texture2D(shadowMap_texture, v_textureCoordinates).r; \n":" float shadow = czm_unpackDepth(texture2D(shadowMap_texture, v_textureCoordinates)); \n"} gl_FragColor = vec4(vec3(shadow), 1.0); \n} \n`;const i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=oz.OVERLAY,i}function a7e(e,t){const n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,a=.3*Math.min(i,o),s=o7e;s.x=i-a,s.y=0,s.width=a,s.height=a;let c=e._debugShadowViewCommand;Object(r["a"])(c)||(c=r7e(e,n),e._debugShadowViewCommand=c),Object(r["a"])(c.renderState)&&Oh.equals(c.renderState.viewport,s)||(c.renderState=Mz.fromCache({viewport:Oh.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}const s7e=new Array(8);s7e[0]=new be(-1,-1,-1,1),s7e[1]=new be(1,-1,-1,1),s7e[2]=new be(1,1,-1,1),s7e[3]=new be(-1,1,-1,1),s7e[4]=new be(-1,-1,1,1),s7e[5]=new be(1,-1,1,1),s7e[6]=new be(1,1,1,1),s7e[7]=new be(-1,1,1,1);const c7e=new Ne,l7e=new Array(8);for(let opt=0;opt<8;++opt)l7e[opt]=new be;function u7e(e,t){const n=new Df({geometry:new sd({minimum:new g(-.5,-.5,-.5),maximum:new g(.5,.5,.5)}),attributes:{color:R_.fromColor(t)}}),i=new Df({geometry:new aN({radius:.5}),attributes:{color:R_.fromColor(t)}});return new bW({geometryInstances:[n,i],appearance:new Kk({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}const h7e=[j_.RED,j_.GREEN,j_.BLUE,j_.MAGENTA],d7e=new g;function f7e(e,t){a7e(e,t);const n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new aZe({camera:e._sceneCamera,color:j_.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new aZe({camera:e._shadowMapCamera,color:j_.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new aZe({camera:e._passes[i].camera,color:h7e[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!Object(r["a"])(e._debugLightFrustum)||e._needsUpdate){const t=e._shadowMapCamera.positionWC,n=$a.IDENTITY,i=2*e._pointLightRadius,o=g.fromElements(i,i,i,d7e),r=Ne.fromTranslationQuaternionRotationScale(t,n,o,c7e);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=u7e(r,j_.YELLOW)}e._debugLightFrustum.update(t)}else Object(r["a"])(e._debugLightFrustum)&&!e._needsUpdate||(e._debugLightFrustum=new aZe({camera:e._shadowMapCamera,color:j_.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function p7e(){this.viewMatrix=new Ne,this.inverseViewMatrix=new Ne,this.frustum=void 0,this.positionCartographic=new I,this.positionWC=new g,this.directionWC=g.clone(g.UNIT_Z),this.upWC=g.clone(g.UNIT_Y),this.rightWC=g.clone(g.UNIT_X),this.viewProjectionMatrix=new Ne}p7e.prototype.clone=function(e){Ne.clone(e.viewMatrix,this.viewMatrix),Ne.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),I.clone(e.positionCartographic,this.positionCartographic),g.clone(e.positionWC,this.positionWC),g.clone(e.directionWC,this.directionWC),g.clone(e.upWC,this.upWC),g.clone(e.rightWC,this.rightWC)};const m7e=new Ne(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);p7e.prototype.getViewProjection=function(){const e=this.viewMatrix,t=this.frustum.projectionMatrix;return Ne.multiply(t,e,this.viewProjectionMatrix),Ne.multiply(m7e,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};const _7e=new Array(5),g7e=new vA,b7e=new Array(4),y7e=new g,v7e=new g;function O7e(e,t){const n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,a=e._numberOfCascades;let c;const l=r-o,u=r/o;let h=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,h=.9);const f=b7e,p=_7e;for(p[0]=o,p[a]=r,c=0;c<a;++c){const e=(c+1)/a,t=o*Math.pow(u,e),n=o+l*e,i=s["a"].lerp(n,t,h);p[c+1]=i,f[c]=i-p[c]}if(d){for(c=0;c<a;++c)f[c]=Math.min(f[c],e._maximumCascadeDistances[c]);let t=p[0];for(c=0;c<a-1;++c)t+=f[c],p[c+1]=t}be.unpack(p,0,e._cascadeSplits[0]),be.unpack(p,1,e._cascadeSplits[1]),be.unpack(f,0,e._cascadeDistances);const m=n.frustum,_=m.left,b=m.right,y=m.bottom,v=m.top,O=m.near,w=m.far,A=n.positionWC,T=n.directionWC,C=n.upWC,E=i.frustum.clone(g7e),x=n.getViewProjection();for(c=0;c<a;++c){E.near=p[c],E.far=p[c+1];const t=Ne.multiply(E.projectionMatrix,i.viewMatrix,c7e),o=Ne.inverse(t,c7e),r=Ne.multiply(x,o,c7e),a=g.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,y7e),s=g.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,v7e);for(let e=0;e<8;++e){const t=be.clone(s7e[e],l7e[e]);Ne.multiplyByVector(r,t,t),g.divideByScalar(t,t.w,t),g.minimumByComponent(t,a,a),g.maximumByComponent(t,s,s)}a.x=Math.max(a.x,0),a.y=Math.max(a.y,0),a.z=0,s.x=Math.min(s.x,1),s.y=Math.min(s.y,1),s.z=Math.min(s.z,1);const l=e._passes[c],u=l.camera;u.clone(n);const h=u.frustum;h.left=_+a.x*(b-_),h.right=_+s.x*(b-_),h.bottom=y+a.y*(v-y),h.top=y+s.y*(v-y),h.near=O+a.z*(w-O),h.far=O+s.z*(w-O),l.cullingVolume=u.frustum.computeCullingVolume(A,T,C);const d=e._cascadeMatrices[c];Ne.multiply(u.getViewProjection(),i.inverseViewMatrix,d),Ne.multiply(l.textureOffsets,d,d)}}const w7e=new Ne,A7e=new g,T7e=new g,C7e=new g;function E7e(e,t){const n=e._shadowMapCamera,i=e._sceneCamera,o=Ne.multiply(i.frustum.projectionMatrix,i.viewMatrix,c7e),r=Ne.inverse(o,c7e),a=n.directionWC;let c=i.directionWC;g.equalsEpsilon(a,c,s["a"].EPSILON10)&&(c=i.upWC);const l=g.cross(a,c,A7e);c=g.cross(l,a,T7e),g.normalize(c,c),g.normalize(l,l);const u=g.fromElements(0,0,0,C7e);let h=Ne.computeView(u,a,c,l,w7e);const d=Ne.multiply(h,r,c7e),f=g.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,y7e),p=g.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,v7e);for(let s=0;s<8;++s){const e=be.clone(s7e[s],l7e[s]);Ne.multiplyByVector(d,e,e),g.divideByScalar(e,e.w,e),g.minimumByComponent(e,f,f),g.maximumByComponent(e,p,p)}p.z+=1e3,f.z-=10;const m=C7e;m.x=-.5*(f.x+p.x),m.y=-.5*(f.y+p.y),m.z=-p.z;const _=Ne.fromTranslation(m,c7e);h=Ne.multiply(_,h,h);const b=.5*(p.x-f.x),y=.5*(p.y-f.y),v=p.z-f.z,O=n.frustum;O.left=-b,O.right=b,O.bottom=-y,O.top=y,O.near=.01,O.far=v,Ne.clone(h,n.viewMatrix),Ne.inverse(h,n.inverseViewMatrix),Ne.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),g.clone(a,n.directionWC),g.clone(c,n.upWC),g.clone(l,n.rightWC)}const x7e=[new g(-1,0,0),new g(0,-1,0),new g(0,0,-1),new g(1,0,0),new g(0,1,0),new g(0,0,1)],S7e=[new g(0,-1,0),new g(0,0,-1),new g(0,-1,0),new g(0,-1,0),new g(0,0,1),new g(0,-1,0)],I7e=[new g(0,0,1),new g(1,0,0),new g(-1,0,0),new g(0,0,-1),new g(1,0,0),new g(1,0,0)];function D7e(e,t){const n=new vA;n.fov=s["a"].PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){const o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=x7e[i],o.upWC=S7e[i],o.rightWC=I7e[i],Ne.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),Ne.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}const j7e=new g,P7e=new g,R7e=new Tt,M7e=R7e.center;function N7e(e,t){const n=e._sceneCamera,i=e._shadowMapCamera,o=R7e;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance)return e._outOfView=!0,void(e._needsUpdate=!1);const o=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,j7e),r=g.negate(i.directionWC,P7e),a=g.dot(o,r);if(e.fadingEnabled){const t=s["a"].clamp(a/.1,0,1);e._darkness=s["a"].lerp(1,e.darkness,t)}else e._darkness=e.darkness;if(a<0)return e._outOfView=!0,void(e._needsUpdate=!1);e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===G.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),Tt.clone(o,e._boundingSphere);else{const n=i.frustum.far/2,r=g.add(i.positionWC,g.multiplyByScalar(i.directionWC,n,M7e),M7e);o.center=r,o.radius=n,e._outOfView=t.cullingVolume.computeVisibility(o)===G.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),Tt.clone(o,e._boundingSphere)}}function L7e(e,t){const n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?g.clone(i.directionWC,r.directionWC):e._isPointLight?g.clone(i.positionWC,r.positionWC):r.clone(i);const a=e._lightDirectionEC;let s,c;Ne.multiplyByPointAsVector(n.viewMatrix,r.directionWC,a),g.normalize(a,a),g.negate(a,a),Ne.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius,e._fitNearFar?(s=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,s+1)):(s=n.frustum.near,c=e.maximumDistance),e._sceneCamera=eKe.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=s,e._sceneCamera.frustum.far=c,e._distance=c-s,N7e(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}q6e.prototype.update=function(e){if(L7e(this,e),this._needsUpdate)if(t7e(this,e.context),this._isPointLight&&D7e(this,e),this._cascadesEnabled&&(E7e(this,e),this._numberOfCascades>1&&O7e(this,e)),this._isPointLight)this._shadowMapCullingVolume=kO.fromBoundingSphere(this._boundingSphere);else{const e=this._shadowMapCamera,t=e.positionWC,n=e.directionWC,i=e.upWC;this._shadowMapCullingVolume=e.frustum.computeCullingVolume(t,n,i),1===this._passes.length&&this._passes[0].camera.clone(e)}if(1===this._passes.length){const e=this._sceneCamera.inverseViewMatrix;Ne.multiply(this._shadowMapCamera.getViewProjection(),e,this._shadowMapMatrix)}this.debugShow&&f7e(this,e)},q6e.prototype.updatePass=function(e,t){n7e(this,e,t)};const B7e=new Ht;function F7e(e,t,n){const i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){const t=B7e;return t.x=1/e._textureSize.x,t.y=1/e._textureSize.y,be.fromElements(t.x,t.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return be.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new be,combinedUniforms2:new be};return Object(xS["a"])(t,o,!1)}function k7e(e,t,n,i,o,a){let s,c,l;if(Object(r["a"])(a)&&(s=a.shaderProgram,c=a.renderState,l=a.uniformMap),a=nz.shallowClone(n,a),a.castShadows=!0,a.receiveShadows=!1,!Object(r["a"])(s)||o!==n.shaderProgram.id||t){const t=n.shaderProgram,o=n.pass===oz.GLOBE,a=n.pass!==oz.TRANSLUCENT,u=e._isPointLight,h=e._usesDepthTexture,d=G6e.getShadowCastShaderKeyword(u,o,h,a);if(s=i.shaderCache.getDerivedShaderProgram(t,d),!Object(r["a"])(s)){const e=t.vertexShaderSource,n=t.fragmentShaderSource,r=G6e.createShadowCastVertexShader(e,u,o),c=G6e.createShadowCastFragmentShader(n,u,h,a);s=i.shaderCache.createDerivedShaderProgram(t,d,{vertexShaderSource:r,fragmentShaderSource:c,attributeLocations:t._attributeLocations})}c=e._primitiveRenderState,u?c=e._pointRenderState:o&&(c=e._terrainRenderState);const f=n.renderState.cull.enabled;f||(c=Object(jL["a"])(c,!1),c.cull=Object(jL["a"])(c.cull,!1),c.cull.enabled=!1,c=Mz.fromCache(c)),l=F7e(e,n.uniformMap,o)}return a.shaderProgram=s,a.renderState=c,a.uniformMap=l,a}q6e.createReceiveDerivedCommand=function(e,t,n,i,o){Object(r["a"])(o)||(o={});const a=e.length>0,s=t.shaderProgram,c=s.vertexShaderSource,l=s.fragmentShaderSource,u=t.pass===oz.GLOBE;let h=!1;if(u&&(h=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&a){let a,d;Object(r["a"])(o.receiveCommand)&&(a=o.receiveCommand.shaderProgram,d=o.receiveCommand.uniformMap),o.receiveCommand=nz.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;const f=o.receiveShaderCastShadows!==t.castShadows,p=o.receiveShaderProgramId!==t.shaderProgram.id;if(!Object(r["a"])(a)||p||n||f){const n=G6e.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,h);if(a=i.shaderCache.getDerivedShaderProgram(s,n),!Object(r["a"])(a)){const o=G6e.createShadowReceiveVertexShader(c,u,h),r=G6e.createShadowReceiveFragmentShader(l,e[0],t.castShadows,u,h);a=i.shaderCache.createDerivedShaderProgram(s,n,{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:s._attributeLocations})}d=F7e(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=a,o.receiveCommand.uniformMap=d,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o},q6e.createCastDerivedCommand=function(e,t,n,i,o){if(Object(r["a"])(o)||(o={}),t.castShadows){let a=o.castCommands;Object(r["a"])(a)||(a=o.castCommands=[]);const s=o.castShaderProgramId,c=e.length;a.length=c;for(let o=0;o<c;++o)a[o]=k7e(e[o],n,t,i,s,a[o]);o.castShaderProgramId=t.shaderProgram.id}return o},q6e.prototype.isDestroyed=function(){return!1},q6e.prototype.destroy=function(){K6e(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return Wl(this)};var z7e=q6e,U7e="uniform sampler2D u_opaqueDepthTexture;\nuniform sampler2D u_translucentDepthTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n float opaqueDepth = texture2D(u_opaqueDepthTexture, v_textureCoordinates).r;\n float translucentDepth = texture2D(u_translucentDepthTexture, v_textureCoordinates).r;\n translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth);\n gl_FragColor = czm_packDepth(translucentDepth);\n}\n",V7e="uniform sampler2D colorTexture;\n\n#ifdef DEBUG_SHOW_DEPTH\nuniform sampler2D u_packedTranslucentDepth;\n#endif\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n#ifdef DEBUG_SHOW_DEPTH\n if (v_textureCoordinates.x < 0.5)\n {\n gl_FragColor.rgb = vec3(czm_unpackDepth(texture2D(u_packedTranslucentDepth, v_textureCoordinates)));\n gl_FragColor.a = 1.0;\n }\n#else\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n\n#ifdef PICK\n if (color == vec4(0.0))\n {\n discard;\n }\n#else\n // Reverse premultiplication process to get the correct composited result of the classification primitives\n color.rgb /= color.a;\n#endif\n gl_FragColor = color;\n#endif\n}\n";const H7e=!1;function G7e(e){this._drawClassificationFBO=new Yne({createDepthAttachments:!1}),this._accumulationFBO=new Yne({createDepthAttachments:!1}),this._packFBO=new Yne,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new bJ({color:new j_(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new bJ({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Oh,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}function q7e(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function W7e(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function Y7e(e,t,n,i){q7e(e),e._translucentDepthStencilTexture=new nk({context:t,width:n,height:i,pixelFormat:XS.DEPTH_STENCIL,pixelDatatype:WS.UNSIGNED_INT_24_8,sampler:$F.NEAREST})}function X7e(e,t,n,i){W7e(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function K7e(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;const o=e._opaqueDepthStencilTexture.width,a=e._opaqueDepthStencilTexture.height;let s,c;if(e._drawClassificationFBO.isDirty(o,a)&&(Y7e(e,t,o,a),X7e(e,t,o,a)),Object(r["a"])(e._packDepthCommand)||(s=new bG({sources:[U7e]}),c={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:c,owner:e})),!Object(r["a"])(e._compositeCommand)){s=new bG({sources:[V7e]}),c={colorTexture:function(){return e._textureToComposite}},H7e&&(s.defines=["DEBUG_SHOW_DEPTH"],c.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:c,owner:e});const n=e._compositeCommand,i=n.shaderProgram,o=t.shaderCache.createDerivedShaderProgram(i,"pick",{vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:new bG({sources:s.sources,defines:["PICK"]}),attributeLocations:i._attributeLocations}),r=nz.shallowClone(n);r.shaderProgram=o,n.derivedCommands.pick=r}Object(r["a"])(e._copyCommand)||(s=new bG({sources:[V7e]}),c={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:c,owner:e})),Object(r["a"])(e._accumulateCommand)||(s=new bG({sources:[V7e]}),c={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:c,owner:e})),e._viewport.width=o,e._viewport.height=a;const l=!Oh.equals(e._viewport,n.viewport);let u=l!==e._useScissorTest;e._useScissorTest=l,Oh.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Oh.clone(n.viewport,e._scissorRectangle),u=!0),Object(r["a"])(e._rsDepth)&&Oh.equals(e._viewport,e._rsDepth.viewport)&&!u||(e._rsDepth=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),Object(r["a"])(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),Object(r["a"])(e._rsAccumulate)&&Oh.equals(e._viewport,e._rsAccumulate.viewport)&&!u||(e._rsAccumulate=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:JW.EQUAL,reference:eY.CESIUM_3D_TILE_MASK}})),Object(r["a"])(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),Object(r["a"])(e._rsComp)&&Oh.equals(e._viewport,e._rsComp.viewport)&&!u||(e._rsComp=Mz.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:MF.ALPHA_BLEND})),Object(r["a"])(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}function J7e(e,t,n){if(!e._hasTranslucentDepth)return;const i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}Object.defineProperties(G7e.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}}),G7e.prototype.executeTranslucentCommands=function(e,t,n,i,o){const r=i.length;let a,s;const c=e.frameState.useLogDepth,l=e.context,u=n.framebuffer;for(s=0;s<r;++s)if(a=i[s],a=c?a.derivedCommands.logDepth.command:a,a.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}if(this._hasTranslucentDepth){for(K7e(this,l,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(l,n),s=0;s<r;++s){if(a=i[s],a=c?a.derivedCommands.logDepth.command:a,!a.depthForTranslucentClassification)continue;const o=a.derivedCommands.depth.depthOnlyCommand;t(o,e,l,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(l,n)),n.framebuffer=u}},G7e.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;const o=e.context,r=o.uniformState,a=n.framebuffer;2===this._frustumsDrawn&&(n.framebuffer=this._accumulationFBO.framebuffer,this._copyCommand.execute(o,n)),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(oz.CESIUM_3D_TILE_CLASSIFICATION);const s=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();const c=i.commands[oz.CESIUM_3D_TILE_CLASSIFICATION],l=i.indices[oz.CESIUM_3D_TILE_CLASSIFICATION];for(let u=0;u<l;++u)t(c[u],e,o,n);r.globeDepthTexture=s,n.framebuffer=a,1!==this._frustumsDrawn&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=a)},G7e.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;1===this._frustumsDrawn?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture();const n=e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand;n.execute(e.context,t),J7e(this,e,t)},G7e.prototype.isSupported=function(){return this._supported},G7e.prototype.isDestroyed=function(){return!1},G7e.prototype.destroy=function(){return q7e(this),W7e(this),Object(r["a"])(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),Object(r["a"])(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),Wl(this)};var Z7e=G7e;function $7e(){this.command=void 0,this.near=void 0,this.far=void 0}function Q7e(e,t,n){const i=e.context;let o,r;i.depthTexture&&(o=new A2e),e._useOIT&&i.depthTexture&&(r=new t6e(i));const a=new hGe(i);a.viewport=Oh.clone(n),this.camera=t,this._cameraClone=eKe.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=a,this.pickFramebuffer=new k6e(i),this.pickDepthFramebuffer=new L6e,this.sceneFramebuffer=new V6e,this.globeDepth=o,this.globeTranslucencyFramebuffer=new S2e,this.oit=r,this.translucentTileClassification=new Z7e(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}const e8e=new g,t8e=new g;function n8e(e,t){const n=Math.max(Math.abs(e.x),Math.abs(t.x)),i=Math.max(Math.abs(e.y),Math.abs(t.y)),o=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.max(Math.max(n,i),o)}function i8e(e,t,n){const i=1/Math.max(1,n8e(e.position,t.position));return g.multiplyByScalar(e.position,i,e8e),g.multiplyByScalar(t.position,i,t8e),g.equalsEpsilon(e8e,t8e,n)&&g.equalsEpsilon(e.direction,t.direction,n)&&g.equalsEpsilon(e.up,t.up,n)&&g.equalsEpsilon(e.right,t.right,n)&&Ne.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}function o8e(e,t,n,i){const o=t.frameState,a=o.camera,c=o.useLogDepth?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,l=t.mode===vq.SCENE2D,u=t.nearToFarDistance2D;let h;i*=1+s["a"].EPSILON2,n=Math.min(Math.max(n,a.frustum.near),a.frustum.far),i=Math.max(Math.min(i,a.frustum.far),n),l?(i=Math.min(i,a.position.z+t.nearToFarDistance2D),n=Math.min(n,i),h=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):h=Math.ceil(Math.log(i/n)/Math.log(c));const d=e.frustumCommandsList;d.length=h;for(let s=0;s<h;++s){let e,t;l?(e=Math.min(i-u,n+s*u),t=Math.min(i,e+u)):(e=Math.max(n,Math.pow(c,s)*n),t=Math.min(i,c*e));let o=d[s];Object(r["a"])(o)?(o.near=e,o.far=t):o=d[s]=new O$e(e,t)}}function r8e(e,t,n,i,o){t.debugShowFrustums&&(n.debugOverlappingFrustums=0);const a=e.frustumCommandsList,s=a.length;for(let r=0;r<s;++r){const e=a[r],s=e.near,c=e.far;if(i>c)continue;if(o<s)break;const l=n.pass,u=e.indices[l]++;if(e.commands[l][u]=n,t.debugShowFrustums&&(n.debugOverlappingFrustums|=1<<r),n.executeInClosestFrustum)break}if(t.debugShowFrustums){const t=e.debugFrustumStatistics.commandsInFrustums;t[n.debugOverlappingFrustums]=Object(r["a"])(t[n.debugOverlappingFrustums])?t[n.debugOverlappingFrustums]+1:1,++e.debugFrustumStatistics.totalCommands}t.updateDerivedCommands(n)}Q7e.prototype.checkForCameraUpdates=function(e){const t=this.camera,n=this._cameraClone;return i8e(t,n,s["a"].EPSILON15)?(this._cameraStartFired&&y_()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=y_(),eKe.clone(t,n),!0)};const a8e=new kO,s8e=new W;Q7e.prototype.createPotentiallyVisibleSet=function(e){const t=e.frameState,n=t.camera,i=n.directionWC,o=n.positionWC,a=e._computeCommandList,s=e._overlayCommandList,c=t.commandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});const l=this.frustumCommandsList,u=l.length,h=oz.NUMBER_OF_PASSES;for(let r=0;r<u;++r)for(let e=0;e<h;++e)l[r].indices[e]=0;a.length=0,s.length=0;const d=this._commandExtents,f=d.length;let p=0,m=+Number.MAX_VALUE,_=-Number.MAX_VALUE;const g=t.shadowState.shadowsEnabled;let b=+Number.MAX_VALUE,y=-Number.MAX_VALUE,v=Number.MAX_VALUE;const O=t.mode===vq.SCENE3D?t.occluder:void 0;let w=t.cullingVolume;const A=a8e.planes;for(let r=0;r<5;++r)A[r]=w.planes[r];w=a8e;const T=c.length;for(let I=0;I<T;++I){const t=c[I],l=t.pass;if(l===oz.COMPUTE)a.push(t);else if(l===oz.OVERLAY)s.push(t);else{let a,s;const c=t.boundingVolume;if(Object(r["a"])(c)){if(!e.isVisible(t,w,O))continue;const n=c.computePlaneDistances(o,i,s8e);if(a=n.start,s=n.stop,m=Math.min(m,a),_=Math.max(_,s),g&&t.receiveShadows&&a<z7e.MAXIMUM_DISTANCE&&!(l===oz.GLOBE&&a<-100&&s>100)){const e=s-a;l!==oz.GLOBE&&a<100&&(v=Math.min(v,e)),b=Math.min(b,a),y=Math.max(y,s)}}else t instanceof bJ?(a=n.frustum.near,s=n.frustum.far):(a=n.frustum.near,s=n.frustum.far,m=Math.min(m,a),_=Math.max(_,s));let u=d[p];Object(r["a"])(u)||(u=d[p]=new $7e),u.command=t,u.near=a,u.far=s,p++}}let C,E;for(g&&(b=Math.min(Math.max(b,n.frustum.near),n.frustum.far),y=Math.max(Math.min(y,n.frustum.far),b)),g&&(t.shadowState.nearPlane=b,t.shadowState.farPlane=y,t.shadowState.closestObjectSize=v),o8e(this,e,m,_),C=0;C<p;C++)E=d[C],r8e(this,e,E.command,E.near,E.far);if(p<f)for(C=p;C<f;C++){if(E=d[C],!Object(r["a"])(E.command))break;E.command=void 0}const x=l.length,S=t.frustumSplits;S.length=x+1;for(let r=0;r<x;++r)S[r]=l[r].near,r===x-1&&(S[r+1]=l[r].far)},Q7e.prototype.destroy=function(){let e;this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();const t=this.pickDepths,n=t.length;for(e=0;e<n;++e)t[e].destroy()};var c8e=Q7e;const l8e=.1,u8e=new mKe({pass:wbe.MOST_DETAILED_PRELOAD}),h8e=new mKe({pass:wbe.MOST_DETAILED_PICK}),d8e=new mKe({pass:wbe.PICK});function f8e(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;const t=new Oh(0,0,1,1),n=new eKe(e);n.frustum=new uA({width:l8e,aspectRatio:1,near:.1}),this._pickOffscreenView=new c8e(e,n,t)}f8e.prototype.update=function(){this._pickPositionCacheDirty=!0},f8e.prototype.getPickDepth=function(e,t){const n=e.view.pickDepths;let i=n[t];return Object(r["a"])(i)||(i=new P6e,n[t]=i),i};const p8e=new sA,m8e=new g,_8e=new g,g8e=new Ht,b8e=new Ne;function y8e(e,t,n,i,o){const a=e.camera;let s=a.frustum;Object(r["a"])(s._offCenterFrustum)&&(s=s._offCenterFrustum);let c=2*(t.x-o.x)/o.width-1;c*=.5*(s.right-s.left);let l=2*(o.height-t.y-o.y)/o.height-1;l*=.5*(s.top-s.bottom);const u=Ne.clone(a.transform,b8e);a._setTransform(Ne.IDENTITY);const h=g.clone(a.position,m8e);g.multiplyByScalar(a.right,c,_8e),g.add(_8e,h,h),g.multiplyByScalar(a.up,l,_8e),g.add(_8e,h,h),a._setTransform(u),e.mode===vq.SCENE2D&&g.fromElements(h.z,h.x,h.y,h);const d=s.getPixelDimensions(o.width,o.height,1,1,g8e),f=p8e;return f.right=.5*d.x,f.left=-f.right,f.top=.5*d.y,f.bottom=-f.top,f.near=s.near,f.far=s.far,f.computeCullingVolume(h,a.directionWC,a.upWC)}const v8e=new gA,O8e=new Ht;function w8e(e,t,n,i,o){const r=e.camera,a=r.frustum,s=a.near,c=Math.tan(.5*a.fovy),l=a.aspectRatio*c,u=2*(t.x-o.x)/o.width-1,h=2*(o.height-t.y-o.y)/o.height-1,d=u*s*l,f=h*s*c,p=a.getPixelDimensions(o.width,o.height,1,1,O8e),m=p.x*n*.5,_=p.y*i*.5,g=v8e;return g.top=f+_,g.bottom=f-_,g.right=d+m,g.left=d-m,g.near=s,g.far=a.far,g.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function A8e(e,t,n,i,o){const r=e.camera.frustum;return r instanceof uA||r instanceof sA?y8e(e,t,n,i,o):w8e(e,t,n,i,o)}let T8e=3,C8e=3,E8e=new Oh(0,0,T8e,C8e);const x8e=new Ht,S8e=new j_(0,0,0,0);function I8e(e,t){const n=e.context,i=e.frameState,o=e.environmentState,r=e.defaultView;e.view=r;const a=r.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let s=r.passState;s.viewport=Oh.clone(a,s.viewport),e.clearPasses(i.passes),i.passes.pick=!0,i.passes.depth=!0,i.cullingVolume=A8e(e,t,1,1,a),i.tilesetPassState=d8e,e.updateEnvironment(),o.renderTranslucentDepthForPick=!0,s=r.pickDepthFramebuffer.update(n,t,a),e.updateAndExecuteCommands(s,S8e),e.resolveFramebuffers(s),n.endFrame()}f8e.prototype.pick=function(e,t,n,i){if(!Object(r["a"])(t))throw new a["a"]("windowPosition is undefined.");T8e=Object(o["a"])(n,3),C8e=Object(o["a"])(i,T8e);const s=e.context,c=s.uniformState,l=e.frameState,u=e.defaultView;e.view=u;const h=u.viewport;h.x=0,h.y=0,h.width=s.drawingBufferWidth,h.height=s.drawingBufferHeight;let d=u.passState;d.viewport=Oh.clone(h,d.viewport);const f=qie.transformWindowToDrawingBuffer(e,t,x8e);e.jobScheduler.disableThisFrame(),e.updateFrameState(),l.cullingVolume=A8e(e,f,T8e,C8e,h),l.invertClassification=!1,l.passes.pick=!0,l.tilesetPassState=d8e,c.update(l),e.updateEnvironment(),E8e.x=f.x-.5*(T8e-1),E8e.y=e.drawingBufferHeight-f.y-.5*(C8e-1),E8e.width=T8e,E8e.height=C8e,d=u.pickFramebuffer.begin(E8e,u.viewport),e.updateAndExecuteCommands(d,S8e),e.resolveFramebuffers(d);const p=u.pickFramebuffer.end(E8e);return s.endFrame(),p};const D8e=new vA,j8e=new gA,P8e=new uA,R8e=new sA;f8e.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;if(!Object(r["a"])(t))throw new a["a"]("windowPosition is undefined.");if(!e.context.depthTexture)throw new a["a"]("Picking from the depth buffer is not supported. Check pickPositionSupported.");const i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return g.clone(this._pickPositionCache[i],n);const o=e.frameState,s=e.context,c=s.uniformState,l=e.defaultView;e.view=l;const u=qie.transformWindowToDrawingBuffer(e,t,x8e);e.pickTranslucentDepth?I8e(e,u):(e.updateFrameState(),c.update(o),e.updateEnvironment()),u.y=e.drawingBufferHeight-u.y;const h=e.camera;let d;d=Object(r["a"])(h.frustum.fov)?h.frustum.clone(D8e):Object(r["a"])(h.frustum.infiniteProjectionMatrix)?h.frustum.clone(j8e):Object(r["a"])(h.frustum.width)?h.frustum.clone(P8e):h.frustum.clone(R8e);const f=l.frustumCommandsList,p=f.length;for(let a=0;a<p;++a){const t=this.getPickDepth(e,a),l=t.getDepth(s,u.x,u.y);if(Object(r["a"])(l)&&(l>0&&l<1)){const t=f[a];let r;return e.mode===vq.SCENE2D?(r=h.position.z,h.position.z=r-t.near+1,d.far=Math.max(1,t.far-t.near),d.near=1,c.update(o),c.updateFrustum(d)):(d.near=t.near*(0!==a?e.opaqueFrustumNearOffset:1),d.far=t.far,c.updateFrustum(d)),n=qie.drawingBufferToWgs84Coordinates(e,u,l,n),e.mode===vq.SCENE2D&&(h.position.z=r,c.update(o)),this._pickPositionCache[i]=g.clone(n),n}}this._pickPositionCache[i]=void 0};const M8e=new I;function N8e(e,t){let n,i;const o=[],a=[],s=[],c=[];Object(r["a"])(e)||(e=Number.MAX_VALUE);let l=t();while(Object(r["a"])(l)){const n=l.object,u=l.position,h=l.exclude;if(Object(r["a"])(u)&&!Object(r["a"])(n)){o.push(l);break}if(!Object(r["a"])(n)||!Object(r["a"])(n.primitive))break;if(!h&&(o.push(l),0>=--e))break;const d=n.primitive;let f=!1;"function"===typeof d.getGeometryInstanceAttributes&&Object(r["a"])(n.id)&&(i=d.getGeometryInstanceAttributes(n.id),Object(r["a"])(i)&&Object(r["a"])(i.show)&&(f=!0,i.show=OR.toValue(!1,i.show),s.push(i))),n instanceof SZ&&(f=!0,n.show=!1,c.push(n)),f||(d.show=!1,a.push(d)),l=t()}for(n=0;n<a.length;++n)a[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=OR.toValue(!0,i.show);for(n=0;n<c.length;++n)c[n].show=!0;return o}f8e.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),Object(r["a"])(n)&&e.mode!==vq.SCENE3D){g.fromElements(n.y,n.z,n.x,n);const t=e.mapProjection,i=t.ellipsoid,o=t.unproject(n,M8e);i.cartographicToCartesian(o,n)}return n},f8e.prototype.drillPick=function(e,t,n,i,o){const a=this,s=function(){const n=a.pick(e,t,i,o);if(Object(r["a"])(n))return{object:n,position:void 0,exclude:!1}},c=N8e(n,s);return c.map((function(e){return e.object}))};const L8e=new g,B8e=new g;function F8e(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1,this.deferred=Object(xr["a"])(),this.promise=this.deferred.promise}function k8e(e,t,n,i){const r=t.direction,a=g.mostOrthogonalAxis(r,L8e),s=g.cross(r,a,L8e),c=g.cross(r,s,B8e);return i.position=t.origin,i.direction=r,i.up=c,i.right=s,i.frustum.width=Object(o["a"])(n,l8e),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function z8e(e,t,n){const i=t.frameState,o=n.ray,r=n.width,a=n.tilesets,s=e._pickOffscreenView.camera,c=k8e(e,o,r,s),l=u8e;l.camera=s,l.cullingVolume=c;let u=!0;const h=a.length;for(let d=0;d<h;++d){const e=a[d];e.show&&t.primitives.contains(e)&&(e.updateForPass(i,l),u=u&&l.ready)}return u&&n.deferred.resolve(),u}function U8e(e,t,n){const i=e.length;for(let o=0;o<i;++o){const i=e.get(o);i.show&&(Object(r["a"])(i.isCesium3DTileset)?Object(r["a"])(t)&&-1!==t.indexOf(i)||n.push(i):i instanceof pxe&&U8e(i,t,n))}}function V8e(e,t,n,i,o,r){const a=[];if(U8e(t.primitives,i,a),0===a.length)return Promise.resolve(r());const s=new F8e(n,o,a);return e._mostDetailedRayPicks.push(s),s.promise.then((function(){return r()}))}function H8e(e,t){return!(!Object(r["a"])(e)||!Object(r["a"])(t)||0===t.length)&&(t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1)}function G8e(e,t,n,i,o,a,s){const c=t.context,l=c.uniformState,u=t.frameState,h=e._pickOffscreenView;t.view=h,k8e(e,n,o,h.camera),E8e=Oh.clone(h.viewport,E8e);const d=h.pickFramebuffer.begin(E8e,h.viewport);let f;t.jobScheduler.disableThisFrame(),t.updateFrameState(),u.invertClassification=!1,u.passes.pick=!0,u.passes.offscreen=!0,u.tilesetPassState=s?h8e:d8e,l.update(u),t.updateEnvironment(),t.updateAndExecuteCommands(d,S8e),t.resolveFramebuffers(d);const p=h.pickFramebuffer.end(E8e);if(t.context.depthTexture){const i=h.frustumCommandsList.length;for(let o=0;o<i;++o){const i=e.getPickDepth(t,o),a=i.getDepth(c,0,0);if(Object(r["a"])(a)&&(a>0&&a<1)){const e=h.frustumCommandsList[o],i=e.near*(0!==o?t.opaqueFrustumNearOffset:1),r=e.far,s=i+a*(r-i);f=Ki.getPoint(n,s);break}}}if(t.view=t.defaultView,c.endFrame(),Object(r["a"])(p)||Object(r["a"])(f))return{object:p,position:f,exclude:!Object(r["a"])(f)&&a||H8e(p,i)}}function q8e(e,t,n,i,o,r,a,s){const c=function(){return G8e(e,t,n,o,r,a,s)};return N8e(i,c)}function W8e(e,t,n,i,o,r,a){const s=q8e(e,t,n,1,i,o,r,a);if(s.length>0)return s[0]}function Y8e(e,t,n,i,o,r,a,s){return q8e(e,t,n,i,o,r,a,s)}function X8e(e,t){const n=Object(xr["a"])();return t.then((function(t){const i=e.postRender.addEventListener((function(){n.resolve(t),i()}));e.requestRender()})).catch((function(e){n.reject(e)})),n.promise}f8e.prototype.updateMostDetailedRayPicks=function(e){const t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)z8e(this,e,t[n])&&t.splice(n--,1)},f8e.prototype.pickFromRay=function(e,t,n,o){if(i["a"].defined("ray",t),e.mode!==vq.SCENE3D)throw new a["a"]("Ray intersections are only supported in 3D mode.");return W8e(this,e,t,n,o,!1,!1)},f8e.prototype.drillPickFromRay=function(e,t,n,o,r){if(i["a"].defined("ray",t),e.mode!==vq.SCENE3D)throw new a["a"]("Ray intersections are only supported in 3D mode.");return Y8e(this,e,t,n,o,r,!1,!1)},f8e.prototype.pickFromRayMostDetailed=function(e,t,n,o){if(i["a"].defined("ray",t),e.mode!==vq.SCENE3D)throw new a["a"]("Ray intersections are only supported in 3D mode.");const s=this;return t=Ki.clone(t),n=Object(r["a"])(n)?n.slice():n,X8e(e,V8e(s,e,t,n,o,(function(){return W8e(s,e,t,n,o,!1,!0)})))},f8e.prototype.drillPickFromRayMostDetailed=function(e,t,n,o,s){if(i["a"].defined("ray",t),e.mode!==vq.SCENE3D)throw new a["a"]("Ray intersections are only supported in 3D mode.");const c=this;return t=Ki.clone(t),o=Object(r["a"])(o)?o.slice():o,X8e(e,V8e(c,e,t,o,s,(function(){return Y8e(c,e,t,n,o,s,!1,!0)})))};const K8e=new g,J8e=new g,Z8e=new Ki,$8e=new I;function Q8e(e,t){const n=e.globe,i=Object(r["a"])(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=on._defaultMaxTerrainHeight,a=i.geodeticSurfaceNormalCartographic(t,J8e),s=I.toCartesian(t,i,K8e),c=Z8e;c.origin=s,c.direction=a;const l=new Ki;return Ki.getPoint(c,o,l.origin),g.negate(a,l.direction),l}function e9e(e,t){const n=e.globe,i=Object(r["a"])(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=I.fromCartesian(t,i,$8e);return Q8e(e,o)}function t9e(e,t){const n=e.globe,i=Object(r["a"])(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=I.fromCartesian(t,i,$8e);return o.height}function n9e(e,t,n,i,o){const a=Q8e(t,n);return V8e(e,t,a,i,o,(function(){const n=W8e(e,t,a,i,o,!0,!0);if(Object(r["a"])(n))return t9e(t,n.position)}))}function i9e(e,t,n,i,o,a){const s=e9e(t,n);return V8e(e,t,s,i,o,(function(){const n=W8e(e,t,s,i,o,!0,!0);if(Object(r["a"])(n))return g.clone(n.position,a)}))}f8e.prototype.sampleHeight=function(e,t,n,o){if(i["a"].defined("position",t),e.mode!==vq.SCENE3D)throw new a["a"]("sampleHeight is only supported in 3D mode.");if(!e.sampleHeightSupported)throw new a["a"]("sampleHeight requires depth texture support. Check sampleHeightSupported.");const s=Q8e(e,t),c=W8e(this,e,s,n,o,!0,!1);if(Object(r["a"])(c))return t9e(e,c.position)},f8e.prototype.clampToHeight=function(e,t,n,o,s){if(i["a"].defined("cartesian",t),e.mode!==vq.SCENE3D)throw new a["a"]("clampToHeight is only supported in 3D mode.");if(!e.clampToHeightSupported)throw new a["a"]("clampToHeight requires depth texture support. Check clampToHeightSupported.");const c=e9e(e,t),l=W8e(this,e,c,n,o,!0,!1);if(Object(r["a"])(l))return g.clone(l.position,s)},f8e.prototype.sampleHeightMostDetailed=function(e,t,n,o){if(i["a"].defined("positions",t),e.mode!==vq.SCENE3D)throw new a["a"]("sampleHeightMostDetailed is only supported in 3D mode.");if(!e.sampleHeightSupported)throw new a["a"]("sampleHeightMostDetailed requires depth texture support. Check sampleHeightSupported.");n=Object(r["a"])(n)?n.slice():n;const s=t.length,c=new Array(s);for(let i=0;i<s;++i)c[i]=n9e(this,e,t[i],n,o);return X8e(e,Promise.all(c).then((function(e){const n=e.length;for(let i=0;i<n;++i)t[i].height=e[i];return t})))},f8e.prototype.clampToHeightMostDetailed=function(e,t,n,o){if(i["a"].defined("cartesians",t),e.mode!==vq.SCENE3D)throw new a["a"]("clampToHeightMostDetailed is only supported in 3D mode.");if(!e.clampToHeightSupported)throw new a["a"]("clampToHeightMostDetailed requires depth texture support. Check clampToHeightSupported.");n=Object(r["a"])(n)?n.slice():n;const s=t.length,c=new Array(s);for(let i=0;i<s;++i)c[i]=i9e(this,e,t[i],n,o,t[i]);return X8e(e,Promise.all(c).then((function(e){const n=e.length;for(let i=0;i<n;++i)t[i]=e[i];return t})))},f8e.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var o9e=f8e;const r9e={NEAREST:0,LINEAR:1};var a9e=r9e;function s9e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.fragmentShader,n=Object(o["a"])(e.textureScale,1),s=Object(o["a"])(e.pixelFormat,XS.RGBA);if(i["a"].typeOf.string("options.fragmentShader",t),i["a"].typeOf.number.greaterThan("options.textureScale",n,0),i["a"].typeOf.number.lessThanOrEquals("options.textureScale",n,1),!XS.isColorFormat(s))throw new a["a"]("options.pixelFormat must be a color format.");this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=Object(o["a"])(e.forcePowerOfTwo,!1),this._sampleMode=Object(o["a"])(e.sampleMode,a9e.NEAREST),this._pixelFormat=s,this._pixelDatatype=Object(o["a"])(e.pixelDatatype,WS.UNSIGNED_BYTE),this._clearColor=Object(o["a"])(e.clearColor,j_.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;const c=new hGe;c.scissorTest={enabled:!0,rectangle:Object(r["a"])(e.scissorRectangle)?Oh.clone(e.scissorRectangle):new Oh},this._passState=c,this._ready=!1;let l=e.name;Object(r["a"])(l)||(l=RL()),this._name=l,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(s9e.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(Object(r["a"])(this._textureCache)){const e=this._textureCache.getFramebuffer(this._name);if(Object(r["a"])(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});const c9e=/uniform\s+sampler2D\s+depthTexture/g;function l9e(e,t,n){const i=t[n];return("string"===typeof i||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(i){const o=t[n];t[n]=i;const a=e._actualUniforms,s=a[n];Object(r["a"])(s)&&s!==o&&s instanceof nk&&!Object(r["a"])(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(s),delete a[n],delete a[n+"Dimensions"]),o instanceof nk&&e._texturesToRelease.push(o),"string"===typeof i||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData?e._dirtyUniforms.push(n):a[n]=i}}}function u9e(e,t){return function(){const n=e._actualUniforms[t];return"function"===typeof n?n():n}}function h9e(e,t){return function(){const n=e[t]();if(Object(r["a"])(n))return n.dimensions}}function d9e(e){if(Object(r["a"])(e._uniformMap))return;const t={},n={},i=e._uniforms,o=e._actualUniforms;for(const r in i)if(i.hasOwnProperty(r)){"function"!==typeof i[r]?(t[r]=u9e(e,r),n[r]=l9e(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];const a=t[r]();("string"===typeof a||a instanceof nk||a instanceof HTMLImageElement||a instanceof HTMLCanvasElement||a instanceof HTMLVideoElement)&&(t[r+"Dimensions"]=h9e(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=Object(xS["a"])(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function f9e(e,t){if(Object(r["a"])(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(Object(r["a"])(e._selectedIdTexture)){const t=e._selectedIdTexture.width;n=n.replace(/varying\s+vec2\s+v_textureCoordinates;/g,""),n=`#define CZM_SELECTED_FEATURE \nuniform sampler2D czm_idTexture; \nuniform sampler2D czm_selectedIdTexture; \nuniform float czm_selectedIdTextureStep; \nvarying vec2 v_textureCoordinates; \nbool czm_selected(vec2 offset) \n{ \n bool selected = false;\n vec4 id = texture2D(czm_idTexture, v_textureCoordinates + offset); \n for (int i = 0; i < ${t}; ++i) \n { \n vec4 selectedId = texture2D(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); \n if (all(equal(id, selectedId))) \n { \n return true; \n } \n } \n return false; \n} \n\nbool czm_selected() \n{ \n return czm_selected(vec2(0.0)); \n} \n\n`+n}const i=new bG({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function p9e(e){const t=e._sampleMode;let n,i;t===a9e.LINEAR?(n=XF.LINEAR,i=WF.LINEAR):(n=XF.NEAREST,i=WF.NEAREST);const o=e._sampler;Object(r["a"])(o)&&o.minificationFilter===n&&o.magnificationFilter===i||(e._sampler=new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function m9e(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function _9e(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function g9e(e,t){let n,i,o;const a=e._texturesToRelease;let s=a.length;for(n=0;n<s;++n)i=a[n],i=i&&i.destroy();a.length=0;const c=e._texturesToCreate;for(s=c.length,n=0;n<s;++n){const i=c[n];o=i.name;const r=i.source;e._actualUniforms[o]=new nk({context:t,source:r})}c.length=0;const l=e._dirtyUniforms;if(0===l.length&&!Object(r["a"])(e._texturePromise))return void(e._ready=!0);if(0===l.length||Object(r["a"])(e._texturePromise))return;s=l.length;const u=e._uniforms,h=[];for(n=0;n<s;++n){o=l[n];const t=u[o],i=e._textureCache.getStageByName(t);if(Object(r["a"])(i))e._actualUniforms[o]=_9e(e,t);else if("string"===typeof t){const n=new Et["a"]({url:t});h.push(n.fetchImage().then(m9e(e,o)))}else e._texturesToCreate.push({name:o,source:t})}l.length=0,h.length>0?(e._ready=!1,e._texturePromise=Promise.all(h).then((function(){e._ready=!0,e._texturePromise=void 0}))):e._ready=!0}function b9e(e){Object(r["a"])(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();const t=e._textureCache;if(!Object(r["a"])(t))return;const n=e._uniforms,i=e._actualUniforms;for(const o in i)i.hasOwnProperty(o)&&i[o]instanceof nk&&(Object(r["a"])(t.getStageByName(n[o]))||i[o].destroy(),e._dirtyUniforms.push(o))}function y9e(e){let t=Object(r["a"])(e._selected)?e._selected.length:0;const n=Object(r["a"])(e._parentSelected)?e._parentSelected:0;let i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,Object(r["a"])(e._selected)&&Object(r["a"])(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):Object(r["a"])(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&Object(r["a"])(e._combinedSelected)){if(!Object(r["a"])(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let n=0;n<t;++n)if(e._combinedSelected[n]!==e._combinedSelectedShadow[n])return!0}return i}function v9e(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;const n=e._combinedSelected;if(!Object(r["a"])(n))return;let i,o,a=0;const s=n.length;for(i=0;i<s;++i)o=n[i],Object(r["a"])(o.pickIds)?a+=o.pickIds.length:Object(r["a"])(o.pickId)&&++a;if(0===s||0===a){const n=new Uint8Array(4);return n[0]=255,n[1]=255,n[2]=255,n[3]=255,void(e._selectedIdTexture=new nk({context:t,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,source:{arrayBufferView:n,width:1,height:1},sampler:$F.NEAREST}))}let c,l=0;const u=new Uint8Array(4*a);for(i=0;i<s;++i)if(o=n[i],Object(r["a"])(o.pickIds)){const e=o.pickIds,t=e.length;for(let n=0;n<t;++n)c=e[n].color,u[l]=j_.floatToByte(c.red),u[l+1]=j_.floatToByte(c.green),u[l+2]=j_.floatToByte(c.blue),u[l+3]=j_.floatToByte(c.alpha),l+=4}else Object(r["a"])(o.pickId)&&(c=o.pickId.color,u[l]=j_.floatToByte(c.red),u[l+1]=j_.floatToByte(c.green),u[l+2]=j_.floatToByte(c.blue),u[l+3]=j_.floatToByte(c.alpha),l+=4);e._selectedIdTexture=new nk({context:t,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,source:{arrayBufferView:u,width:a,height:1},sampler:$F.NEAREST})}s9e.prototype._isSupported=function(e){return!c9e.test(this._fragmentShader)||e.depthTexture},s9e.prototype.update=function(e,t){if(this.enabled===this._enabled||this.enabled||b9e(this),this._enabled=this.enabled,!this._enabled)return;if(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=y9e(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=Object(r["a"])(this._selected)?this._selected.length:0,this._parentSelectedLength=Object(r["a"])(this._parentSelected)?this._parentSelected.length:0,v9e(this,e),d9e(this),g9e(this,e),f9e(this,e),p9e(this),this._selectedDirty=!1,!this._ready)return;const n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!Object(r["a"])(n))return;const i=n.getColorTexture(0);let o;i.width===e.drawingBufferWidth&&i.height===e.drawingBufferHeight||(o=this._renderState,Object(r["a"])(o)&&i.width===o.viewport.width&&i.height===o.viewport.height||(this._renderState=Mz.fromCache({viewport:new Oh(0,0,i.width,i.height)}))),this._command.renderState=o},s9e.prototype.execute=function(e,t,n,i){if(!Object(r["a"])(this._command)||!Object(r["a"])(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,$F.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);const o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;Object(r["a"])(o)&&(o.context=e),this._command.execute(e,o)},s9e.prototype.isDestroyed=function(){return!1},s9e.prototype.destroy=function(){return b9e(this),Wl(this)};var O9e=s9e,w9e="uniform sampler2D colorTexture;\n\nvarying vec2 v_textureCoordinates;\n\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\n\nvoid main()\n{\n vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\n vec3 color = fragmentColor.rgb;\n\n#ifdef AUTO_EXPOSURE\n color /= texture2D(autoExposure, vec2(0.5)).r;\n#endif\n color = czm_acesTonemapping(color);\n color = czm_inverseGamma(color);\n\n gl_FragColor = vec4(color, fragmentColor.a);\n}\n",A9e="uniform sampler2D randomTexture;\nuniform sampler2D depthTexture;\nuniform float intensity;\nuniform float bias;\nuniform float lengthCap;\nuniform float stepSize;\nuniform float frustumLength;\n\nvarying vec2 v_textureCoordinates;\n\nvec4 clipToEye(vec2 uv, float depth)\n{\n vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n posEC = posEC / posEC.w;\n return posEC;\n}\n\n//Reconstruct Normal Without Edge Removation\nvec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize)\n{\n vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU);\n vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD);\n vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL);\n vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR);\n\n vec3 up = posInCamera.xyz - posInCameraUp.xyz;\n vec3 down = posInCameraDown.xyz - posInCamera.xyz;\n vec3 left = posInCamera.xyz - posInCameraLeft.xyz;\n vec3 right = posInCameraRight.xyz - posInCamera.xyz;\n\n vec3 DX = length(left) < length(right) ? left : right;\n vec3 DY = length(up) < length(down) ? up : down;\n\n return normalize(cross(DY, DX));\n}\n\nvoid main(void)\n{\n float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n\n if (posInCamera.z > frustumLength)\n {\n gl_FragColor = vec4(1.0);\n return;\n }\n\n vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;\n float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));\n float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));\n float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));\n float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));\n vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);\n\n float ao = 0.0;\n vec2 sampleDirection = vec2(1.0, 0.0);\n float gapAngle = 90.0 * czm_radiansPerDegree;\n\n // RandomNoise\n float randomVal = texture2D(randomTexture, v_textureCoordinates).x;\n\n //Loop for each direction\n for (int i = 0; i < 4; i++)\n {\n float newGapAngle = gapAngle * (float(i) + randomVal);\n float cosVal = cos(newGapAngle);\n float sinVal = sin(newGapAngle);\n\n //Rotate Sampling Direction\n vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);\n float localAO = 0.0;\n float localStepSize = stepSize;\n\n //Loop for each step\n for (int j = 0; j < 6; j++)\n {\n vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize;\n\n //Exception Handling\n if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0)\n {\n break;\n }\n\n float stepDepthInfo = czm_readDepth(depthTexture, newCoords);\n vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo);\n vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz;\n float len = length(diffVec);\n\n if (len > lengthCap)\n {\n break;\n }\n\n float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 );\n float weight = len / lengthCap;\n weight = 1.0 - weight * weight;\n\n if (dotVal < bias)\n {\n dotVal = 0.0;\n }\n\n localAO = max(localAO, dotVal * weight);\n localStepSize += stepSize;\n }\n ao += localAO;\n }\n\n ao /= 4.0;\n ao = 1.0 - clamp(ao, 0.0, 1.0);\n ao = pow(ao, intensity);\n gl_FragColor = vec4(vec3(ao), 1.0);\n}\n",T9e="uniform sampler2D colorTexture;\nuniform sampler2D ambientOcclusionTexture;\nuniform bool ambientOcclusionOnly;\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec3 color = texture2D(colorTexture, v_textureCoordinates).rgb;\n vec3 ao = texture2D(ambientOcclusionTexture, v_textureCoordinates).rgb;\n gl_FragColor.rgb = ambientOcclusionOnly ? ao : ao * color;\n}\n",C9e="uniform sampler2D colorTexture;\nuniform float gradations;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\n#ifdef CZM_SELECTED_FEATURE\n if (czm_selected()) {\n gl_FragColor = vec4(rgb, 1.0);\n return;\n }\n#endif\n float luminance = czm_luminance(rgb);\n float darkness = luminance * gradations;\n darkness = (darkness - fract(darkness)) / gradations;\n gl_FragColor = vec4(vec3(darkness), 1.0);\n}\n",E9e="uniform sampler2D colorTexture;\nuniform sampler2D bloomTexture;\nuniform bool glowOnly;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n\n#ifdef CZM_SELECTED_FEATURE\n if (czm_selected()) {\n gl_FragColor = color;\n return;\n }\n#endif\n\n vec4 bloom = texture2D(bloomTexture, v_textureCoordinates);\n gl_FragColor = glowOnly ? bloom : bloom + color;\n}\n",x9e="uniform sampler2D colorTexture;\nuniform float brightness;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\n vec3 target = vec3(0.0);\n gl_FragColor = vec4(mix(target, rgb, brightness), 1.0);\n}\n",S9e="uniform sampler2D colorTexture;\nuniform float contrast;\nuniform float brightness;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec3 sceneColor = texture2D(colorTexture, v_textureCoordinates).xyz;\n sceneColor = czm_RGBToHSB(sceneColor);\n sceneColor.z += brightness;\n sceneColor = czm_HSBToRGB(sceneColor);\n\n float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast));\n sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5);\n gl_FragColor = vec4(sceneColor, 1.0);\n}\n",I9e="uniform sampler2D colorTexture;\nuniform sampler2D blurTexture;\nuniform sampler2D depthTexture;\nuniform float focalDistance;\n\nvarying vec2 v_textureCoordinates;\n\nvec4 toEye(vec2 uv, float depth)\n{\n vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n posInCamera = posInCamera / posInCamera.w;\n return posInCamera;\n}\n\nfloat computeDepthBlur(float depth)\n{\n float f;\n if (depth < focalDistance)\n {\n f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x);\n }\n else\n {\n f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance);\n f = pow(f, 0.1);\n }\n f *= f;\n f = clamp(f, 0.0, 1.0);\n return pow(f, 0.5);\n}\n\nvoid main(void)\n{\n float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n vec4 posInCamera = toEye(v_textureCoordinates, depth);\n float d = computeDepthBlur(-posInCamera.z);\n gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), texture2D(blurTexture, v_textureCoordinates), d);\n}\n",D9e="uniform sampler2D depthTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n gl_FragColor = vec4(vec3(depth), 1.0);\n}\n",j9e="uniform sampler2D depthTexture;\nuniform float length;\nuniform vec4 color;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n float directions[3];\n directions[0] = -1.0;\n directions[1] = 0.0;\n directions[2] = 1.0;\n\n float scalars[3];\n scalars[0] = 3.0;\n scalars[1] = 10.0;\n scalars[2] = 3.0;\n\n float padx = czm_pixelRatio / czm_viewport.z;\n float pady = czm_pixelRatio / czm_viewport.w;\n\n#ifdef CZM_SELECTED_FEATURE\n bool selected = false;\n for (int i = 0; i < 3; ++i)\n {\n float dir = directions[i];\n selected = selected || czm_selected(vec2(-padx, dir * pady));\n selected = selected || czm_selected(vec2(padx, dir * pady));\n selected = selected || czm_selected(vec2(dir * padx, -pady));\n selected = selected || czm_selected(vec2(dir * padx, pady));\n if (selected)\n {\n break;\n }\n }\n if (!selected)\n {\n gl_FragColor = vec4(color.rgb, 0.0);\n return;\n }\n#endif\n\n float horizEdge = 0.0;\n float vertEdge = 0.0;\n\n for (int i = 0; i < 3; ++i)\n {\n float dir = directions[i];\n float scale = scalars[i];\n\n horizEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale;\n horizEdge += texture2D(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale;\n\n vertEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale;\n vertEdge += texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale;\n }\n\n float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge);\n gl_FragColor = vec4(color.rgb, len > length ? color.a : 0.0);\n}\n",P9e="uniform sampler2D colorTexture;\n\nvarying vec2 v_textureCoordinates;\n\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\n\n// See slides 142 and 143:\n// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting\n\nvoid main()\n{\n vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\n vec3 color = fragmentColor.rgb;\n\n#ifdef AUTO_EXPOSURE\n float exposure = texture2D(autoExposure, vec2(0.5)).r;\n color /= exposure;\n#endif\n\n\tconst float A = 0.22; // shoulder strength\n\tconst float B = 0.30; // linear strength\n\tconst float C = 0.10; // linear angle\n\tconst float D = 0.20; // toe strength\n\tconst float E = 0.01; // toe numerator\n\tconst float F = 0.30; // toe denominator\n\n\tconst float white = 11.2; // linear white point value\n\n\tvec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F;\n\tfloat w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F;\n\n\tc = czm_inverseGamma(c / w);\n\tgl_FragColor = vec4(c, fragmentColor.a);\n}\n",R9e="varying vec2 v_textureCoordinates;\n\nuniform sampler2D colorTexture;\n\nconst float fxaaQualitySubpix = 0.5;\nconst float fxaaQualityEdgeThreshold = 0.125;\nconst float fxaaQualityEdgeThresholdMin = 0.0833;\n\nvoid main()\n{\n vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw;\n vec4 color = FxaaPixelShader(\n v_textureCoordinates,\n colorTexture,\n fxaaQualityRcpFrame,\n fxaaQualitySubpix,\n fxaaQualityEdgeThreshold,\n fxaaQualityEdgeThresholdMin);\n float alpha = texture2D(colorTexture, v_textureCoordinates).a;\n gl_FragColor = vec4(color.rgb, alpha);\n}\n",M9e="#define SAMPLES 8\n\nuniform float delta;\nuniform float sigma;\nuniform float direction; // 0.0 for x direction, 1.0 for y direction\n\nuniform sampler2D colorTexture;\n\n#ifdef USE_STEP_SIZE\nuniform float stepSize;\n#else\nuniform vec2 step;\n#endif\n\nvarying vec2 v_textureCoordinates;\n\n// Incremental Computation of the Gaussian:\n// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html\n\nvoid main()\n{\n vec2 st = v_textureCoordinates;\n vec2 dir = vec2(1.0 - direction, direction);\n\n#ifdef USE_STEP_SIZE\n vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw));\n#else\n vec2 step = step;\n#endif\n\n vec3 g;\n g.x = 1.0 / (sqrt(czm_twoPi) * sigma);\n g.y = exp((-0.5 * delta * delta) / (sigma * sigma));\n g.z = g.y * g.y;\n\n vec4 result = texture2D(colorTexture, st) * g.x;\n for (int i = 1; i < SAMPLES; ++i)\n {\n g.xy *= g.yz;\n\n vec2 offset = float(i) * dir * step;\n result += texture2D(colorTexture, st - offset) * g.x;\n result += texture2D(colorTexture, st + offset) * g.x;\n }\n\n gl_FragColor = result;\n}\n",N9e="uniform sampler2D colorTexture;\nuniform sampler2D dirtTexture;\nuniform sampler2D starTexture;\nuniform vec2 dirtTextureDimensions;\nuniform float distortion;\nuniform float ghostDispersal;\nuniform float haloWidth;\nuniform float dirtAmount;\nuniform float earthRadius;\nuniform float intensity;\n\nvarying vec2 v_textureCoordinates;\n\n// whether it is in space or not\n// 6500000.0 is empirical value\n#define DISTANCE_TO_SPACE 6500000.0\n\n// return ndc from world coordinate biased earthRadius\nvec4 getNDCFromWC(vec3 WC, float earthRadius)\n{\n vec4 positionEC = czm_view * vec4(WC, 1.0);\n positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0);\n vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\n return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0);\n}\n\n// Check if current pixel is included Earth\n// if then mask it gradually\nfloat isInEarth(vec2 texcoord, vec2 sceneSize)\n{\n vec2 NDC = texcoord * 2.0 - 1.0;\n vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0);\n vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5);\n NDC.xy -= earthPosSC.xy;\n\n float X = abs(NDC.x) * sceneSize.x;\n float Y = abs(NDC.y) * sceneSize.y;\n\n return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0));\n}\n\n// For Chromatic effect\nvec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace)\n{\n vec2 sceneSize = czm_viewport.zw;\n vec3 color;\n if(isSpace)\n {\n color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture2D(tex, texcoord + direction * distortion.r).r;\n color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture2D(tex, texcoord + direction * distortion.g).g;\n color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture2D(tex, texcoord + direction * distortion.b).b;\n }\n else\n {\n color.r = texture2D(tex, texcoord + direction * distortion.r).r;\n color.g = texture2D(tex, texcoord + direction * distortion.g).g;\n color.b = texture2D(tex, texcoord + direction * distortion.b).b;\n }\n return vec4(clamp(color, 0.0, 1.0), 0.0);\n}\n\nvoid main(void)\n{\n vec4 originalColor = texture2D(colorTexture, v_textureCoordinates);\n vec3 rgb = originalColor.rgb;\n bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE;\n\n // Sun position\n vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0);\n vec4 sunPositionEC = czm_view * sunPos;\n vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC);\n sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0);\n\n // If sun is not in the screen space, use original color.\n if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1)))\n {\n // Lens flare is disabled when not in space until #5932 is fixed.\n // https://github.com/CesiumGS/cesium/issues/5932\n gl_FragColor = originalColor;\n return;\n }\n\n vec2 texcoord = vec2(1.0) - v_textureCoordinates;\n vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;\n vec2 invPixelSize = 1.0 / pixelSize;\n vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion);\n\n // ghost vector to image centre:\n vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal;\n vec3 direction = normalize(vec3(ghostVec, 0.0));\n\n // sample ghosts:\n vec4 result = vec4(0.0);\n vec4 ghost = vec4(0.0);\n for (int i = 0; i < 4; ++i)\n {\n vec2 offset = fract(texcoord + ghostVec * float(i));\n // Only bright spots from the centre of the source image\n ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace);\n }\n result += ghost;\n\n // sample halo\n vec2 haloVec = normalize(ghostVec) * haloWidth;\n float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));\n weightForHalo = pow(1.0 - weightForHalo, 5.0);\n\n result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5;\n\n // dirt on lens\n vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions;\n if (dirtTexCoords.x > 1.0)\n {\n dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x);\n }\n if (dirtTexCoords.y > 1.0)\n {\n dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y);\n }\n result += dirtAmount * texture2D(dirtTexture, dirtTexCoords);\n\n // Rotating starburst texture's coordinate\n // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0))\n float camrot = czm_view[0].z + czm_view[1].y;\n float cosValue = cos(camrot);\n float sinValue = sin(camrot);\n mat3 rotation = mat3(\n cosValue, -sinValue, 0.0,\n sinValue, cosValue, 0.0,\n 0.0, 0.0, 1.0\n );\n\n vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0);\n vec3 st2 = vec3((rotation * st1).xy, 1.0);\n vec3 st3 = st2 * 0.5 + vec3(0.5);\n vec2 lensStarTexcoord = st3.xy;\n float weightForLensFlare = length(vec3(sunPos.xy, 0.0));\n float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0);\n\n if (!isSpace)\n {\n result *= oneMinusWeightForLensFlare * intensity * 0.2;\n }\n else\n {\n result *= oneMinusWeightForLensFlare * intensity;\n result *= texture2D(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0;\n }\n\n result += texture2D(colorTexture, v_textureCoordinates);\n\n gl_FragColor = result;\n}\n",L9e="uniform sampler2D colorTexture;\nuniform vec3 white;\n\nvarying vec2 v_textureCoordinates;\n\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\n\n// See equation 4:\n// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf\n\nvoid main()\n{\n vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\n vec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\n float exposure = texture2D(autoExposure, vec2(0.5)).r;\n color /= exposure;\n#endif\n color = (color * (1.0 + color / white)) / (1.0 + color);\n color = czm_inverseGamma(color);\n gl_FragColor = vec4(color, fragmentColor.a);\n}\n",B9e="uniform sampler2D colorTexture;\n\nvarying vec2 v_textureCoordinates;\n\nfloat rand(vec2 co)\n{\n return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1;\n vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\n vec3 green = vec3(0.0, 1.0, 0.0);\n gl_FragColor = vec4((noiseValue + rgb) * green, 1.0);\n}\n",F9e="uniform sampler2D colorTexture;\n\nvarying vec2 v_textureCoordinates;\n\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\n\n// See equation 3:\n// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf\n\nvoid main()\n{\n vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\n vec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\n float exposure = texture2D(autoExposure, vec2(0.5)).r;\n color /= exposure;\n#endif\n color = color / (1.0 + color);\n color = czm_inverseGamma(color);\n gl_FragColor = vec4(color, fragmentColor.a);\n}\n",k9e="uniform sampler2D colorTexture;\nuniform sampler2D silhouetteTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main(void)\n{\n vec4 silhouetteColor = texture2D(silhouetteTexture, v_textureCoordinates);\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n gl_FragColor = mix(color, silhouetteColor, silhouetteColor.a);\n}\n",z9e="/**\n * @license\n * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * * Neither the name of NVIDIA CORPORATION nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples\n// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h\n\n// Steps used to integrate into Cesium:\n// * The following defines are set:\n// #define FXAA_PC 1\n// #define FXAA_WEBGL_1 1\n// #define FXAA_GREEN_AS_LUMA 1\n// #define FXAA_EARLY_EXIT 1\n// #define FXAA_GLSL_120 1\n// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed.\n// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace\n// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/.\n// * There are no implicit conversions from ivec* to vec* so replace:\n// #define FxaaInt2 ivec2\n// with\n// #define FxaaInt2 vec2\n// * The texture2DLod function is only available in vertex shaders so replace:\n// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)\n// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)\n// with\n// #define FxaaTexTop(t, p) texture2D(t, p)\n// #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r))\n// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future.\n// * The following parameters to FxaaPixelShader are unused and can be removed:\n// fxaaConsolePosPos\n// fxaaConsoleRcpFrameOpt\n// fxaaConsoleRcpFrameOpt2\n// fxaaConsole360RcpFrameOpt2\n// fxaaConsoleEdgeSharpness\n// fxaaConsoleEdgeThreshold\n// fxaaConsoleEdgeThresholdMi\n// fxaaConsole360ConstDir\n\n//\n// Choose the quality preset.\n// This needs to be compiled into the shader as it effects code.\n// Best option to include multiple presets is to\n// in each shader define the preset, then include this file.\n//\n// OPTIONS\n// -----------------------------------------------------------------------\n// 10 to 15 - default medium dither (10=fastest, 15=highest quality)\n// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)\n// 39 - no dither, very expensive\n//\n// NOTES\n// -----------------------------------------------------------------------\n// 12 = slightly faster then FXAA 3.9 and higher edge quality (default)\n// 13 = about same speed as FXAA 3.9 and better than 12\n// 23 = closest to FXAA 3.9 visually and performance wise\n// _ = the lowest digit is directly related to performance\n// _ = the highest digit is directly related to style\n//\n//#define FXAA_QUALITY_PRESET 12\n\n\n#if (FXAA_QUALITY_PRESET == 10)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 3.0\n #define FXAA_QUALITY_P2 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 11)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 3.0\n #define FXAA_QUALITY_P3 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 12)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 4.0\n #define FXAA_QUALITY_P4 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 13)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 4.0\n #define FXAA_QUALITY_P5 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 14)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 4.0\n #define FXAA_QUALITY_P6 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 15)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 20)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 2.0\n #define FXAA_QUALITY_P2 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 21)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 22)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 23)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 24)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 3.0\n #define FXAA_QUALITY_P6 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 25)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 26)\n #define FXAA_QUALITY_PS 9\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 4.0\n #define FXAA_QUALITY_P8 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 27)\n #define FXAA_QUALITY_PS 10\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 4.0\n #define FXAA_QUALITY_P9 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 28)\n #define FXAA_QUALITY_PS 11\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 4.0\n #define FXAA_QUALITY_P10 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 29)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 39)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.0\n #define FXAA_QUALITY_P2 1.0\n #define FXAA_QUALITY_P3 1.0\n #define FXAA_QUALITY_P4 1.0\n #define FXAA_QUALITY_P5 1.5\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n\n#define FxaaBool bool\n#define FxaaFloat float\n#define FxaaFloat2 vec2\n#define FxaaFloat3 vec3\n#define FxaaFloat4 vec4\n#define FxaaHalf float\n#define FxaaHalf2 vec2\n#define FxaaHalf3 vec3\n#define FxaaHalf4 vec4\n#define FxaaInt2 vec2\n#define FxaaTex sampler2D\n\n#define FxaaSat(x) clamp(x, 0.0, 1.0)\n#define FxaaTexTop(t, p) texture2D(t, p)\n#define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r))\n\nFxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }\n\nFxaaFloat4 FxaaPixelShader(\n //\n // Use noperspective interpolation here (turn off perspective interpolation).\n // {xy} = center of pixel\n FxaaFloat2 pos,\n //\n // Input color texture.\n // {rgb_} = color in linear or perceptual color space\n // if (FXAA_GREEN_AS_LUMA == 0)\n // {___a} = luma in perceptual color space (not linear)\n FxaaTex tex,\n //\n // Only used on FXAA Quality.\n // This must be from a constant/uniform.\n // {x_} = 1.0/screenWidthInPixels\n // {_y} = 1.0/screenHeightInPixels\n FxaaFloat2 fxaaQualityRcpFrame,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_SUBPIX define.\n // It is here now to allow easier tuning.\n // Choose the amount of sub-pixel aliasing removal.\n // This can effect sharpness.\n // 1.00 - upper limit (softer)\n // 0.75 - default amount of filtering\n // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)\n // 0.25 - almost off\n // 0.00 - completely off\n FxaaFloat fxaaQualitySubpix,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define.\n // It is here now to allow easier tuning.\n // The minimum amount of local contrast required to apply algorithm.\n // 0.333 - too little (faster)\n // 0.250 - low quality\n // 0.166 - default\n // 0.125 - high quality\n // 0.063 - overkill (slower)\n FxaaFloat fxaaQualityEdgeThreshold,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define.\n // It is here now to allow easier tuning.\n // Trims the algorithm from processing darks.\n // 0.0833 - upper limit (default, the start of visible unfiltered edges)\n // 0.0625 - high quality (faster)\n // 0.0312 - visible limit (slower)\n // Special notes when using FXAA_GREEN_AS_LUMA,\n // Likely want to set this to zero.\n // As colors that are mostly not-green\n // will appear very dark in the green channel!\n // Tune by looking at mostly non-green content,\n // then start at zero and increase until aliasing is a problem.\n FxaaFloat fxaaQualityEdgeThresholdMin\n) {\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posM;\n posM.x = pos.x;\n posM.y = pos.y;\n FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n #define lumaM rgbyM.y\n FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));\n/*--------------------------------------------------------------------------*/\n FxaaFloat maxSM = max(lumaS, lumaM);\n FxaaFloat minSM = min(lumaS, lumaM);\n FxaaFloat maxESM = max(lumaE, maxSM);\n FxaaFloat minESM = min(lumaE, minSM);\n FxaaFloat maxWN = max(lumaN, lumaW);\n FxaaFloat minWN = min(lumaN, lumaW);\n FxaaFloat rangeMax = max(maxWN, maxESM);\n FxaaFloat rangeMin = min(minWN, minESM);\n FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;\n FxaaFloat range = rangeMax - rangeMin;\n FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);\n FxaaBool earlyExit = range < rangeMaxClamped;\n/*--------------------------------------------------------------------------*/\n if(earlyExit)\n return rgbyM;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNS = lumaN + lumaS;\n FxaaFloat lumaWE = lumaW + lumaE;\n FxaaFloat subpixRcpRange = 1.0/range;\n FxaaFloat subpixNSWE = lumaNS + lumaWE;\n FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;\n FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNESE = lumaNE + lumaSE;\n FxaaFloat lumaNWNE = lumaNW + lumaNE;\n FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;\n FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNWSW = lumaNW + lumaSW;\n FxaaFloat lumaSWSE = lumaSW + lumaSE;\n FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);\n FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);\n FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;\n FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;\n FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;\n FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;\n/*--------------------------------------------------------------------------*/\n FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;\n FxaaFloat lengthSign = fxaaQualityRcpFrame.x;\n FxaaBool horzSpan = edgeHorz >= edgeVert;\n FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;\n/*--------------------------------------------------------------------------*/\n if(!horzSpan) lumaN = lumaW;\n if(!horzSpan) lumaS = lumaE;\n if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;\n FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;\n/*--------------------------------------------------------------------------*/\n FxaaFloat gradientN = lumaN - lumaM;\n FxaaFloat gradientS = lumaS - lumaM;\n FxaaFloat lumaNN = lumaN + lumaM;\n FxaaFloat lumaSS = lumaS + lumaM;\n FxaaBool pairN = abs(gradientN) >= abs(gradientS);\n FxaaFloat gradient = max(abs(gradientN), abs(gradientS));\n if(pairN) lengthSign = -lengthSign;\n FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posB;\n posB.x = posM.x;\n posB.y = posM.y;\n FxaaFloat2 offNP;\n offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;\n offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;\n if(!horzSpan) posB.x += lengthSign * 0.5;\n if( horzSpan) posB.y += lengthSign * 0.5;\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posN;\n posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;\n posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;\n FxaaFloat2 posP;\n posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;\n posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;\n FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;\n FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));\n FxaaFloat subpixE = subpixC * subpixC;\n FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));\n/*--------------------------------------------------------------------------*/\n if(!pairN) lumaNN = lumaSS;\n FxaaFloat gradientScaled = gradient * 1.0/4.0;\n FxaaFloat lumaMM = lumaM - lumaNN * 0.5;\n FxaaFloat subpixF = subpixD * subpixE;\n FxaaBool lumaMLTZero = lumaMM < 0.0;\n/*--------------------------------------------------------------------------*/\n lumaEndN -= lumaNN * 0.5;\n lumaEndP -= lumaNN * 0.5;\n FxaaBool doneN = abs(lumaEndN) >= gradientScaled;\n FxaaBool doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;\n FxaaBool doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;\n/*--------------------------------------------------------------------------*/\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 3)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 4)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 5)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 6)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 7)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 8)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 9)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 10)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 11)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 12)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n/*--------------------------------------------------------------------------*/\n FxaaFloat dstN = posM.x - posN.x;\n FxaaFloat dstP = posP.x - posM.x;\n if(!horzSpan) dstN = posM.y - posN.y;\n if(!horzSpan) dstP = posP.y - posM.y;\n/*--------------------------------------------------------------------------*/\n FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;\n FxaaFloat spanLength = (dstP + dstN);\n FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;\n FxaaFloat spanLengthRcp = 1.0/spanLength;\n/*--------------------------------------------------------------------------*/\n FxaaBool directionN = dstN < dstP;\n FxaaFloat dst = min(dstN, dstP);\n FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;\n FxaaFloat subpixG = subpixF * subpixF;\n FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;\n FxaaFloat subpixH = subpixG * fxaaQualitySubpix;\n/*--------------------------------------------------------------------------*/\n FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;\n FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);\n if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;\n if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;\n return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);\n}\n";function U9e(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].defined("options.stages",e.stages),i["a"].typeOf.number.greaterThan("options.stages.length",e.stages.length,0),this._stages=e.stages,this._inputPreviousStageTexture=Object(o["a"])(e.inputPreviousStageTexture,!0);let t=e.name;Object(r["a"])(t)||(t=RL()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}function V9e(e){let t=Object(r["a"])(e._selected)?e._selected.length:0;const n=Object(r["a"])(e._parentSelected)?e._parentSelected:0;let i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,Object(r["a"])(e._selected)&&Object(r["a"])(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):Object(r["a"])(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&Object(r["a"])(e._combinedSelected)){if(!Object(r["a"])(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let n=0;n<t;++n)if(e._combinedSelected[n]!==e._combinedSelectedShadow[n])return!0}return i}Object.defineProperties(U9e.prototype,{ready:{get:function(){const e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){const t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}}),U9e.prototype._isSupported=function(e){const t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0},U9e.prototype.get=function(e){return i["a"].typeOf.number.greaterThanOrEquals("index",e,0),i["a"].typeOf.number.lessThan("index",e,this.length),this._stages[e]},U9e.prototype.update=function(e,t){this._selectedDirty=V9e(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=Object(r["a"])(this._selected)?this._selected.length:0,this._parentSelectedLength=Object(r["a"])(this._parentSelected)?this._parentSelected.length:0;const n=this._stages,i=n.length;for(let o=0;o<i;++o){const i=n[o];this._selectedDirty&&(i.parentSelected=this._combinedSelected),i.update(e,t)}},U9e.prototype.isDestroyed=function(){return!1},U9e.prototype.destroy=function(){const e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return Wl(this)};var H9e=U9e;const G9e={};function q9e(e){const t=1,n=2,i=1,o="#define USE_STEP_SIZE\n"+M9e,r=new O9e({name:e+"_x_direction",fragmentShader:o,uniforms:{delta:t,sigma:n,stepSize:i,direction:0},sampleMode:a9e.LINEAR}),a=new O9e({name:e+"_y_direction",fragmentShader:o,uniforms:{delta:t,sigma:n,stepSize:i,direction:1},sampleMode:a9e.LINEAR}),s={};return Object.defineProperties(s,{delta:{get:function(){return r.uniforms.delta},set:function(e){const t=r.uniforms,n=a.uniforms;t.delta=n.delta=e}},sigma:{get:function(){return r.uniforms.sigma},set:function(e){const t=r.uniforms,n=a.uniforms;t.sigma=n.sigma=e}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(e){const t=r.uniforms,n=a.uniforms;t.stepSize=n.stepSize=e}}}),new H9e({name:e,stages:[r,a],uniforms:s})}function W9e(e){if(!Object(r["a"])(e))return G9e.createEdgeDetectionStage();const t=new H9e({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={};let i="",o="";for(let r=0;r<e.length;++r)i+=`uniform sampler2D edgeTexture${r}; \n`,o+=` vec4 edge${r} = texture2D(edgeTexture${r}, v_textureCoordinates); \n if (edge${r}.a > 0.0) \n { \n color = edge${r}; \n break; \n } \n`,n["edgeTexture"+r]=e[r].name;const a=i+"varying vec2 v_textureCoordinates; \nvoid main() { \n vec4 color = vec4(0.0); \n"+` for (int i = 0; i < ${e.length}; i++) \n`+` { \n${o} } \n gl_FragColor = color; \n} \n`,s=new O9e({name:"czm_edge_detection_combine",fragmentShader:a,uniforms:n});return new H9e({name:"czm_edge_detection_composite",stages:[t,s]})}G9e.createBlurStage=function(){return q9e("czm_blur")},G9e.createDepthOfFieldStage=function(){const e=q9e("czm_depth_of_field_blur"),t=new O9e({name:"czm_depth_of_field_composite",fragmentShader:I9e,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(e){t.uniforms.focalDistance=e}},delta:{get:function(){return e.uniforms.delta},set:function(t){e.uniforms.delta=t}},sigma:{get:function(){return e.uniforms.sigma},set:function(t){e.uniforms.sigma=t}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(t){e.uniforms.stepSize=t}}}),new H9e({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})},G9e.isDepthOfFieldSupported=function(e){return e.context.depthTexture},G9e.createEdgeDetectionStage=function(){const e=RL();return new O9e({name:"czm_edge_detection_"+e,fragmentShader:j9e,uniforms:{length:.25,color:j_.clone(j_.BLACK)}})},G9e.isEdgeDetectionSupported=function(e){return e.context.depthTexture},G9e.createSilhouetteStage=function(e){const t=W9e(e),n=new O9e({name:"czm_silhouette_color_edges",fragmentShader:k9e,uniforms:{silhouetteTexture:t.name}});return new H9e({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})},G9e.isSilhouetteSupported=function(e){return e.context.depthTexture},G9e.createBloomStage=function(){const e=new O9e({name:"czm_bloom_contrast_bias",fragmentShader:S9e,uniforms:{contrast:128,brightness:-.3}}),t=q9e("czm_bloom_blur"),n=new H9e({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new O9e({name:"czm_bloom_generate_composite",fragmentShader:E9e,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(e){i.uniforms.glowOnly=e}},contrast:{get:function(){return e.uniforms.contrast},set:function(t){e.uniforms.contrast=t}},brightness:{get:function(){return e.uniforms.brightness},set:function(t){e.uniforms.brightness=t}},delta:{get:function(){return t.uniforms.delta},set:function(e){t.uniforms.delta=e}},sigma:{get:function(){return t.uniforms.sigma},set:function(e){t.uniforms.sigma=e}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(e){t.uniforms.stepSize=e}}}),new H9e({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})},G9e.createAmbientOcclusionStage=function(){const e=new O9e({name:"czm_ambient_occlusion_generate",fragmentShader:A9e,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=q9e("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;const n=new H9e({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new O9e({name:"czm_ambient_occlusion_composite",fragmentShader:T9e,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(t){e.uniforms.intensity=t}},bias:{get:function(){return e.uniforms.bias},set:function(t){e.uniforms.bias=t}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(t){e.uniforms.lengthCap=t}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(t){e.uniforms.stepSize=t}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(t){e.uniforms.frustumLength=t}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(t){e.uniforms.randomTexture=t}},delta:{get:function(){return t.uniforms.delta},set:function(e){t.uniforms.delta=e}},sigma:{get:function(){return t.uniforms.sigma},set:function(e){t.uniforms.sigma=e}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(e){t.uniforms.stepSize=e}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(e){i.uniforms.ambientOcclusionOnly=e}}}),new H9e({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})},G9e.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};const Y9e=`#define FXAA_QUALITY_PRESET 39 \n${z9e}\n${R9e}`;G9e.createFXAAStage=function(){return new O9e({name:"czm_FXAA",fragmentShader:Y9e,sampleMode:a9e.LINEAR})},G9e.createAcesTonemappingStage=function(e){let t=e?"#define AUTO_EXPOSURE\n":"";return t+=w9e,new O9e({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0}})},G9e.createFilmicTonemappingStage=function(e){let t=e?"#define AUTO_EXPOSURE\n":"";return t+=P9e,new O9e({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0}})},G9e.createReinhardTonemappingStage=function(e){let t=e?"#define AUTO_EXPOSURE\n":"";return t+=F9e,new O9e({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0}})},G9e.createModifiedReinhardTonemappingStage=function(e){let t=e?"#define AUTO_EXPOSURE\n":"";return t+=L9e,new O9e({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:j_.WHITE,autoExposure:void 0}})},G9e.createAutoExposureStage=function(){return new Hqe},G9e.createBlackAndWhiteStage=function(){return new O9e({name:"czm_black_and_white",fragmentShader:C9e,uniforms:{gradations:5}})},G9e.createBrightnessStage=function(){return new O9e({name:"czm_brightness",fragmentShader:x9e,uniforms:{brightness:.5}})},G9e.createNightVisionStage=function(){return new O9e({name:"czm_night_vision",fragmentShader:B9e})},G9e.createDepthViewStage=function(){return new O9e({name:"czm_depth_view",fragmentShader:D9e})},G9e.createLensFlareStage=function(){return new O9e({name:"czm_lens_flare",fragmentShader:N9e,uniforms:{dirtTexture:Lt("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:Lt("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:z.WGS84.maximumRadius}})};var X9e=G9e;function K9e(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function J9e(e){while(Object(r["a"])(e.length))e=e.get(e.length-1);return e.name}function Z9e(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;const a=n[i.name]={};if(Object(r["a"])(o)){const t=e.getStageByName(o);a[J9e(t)]=!0}const s=i.uniforms;if(Object(r["a"])(s)){const t=Object.getOwnPropertyNames(s),n=t.length;for(let i=0;i<n;++i){const n=s[t[i]];if("string"===typeof n){const t=e.getStageByName(n);Object(r["a"])(t)&&(a[J9e(t)]=!0)}}}return i.name}function $9e(e,t,n,i,o){if(Object(r["a"])(i.enabled)&&!i.enabled||Object(r["a"])(i._isSupported)&&!i._isSupported(t))return o;const a=o,s=!Object(r["a"])(i.inputPreviousStageTexture)||i.inputPreviousStageTexture;let c=o;const l=i.length;for(let d=0;d<l;++d){const a=i.get(d);c=Object(r["a"])(a.length)?$9e(e,t,n,a,o):Z9e(e,t,n,a,o),s&&(o=c)}let u,h;if(s)for(u=1;u<l;++u)h=J9e(i.get(u)),Object(r["a"])(n[h])||(n[h]={}),n[h][a]=!0;else for(u=1;u<l;++u){h=J9e(i.get(u));const e=n[h];for(let t=0;t<u;++t)e[J9e(i.get(t))]=!0}return c}function Q9e(e,t){const n={};if(Object(r["a"])(e.ambientOcclusion)){const i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,a=e.fxaa;let s=$9e(e,t,n,i,void 0);s=$9e(e,t,n,o,s),s=Z9e(e,t,n,r,s),s=$9e(e,t,n,e,s),Z9e(e,t,n,a,s)}else $9e(e,t,n,e,void 0);return n}function eet(e,t,n){const i=e._collection,o=i.getStageByName(t),a=o._textureScale,s=o._forcePowerOfTwo,c=o._pixelFormat,l=o._pixelDatatype,u=o._clearColor;let h,d;const f=e._framebuffers,p=f.length;for(h=0;h<p;++h){if(d=f[h],a!==d.textureScale||s!==d.forcePowerOfTwo||c!==d.pixelFormat||l!==d.pixelDatatype||!j_.equals(u,d.clearColor))continue;const e=d.stages,t=e.length;let i=!1;for(let o=0;o<t;++o)if(n[e[o]]){i=!0;break}if(!i)break}return Object(r["a"])(d)&&h<p?(d.stages.push(t),d):(d={textureScale:a,forcePowerOfTwo:s,pixelFormat:c,pixelDatatype:l,clearColor:u,stages:[t],buffer:new Yne({pixelFormat:c,pixelDatatype:l}),clear:void 0},f.push(d),d)}function tet(e,t){const n=Q9e(e._collection,t);for(const i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=eet(e,i,n[i]))}function net(e){const t=e._framebuffers,n=t.length;for(let i=0;i<n;++i){const e=t[i];e.buffer.destroy()}}function iet(e,t){const n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let a=0;a<r;++a){const e=o[a],r=e.textureScale;let c=Math.ceil(n*r),l=Math.ceil(i*r),u=Math.min(c,l);e.forcePowerOfTwo&&(s["a"].isPowerOfTwo(u)||(u=s["a"].nextPowerOfTwo(u)),c=u,l=u),e.buffer.update(t,c,l),e.clear=new bJ({color:e.clearColor,framebuffer:e.buffer.framebuffer})}}K9e.prototype.updateDependencies=function(){this._updateDependencies=!0},K9e.prototype.update=function(e){const t=this._collection,n=this._updateDependencies,i=Object(r["a"])(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=Object(r["a"])(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),a=Object(r["a"])(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=Object(r["a"])(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),c=!Object(r["a"])(t._activeStages)||t._activeStages.length>0||i||o||a||s;if((n||!c&&this._framebuffers.length>0)&&(net(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!c)return;0===this._framebuffers.length&&tet(this,e);const l=e.drawingBufferWidth,u=e.drawingBufferHeight,h=this._width!==l||this._height!==u;(n||h)&&(this._width=l,this._height=u,this._updateDependencies=!1,net(this),iet(this,e))},K9e.prototype.clear=function(e){const t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)},K9e.prototype.getStageByName=function(e){return this._collection.getStageByName(e)},K9e.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)},K9e.prototype.getFramebuffer=function(e){const t=this._stageNameToFramebuffer[e];if(Object(r["a"])(t))return t.buffer.framebuffer},K9e.prototype.isDestroyed=function(){return!1},K9e.prototype.destroy=function(){return net(this),Wl(this)};var oet=K9e;const ret={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(e){return e===ret.REINHARD||e===ret.MODIFIED_REINHARD||e===ret.FILMIC||e===ret.ACES}};var aet=Object.freeze(ret);const set=[];function cet(){const e=X9e.createFXAAStage(),t=X9e.createAmbientOcclusionStage(),n=X9e.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=X9e.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=aet.ACES;const i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;const o=new oet(this),a={},s=set;s.push(e,t,n,i);while(s.length>0){const e=s.pop();a[e.name]=e,e._textureCache=o;const t=e.length;if(Object(r["a"])(t))for(let n=0;n<t;++n)s.push(e.get(n))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;const c=this;t.uniforms.randomTexture=function(){return c._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=a,this._textureCache=o}function uet(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;const t=[],n=e._stages,i=n.length;for(let o=0,r=0;o<i;++o){const e=n[o];e&&(e._index=r++,t.push(e))}e._stages=t}function het(e){while(Object(r["a"])(e.length))e=e.get(e.length-1);return e.outputTexture}function det(e,t,n,i,o){if(Object(r["a"])(e.execute))return void e.execute(t,n,i,o);const a=e.length;let s;if(e.inputPreviousStageTexture)for(det(e.get(0),t,n,i,o),s=1;s<a;++s)det(e.get(s),t,het(e.get(s-1)),i,o);else for(s=0;s<a;++s)det(e.get(s),t,n,i,o)}Object.defineProperties(cet.prototype,{ready:{get:function(){let e=!1;const t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){const n=t[s];e=e||n.ready&&n.enabled}const i=this._fxaa,o=this._ao,r=this._bloom,a=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||a.ready&&a.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return uet(this),this._stages.length}},outputTexture:{get:function(){const e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);const t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){const e=t[s];if(Object(r["a"])(e)&&e.ready&&e.enabled)return this.getOutputTexture(e.name)}const i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);const o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);const a=this._ao;return a.enabled&&a.ready?this.getOutputTexture(a.name):void 0}},hasSelected:{get:function(){const e=xL(this._stages);while(e.length>0){const t=e.pop();if(!Object(r["a"])(t))continue;if(Object(r["a"])(t.selected))return!0;const n=t.length;if(Object(r["a"])(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;if(!aet.validate(e))throw new a["a"]("tonemapper was set to an invalid value.");Object(r["a"])(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());const t=this._autoExposureEnabled;let n;switch(e){case aet.REINHARD:n=X9e.createReinhardTonemappingStage(t);break;case aet.MODIFIED_REINHARD:n=X9e.createModifiedReinhardTonemappingStage(t);break;case aet.FILMIC:n=X9e.createFilmicTonemappingStage(t);break;default:n=X9e.createAcesTonemappingStage(t);break}if(t){const e=this._autoExposure;n.uniforms.autoExposure=function(){return e.outputTexture}}this._tonemapper=e,this._tonemapping=n,Object(r["a"])(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}}}),cet.prototype.add=function(e){i["a"].typeOf.object("stage",e);const t=this._stageNames,n=set;n.push(e);while(n.length>0){const e=n.pop();if(Object(r["a"])(t[e.name]))throw new a["a"](e.name+" has already been added to the collection or does not have a unique name.");t[e.name]=e,e._textureCache=this._textureCache;const i=e.length;if(Object(r["a"])(i))for(let t=0;t<i;++t)n.push(e.get(t))}const o=this._stages;return e._index=o.length,o.push(e),this._textureCacheDirty=!0,e},cet.prototype.remove=function(e){if(!this.contains(e))return!1;const t=this._stageNames,n=set;n.push(e);while(n.length>0){const e=n.pop();delete t[e.name];const i=e.length;if(Object(r["a"])(i))for(let t=0;t<i;++t)n.push(e.get(t))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0},cet.prototype.contains=function(e){return Object(r["a"])(e)&&Object(r["a"])(e._index)&&e._textureCache===this._textureCache},cet.prototype.get=function(e){uet(this);const t=this._stages,n=t.length;return i["a"].typeOf.number.greaterThanOrEquals("stages length",n,0),i["a"].typeOf.number.greaterThanOrEquals("index",e,0),i["a"].typeOf.number.lessThan("index",e,n),t[e]},cet.prototype.removeAll=function(){const e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0},cet.prototype.getStageByName=function(e){return this._stageNames[e]},cet.prototype.update=function(e,t,n){uet(this);const i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;const a=this._stages;let s,c,l=o.length=a.length,u=0;for(s=0;s<l;++s)c=a[s],c.ready&&c.enabled&&c._isSupported(e)&&(o[u++]=c);o.length=u;let h=u!==i.length;if(!h)for(s=0;s<u;++s)if(o[s]!==i[s]){h=!0;break}const d=this._ao,f=this._bloom,p=this._autoExposure,m=this._tonemapping,_=this._fxaa;m.enabled=n;const g=d.enabled&&d._isSupported(e),b=f.enabled&&f._isSupported(e),y=m.enabled&&m._isSupported(e),v=_.enabled&&_._isSupported(e);if((h||this._textureCacheDirty||g!==this._aoEnabled||b!==this._bloomEnabled||y!==this._tonemappingEnabled||v!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=b,this._tonemappingEnabled=y,this._fxaaEnabled=v,this._textureCacheDirty=!1),Object(r["a"])(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!Object(r["a"])(this._randomTexture)&&g){l=196608;const t=new Uint8Array(l);for(s=0;s<l;s+=3)t[s]=Math.floor(255*Math.random());this._randomTexture=new nk({context:e,pixelFormat:XS.RGB,pixelDatatype:WS.UNSIGNED_BYTE,source:{arrayBufferView:t,width:256,height:256},sampler:new $F({wrapS:JF.REPEAT,wrapT:JF.REPEAT,minificationFilter:XF.NEAREST,magnificationFilter:WF.NEAREST})})}for(this._textureCache.update(e),_.update(e,t),d.update(e,t),f.update(e,t),m.update(e,t),this._autoExposureEnabled&&p.update(e,t),l=a.length,s=0;s<l;++s)a[s].update(e,t);for(u=0,s=0;s<l;++s)c=a[s],c.ready&&c.enabled&&c._isSupported(e)&&u++;h=u!==o.length,h&&this.update(e,t,n)},cet.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)},cet.prototype.getOutputTexture=function(e){const t=this.getStageByName(e);if(Object(r["a"])(t))return het(t)},cet.prototype.execute=function(e,t,n,i){const o=this._activeStages,r=o.length,a=this._fxaa,s=this._ao,c=this._bloom,l=this._autoExposure,u=this._tonemapping,h=s.enabled&&s._isSupported(e),d=c.enabled&&c._isSupported(e),f=this._autoExposureEnabled,p=u.enabled&&u._isSupported(e),m=a.enabled&&a._isSupported(e);if(!m&&!h&&!d&&!p&&0===r)return;let _=t;h&&s.ready&&(det(s,e,_,n,i),_=het(s)),d&&c.ready&&(det(c,e,_,n,i),_=het(c)),f&&l.ready&&det(l,e,_,n,i),p&&u.ready&&(det(u,e,_,n,i),_=het(u));let g=_;if(r>0){det(o[0],e,_,n,i);for(let t=1;t<r;++t)det(o[t],e,het(o[t-1]),n,i);g=het(o[r-1])}m&&a.ready&&det(a,e,g,n,i)},cet.prototype.copy=function(e,t){if(!Object(r["a"])(this._copyColorCommand)){const t=this;this._copyColorCommand=e.createViewportQuadCommand(b2e,{uniformMap:{colorTexture:function(){return t.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)},cet.prototype.isDestroyed=function(){return!1},cet.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),Wl(this)};var fet=cet;function pet(){a["a"].throwInstantiationError()}pet.computeDefaultLevelZeroMaximumGeometricError=function(e){return 2*e.ellipsoid.maximumRadius*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))},Object.defineProperties(pet.prototype,{quadtree:{get:a["a"].throwInstantiationError,set:a["a"].throwInstantiationError},ready:{get:a["a"].throwInstantiationError},tilingScheme:{get:a["a"].throwInstantiationError},errorEvent:{get:a["a"].throwInstantiationError}}),pet.prototype.update=a["a"].throwInstantiationError,pet.prototype.beginUpdate=a["a"].throwInstantiationError,pet.prototype.endUpdate=a["a"].throwInstantiationError,pet.prototype.getLevelMaximumGeometricError=a["a"].throwInstantiationError,pet.prototype.loadTile=a["a"].throwInstantiationError,pet.prototype.computeTileVisibility=a["a"].throwInstantiationError,pet.prototype.showTileThisFrame=a["a"].throwInstantiationError,pet.prototype.computeDistanceToTile=a["a"].throwInstantiationError,pet.prototype.isDestroyed=a["a"].throwInstantiationError,pet.prototype.destroy=a["a"].throwInstantiationError;var met=pet;function _et(e){i["a"].typeOf.object("scene",e),this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}_et.prototype.completeMorph=function(){Object(r["a"])(this._completeMorph)&&this._completeMorph()},_et.prototype.morphTo2D=function(e,t){Object(r["a"])(this._completeMorph)&&this._completeMorph();const n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof uA,this._previousMode!==vq.SCENE2D&&this._previousMode!==vq.MORPHING&&(this._scene.morphStart.raiseEvent(this,this._previousMode,vq.SCENE2D,!0),n._mode=vq.MORPHING,n.camera._setTransform(Ne.IDENTITY),this._previousMode===vq.COLUMBUS_VIEW?utt(this,e):btt(this,e,t),0===e&&Object(r["a"])(this._completeMorph)&&this._completeMorph())};const get=new g,bet=new g,yet=new g,vet=new g,Oet=new g,wet=new g,Aet=new g,Tet=new I,Cet=new Ne,Eet=new vA,xet=new uA,Set={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};_et.prototype.morphToColumbusView=function(e,t){Object(r["a"])(this._completeMorph)&&this._completeMorph();const n=this._scene;if(this._previousMode=n.mode,this._previousMode===vq.COLUMBUS_VIEW||this._previousMode===vq.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,vq.COLUMBUS_VIEW,!0),n.camera._setTransform(Ne.IDENTITY);let i=get;const o=bet,a=yet;if(e>0)i.x=0,i.y=-1,i.z=1,i=g.multiplyByScalar(g.normalize(i,i),5*t.maximumRadius,i),g.negate(g.normalize(i,o),o),g.cross(g.UNIT_X,o,a);else{const e=n.camera;if(this._previousMode===vq.SCENE2D)g.clone(e.position,i),i.z=e.frustum.right-e.frustum.left,g.negate(g.UNIT_Z,o),g.clone(g.UNIT_Y,a);else{g.clone(e.positionWC,i),g.clone(e.directionWC,o),g.clone(e.upWC,a);const r=t.scaleToGeodeticSurface(i,Aet),s=Hs.eastNorthUpToFixedFrame(r,t,Cet);Ne.inverseTransformation(s,s),n.mapProjection.project(t.cartesianToCartographic(i,Tet),i),Ne.multiplyByPointAsVector(s,o,o),Ne.multiplyByPointAsVector(s,a,a)}}let c;this._morphToOrthographic?(c=xet,c.width=n.camera.frustum.right-n.camera.frustum.left,c.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(c=Eet,c.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,c.fov=s["a"].toRadians(60));const l=Set;l.position=i,l.direction=o,l.up=a,l.frustum=c;const u=Ctt(l);jet(this,u),this._previousMode===vq.SCENE2D?vtt(this,e,l,u):(l.position2D=Ne.multiplyByPoint(eKe.TRANSFORM_2D,i,vet),l.direction2D=Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,o,Oet),l.up2D=Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,a,wet),n._mode=vq.MORPHING,Ott(this,e,l,u)),0===e&&Object(r["a"])(this._completeMorph)&&this._completeMorph()};const Iet={position:new g,direction:new g,up:new g,frustum:void 0},Det=new vA;function jet(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new yR(e._scene.canvas);const n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,NP.LEFT_DOWN),e._morphHandler.setInputAction(n,NP.MIDDLE_DOWN),e._morphHandler.setInputAction(n,NP.RIGHT_DOWN),e._morphHandler.setInputAction(n,NP.WHEEL)}}function Pet(e){const t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}_et.prototype.morphTo3D=function(e,t){Object(r["a"])(this._completeMorph)&&this._completeMorph();const n=this._scene;if(this._previousMode=n.mode,this._previousMode!==vq.SCENE3D&&this._previousMode!==vq.MORPHING){if(this._scene.morphStart.raiseEvent(this,this._previousMode,vq.SCENE3D,!0),n._mode=vq.MORPHING,n.camera._setTransform(Ne.IDENTITY),this._previousMode===vq.SCENE2D)Zet(this,e,t);else{let i,o;e>0?(i=Iet,g.fromDegrees(0,0,5*t.maximumRadius,t,i.position),g.negate(i.position,i.direction),g.normalize(i.direction,i.direction),g.clone(g.UNIT_Z,i.up)):i=Let(this,t);const r=n.camera;r.frustum instanceof uA?o=r.frustum.clone():(o=Det,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=s["a"].toRadians(60)),i.frustum=o;const a=Att(i);jet(this,a),Het(this,e,i,a)}0===e&&Object(r["a"])(this._completeMorph)&&this._completeMorph()}},_et.prototype.isDestroyed=function(){return!1},_et.prototype.destroy=function(){return Pet(this),Wl(this)};const Ret=new I,Met=new g,Net=new Ne;function Let(e,t){const n=e._scene,i=n.camera,o=Iet,r=o.position,a=o.direction,s=o.up,c=n.mapProjection.unproject(i.position,Ret);t.cartographicToCartesian(c,r);const l=t.scaleToGeodeticSurface(r,Met),u=Hs.eastNorthUpToFixedFrame(l,t,Net);return Ne.multiplyByPointAsVector(u,i.direction,a),Ne.multiplyByPointAsVector(u,i.up,s),o}const Bet=new g,Fet=new g,ket=new g,zet=new g,Uet=new g,Vet=new g;function Het(e,t,n,i){t*=.5;const o=e._scene,r=o.camera,a=g.clone(r.position,Bet),s=g.clone(r.direction,Fet),c=g.clone(r.up,ket),l=Ne.multiplyByPoint(eKe.TRANSFORM_2D_INVERSE,n.position,zet),u=Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D_INVERSE,n.direction,Uet),h=Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D_INVERSE,n.up,Vet);function d(e){$et(a,l,e.time,r.position),$et(s,u,e.time,r.direction),$et(c,h,e.time,r.up),g.cross(r.direction,r.up,r.right),g.normalize(r.right,r.right)}const f=o.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:d,complete:function(){wtt(e,o,0,1,t,i)}});e._currentTweens.push(f)}const Get=new uA,qet=new g,Wet=new g,Yet=new g,Xet=new g,Ket=new g,Jet=new g;function Zet(e,t,n){t/=3;const i=e._scene,o=i.camera;let r,a;t>0?(r=Iet,g.fromDegrees(0,0,5*n.maximumRadius,n,r.position),g.negate(r.position,r.direction),g.normalize(r.direction,r.direction),g.clone(g.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=Let(e,n)),e._morphToOrthographic?(a=Get,a.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,a.width=o.frustum.right-o.frustum.left):(a=Det,a.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,a.fov=s["a"].toRadians(60)),r.frustum=a;const c=Att(r);let l;jet(e,c),l=e._morphToOrthographic?function(){Het(e,t,r,c)}:function(){ytt(e,t,r,(function(){Het(e,t,r,c)}))},t>0?(i._mode=vq.SCENE2D,o.flyTo({duration:t,destination:g.fromDegrees(0,0,5*n.maximumRadius,n,Xet),complete:function(){i._mode=vq.MORPHING,l()}})):l()}function $et(e,t,n,i){return g.lerp(e,t,n,i)}function Qet(e,t,n,i,o){const r=e._scene,a=r.camera;if(a.frustum instanceof uA)return;const c=a.frustum.fov,l=.5*s["a"].RADIANS_PER_DEGREE,u=n.position.z*Math.tan(.5*c);function h(e){a.frustum.fov=s["a"].lerp(c,l,e.time);const t=u/Math.tan(.5*a.frustum.fov);i(a,t)}a.frustum.far=u/Math.tan(.5*l)+1e7;const d=r.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:h,complete:function(){a.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}const ett=new g,ttt=new g,ntt=new g,itt=new g,ott=new g,rtt=new g,att=new sA,stt=new Ki,ctt=new g,ltt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function utt(e,t){t*=.5;const n=e._scene,i=n.camera,o=g.clone(i.position,ett),a=g.clone(i.direction,ttt),s=g.clone(i.up,ntt),c=g.negate(g.UNIT_Z,ott),l=g.clone(g.UNIT_Y,rtt),u=itt;if(t>0)g.clone(g.ZERO,itt),u.z=5*n.mapProjection.ellipsoid.maximumRadius;else{g.clone(o,itt);const e=stt;Ne.multiplyByPoint(eKe.TRANSFORM_2D,o,e.origin),Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,a,e.direction);const t=n.globe;if(Object(r["a"])(t)){const i=t.pickWorldCoordinates(e,n,!0,ctt);Object(r["a"])(i)&&(Ne.multiplyByPoint(eKe.TRANSFORM_2D_INVERSE,i,u),u.z+=g.distance(o,u))}}const h=att;h.right=.5*u.z,h.left=-h.right,h.top=h.right*(n.drawingBufferHeight/n.drawingBufferWidth),h.bottom=-h.top;const d=ltt;d.position=u,d.direction=c,d.up=l,d.frustum=h;const f=Ttt(d);function p(e){$et(o,u,e.time,i.position),$et(a,c,e.time,i.direction),$et(s,l,e.time,i.up),g.cross(i.direction,i.up,i.right),g.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(e,t){e.position.z=t}jet(e,f);const _=n.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){Qet(e,t,d,m,f)}});e._currentTweens.push(_)}const htt=new I,dtt={position:new g,direction:new g,up:new g,position2D:new g,direction2D:new g,up2D:new g,frustum:new sA},ftt={position:new g,direction:new g,up:new g,frustum:void 0},ptt=new g,mtt=new Ki,_tt=new Ne,gtt=new g;function btt(e,t,n){t*=.5;const i=e._scene,o=i.camera,a=dtt;if(t>0)g.clone(g.ZERO,a.position),a.position.z=5*n.maximumRadius,g.negate(g.UNIT_Z,a.direction),g.clone(g.UNIT_Y,a.up);else{n.cartesianToCartographic(o.positionWC,htt),i.mapProjection.project(htt,a.position),g.negate(g.UNIT_Z,a.direction),g.clone(g.UNIT_Y,a.up);const e=mtt;g.clone(a.position2D,e.origin);const t=g.clone(o.directionWC,e.direction),s=n.scaleToGeodeticSurface(o.positionWC,gtt),c=Hs.eastNorthUpToFixedFrame(s,n,_tt);Ne.inverseTransformation(c,c),Ne.multiplyByPointAsVector(c,t,t),Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,t,t);const l=i.globe;if(Object(r["a"])(l)){const t=l.pickWorldCoordinates(e,i,!0,ptt);if(Object(r["a"])(t)){const e=g.distance(a.position2D,t);t.x+=e,g.clone(t,a.position2D)}}}function s(e,t){e.position.x=t}Ne.multiplyByPoint(eKe.TRANSFORM_2D,a.position,a.position2D),Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,a.direction,a.direction2D),Ne.multiplyByPointAsVector(eKe.TRANSFORM_2D,a.up,a.up2D);const c=a.frustum;c.right=.5*a.position.z,c.left=-c.right,c.top=c.right*(i.drawingBufferHeight/i.drawingBufferWidth),c.bottom=-c.top;const l=ftt;Ne.multiplyByPoint(eKe.TRANSFORM_2D_INVERSE,a.position2D,l.position),g.clone(a.direction,l.direction),g.clone(a.up,l.up),l.frustum=c;const u=Ttt(l);function h(){Qet(e,t,a,s,u)}jet(e,u),Ott(e,t,a,h)}function ytt(e,t,n,i){const o=e._scene,r=o.camera,a=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();const c=r.frustum.fov,l=.5*s["a"].RADIANS_PER_DEGREE,u=a*Math.tan(.5*c);function h(e){r.frustum.fov=s["a"].lerp(l,c,e.time),r.position.z=u/Math.tan(.5*r.frustum.fov)}r.frustum.far=u/Math.tan(.5*l)+1e7,r.frustum.fov=l;const d=o.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:h,complete:function(){i(e)}});e._currentTweens.push(d)}function vtt(e,t,n,i){t*=.5;const o=e._scene,r=o.camera,a=g.clone(n.position,Xet),s=g.clone(n.direction,Ket),c=g.clone(n.up,Jet);function l(){r.frustum=n.frustum.clone();const l=g.clone(r.position,qet),u=g.clone(r.direction,Wet),h=g.clone(r.up,Yet);function d(e){$et(l,a,e.time,r.position),$et(u,s,e.time,r.direction),$et(h,c,e.time,r.up),g.cross(r.direction,r.up,r.right),g.normalize(r.right,r.right)}l.z=a.z;const f=o.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:d,complete:function(){i(e)}});e._currentTweens.push(f)}o._mode=vq.MORPHING,e._morphToOrthographic?l():ytt(e,0,n,l)}function Ott(e,t,n,i){const o=e._scene,r=o.camera,a=g.clone(r.position,qet),s=g.clone(r.direction,Wet),c=g.clone(r.up,Yet),l=g.clone(n.position2D,Xet),u=g.clone(n.direction2D,Ket),h=g.clone(n.up2D,Jet);function d(e){$et(a,l,e.time,r.position),$et(s,u,e.time,r.direction),$et(c,h,e.time,r.up),g.cross(r.direction,r.up,r.right),g.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}const f=o.tweens.add({duration:t,easingFunction:Aw.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:d,complete:function(){wtt(e,o,1,0,t,i)}});e._currentTweens.push(f)}function wtt(e,t,n,i,o,a){const s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Aw.QUARTIC_OUT};Object(r["a"])(a)&&(s.complete=function(){a(e)});const c=t.tweens.addProperty(s);e._currentTweens.push(c)}function Att(e){return function(t){const n=t._scene;n._mode=vq.SCENE3D,n.morphTime=vq.getMorphTime(vq.SCENE3D),Pet(t);const i=n.camera;(t._previousMode!==vq.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,g.clone(e.position,i.position),g.clone(e.direction,i.direction),g.clone(e.up,i.up),g.cross(i.direction,i.up,i.right),g.normalize(i.right,i.right),i.frustum=e.frustum.clone());const o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);const a=Object(r["a"])(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,vq.SCENE3D,a)}}function Ttt(e){return function(t){const n=t._scene;n._mode=vq.SCENE2D,n.morphTime=vq.getMorphTime(vq.SCENE2D),Pet(t);const i=n.camera;g.clone(e.position,i.position),i.position.z=2*n.mapProjection.ellipsoid.maximumRadius,g.clone(e.direction,i.direction),g.clone(e.up,i.up),g.cross(i.direction,i.up,i.right),g.normalize(i.right,i.right),i.frustum=e.frustum.clone();const o=Object(r["a"])(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,vq.SCENE2D,o)}}function Ctt(e){return function(t){const n=t._scene;n._mode=vq.COLUMBUS_VIEW,n.morphTime=vq.getMorphTime(vq.COLUMBUS_VIEW),Pet(t);const i=n.camera;(t._previousModeMode!==vq.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,g.clone(e.position,i.position),g.clone(e.direction,i.direction),g.clone(e.up,i.up),g.cross(i.direction,i.up,i.right),g.normalize(i.right,i.right));const o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);const a=Object(r["a"])(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,vq.COLUMBUS_VIEW,a)}}var Ett=_et;function xtt(e,t,n,i,o,r,a,s,c,l){this._tweens=e,this._tweenjs=t,this._startObject=Object(jL["a"])(n),this._stopObject=Object(jL["a"])(i),this._duration=o,this._delay=r,this._easingFunction=a,this._update=s,this._complete=c,this.cancel=l,this.needsStart=!0}function Stt(){this._tweens=[]}Object.defineProperties(xtt.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}}),xtt.prototype.cancelTween=function(){this._tweens.remove(this)},Object.defineProperties(Stt.prototype,{length:{get:function(){return this._tweens.length}}}),Stt.prototype.add=function(e){if(e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),!Object(r["a"])(e.startObject)||!Object(r["a"])(e.stopObject))throw new a["a"]("options.startObject and options.stopObject are required.");if(!Object(r["a"])(e.duration)||e.duration<0)throw new a["a"]("options.duration is required and must be positive.");if(0===e.duration)return Object(r["a"])(e.complete)&&e.complete(),new xtt(this);const t=e.duration/Yo.SECONDS_PER_MILLISECOND,n=Object(o["a"])(e.delay,0),i=n/Yo.SECONDS_PER_MILLISECOND,s=Object(o["a"])(e.easingFunction,Aw.LINEAR_NONE),c=e.startObject,l=new Ow["a"].Tween(c);l.to(Object(jL["a"])(e.stopObject),t),l.delay(i),l.easing(s),Object(r["a"])(e.update)&&l.onUpdate((function(){e.update(c)})),l.onComplete(Object(o["a"])(e.complete,null)),l.repeat(Object(o["a"])(e._repeat,0));const u=new xtt(this,l,e.startObject,e.stopObject,e.duration,n,s,e.update,e.complete,e.cancel);return this._tweens.push(u),u},Stt.prototype.addProperty=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.object,n=e.property,i=e.startValue,s=e.stopValue;if(!Object(r["a"])(t)||!Object(r["a"])(e.property))throw new a["a"]("options.object and options.property are required.");if(!Object(r["a"])(t[n]))throw new a["a"]("options.object must have the specified property.");if(!Object(r["a"])(i)||!Object(r["a"])(s))throw new a["a"]("options.startValue and options.stopValue are required.");function c(e){t[n]=e.value}return this.add({startObject:{value:i},stopObject:{value:s},duration:Object(o["a"])(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:c,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})},Stt.prototype.addAlpha=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.material;if(!Object(r["a"])(t))throw new a["a"]("options.material is required.");const n=[];for(const o in t.uniforms)t.uniforms.hasOwnProperty(o)&&Object(r["a"])(t.uniforms[o])&&Object(r["a"])(t.uniforms[o].alpha)&&n.push(o);if(0===n.length)throw new a["a"]("material has no properties with alpha components.");function i(e){const i=n.length;for(let o=0;o<i;++o)t.uniforms[n[o]].alpha=e.alpha}return this.add({startObject:{alpha:Object(o["a"])(e.startValue,0)},stopObject:{alpha:Object(o["a"])(e.stopValue,1)},duration:Object(o["a"])(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})},Stt.prototype.addOffsetIncrement=function(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.material;if(!Object(r["a"])(t))throw new a["a"]("material is required.");if(!Object(r["a"])(t.uniforms.offset))throw new a["a"]("material.uniforms must have an offset property.");const n=t.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})},Stt.prototype.remove=function(e){if(!Object(r["a"])(e))return!1;const t=this._tweens.indexOf(e);return-1!==t&&(e.tweenjs.stop(),Object(r["a"])(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0)},Stt.prototype.removeAll=function(){const e=this._tweens;for(let t=0;t<e.length;++t){const n=e[t];n.tweenjs.stop(),Object(r["a"])(n.cancel)&&n.cancel()}e.length=0},Stt.prototype.contains=function(e){return Object(r["a"])(e)&&-1!==this._tweens.indexOf(e)},Stt.prototype.get=function(e){if(!Object(r["a"])(e))throw new a["a"]("index is required.");return this._tweens[e]},Stt.prototype.update=function(e){const t=this._tweens;let n=0;e=Object(r["a"])(e)?e/Yo.SECONDS_PER_MILLISECOND:y_();while(n<t.length){const i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var Itt=Stt;function Dtt(e){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=nKe.LEFT_DRAG,this.zoomEventTypes=[nKe.RIGHT_DRAG,nKe.WHEEL,nKe.PINCH],this.rotateEventTypes=nKe.LEFT_DRAG,this.tiltEventTypes=[nKe.MIDDLE_DRAG,nKe.PINCH,{eventType:nKe.LEFT_DRAG,modifier:Gx.CTRL},{eventType:nKe.RIGHT_DRAG,modifier:Gx.CTRL}],this.lookEventTypes={eventType:nKe.LEFT_DRAG,modifier:Gx.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this._scene=e,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new hKe(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new Itt,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new Ht(-1,-1),this._tiltCenter=new g,this._rotateMousePosition=new Ht(-1,-1),this._rotateStartPosition=new g,this._strafeStartPosition=new g,this._strafeMousePosition=new Ht,this._strafeEndMousePosition=new Ht,this._zoomMouseStart=new Ht(-1,-1),this._zoomWorldPosition=new g,this._useZoomWorldPosition=!1,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;const t=e.mapProjection;this._maxCoord=t.project(new I(Math.PI,s["a"].PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=2e-4,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function jtt(e,t){if(e<0)return 0;const n=25*(1-t);return Math.exp(-n*e)}function Ptt(e){return Ht.equalsEpsilon(e.startPosition,e.endPosition,s["a"].EPSILON14)}const Rtt=.4;function Mtt(e,t,n,i,o,a,s){let c=a[s];Object(r["a"])(c)||(c=a[s]={startPosition:new Ht,endPosition:new Ht,motion:new Ht,inertiaEnabled:!0});const l=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),h=l&&u&&(u.getTime()-l.getTime())/1e3,d=new Date,f=u&&(d.getTime()-u.getTime())/1e3;if(l&&u&&h<Rtt){const s=jtt(f,i),l=e.getLastMovement(t,n);if(!Object(r["a"])(l)||Ptt(l)||!c.inertiaEnabled)return;if(c.motion.x=.5*(l.endPosition.x-l.startPosition.x),c.motion.y=.5*(l.endPosition.y-l.startPosition.y),c.startPosition=Ht.clone(l.startPosition,c.startPosition),c.endPosition=Ht.multiplyByScalar(c.motion,s,c.endPosition),c.endPosition=Ht.add(c.startPosition,c.endPosition,c.endPosition),isNaN(c.endPosition.x)||isNaN(c.endPosition.y)||Ht.distance(c.startPosition,c.endPosition)<.5)return;if(!e.isButtonDown(t,n)){const i=e.getStartMousePosition(t,n);o(a,i,c)}}}function Ntt(e,t){if(Object(r["a"])(t)){let n=e[t];Object(r["a"])(n)&&(n.inertiaEnabled=!0);const i=e._inertiaDisablers[t];if(Object(r["a"])(i)){const t=i.length;for(let o=0;o<t;++o)n=e[i[o]],Object(r["a"])(n)&&(n.inertiaEnabled=!1)}}}const Ltt=[];function Btt(e,t,n,i,o,a){if(!Object(r["a"])(n))return;const s=e._aggregator;Array.isArray(n)||(Ltt[0]=n,n=Ltt);const c=n.length;for(let l=0;l<c;++l){const c=n[l],u=Object(r["a"])(c.eventType)?c.eventType:c,h=c.modifier,d=s.isMoving(u,h)&&s.getMovement(u,h),f=s.getStartMousePosition(u,h);e.enableInputs&&t&&(d?(i(e,f,d),Ntt(e,a)):o<1&&Mtt(s,u,h,o,i,e,a))}}const Ftt=new Ki,ktt=new g,ztt=new Ht,Utt=new g,Vtt=new Ht,Htt=new g,Gtt=new g,qtt=new g,Wtt=new g,Ytt=new g,Xtt=new g,Ktt=new g,Jtt=new g,Ztt=new g,$tt=new g,Qtt=new g,ent=new g,tnt=new g,nnt=new g,int=new g,ont=new g,rnt=new g,ant=new g,snt={orientation:new Er};function cnt(e,t,n,i,o,a){let c=1;Object(r["a"])(a)&&(c=s["a"].clamp(Math.abs(a),.25,1));const l=n.endPosition.y-n.startPosition.y,u=l>0,h=u?e.minimumZoomDistance*c:0,d=e.maximumZoomDistance,f=o-h;let p=i*f;p=s["a"].clamp(p,e._minimumZoomRate,e._maximumZoomRate);let m=l/e._scene.canvas.clientHeight;m=Math.min(m,e.maximumMovementRatio);let _=p*m;if(e.enableCollisionDetection||0===e.minimumZoomDistance||!Object(r["a"])(e._globe)){if(_>0&&Math.abs(o-h)<1)return;if(_<0&&Math.abs(o-d)<1)return;o-_<h?_=o-h-1:o-_>d&&(_=o-d)}const b=e._scene,y=b.camera,v=b.mode,O=snt.orientation;if(O.heading=y.heading,O.pitch=y.pitch,O.roll=y.roll,y.frustum instanceof uA)return void(Math.abs(_)>0&&(y.zoomIn(_),y._adjustOrthographicFrustum()));const w=Ht.equals(t,e._zoomMouseStart);let A,T=e._zoomingOnVector,C=e._rotatingZoom;if(w||(e._zoomMouseStart=Ht.clone(t,e._zoomMouseStart),Object(r["a"])(e._globe)&&(v===vq.SCENE2D?(A=y.getPickRay(t,Ftt).origin,A=g.fromElements(A.y,A.z,A.x)):A=wnt(e,t,ktt)),Object(r["a"])(A)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=g.clone(A,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,T=e._zoomingOnVector=!1,C=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition)return void y.zoomIn(_);let E=v===vq.COLUMBUS_VIEW;if(y.positionCartographic.height<2e6&&(C=!0),!w||C){if(v===vq.SCENE2D){const n=e._zoomWorldPosition,i=y.position;if(!g.equals(n,i)&&y.positionCartographic.height<2*e._maxCoord.x){const o=y.position.x,r=g.subtract(n,i,Utt);g.normalize(r,r);const a=g.distance(n,i)*_/(.5*y.getMagnitude());y.move(r,.5*a),(y.position.x<0&&o>0||y.position.x>0&&o<0)&&(A=y.getPickRay(t,Ftt).origin,A=g.fromElements(A.y,A.z,A.x),e._zoomWorldPosition=g.clone(A,e._zoomWorldPosition))}}else if(v===vq.SCENE3D){const t=g.normalize(y.position,Ytt);if(e._cameraUnderground||e._zoomingUnderground||y.positionCartographic.height<3e3&&Math.abs(g.dot(y.direction,t))<.6)E=!0;else{const n=b.canvas,i=Vtt;i.x=n.clientWidth/2,i.y=n.clientHeight/2;const o=wnt(e,i,Htt);if(Object(r["a"])(o))if(y.positionCartographic.height<1e6){if(!(g.dot(y.direction,t)>=-.5)){const n=Ktt;g.clone(y.position,n);const i=e._zoomWorldPosition;let o=Xtt;if(o=g.normalize(i,o),g.dot(o,t)<0)return;const r=int,a=$tt;g.clone(y.direction,a),g.add(n,g.multiplyByScalar(a,1e3,ont),r);const c=Qtt,l=ent;g.subtract(i,n,c),g.normalize(c,l);const u=g.dot(t,l);if(u>=0)return void(e._zoomMouseStart.x=-1);const h=Math.acos(-u),d=g.magnitude(n),f=g.magnitude(i),p=d-_,m=g.magnitude(c),b=Math.asin(s["a"].clamp(m/f*Math.sin(h),-1,1)),v=Math.asin(s["a"].clamp(p/f*Math.sin(h),-1,1)),O=b-v+h,w=Jtt;g.normalize(n,w);let A=Ztt;A=g.cross(l,w,A),A=g.normalize(A,A),g.normalize(g.cross(w,A,ont),a),g.multiplyByScalar(g.normalize(r,ont),g.magnitude(r)-_,r),g.normalize(n,n),g.multiplyByScalar(n,p,n);const T=tnt;g.multiplyByScalar(g.add(g.multiplyByScalar(w,Math.cos(O)-1,rnt),g.multiplyByScalar(a,Math.sin(O),ant),ont),p,T),g.add(n,T,n),g.normalize(r,w),g.normalize(g.cross(w,A,ont),a);const C=nnt;return g.multiplyByScalar(g.add(g.multiplyByScalar(w,Math.cos(O)-1,rnt),g.multiplyByScalar(a,Math.sin(O),ant),ont),g.magnitude(r),C),g.add(r,C,r),g.clone(n,y.position),g.normalize(g.subtract(r,n,ont),y.direction),g.clone(y.direction,y.direction),g.cross(y.direction,y.up,y.right),g.cross(y.right,y.direction,y.up),void y.setView(snt)}E=!0}else{const t=g.normalize(o,Gtt),n=g.normalize(e._zoomWorldPosition,qtt),i=g.dot(n,t);if(i>0&&i<1){const e=s["a"].acosClamped(i),o=g.cross(n,t,Wtt),r=Math.abs(e)>s["a"].toRadians(20)?.75*y.positionCartographic.height:y.positionCartographic.height-_,a=_/r;y.rotate(o,e*a)}}else E=!0}}e._rotatingZoom=!E}if(!w&&E||T){let n;const i=qie.wgs84ToWindowCoordinates(b,e._zoomWorldPosition,ztt);n=v!==vq.COLUMBUS_VIEW&&Ht.equals(t,e._zoomMouseStart)&&Object(r["a"])(i)?y.getPickRay(i,Ftt):y.getPickRay(t,Ftt);const o=n.direction;v!==vq.COLUMBUS_VIEW&&v!==vq.SCENE2D||g.fromElements(o.y,o.z,o.x,o),y.move(o,_),e._zoomingOnVector=!0}else y.zoomIn(_);e._cameraUnderground||y.setView(snt)}const lnt=new Ki,unt=new Ki,hnt=new g;function dnt(e,t,n){const i=e._scene,o=i.camera;let r=o.getPickRay(n.startPosition,lnt).origin,a=o.getPickRay(n.endPosition,unt).origin;r=g.fromElements(r.y,r.z,r.x,r),a=g.fromElements(a.y,a.z,a.x,a);const s=g.subtract(r,a,hnt),c=g.magnitude(s);c>0&&(g.normalize(s,s),o.move(s,c))}function fnt(e,t,n){Object(r["a"])(n.distance)&&(n=n.distance);const i=e._scene,o=i.camera;cnt(e,t,n,e._zoomFactor,o.getMagnitude())}const pnt=new Ht,mnt=new Ht;function _nt(e,t,n){if(Object(r["a"])(n.angleAndHeight))return void gnt(e,t,n.angleAndHeight);const i=e._scene,o=i.camera,a=i.canvas,c=a.clientWidth,l=a.clientHeight;let u=pnt;u.x=2/c*n.startPosition.x-1,u.y=2/l*(l-n.startPosition.y)-1,u=Ht.normalize(u,u);let h=mnt;h.x=2/c*n.endPosition.x-1,h.y=2/l*(l-n.endPosition.y)-1,h=Ht.normalize(h,h);let d=s["a"].acosClamped(u.x);u.y<0&&(d=s["a"].TWO_PI-d);let f=s["a"].acosClamped(h.x);h.y<0&&(f=s["a"].TWO_PI-f);const p=f-d;o.twistRight(p)}function gnt(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);const o=e._scene,r=o.camera,a=o.canvas;let s=(n.endPosition.x-n.startPosition.x)/a.clientWidth;s=Math.min(s,e.maximumMovementRatio);const c=i*s*Math.PI*4;r.twistRight(c)}function bnt(e){const t=e._scene.mapMode2D===DWe.ROTATE;Ne.equals(Ne.IDENTITY,e._scene.camera.transform)?(Btt(e,e.enableTranslate,e.translateEventTypes,dnt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Btt(e,e.enableZoom,e.zoomEventTypes,fnt,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Btt(e,e.enableRotate,e.tiltEventTypes,_nt,e.inertiaSpin,"_lastInertiaTiltMovement")):(Btt(e,e.enableZoom,e.zoomEventTypes,fnt,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Btt(e,e.enableRotate,e.translateEventTypes,_nt,e.inertiaSpin,"_lastInertiaSpinMovement"))}const ynt=new Ki,vnt=new g,Ont=new g;function wnt(e,t,n){const i=e._scene,o=e._globe,a=i.camera;if(!Object(r["a"])(o))return;const s=!e._cameraUnderground;let c;i.pickPositionSupported&&(c=i.pickPositionWorldCoordinates(t,vnt));const l=a.getPickRay(t,ynt),u=o.pickWorldCoordinates(l,i,s,Ont),h=Object(r["a"])(c)?g.distance(c,a.positionWC):Number.POSITIVE_INFINITY,d=Object(r["a"])(u)?g.distance(u,a.positionWC):Number.POSITIVE_INFINITY;return h<d?g.clone(c,n):g.clone(u,n)}const Ant=new I;function Tnt(e){const t=e._ellipsoid,n=e._scene,i=n.camera,a=n.mode;let s=0;if(a===vq.SCENE3D){const e=t.cartesianToCartographic(i.position,Ant);Object(r["a"])(e)&&(s=e.height)}else s=i.position.z;const c=Object(o["a"])(e._scene.globeHeight,0),l=Math.abs(c-s);return l}const Cnt=new g;function Ent(e,t){const n=t.origin,i=t.direction,o=Tnt(e),r=g.normalize(n,Cnt);let a=Math.abs(g.dot(r,i));return a=2*Math.max(a,.5),o*a}function xnt(e,t,n,i){let o=g.distance(t.origin,n);const r=Tnt(e),a=s["a"].clamp(5*r,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>a&&(o=Math.min(o,r/5),o=Math.max(o,100)),Ki.getPoint(t,o,i)}function Snt(e,t,n,i){let o;return Object(r["a"])(n)?(o=g.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=Tnt(e))):o=Tnt(e),Ki.getPoint(t,o,i)}const Int=new Ht;function Dnt(e,t){const n=t.endPosition,i=Ht.subtract(t.endPosition,t.startPosition,Int),o=e._strafeEndMousePosition;Ht.add(o,i,o),t.endPosition=o,pit(e,t,e._strafeStartPosition),t.endPosition=n}const jnt=new Ki,Pnt=new Ki,Rnt=new g,Mnt=new g,Nnt=new g,Lnt=new g,Bnt=new No(g.UNIT_X,0),Fnt=new Ht,knt=new Ht;function znt(e,t,n){if(g.equals(t,e._translateMousePosition)||(e._looking=!1),g.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking)return void not(e,t,n);if(e._strafing)return void Dnt(e,n);const i=e._scene,o=i.camera,a=e._cameraUnderground,c=Ht.clone(n.startPosition,Fnt),l=Ht.clone(n.endPosition,knt);let u=o.getPickRay(c,jnt);const h=g.clone(g.ZERO,Lnt),d=g.UNIT_X;let f;if(o.position.z<e._minimumPickingTerrainHeight&&(f=wnt(e,c,Rnt),Object(r["a"])(f)&&(h.x=f.x)),a||h.x>o.position.z&&Object(r["a"])(f)){let i=f;return a&&(i=Snt(e,u,f,Rnt)),Ht.clone(t,e._strafeMousePosition),Ht.clone(t,e._strafeEndMousePosition),g.clone(i,e._strafeStartPosition),e._strafing=!0,void pit(e,n,e._strafeStartPosition)}const p=No.fromPointNormal(h,d,Bnt);u=o.getPickRay(c,jnt);const m=So.rayPlane(u,p,Rnt),_=o.getPickRay(l,Pnt),b=So.rayPlane(_,p,Mnt);if(!Object(r["a"])(m)||!Object(r["a"])(b))return e._looking=!0,not(e,t,n),void Ht.clone(t,e._translateMousePosition);const y=g.subtract(m,b,Nnt),v=y.x;y.x=y.y,y.y=y.z,y.z=v;const O=g.magnitude(y);O>s["a"].EPSILON6&&(g.normalize(y,y),o.move(y,O))}const Unt=new Ht,Vnt=new Ki,Hnt=new g,Gnt=new g,qnt=new Ne,Wnt=new Ne,Ynt=new g,Xnt=new No(g.UNIT_X,0),Knt=new g,Jnt=new I,Znt=new Ne,$nt=new $a,Qnt=new ce,eit=new g;function tit(e,t,n){if(Object(r["a"])(n.angleAndHeight)&&(n=n.angleAndHeight),Ht.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking)return void not(e,t,n);const i=e._scene,o=i.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,nit(e,t,n)):iit(e,t,n)}function nit(e,t,n){const i=e._scene,o=i.camera,a=i.canvas,c=Unt;c.x=a.clientWidth/2,c.y=a.clientHeight/2;const l=o.getPickRay(c,Vnt),u=g.UNIT_X,h=l.origin,d=l.direction;let f;const p=g.dot(u,d);if(Math.abs(p)>s["a"].EPSILON6&&(f=-g.dot(u,h)/p),!Object(r["a"])(f)||f<=0)return e._looking=!0,not(e,t,n),void Ht.clone(t,e._tiltCenterMousePosition);const m=g.multiplyByScalar(d,f,Hnt);g.add(h,m,m);const _=i.mapProjection,b=_.ellipsoid;g.fromElements(m.y,m.z,m.x,m);const y=_.unproject(m,Jnt);b.cartographicToCartesian(y,m);const v=Hs.eastNorthUpToFixedFrame(m,b,qnt),O=e._globe,w=e._ellipsoid;e._globe=void 0,e._ellipsoid=z.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;const A=Ne.clone(o.transform,Znt);o._setTransform(v),wit(e,t,n,g.UNIT_Z),o._setTransform(A),e._globe=O,e._ellipsoid=w;const T=w.maximumRadius;e._rotateFactor=1/T,e._rotateRateRangeAdjustment=T}function iit(e,t,n){const i=e._scene,o=i.camera,a=e._cameraUnderground;let c,l;const u=g.UNIT_X;if(Ht.equals(t,e._tiltCenterMousePosition))c=g.clone(e._tiltCenter,Hnt);else{if(o.position.z<e._minimumPickingTerrainHeight&&(c=wnt(e,t,Hnt)),!Object(r["a"])(c)){l=o.getPickRay(t,Vnt);const i=l.origin,a=l.direction;let h;const d=g.dot(u,a);if(Math.abs(d)>s["a"].EPSILON6&&(h=-g.dot(u,i)/d),!Object(r["a"])(h)||h<=0)return e._looking=!0,not(e,t,n),void Ht.clone(t,e._tiltCenterMousePosition);c=g.multiplyByScalar(a,h,Hnt),g.add(i,c,c)}a&&(Object(r["a"])(l)||(l=o.getPickRay(t,Vnt)),xnt(e,l,c,c)),Ht.clone(t,e._tiltCenterMousePosition),g.clone(c,e._tiltCenter)}const h=i.canvas,d=Unt;d.x=h.clientWidth/2,d.y=e._tiltCenterMousePosition.y,l=o.getPickRay(d,Vnt);const f=g.clone(g.ZERO,Ynt);f.x=c.x;const p=No.fromPointNormal(f,u,Xnt),m=So.rayPlane(l,p,Gnt),_=o._projection,b=_.ellipsoid;g.fromElements(c.y,c.z,c.x,c);let y=_.unproject(c,Jnt);b.cartographicToCartesian(y,c);const v=Hs.eastNorthUpToFixedFrame(c,b,qnt);let O;Object(r["a"])(m)?(g.fromElements(m.y,m.z,m.x,m),y=_.unproject(m,Jnt),b.cartographicToCartesian(y,m),O=Hs.eastNorthUpToFixedFrame(m,b,Wnt)):O=v;const w=e._globe,A=e._ellipsoid;e._globe=void 0,e._ellipsoid=z.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let T=g.UNIT_Z;const C=Ne.clone(o.transform,Znt);o._setTransform(v);const E=g.cross(g.UNIT_Z,g.normalize(o.position,Knt),Knt),x=g.dot(o.right,E);if(wit(e,t,n,T,!1,!0),o._setTransform(O),x<0){const i=n.startPosition.y-n.endPosition.y;(a&&i<0||!a&&i>0)&&(T=void 0);const r=o.constrainedAxis;o.constrainedAxis=void 0,wit(e,t,n,T,!0,!1),o.constrainedAxis=r}else wit(e,t,n,T,!0,!1);if(Object(r["a"])(o.constrainedAxis)){const e=g.cross(o.direction,o.constrainedAxis,eit);g.equalsEpsilon(e,g.ZERO,s["a"].EPSILON6)||(g.dot(e,o.right)<0&&g.negate(e,e),g.cross(e,o.direction,o.up),g.cross(o.direction,o.up,o.right),g.normalize(o.up,o.up),g.normalize(o.right,o.right))}o._setTransform(C),e._globe=w,e._ellipsoid=A;const S=A.maximumRadius;e._rotateFactor=1/S,e._rotateRateRangeAdjustment=S;const I=g.clone(o.positionWC,Knt);if(e.enableCollisionDetection&&aot(e),!g.equals(o.positionWC,I)){o._setTransform(O),o.worldToCameraCoordinatesPoint(I,I);const e=g.magnitudeSquared(I);g.magnitudeSquared(o.position)>e&&(g.normalize(o.position,o.position),g.multiplyByScalar(o.position,Math.sqrt(e),o.position));const t=g.angleBetween(I,o.position),n=g.cross(I,o.position,I);g.normalize(n,n);const i=$a.fromAxisAngle(n,t,$nt),r=ce.fromQuaternion(i,Qnt);ce.multiplyByVector(r,o.direction,o.direction),ce.multiplyByVector(r,o.up,o.up),g.cross(o.direction,o.up,o.right),g.cross(o.right,o.direction,o.up),o._setTransform(C)}}const oit=new Ht,rit=new Ki,ait=new g;function sit(e,t,n){Object(r["a"])(n.distance)&&(n=n.distance);const i=e._scene,o=i.camera,a=i.canvas,s=e._cameraUnderground;let c;s?c=t:(c=oit,c.x=a.clientWidth/2,c.y=a.clientHeight/2);const l=o.getPickRay(c,rit),u=l.origin,h=l.direction,d=o.position.z;let f,p;if(d<e._minimumPickingTerrainHeight&&(f=wnt(e,c,ait)),Object(r["a"])(f)&&(p=g.distance(u,f)),s){const t=Ent(e,l,d);p=Object(r["a"])(p)?Math.min(p,t):t}if(!Object(r["a"])(p)){const e=g.UNIT_X;p=-g.dot(e,u)/g.dot(e,h)}cnt(e,t,n,e._zoomFactor,p)}function cit(e){const t=e._scene,n=t.camera;if(Ne.equals(Ne.IDENTITY,n.transform)){const t=e._tweens;if(e._aggregator.anyButtonDown&&t.removeAll(),Btt(e,e.enableTilt,e.tiltEventTypes,tit,e.inertiaSpin,"_lastInertiaTiltMovement"),Btt(e,e.enableTranslate,e.translateEventTypes,znt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Btt(e,e.enableZoom,e.zoomEventTypes,sit,e.inertiaZoom,"_lastInertiaZoomMovement"),Btt(e,e.enableLook,e.lookEventTypes,not),!e._aggregator.anyButtonDown&&!t.contains(e._tween)){const i=n.createCorrectPositionTween(e.bounceAnimationTime);Object(r["a"])(i)&&(e._tween=t.add(i))}t.update()}else Btt(e,e.enableRotate,e.rotateEventTypes,wit,e.inertiaSpin,"_lastInertiaSpinMovement"),Btt(e,e.enableZoom,e.zoomEventTypes,Mit,e.inertiaZoom,"_lastInertiaZoomMovement")}const lit=new Ki,uit=new No(g.UNIT_X,0),hit=new g,dit=new g,fit=new g;function pit(e,t,n){const i=e._scene,o=i.camera,a=o.getPickRay(t.endPosition,lit);let s=g.clone(o.direction,dit);i.mode===vq.COLUMBUS_VIEW&&g.fromElements(s.z,s.x,s.y,s);const c=No.fromPointNormal(n,s,uit),l=So.rayPlane(a,c,hit);Object(r["a"])(l)&&(s=g.subtract(n,l,s),i.mode===vq.COLUMBUS_VIEW&&g.fromElements(s.y,s.z,s.x,s),g.add(o.position,s,o.position))}const mit=new g,_it=new I,git=new g,bit=new z,yit=new g,vit=new g;function Oit(e,t,n){const i=e._scene,o=i.camera,a=e._cameraUnderground;let s,c,l=e._ellipsoid;if(!Ne.equals(o.transform,Ne.IDENTITY))return void wit(e,t,n);const u=l.geodeticSurfaceNormal(o.position,yit);if(Ht.equals(t,e._rotateMousePosition)){if(e._looking)not(e,t,n,u);else if(e._rotating)wit(e,t,n);else if(e._strafing)Dnt(e,n);else{if(g.magnitude(o.position)<g.magnitude(e._rotateStartPosition))return;s=g.magnitude(e._rotateStartPosition),c=git,c.x=c.y=c.z=s,l=z.fromCartesian3(c,bit),jit(e,t,n,l)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;const h=l.cartesianToCartographic(o.positionWC,_it).height,d=e._globe;if(Object(r["a"])(d)&&h<e._minimumPickingTerrainHeight){const i=wnt(e,n.startPosition,fit);if(Object(r["a"])(i)){let r=!1;const u=o.getPickRay(n.startPosition,ynt);if(a)r=!0,Snt(e,u,i,i);else{const e=l.geodeticSurfaceNormal(i,vit),t=Math.abs(g.dot(u.direction,e))<.05;r=!!t||g.magnitude(o.position)<g.magnitude(i)}r?(Ht.clone(t,e._strafeEndMousePosition),g.clone(i,e._strafeStartPosition),e._strafing=!0,pit(e,n,e._strafeStartPosition)):(s=g.magnitude(i),c=git,c.x=c.y=c.z=s,l=z.fromCartesian3(c,bit),jit(e,t,n,l),g.clone(i,e._rotateStartPosition))}else e._looking=!0,not(e,t,n,u)}else Object(r["a"])(o.pickEllipsoid(n.startPosition,e._ellipsoid,mit))?(jit(e,t,n,e._ellipsoid),g.clone(mit,e._rotateStartPosition)):h>e._minimumTrackBallHeight?(e._rotating=!0,wit(e,t,n)):(e._looking=!0,not(e,t,n,u));Ht.clone(t,e._rotateMousePosition)}function wit(e,t,n,i,a,s){a=Object(o["a"])(a,!1),s=Object(o["a"])(s,!1);const c=e._scene,l=c.camera,u=c.canvas,h=l.constrainedAxis;Object(r["a"])(i)&&(l.constrainedAxis=i);const d=g.magnitude(l.position);let f=e._rotateFactor*(d-e._rotateRateRangeAdjustment);f>e._maximumRotateRate&&(f=e._maximumRotateRate),f<e._minimumRotateRate&&(f=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/u.clientWidth,m=(n.startPosition.y-n.endPosition.y)/u.clientHeight;p=Math.min(p,e.maximumMovementRatio),m=Math.min(m,e.maximumMovementRatio);const _=f*p*Math.PI*2,b=f*m*Math.PI;a||l.rotateRight(_),s||l.rotateUp(b),l.constrainedAxis=h}const Ait=be.clone(be.UNIT_W),Tit=be.clone(be.UNIT_W),Cit=new g,Eit=new g,xit=new g,Sit=new g,Iit=new Ht,Dit=new Ht;function jit(e,t,n,i){const o=e._scene,a=o.camera,c=Ht.clone(n.startPosition,Iit),l=Ht.clone(n.endPosition,Dit);let u=a.pickEllipsoid(c,i,Ait),h=a.pickEllipsoid(l,i,Tit);if(!Object(r["a"])(u)||!Object(r["a"])(h))return e._rotating=!0,void wit(e,t,n);if(u=a.worldToCameraCoordinates(u,u),h=a.worldToCameraCoordinates(h,h),Object(r["a"])(a.constrainedAxis)){const e=a.constrainedAxis,t=g.mostOrthogonalAxis(e,Cit);g.cross(t,e,t),g.normalize(t,t);const n=g.cross(e,t,Eit),i=g.magnitude(u),o=g.dot(e,u),r=Math.acos(o/i),c=g.multiplyByScalar(e,o,xit);g.subtract(u,c,c),g.normalize(c,c);const l=g.magnitude(h),d=g.dot(e,h),f=Math.acos(d/l),p=g.multiplyByScalar(e,d,Sit);g.subtract(h,p,p),g.normalize(p,p);let m=Math.acos(g.dot(c,t));g.dot(c,n)<0&&(m=s["a"].TWO_PI-m);let _=Math.acos(g.dot(p,t));g.dot(p,n)<0&&(_=s["a"].TWO_PI-_);const b=m-_;let y;y=g.equalsEpsilon(e,a.position,s["a"].EPSILON2)?a.right:g.cross(e,a.position,Cit);const v=g.cross(e,y,Cit),O=g.dot(v,g.subtract(u,e,Eit)),w=g.dot(v,g.subtract(h,e,Eit));let A;A=O>0&&w>0?f-r:O>0&&w<=0?g.dot(a.position,e)>0?-r-f:r+f:r-f,a.rotateRight(b),a.rotateUp(A)}else{g.normalize(u,u),g.normalize(h,h);const e=g.dot(u,h),t=g.cross(u,h,Cit);if(e<1&&!g.equalsEpsilon(t,g.ZERO,s["a"].EPSILON14)){const n=Math.acos(e);a.rotate(t,n)}}}const Pit=new g,Rit=new I;function Mit(e,t,n){Object(r["a"])(n.distance)&&(n=n.distance);const i=e._ellipsoid,o=e._scene,a=o.camera,s=o.canvas,c=e._cameraUnderground;let l;c?l=t:(l=oit,l.x=s.clientWidth/2,l.y=s.clientHeight/2);const u=a.getPickRay(l,rit);let h;const d=i.cartesianToCartographic(a.position,Rit).height;let f;if(d<e._minimumPickingTerrainHeight&&(h=wnt(e,l,ait)),Object(r["a"])(h)&&(f=g.distance(u.origin,h)),c){const t=Ent(e,u,d);f=Object(r["a"])(f)?Math.min(f,t):t}Object(r["a"])(f)||(f=d);const p=g.normalize(a.position,Pit);cnt(e,t,n,e._zoomFactor,f,g.dot(p,a.direction))}const Nit=new Ht,Lit=new Ki,Bit=new g,Fit=new g,kit=new Ne,zit=new Ne,Uit=new Ne,Vit=new $a,Hit=new ce,Git=new I,qit=new g;function Wit(e,t,n){const i=e._scene,o=i.camera;if(!Ne.equals(o.transform,Ne.IDENTITY))return;if(Object(r["a"])(n.angleAndHeight)&&(n=n.angleAndHeight),Ht.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){const i=e._ellipsoid.geodeticSurfaceNormal(o.position,qit);return void not(e,t,n,i)}const a=e._ellipsoid,s=a.cartesianToCartographic(o.position,Git);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Xit(e,t,n)):Kit(e,t,n)}const Yit=new I;function Xit(e,t,n){const i=e._ellipsoid,o=e._scene,a=o.camera,c=.25*e.minimumZoomDistance,l=i.cartesianToCartographic(a.positionWC,Yit).height;if(l-c-1<s["a"].EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;const u=o.canvas,h=Nit;h.x=u.clientWidth/2,h.y=u.clientHeight/2;const d=a.getPickRay(h,Lit);let f;const p=So.rayEllipsoid(d,i);if(Object(r["a"])(p))f=Ki.getPoint(d,p.start,Bit);else{if(!(l>e._minimumTrackBallHeight)){e._looking=!0;const i=e._ellipsoid.geodeticSurfaceNormal(a.position,qit);return not(e,t,n,i),void Ht.clone(t,e._tiltCenterMousePosition)}{const e=So.grazingAltitudeLocation(d,i);if(!Object(r["a"])(e))return;const t=i.cartesianToCartographic(e,Git);t.height=0,f=i.cartographicToCartesian(t,Bit)}}const m=Hs.eastNorthUpToFixedFrame(f,i,kit),_=e._globe,b=e._ellipsoid;e._globe=void 0,e._ellipsoid=z.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;const y=Ne.clone(a.transform,Uit);a._setTransform(m),wit(e,t,n,g.UNIT_Z),a._setTransform(y),e._globe=_,e._ellipsoid=b;const v=b.maximumRadius;e._rotateFactor=1/v,e._rotateRateRangeAdjustment=v}function Kit(e,t,n){const i=e._ellipsoid,o=e._scene,a=o.camera,c=e._cameraUnderground;let l,u,h;if(Ht.equals(t,e._tiltCenterMousePosition))l=g.clone(e._tiltCenter,Bit);else{if(l=wnt(e,t,Bit),!Object(r["a"])(l)){if(u=a.getPickRay(t,Lit),h=So.rayEllipsoid(u,i),!Object(r["a"])(h)){const o=i.cartesianToCartographic(a.position,Git);if(o.height<=e._minimumTrackBallHeight){e._looking=!0;const i=e._ellipsoid.geodeticSurfaceNormal(a.position,qit);not(e,t,n,i),Ht.clone(t,e._tiltCenterMousePosition)}return}l=Ki.getPoint(u,h.start,Bit)}c&&(Object(r["a"])(u)||(u=a.getPickRay(t,Lit)),xnt(e,u,l,l)),Ht.clone(t,e._tiltCenterMousePosition),g.clone(l,e._tiltCenter)}const d=o.canvas,f=Nit;f.x=d.clientWidth/2,f.y=e._tiltCenterMousePosition.y,u=a.getPickRay(f,Lit);const p=g.magnitude(l),m=g.fromElements(p,p,p,git),_=z.fromCartesian3(m,bit);if(h=So.rayEllipsoid(u,_),!Object(r["a"])(h))return;const b=g.magnitude(u.origin)>p?h.start:h.stop,y=Ki.getPoint(u,b,Fit),v=Hs.eastNorthUpToFixedFrame(l,i,kit),O=Hs.eastNorthUpToFixedFrame(y,_,zit),w=e._globe,A=e._ellipsoid;e._globe=void 0,e._ellipsoid=z.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let T=g.UNIT_Z;const C=Ne.clone(a.transform,Uit);a._setTransform(O);const E=g.cross(y,a.positionWC,eit),x=g.dot(a.rightWC,E);if(x<0){const i=n.startPosition.y-n.endPosition.y;(c&&i<0||!c&&i>0)&&(T=void 0);const o=a.constrainedAxis;a.constrainedAxis=void 0,wit(e,t,n,T,!0,!1),a.constrainedAxis=o}else wit(e,t,n,T,!0,!1);if(a._setTransform(v),wit(e,t,n,T,!1,!0),Object(r["a"])(a.constrainedAxis)){const e=g.cross(a.direction,a.constrainedAxis,eit);g.equalsEpsilon(e,g.ZERO,s["a"].EPSILON6)||(g.dot(e,a.right)<0&&g.negate(e,e),g.cross(e,a.direction,a.up),g.cross(a.direction,a.up,a.right),g.normalize(a.up,a.up),g.normalize(a.right,a.right))}a._setTransform(C),e._globe=w,e._ellipsoid=A;const S=A.maximumRadius;e._rotateFactor=1/S,e._rotateRateRangeAdjustment=S;const I=g.clone(a.positionWC,eit);if(e.enableCollisionDetection&&aot(e),!g.equals(a.positionWC,I)){a._setTransform(O),a.worldToCameraCoordinatesPoint(I,I);const e=g.magnitudeSquared(I);g.magnitudeSquared(a.position)>e&&(g.normalize(a.position,a.position),g.multiplyByScalar(a.position,Math.sqrt(e),a.position));const t=g.angleBetween(I,a.position),n=g.cross(I,a.position,I);g.normalize(n,n);const i=$a.fromAxisAngle(n,t,Vit),o=ce.fromQuaternion(i,Hit);ce.multiplyByVector(o,a.direction,a.direction),ce.multiplyByVector(o,a.up,a.up),g.cross(a.direction,a.up,a.right),g.cross(a.right,a.direction,a.up),a._setTransform(C)}}const Jit=new Ht,Zit=new Ht,$it=new Ki,Qit=new Ki,eot=new g,tot=new g;function not(e,t,n,i){const a=e._scene,c=a.camera,l=Jit;l.x=n.startPosition.x,l.y=0;const u=Zit;u.x=n.endPosition.x,u.y=0;let h,d,f=c.getPickRay(l,$it),p=c.getPickRay(u,Qit),m=0;c.frustum instanceof uA?(h=f.origin,d=p.origin,g.add(c.direction,h,h),g.add(c.direction,d,d),g.subtract(h,c.position,h),g.subtract(d,c.position,d),g.normalize(h,h),g.normalize(d,d)):(h=f.direction,d=p.direction);let _=g.dot(h,d);_<1&&(m=Math.acos(_)),m=n.startPosition.x>n.endPosition.x?-m:m;const b=e._horizontalRotationAxis;if(Object(r["a"])(i)?c.look(i,-m):Object(r["a"])(b)?c.look(b,-m):c.lookLeft(m),l.x=0,l.y=n.startPosition.y,u.x=0,u.y=n.endPosition.y,f=c.getPickRay(l,$it),p=c.getPickRay(u,Qit),m=0,c.frustum instanceof uA?(h=f.origin,d=p.origin,g.add(c.direction,h,h),g.add(c.direction,d,d),g.subtract(h,c.position,h),g.subtract(d,c.position,d),g.normalize(h,h),g.normalize(d,d)):(h=f.direction,d=p.direction),_=g.dot(h,d),_<1&&(m=Math.acos(_)),m=n.startPosition.y>n.endPosition.y?-m:m,i=Object(o["a"])(i,b),Object(r["a"])(i)){const e=c.direction,t=g.negate(i,eot),n=g.equalsEpsilon(e,i,s["a"].EPSILON2),o=g.equalsEpsilon(e,t,s["a"].EPSILON2);if(n||o)(n&&m<0||o&&m>0)&&c.look(c.right,-m);else{_=g.dot(e,i);let n=s["a"].acosClamped(_);m>0&&m>n&&(m=n-s["a"].EPSILON4),_=g.dot(e,t),n=s["a"].acosClamped(_),m<0&&-m>n&&(m=-n+s["a"].EPSILON4);const o=g.cross(i,e,tot);c.look(o,m)}}else c.lookUp(m)}function iot(e){Btt(e,e.enableRotate,e.rotateEventTypes,Oit,e.inertiaSpin,"_lastInertiaSpinMovement"),Btt(e,e.enableZoom,e.zoomEventTypes,Mit,e.inertiaZoom,"_lastInertiaZoomMovement"),Btt(e,e.enableTilt,e.tiltEventTypes,Wit,e.inertiaSpin,"_lastInertiaTiltMovement"),Btt(e,e.enableLook,e.lookEventTypes,not)}const oot=new Ne,rot=new I;function aot(e){e._adjustedHeightForTerrain=!0;const t=e._scene,n=t.mode,i=t.globe;if(!Object(r["a"])(i)||n===vq.SCENE2D||n===vq.MORPHING)return;const o=t.camera,a=i.ellipsoid,s=t.mapProjection;let c,l;Ne.equals(o.transform,Ne.IDENTITY)||(c=Ne.clone(o.transform,oot),l=g.magnitude(o.position),o._setTransform(Ne.IDENTITY));const u=rot;n===vq.SCENE3D?a.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let h=!1;if(u.height<e._minimumCollisionTerrainHeight){const t=e._scene.globeHeight;if(Object(r["a"])(t)){const i=t+e.minimumZoomDistance;u.height<i&&(u.height=i,n===vq.SCENE3D?a.cartographicToCartesian(u,o.position):s.project(u,o.position),h=!0)}}Object(r["a"])(c)&&(o._setTransform(c),h&&(g.normalize(o.position,o.position),g.negate(o.position,o.direction),g.multiplyByScalar(o.position,Math.max(l,e.minimumZoomDistance),o.position),g.normalize(o.direction,o.direction),g.cross(o.direction,o.up,o.right),g.cross(o.right,o.direction,o.up)))}Dtt.prototype.onMap=function(){const e=this._scene,t=e.mode,n=e.camera;return t!==vq.COLUMBUS_VIEW||Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0};const sot=new g,cot=new g;Dtt.prototype.update=function(){const e=this._scene,t=e.camera,n=e.globe,i=e.mode;Ne.equals(t.transform,Ne.IDENTITY)?(this._globe=n,this._ellipsoid=Object(r["a"])(this._globe)?this._globe.ellipsoid:e.mapProjection.ellipsoid):(this._globe=void 0,this._ellipsoid=z.UNIT_SPHERE);const o=Object(r["a"])(this._globe)?this._globe.terrainExaggeration:1,a=Object(r["a"])(this._globe)?this._globe.terrainExaggerationRelativeHeight:0;this._minimumCollisionTerrainHeight=vl.getHeight(this.minimumCollisionTerrainHeight,o,a),this._minimumPickingTerrainHeight=vl.getHeight(this.minimumPickingTerrainHeight,o,a),this._minimumTrackBallHeight=vl.getHeight(this.minimumTrackBallHeight,o,a),this._cameraUnderground=e.cameraUnderground&&Object(r["a"])(this._globe);const s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;const c=g.clone(t.positionWC,sot),l=g.clone(t.directionWC,cot);if(i===vq.SCENE2D?bnt(this):i===vq.COLUMBUS_VIEW?(this._horizontalRotationAxis=g.UNIT_Z,cit(this)):i===vq.SCENE3D&&(this._horizontalRotationAxis=void 0,iot(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){const e=!g.equals(c,t.positionWC)||!g.equals(l,t.directionWC);e&&aot(this)}this._aggregator.reset()},Dtt.prototype.isDestroyed=function(){return!1},Dtt.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),Wl(this)};var lot=Dtt,uot="uniform sampler2D colorTexture;\nuniform sampler2D colorTexture2;\n\nuniform vec2 center;\nuniform float radius;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n vec4 color0 = texture2D(colorTexture, v_textureCoordinates);\n vec4 color1 = texture2D(colorTexture2, v_textureCoordinates);\n\n float x = length(gl_FragCoord.xy - center) / radius;\n float t = smoothstep(0.5, 0.8, x);\n gl_FragColor = mix(color0 + color1, color1, t);\n}\n",hot='uniform sampler2D colorTexture;\n\nuniform float avgLuminance;\nuniform float threshold;\nuniform float offset;\n\nvarying vec2 v_textureCoordinates;\n\nfloat key(float avg)\n{\n float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0));\n return max(0.0, guess) + 0.1;\n}\n\n// See section 9. "The bright-pass filter" of Realtime HDR Rendering\n// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf\n\nvoid main()\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n vec3 xyz = czm_RGBToXYZ(color.rgb);\n float luminance = xyz.r;\n\n float scaledLum = key(avgLuminance) * luminance / avgLuminance;\n float brightLum = max(scaledLum - threshold, 0.0);\n float brightness = brightLum / (offset + brightLum);\n\n xyz.r = brightness;\n gl_FragColor = vec4(czm_XYZToRGB(xyz), 1.0);\n}\n';function dot(){this._sceneFramebuffer=new V6e;const e=.125,t=new Array(6);t[0]=new O9e({fragmentShader:b2e,textureScale:e,forcePowerOfTwo:!0,sampleMode:a9e.LINEAR});const n=t[1]=new O9e({fragmentShader:hot,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new Ht,t[2]=new O9e({fragmentShader:M9e,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new O9e({fragmentShader:M9e,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new O9e({fragmentShader:b2e,sampleMode:a9e.LINEAR}),this._uCenter=new Ht,this._uRadius=void 0,t[5]=new O9e({fragmentShader:uot,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new H9e({stages:t});const o=new oet(this),r=t.length;for(let a=0;a<r;++a)t[a]._textureCache=o;this._textureCache=o,this.length=t.length}dot.prototype.get=function(e){return this._stages.get(e)},dot.prototype.getStageByName=function(e){const t=this._stages.length;for(let n=0;n<t;++n){const t=this._stages.get(n);if(t.name===e)return t}};const fot=new be,pot=new Ht,mot=new Ht,_ot=new Ne;function got(e,t,n){const i=t.uniformState,o=i.sunPositionWC,r=i.view,a=i.viewProjection,c=i.projection;let l=Ne.computeViewportTransformation(n,0,1,_ot);const u=Ne.multiplyByPoint(r,o,fot);let h=Hs.pointToGLWindowCoordinates(a,l,o,pot);u.x+=s["a"].SOLAR_RADIUS;const d=Hs.pointToGLWindowCoordinates(c,l,u,u),f=30*Ht.magnitude(Ht.subtract(d,h,d))*2,p=mot;p.x=f,p.y=f,e._uCenter=Ht.clone(h,e._uCenter),e._uRadius=.15*Math.max(p.x,p.y);const m=t.drawingBufferWidth,_=t.drawingBufferHeight,g=e._stages,b=g.get(0),y=b.outputTexture.width,v=b.outputTexture.height,O=new Oh;O.width=y,O.height=v,l=Ne.computeViewportTransformation(O,0,1,_ot),h=Hs.pointToGLWindowCoordinates(a,l,o,pot),p.x*=y/m,p.y*=v/_;const w=b.scissorRectangle;w.x=Math.max(h.x-.5*p.x,0),w.y=Math.max(h.y-.5*p.y,0),w.width=Math.min(p.x,m),w.height=Math.min(p.y,_);for(let s=1;s<4;++s)Oh.clone(w,g.get(s).scissorRectangle)}dot.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)},dot.prototype.update=function(e){const t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);const o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),got(this,t,n),o},dot.prototype.execute=function(e){const t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)},dot.prototype.copy=function(e,t){if(!Object(r["a"])(this._copyColorCommand)){const t=this;this._copyColorCommand=e.createViewportQuadCommand(b2e,{uniformMap:{colorTexture:function(){return t._stages.get(t._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)},dot.prototype.isDestroyed=function(){return!1},dot.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),Wl(this)};var bot=dot;const yot=function(e){return function(){e.frameState.afterRender.push((function(){e.requestRender()}))}};function vot(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.canvas;let n=e.creditContainer,i=e.creditViewport,s=Object(jL["a"])(e.contextOptions);if(Object(r["a"])(s)||(s={}),Object(r["a"])(s.webgl)||(s.webgl={}),s.webgl.powerPreference=Object(o["a"])(s.webgl.powerPreference,"high-performance"),!Object(r["a"])(t))throw new a["a"]("options and options.canvas are required.");const c=Object(r["a"])(n),l=new Aqe(t,s);c||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),Object(r["a"])(i)||(i=t.parentNode),this._id=RL(),this._jobScheduler=new _5e,this._frameState=new y$e(l,new YJe(n," • ",i),this._jobScheduler),this._frameState.scene3DOnly=Object(o["a"])(e.scene3DOnly,!1),this._removeCreditContainer=!c,this._creditContainer=n,this._canvas=t,this._context=l,this._computeEngine=new lGe(l),this._globe=void 0,this._globeTranslucencyState=new v3e,this._primitives=new pxe,this._groundPrimitives=new pxe,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=l.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new Itt,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=Object(o["a"])(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new EZe(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new bJ({color:new j_,stencil:0,owner:this}),this._depthClearCommand=new bJ({depth:1,owner:this}),this._stencilClearCommand=new bJ({stencil:0}),this._classificationStencilClearCommand=new bJ({stencil:0,renderState:Mz.fromCache({stencilMask:eY.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new Ett(this),this._preUpdate=new pi["a"],this._postUpdate=new pi["a"],this._renderError=new pi["a"],this._preRender=new pi["a"],this._postRender=new pi["a"],this._minimumDisableDepthTestDistance=0,this._debugInspector=new fZe,this._msaaSamples=Object(o["a"])(e.msaaSamples,1),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new pi["a"],this.morphComplete=new pi["a"],this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=j_.clone(j_.BLACK),this._mode=vq.SCENE3D,this._mapProjection=Object(r["a"])(e.mapProjection)?e.mapProjection:new V,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new f$e,this._shadowMapCamera=new eKe(this),this.shadowMap=new z7e({context:l,lightCamera:this._shadowMapCamera,enabled:Object(o["a"])(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=j_.clone(j_.WHITE),this._actualInvertClassificationColor=j_.clone(this._invertClassificationColor),this._invertClassification=new z3e,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new fet,this._brdfLutGenerator=new cWe,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new lot(this),this._cameraUnderground=!1,this._mapMode2D=Object(o["a"])(e.mapMode2D,DWe.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=Object(o["a"])(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=Object(o["a"])(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=iP["a"].requestCompletedEvent.addEventListener(yot(this)),this._removeTaskProcessorListenerCallback=ou.taskCompletedEvent.addEventListener(yot(this)),this._removeGlobeCallbacks=[];const u=new Oh(0,0,l.drawingBufferWidth,l.drawingBufferHeight),h=new eKe(this);this._logDepthBuffer&&(h.frustum.near=.1,h.frustum.far=1e10),this.preloadFlightCamera=new eKe(this),this.preloadFlightCullingVolume=void 0,this._picking=new o9e(this),this._defaultView=new c8e(this,h,u),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new bGe,Dot(this,0,gr.now()),this.updateFrameState(),this.initializeFrame()}function Oot(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;const n=[];Object(r["a"])(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(yot(e))),n.push(t.terrainProviderChanged.addEventListener(yot(e)))),e._removeGlobeCallbacks=n}function wot(e,t,n){const i=e._frameState,o=e._context,a=e._view.oit,s=i.shadowState.lightShadowMaps,c=i.shadowState.lightShadowsEnabled;let l=t.derivedCommands;Object(r["a"])(t.pickId)&&(l.picking=kZe.createPickDerivedCommand(e,t,o,l.picking)),t.pickOnly||(l.depth=kZe.createDepthOnlyDerivedCommand(e,t,o,l.depth)),l.originalCommand=t,e._hdr&&(l.hdr=kZe.createHdrCommand(t,o,l.hdr),t=l.hdr.command,l=t.derivedCommands),c&&t.receiveShadows&&(l.shadows=z7e.createReceiveDerivedCommand(s,t,n,o,l.shadows)),t.pass===oz.TRANSLUCENT&&Object(r["a"])(a)&&a.isSupported()&&(c&&t.receiveShadows?(l.oit=Object(r["a"])(l.oit)?l.oit:{},l.oit.shadows=a.createDerivedCommands(l.shadows.receiveCommand,o,l.oit.shadows)):l.oit=a.createDerivedCommands(t,o,l.oit))}Object.defineProperties(vot.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return zF.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return zF.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return pJ.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,Oot(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(Object(r["a"])(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(Object(r["a"])(this.globe))return this.globe.terrainProvider},set:function(e){Object(r["a"])(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(Object(r["a"])(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){if(this.scene3DOnly&&e!==vq.SCENE3D)throw new a["a"]("Only SceneMode.SCENE3D is valid when scene3DOnly is true.");if(e===vq.SCENE2D)this.morphTo2D(0);else if(e===vq.SCENE3D)this.morphTo3D(0);else{if(e!==vq.COLUMBUS_VIEW)throw new a["a"]("value must be a valid SceneMode enumeration.");this.morphToColumbusView(0)}this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){if(this.camera.frustum instanceof uA)throw new a["a"]("VR is unsupported with an orthographic projection.");this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new eKe(this),Object(r["a"])(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new qZe(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){if(!Object(r["a"])(e)||e<0)throw new a["a"]("minimumDisableDepthTestDistance must be greater than or equal to 0.0.");this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){const t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){const e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,zF.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return.9999}},globeHeight:{get:function(){return this._globeHeight}}}),vot.prototype.getCompressedTextureFormatSupported=function(e){const t=this.context;return("WEBGL_compressed_texture_s3tc"===e||"s3tc"===e)&&t.s3tc||("WEBGL_compressed_texture_pvrtc"===e||"pvrtc"===e)&&t.pvrtc||("WEBGL_compressed_texture_etc"===e||"etc"===e)&&t.etc||("WEBGL_compressed_texture_etc1"===e||"etc1"===e)&&t.etc1||("WEBGL_compressed_texture_astc"===e||"astc"===e)&&t.astc||("EXT_texture_compression_bptc"===e||"bc7"===e)&&t.bc7},vot.prototype.updateDerivedCommands=function(e){if(!Object(r["a"])(e.derivedCommands))return;const t=this._frameState,n=this._context;let i=!1;const o=t.shadowState.lastDirtyTime;e.lastDirtyTime!==o&&(e.lastDirtyTime=o,e.dirty=!0,i=!0);const a=t.useLogDepth,s=this._hdr,c=e.derivedCommands,l=Object(r["a"])(c.logDepth),u=Object(r["a"])(c.hdr),h=Object(r["a"])(c.originalCommand),d=a&&!l,f=s&&!u,p=(!a||!s)&&!h;if(e.dirty=e.dirty||d||f||p,e.dirty){e.dirty=!1;const o=t.shadowState.shadowMaps,r=t.shadowState.shadowsEnabled;r&&e.castShadows&&(c.shadows=z7e.createCastDerivedCommand(o,e,i,n,c.shadows)),(l||d)&&(c.logDepth=kZe.createLogDepthCommand(e,n,c.logDepth),wot(this,c.logDepth.command,i)),(h||p)&&wot(this,e,i)}};const Aot=new mKe({pass:wbe.RENDER}),Tot=new mKe({pass:wbe.PRELOAD}),Cot=new mKe({pass:wbe.PRELOAD_FLIGHT}),Eot=new mKe({pass:wbe.REQUEST_RENDER_MODE_DEFER_CHECK}),xot=new Tt;let Sot;function Iot(e){const t=e.globe;if(e._mode===vq.SCENE3D&&Object(r["a"])(t)&&t.show&&!e._cameraUnderground&&!e._globeTranslucencyState.translucent){const n=t.ellipsoid,i=e.frameState.minimumTerrainHeight;return xot.radius=n.minimumRadius+i,Sot=TS.fromBoundingSphere(xot,e.camera.positionWC,Sot),Sot}}function Dot(e,t,n){const i=e._frameState;i.frameNumber=t,i.time=gr.clone(n,i.time)}vot.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1},vot.prototype.updateFrameState=function(){const e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=Iot(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof uA||this.camera.frustum instanceof sA),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState,Object(r["a"])(this.globe)&&(t.terrainExaggeration=this.globe.terrainExaggeration,t.terrainExaggerationRelativeHeight=this.globe.terrainExaggerationRelativeHeight),Object(r["a"])(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(t.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=j_.clone(this.invertClassificationColor,this._actualInvertClassificationColor),z3e.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,Object(r["a"])(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0},vot.prototype.isVisible=function(e,t,n){return Object(r["a"])(e)&&(!Object(r["a"])(e.boundingVolume)||!e.cull||t.computeVisibility(e.boundingVolume)!==G.OUTSIDE&&(!Object(r["a"])(n)||!e.occlude||!e.boundingVolume.isOccluded(n)))};let jot=new Ne(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);function Pot(e,t,n,i){const o=t._frameState,a=o.context,s=e.boundingVolume;let c;Object(r["a"])(t._debugVolume)&&t._debugVolume.destroy();let l=g.clone(s.center);if(o.mode!==vq.SCENE3D){l=Ne.multiplyByPoint(jot,l,l);const e=o.mapProjection,t=e.unproject(l);l=e.ellipsoid.cartographicToCartesian(t)}if(Object(r["a"])(s.radius)){const e=s.radius;c=_m.toWireframe(Fw.createGeometry(new Fw({radii:new g(e,e,e),vertexFormat:Kk.FLAT_VERTEX_FORMAT}))),t._debugVolume=new bW({geometryInstances:new Df({geometry:c,modelMatrix:Ne.fromTranslation(l),attributes:{color:new R_(1,0,0,1)}}),appearance:new Kk({flat:!0,translucent:!1}),asynchronous:!1})}else{const e=s.halfAxes;c=_m.toWireframe(td.createGeometry(td.fromDimensions({dimensions:new g(2,2,2),vertexFormat:Kk.FLAT_VERTEX_FORMAT}))),t._debugVolume=new bW({geometryInstances:new Df({geometry:c,modelMatrix:Ne.fromRotationTranslation(e,l,new Ne),attributes:{color:new R_(1,0,0,1)}}),appearance:new Kk({flat:!0,translucent:!1}),asynchronous:!1})}const u=o.commandList,h=o.commandList=[];if(t._debugVolume.update(o),e=h[0],o.useLogDepth){const t=kZe.createLogDepthCommand(e,a);e=t.command}let d;Object(r["a"])(i)&&(d=n.framebuffer,n.framebuffer=i),e.execute(a,n),Object(r["a"])(d)&&(n.framebuffer=d),o.commandList=u}function Rot(e,t,n,i,o){const a=t._frameState;if(Object(r["a"])(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof bJ)return void e.execute(n,i);e.debugShowBoundingVolume&&Object(r["a"])(e.boundingVolume)&&Pot(e,t,i,o),a.useLogDepth&&Object(r["a"])(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);const s=a.passes;if(!s.pick&&!s.depth&&t._hdr&&Object(r["a"])(e.derivedCommands)&&Object(r["a"])(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth&&Object(r["a"])(e.derivedCommands.picking))return e=e.derivedCommands.picking.pickCommand,void e.execute(n,i);if(Object(r["a"])(e.derivedCommands.depth))return e=e.derivedCommands.depth.depthOnlyCommand,void e.execute(n,i)}t.debugShowCommands||t.debugShowFrustums?t._debugInspector.executeDebugShowFrustumsCommand(t,e,i):a.shadowState.lightShadowsEnabled&&e.receiveShadows&&Object(r["a"])(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(n,i):e.execute(n,i)}function Mot(e,t,n,i){const o=t._frameState;let a=e.derivedCommands;Object(r["a"])(a)&&(o.useLogDepth&&Object(r["a"])(a.logDepth)&&(e=a.logDepth.command),a=e.derivedCommands,Object(r["a"])(a.picking)?(e=a.picking.pickCommand,e.execute(n,i)):Object(r["a"])(a.depth)&&(e=a.depth.depthOnlyCommand,e.execute(n,i)))}function Not(e,t,n){return t.boundingVolume.distanceSquaredTo(n)-e.boundingVolume.distanceSquaredTo(n)}function Lot(e,t,n){return e.boundingVolume.distanceSquaredTo(n)-t.boundingVolume.distanceSquaredTo(n)+s["a"].EPSILON12}function Bot(e,t,n,i,o){const a=e.context;hB(i,Not,e.camera.positionWC),Object(r["a"])(o)&&t(o.unclassifiedCommand,e,a,n);const s=i.length;for(let r=0;r<s;++r)t(i[r],e,a,n)}function Fot(e,t,n,i,o){const a=e.context;hB(i,Lot,e.camera.positionWC),Object(r["a"])(o)&&t(o.unclassifiedCommand,e,a,n);const s=i.length;for(let r=0;r<s;++r)t(i[r],e,a,n)}jot=Ne.inverseTransformation(jot,jot);const kot=new vA,zot=new gA,Uot=new uA,Vot=new sA;function Hot(e,t){const n=e.camera,i=e.context,o=e.frameState,a=i.uniformState;let s;a.updateCamera(n),s=Object(r["a"])(n.frustum.fov)?n.frustum.clone(kot):Object(r["a"])(n.frustum.infiniteProjectionMatrix)?n.frustum.clone(zot):Object(r["a"])(n.frustum.width)?n.frustum.clone(Uot):n.frustum.clone(Vot),s.near=n.frustum.near,s.far=n.frustum.far,a.updateFrustum(s),a.updatePass(oz.ENVIRONMENT);const c=o.passes,l=c.pick,u=e._environmentState,h=e._view,d=u.renderTranslucentDepthForPick,f=u.useWebVR;if(!l){const n=u.skyBoxCommand;if(Object(r["a"])(n)&&Rot(n,e,i,t),u.isSkyAtmosphereVisible&&Rot(u.skyAtmosphereCommand,e,i,t),u.isSunVisible&&(u.sunDrawCommand.execute(i,t),e.sunBloom&&!f)){let n;n=u.useGlobeDepthFramebuffer?h.globeDepth.framebuffer:u.usePostProcess?h.sceneFramebuffer.framebuffer:u.originalFramebuffer,e._sunPostProcess.execute(i),e._sunPostProcess.copy(i,n),t.framebuffer=n}u.isMoonVisible&&u.moonCommand.execute(i,t)}let p;u.useOIT?(Object(r["a"])(e._executeOITFunction)||(e._executeOITFunction=function(e,t,n,o,r){h.globeDepth.prepareColorTextures(i),h.oit.executeCommands(e,t,n,o,r)}),p=e._executeOITFunction):p=c.render?Bot:Fot;const m=h.frustumCommandsList,_=m.length,g=u.clearGlobeDepth,b=u.useDepthPlane,y=e._globeTranslucencyState,v=y.translucent,O=e._view.globeTranslucencyFramebuffer,w=e._depthClearCommand,A=e._stencilClearCommand,T=e._classificationStencilClearCommand,C=e._depthPlane,E=u.usePostProcessSelected,x=n.position.z;let S;for(let I=0;I<_;++I){const c=_-I-1,f=m[c];e.mode===vq.SCENE2D?(n.position.z=x-f.near+1,s.far=Math.max(1,f.far-f.near),s.near=1,a.update(o),a.updateFrustum(s)):(s.near=0!==c?f.near*e.opaqueFrustumNearOffset:f.near,s.far=f.far,a.updateFrustum(s)),w.execute(i,t),i.stencilBuffer&&A.execute(i,t),a.updatePass(oz.GLOBE);let D=f.commands[oz.GLOBE],j=f.indices[oz.GLOBE];if(v)y.executeGlobeCommands(f,Rot,O,e,t);else for(S=0;S<j;++S)Rot(D[S],e,i,t);const P=h.globeDepth;if(Object(r["a"])(P)&&u.useGlobeDepthFramebuffer&&P.executeCopyDepth(i,t),!u.renderTranslucentDepthForPick)if(a.updatePass(oz.TERRAIN_CLASSIFICATION),D=f.commands[oz.TERRAIN_CLASSIFICATION],j=f.indices[oz.TERRAIN_CLASSIFICATION],v)y.executeGlobeClassificationCommands(f,Rot,O,e,t);else for(S=0;S<j;++S)Rot(D[S],e,i,t);if(g&&(w.execute(i,t),b&&C.execute(i,t)),!u.useInvertClassification||l||u.renderTranslucentDepthForPick){for(a.updatePass(oz.CESIUM_3D_TILE),D=f.commands[oz.CESIUM_3D_TILE],j=f.indices[oz.CESIUM_3D_TILE],S=0;S<j;++S)Rot(D[S],e,i,t);if(j>0&&(Object(r["a"])(P)&&u.useGlobeDepthFramebuffer&&(P.prepareColorTextures(i,g),P.executeUpdateDepth(i,t,g,P.depthStencilTexture)),!u.renderTranslucentDepthForPick))for(a.updatePass(oz.CESIUM_3D_TILE_CLASSIFICATION),D=f.commands[oz.CESIUM_3D_TILE_CLASSIFICATION],j=f.indices[oz.CESIUM_3D_TILE_CLASSIFICATION],S=0;S<j;++S)Rot(D[S],e,i,t)}else{e._invertClassification.clear(i,t);const n=t.framebuffer;for(t.framebuffer=e._invertClassification._fbo.framebuffer,a.updatePass(oz.CESIUM_3D_TILE),D=f.commands[oz.CESIUM_3D_TILE],j=f.indices[oz.CESIUM_3D_TILE],S=0;S<j;++S)Rot(D[S],e,i,t);for(Object(r["a"])(P)&&u.useGlobeDepthFramebuffer&&(e._invertClassification.prepareTextures(i),P.executeUpdateDepth(i,t,g,e._invertClassification._fbo.getDepthStencilTexture())),a.updatePass(oz.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),D=f.commands[oz.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],j=f.indices[oz.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],S=0;S<j;++S)Rot(D[S],e,i,t);for(t.framebuffer=n,e._invertClassification.executeClassified(i,t),1===o.invertClassificationColor.alpha&&e._invertClassification.executeUnclassified(i,t),j>0&&i.stencilBuffer&&T.execute(i,t),a.updatePass(oz.CESIUM_3D_TILE_CLASSIFICATION),D=f.commands[oz.CESIUM_3D_TILE_CLASSIFICATION],j=f.indices[oz.CESIUM_3D_TILE_CLASSIFICATION],S=0;S<j;++S)Rot(D[S],e,i,t)}for(j>0&&i.stencilBuffer&&A.execute(i,t),a.updatePass(oz.OPAQUE),D=f.commands[oz.OPAQUE],j=f.indices[oz.OPAQUE],S=0;S<j;++S)Rot(D[S],e,i,t);let R;0!==c&&e.mode!==vq.SCENE2D&&(s.near=f.near,a.updateFrustum(s)),!l&&u.useInvertClassification&&o.invertClassificationColor.alpha<1&&(R=e._invertClassification),a.updatePass(oz.TRANSLUCENT),D=f.commands[oz.TRANSLUCENT],D.length=f.indices[oz.TRANSLUCENT],p(e,Rot,t,D,R);const M=f.indices[oz.CESIUM_3D_TILE_CLASSIFICATION]>0;if(M&&h.translucentTileClassification.isSupported()&&(h.translucentTileClassification.executeTranslucentCommands(e,Rot,t,D,P.depthStencilTexture),h.translucentTileClassification.executeClassificationCommands(e,Rot,t,f)),i.depthTexture&&e.useDepthPicking&&(u.useGlobeDepthFramebuffer||d)){const n=P.depthStencilTexture,o=e._picking.getPickDepth(e,c);o.update(i,n),o.executeCopyDepth(i,t)}if(l||!E)continue;const N=t.framebuffer;if(t.framebuffer=h.sceneFramebuffer.getIdFramebuffer(),s.near=0!==c?f.near*e.opaqueFrustumNearOffset:f.near,s.far=f.far,a.updateFrustum(s),a.updatePass(oz.GLOBE),D=f.commands[oz.GLOBE],j=f.indices[oz.GLOBE],v)y.executeGlobeCommands(f,Mot,O,e,t);else for(S=0;S<j;++S)Mot(D[S],e,i,t);for(g&&(w.framebuffer=t.framebuffer,w.execute(i,t),w.framebuffer=void 0),g&&b&&C.execute(i,t),a.updatePass(oz.CESIUM_3D_TILE),D=f.commands[oz.CESIUM_3D_TILE],j=f.indices[oz.CESIUM_3D_TILE],S=0;S<j;++S)Mot(D[S],e,i,t);for(a.updatePass(oz.OPAQUE),D=f.commands[oz.OPAQUE],j=f.indices[oz.OPAQUE],S=0;S<j;++S)Mot(D[S],e,i,t);for(a.updatePass(oz.TRANSLUCENT),D=f.commands[oz.TRANSLUCENT],j=f.indices[oz.TRANSLUCENT],S=0;S<j;++S)Mot(D[S],e,i,t);t.framebuffer=N}}function Got(e){const t=e.context.uniformState;t.updatePass(oz.COMPUTE);const n=e._environmentState.sunComputeCommand;Object(r["a"])(n)&&n.execute(e._computeEngine);const i=e._computeCommandList,o=i.length;for(let r=0;r<o;++r)i[r].execute(e._computeEngine)}function qot(e,t){const n=e.context.uniformState;n.updatePass(oz.OVERLAY);const i=e.context,o=e._overlayCommandList,r=o.length;for(let a=0;a<r;++a)o[a].execute(i,t)}function Wot(e,t,n){const i=n.shadowMapCullingVolume,o=n.isPointLight,r=n.passes,a=r.length,s=t.length;for(let c=0;c<s;++c){const n=t[c];if(e.updateDerivedCommands(n),n.castShadows&&(n.pass===oz.GLOBE||n.pass===oz.CESIUM_3D_TILE||n.pass===oz.OPAQUE||n.pass===oz.TRANSLUCENT)&&e.isVisible(n,i))if(o)for(let e=0;e<a;++e)r[e].commandList.push(n);else if(1===a)r[0].commandList.push(n);else{let t=!1;for(let i=a-1;i>=0;--i){const o=r[i].cullingVolume;if(e.isVisible(n,o))r[i].commandList.push(n),t=!0;else if(t)break}}}}function Yot(e){const t=e.frameState,n=t.shadowState.shadowMaps,i=n.length;if(!t.shadowState.shadowsEnabled)return;const o=e.context,r=o.uniformState;for(let a=0;a<i;++a){const t=n[a];if(t.outOfView)continue;const i=t.passes,s=i.length;for(let e=0;e<s;++e)i[e].commandList.length=0;const c=e.frameState.commandList;Wot(e,c,t);for(let n=0;n<s;++n){const i=t.passes[n];r.updateCamera(i.camera),t.updatePass(o,n);const s=i.commandList.length;for(let t=0;t<s;++t){const n=i.commandList[t];r.updatePass(n.pass),Rot(n.derivedCommands.shadows.castCommands[a],e,o,i.passState)}}}}const Xot=new g;function Kot(e,t,n){const i=e._view,r=i.camera,a=e._environmentState,s=a.renderTranslucentDepthForPick;urt(e,t,n),lrt(e),i.createPotentiallyVisibleSet(e),Got(e),s||Yot(e);const c=t.viewport;c.x=0,c.y=0,c.width=.5*c.width;const l=eKe.clone(r,e._cameraVR);l.frustum=r.frustum;const u=r.frustum.near,h=u*Object(o["a"])(e.focalLength,5),d=Object(o["a"])(e.eyeSeparation,h/30),f=g.multiplyByScalar(l.right,.5*d,Xot);r.frustum.aspectRatio=c.width/c.height;const p=.5*d*u/h;g.add(l.position,f,r.position),r.frustum.xOffset=p,Hot(e,t),c.x=c.width,g.subtract(l.position,f,r.position),r.frustum.xOffset=-p,Hot(e,t),eKe.clone(l,r)}vot.prototype.updateAndExecuteCommands=function(e,t){const n=this._frameState,i=n.mode,o=this._environmentState.useWebVR;o?Kot(this,e,t):i!==vq.SCENE2D||this._mapMode2D===DWe.ROTATE?rrt(!0,this,e,t):(urt(this,e,t),ort(this,e))};const Jot=new I(Math.PI,s["a"].PI_OVER_TWO),Zot=new g,$ot=new g,Qot=new Ne,ert=new Ne,trt=new g,nrt=new g,irt=new Oh;function ort(e,t){const n=e.context,i=e.frameState,o=e.camera,r=t.viewport,a=Oh.clone(r,irt);t.viewport=a;const c=Jot,l=Zot,u=e.mapProjection;u.project(c,l);const h=g.clone(o.position,$ot),d=Ne.clone(o.transform,ert),f=o.frustum.clone();o._setTransform(Ne.IDENTITY);const p=Ne.computeViewportTransformation(a,0,1,Qot),m=o.frustum.projectionMatrix,_=o.positionWC.y,b=g.fromElements(s["a"].sign(_)*l.x-_,0,-o.positionWC.x,trt),y=Hs.pointToGLWindowCoordinates(m,p,b,nrt);y.x=Math.floor(y.x);const v=a.x,O=a.width;if(0===_||y.x<=v||y.x>=v+O)rrt(!0,e,t);else if(Math.abs(v+.5*O-y.x)<1)a.width=y.x-a.x,o.position.x*=s["a"].sign(o.position.x),o.frustum.right=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!0,e,t),a.x=y.x,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!1,e,t);else if(y.x>v+.5*O){a.width=y.x-v;const r=o.frustum.right;o.frustum.right=l.x-_,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!0,e,t),a.x=y.x,a.width=v+O-y.x,o.position.x=-o.position.x,o.frustum.left=-o.frustum.right,o.frustum.right=r-2*o.frustum.right,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!1,e,t)}else{a.x=y.x,a.width=v+O-y.x;const r=o.frustum.left;o.frustum.left=-l.x-_,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!0,e,t),a.x=v,a.width=y.x-v,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=r-2*o.frustum.left,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),rrt(!1,e,t)}o._setTransform(d),g.clone(h,o.position),o.frustum=f.clone(),t.viewport=r}function rrt(e,t,n,i){const o=t._environmentState,a=t._view,s=o.renderTranslucentDepthForPick;e||(t.frameState.commandList.length=0),lrt(t),a.createPotentiallyVisibleSet(t),e&&(Object(r["a"])(i)&&urt(t,n,i),Got(t),s||Yot(t)),Hot(t,n)}const art=new kO;function srt(e){const t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new aZe({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),Object(r["a"])(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function crt(e){const t=e._frameState,n=t.shadowMaps,i=n.length,o=i>0&&!t.passes.pick&&e.mode===vq.SCENE3D;if(o!==t.shadowState.shadowsEnabled&&(++t.shadowState.lastDirtyTime,t.shadowState.shadowsEnabled=o),t.shadowState.lightShadowsEnabled=!1,o){for(let e=0;e<i;++e)if(n[e]!==t.shadowState.shadowMaps[e]){++t.shadowState.lastDirtyTime;break}t.shadowState.shadowMaps.length=0,t.shadowState.lightShadowMaps.length=0;for(let e=0;e<i;++e){const i=n[e];i.update(t),t.shadowState.shadowMaps.push(i),i.fromLightSource&&(t.shadowState.lightShadowMaps.push(i),t.shadowState.lightShadowsEnabled=!0),i.dirty&&(++t.shadowState.lastDirtyTime,i.dirty=!1)}}}function lrt(e){const t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),srt(e),crt(e),e._globe&&e._globe.render(t)}function urt(e,t,n){const i=e._context,o=e._frameState,a=e._environmentState,s=e._view,c=e._frameState.passes,l=c.pick;Object(r["a"])(s.globeDepth)&&(s.globeDepth.picking=l);const u=a.useWebVR;a.originalFramebuffer=t.framebuffer,Object(r["a"])(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new bot:Object(r["a"])(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!Object(r["a"])(e.sun)&&Object(r["a"])(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);const h=e._clearColorCommand;j_.clone(n,h.color),h.execute(i,t);const d=a.useGlobeDepthFramebuffer=Object(r["a"])(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,a.clearGlobeDepth),s.globeDepth.clear(i,t,n));const f=s.oit,p=a.useOIT=!l&&Object(r["a"])(f)&&f.isSupported();p&&(f.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),f.clear(i,t,n),a.useOIT=f.isSupported());const m=e.postProcessStages;let _=a.usePostProcess=!l&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);a.usePostProcessSelected=!1,_&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),_=a.usePostProcess=m.ready,a.usePostProcessSelected=_&&m.hasSelected),a.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:_&&(t.framebuffer=s.sceneFramebuffer.framebuffer),Object(r["a"])(t.framebuffer)&&h.execute(i,t);const g=a.useInvertClassification=!l&&Object(r["a"])(t.framebuffer)&&e.invertClassification;if(g){let n;if(1===e.frameState.invertClassificationColor.alpha&&a.useGlobeDepthFramebuffer&&(n=s.globeDepth.framebuffer),Object(r["a"])(n)||i.depthTexture){if(e._invertClassification.previousFramebuffer=n,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),e.frameState.invertClassificationColor.alpha<1&&p){const t=e._invertClassification.unclassifiedCommand,n=t.derivedCommands;n.oit=f.createDerivedCommands(t,i,n.oit)}}else a.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}function hrt(e){const t=e._frameState.afterRender;for(let n=0,i=t.length;n<i;++n)t[n](),e.requestRender();t.length=0}function drt(e){const t=e._globe,n=e.camera,i=n.positionCartographic;if(Object(r["a"])(t)&&t.show&&Object(r["a"])(i))return t.getHeight(i)}function frt(e){const t=e.camera,n=e._mode,i=e.globe,o=e._screenSpaceCameraController,a=t.positionCartographic;if(!Object(r["a"])(a))return!1;if(!o.onMap()&&a.height<0)return!0;if(!Object(r["a"])(i)||!i.show||n===vq.SCENE2D||n===vq.MORPHING)return!1;const s=e._globeHeight;return Object(r["a"])(s)&&a.height<s}function prt(e,t){if(e.debugShowFramesPerSecond){if(!Object(r["a"])(e._performanceDisplay)){const t=document.createElement("div");t.className="cesium-performanceDisplay-defaultContainer";const n=e._canvas.parentNode;n.appendChild(t);const i=new E6e({container:t});e._performanceDisplay=i,e._performanceContainer=t}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else Object(r["a"])(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function mrt(e){e._jobScheduler.resetBudgets();const t=e._frameState,n=e.primitives;n.prePassesUpdate(t),Object(r["a"])(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function _rt(e){const t=e._frameState,n=e.primitives;n.postPassesUpdate(t),iP["a"].update()}vot.prototype.updateEnvironment=function(){const e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,a=this.skyAtmosphere,s=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==vq.SCENE2D&&t.camera.frustum instanceof uA||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{Object(r["a"])(a)?(Object(r["a"])(s)&&(a.setDynamicAtmosphereColor(s.enableLighting&&s.dynamicAtmosphereLighting,s.dynamicAtmosphereLightingFromSun),n.isReadyForAtmosphere=n.isReadyForAtmosphere||s._surface._tilesToRender.length>0),n.skyAtmosphereCommand=a.update(e,s),Object(r["a"])(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)):n.skyAtmosphereCommand=void 0,n.skyBoxCommand=Object(r["a"])(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;const i=Object(r["a"])(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=Object(r["a"])(i)?i.drawCommand:void 0,n.sunComputeCommand=Object(r["a"])(i)?i.computeCommand:void 0,n.moonCommand=Object(r["a"])(this.moon)?this.moon.update(e):void 0}const l=n.clearGlobeDepth=Object(r["a"])(s)&&s.show&&(!s.depthTestAgainstTerrain||this.mode===vq.SCENE2D),u=n.useDepthPlane=l&&this.mode===vq.SCENE3D&&c.useDepthPlane;u&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==vq.SCENE2D&&!o;const h=e.mode!==vq.SCENE3D||c.sunVisibleThroughGlobe?void 0:e.occluder;let d=e.cullingVolume;const f=art.planes;for(let r=0;r<5;++r)f[r]=d.planes[r];d=art,n.isSkyAtmosphereVisible=Object(r["a"])(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(n.sunDrawCommand,d,h),n.isMoonVisible=this.isVisible(n.moonCommand,d,h);const p=this.specularEnvironmentMaps;let m=this._specularEnvironmentMapAtlas;!Object(r["a"])(p)||Object(r["a"])(m)&&m.url===p?!Object(r["a"])(p)&&Object(r["a"])(m)&&(m.destroy(),this._specularEnvironmentMapAtlas=void 0):(m=m&&m.destroy(),this._specularEnvironmentMapAtlas=new pJ(p)),Object(r["a"])(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e)},vot.prototype.resolveFramebuffers=function(e){const t=this._context,n=this._environmentState,i=this._view,a=i.globeDepth;Object(r["a"])(a)&&a.prepareColorTextures(t);const s=n.useOIT,c=n.useGlobeDepthFramebuffer,l=n.usePostProcess,u=n.originalFramebuffer,h=c?a.colorFramebufferManager:void 0,d=i.sceneFramebuffer._colorFramebuffer,f=i.sceneFramebuffer.idFramebuffer;s&&(e.framebuffer=l?d.framebuffer:u,i.oit.execute(t,e));const p=i.translucentTileClassification;if(p.hasTranslucentDepth&&p.isSupported()&&p.execute(this,e),l){i.sceneFramebuffer.prepareColorTextures(t);let e=d;c&&!s&&(e=h);const n=this.postProcessStages,r=e.getColorTexture(0),a=f.getColorTexture(0),l=Object(o["a"])(h,d).getDepthStencilTexture();n.execute(t,r,l,a),n.copy(t,u)}s||l||!c||(e.framebuffer=u,a.executeCopyColor(t,e))},vot.prototype.initializeFrame=function(){120===this._shaderFrameCount++&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=drt(this),this._cameraUnderground=frt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),Object(r["a"])(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};const grt=new j_;function brt(e){const t=e._frameState,n=e.context,i=n.uniformState,a=e._defaultView;e._view=a,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=Aot;let s=Object(o["a"])(e.backgroundColor,j_.BLACK);e._hdr&&(s=j_.clone(s,grt),s.red=Math.pow(s.red,e.gamma),s.green=Math.pow(s.green,e.gamma),s.blue=Math.pow(s.blue,e.gamma)),t.backgroundColor=s,e.fog.update(t),i.update(t);const c=e.shadowMap;Object(r["a"])(c)&&c.enabled&&(!Object(r["a"])(e.light)||e.light instanceof bGe?g.negate(i.sunDirectionWC,e._shadowMapCamera.direction):g.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(c)),e._computeCommandList.length=0,e._overlayCommandList.length=0;const l=a.viewport;l.x=0,l.y=0,l.width=n.drawingBufferWidth,l.height=n.drawingBufferHeight;const u=a.passState;u.framebuffer=void 0,u.blendingEnabled=void 0,u.scissorTest=void 0,u.viewport=Oh.clone(l,u.viewport),Object(r["a"])(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(u,s),e.resolveFramebuffers(u),u.framebuffer=void 0,qot(e,u),Object(r["a"])(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function yrt(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function vrt(e){return e._picking.updateMostDetailedRayPicks(e)}function Ort(e){const t=e._frameState;Tot.camera=t.camera,Tot.cullingVolume=t.cullingVolume;const n=e.primitives;n.updateForPass(t,Tot)}function wrt(e){const t=e._frameState,n=t.camera;if(!n.canPreloadFlight())return;Cot.camera=e.preloadFlightCamera,Cot.cullingVolume=e.preloadFlightCullingVolume;const i=e.primitives;i.updateForPass(t,Cot)}function Art(e){e.primitives.updateForPass(e._frameState,Eot)}vot.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);const t=this._frameState;t.newFrame=!1,Object(r["a"])(e)||(e=gr.now());const n=this._view.checkForCameraUpdates(this);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===vq.MORPHING;if(!i&&Object(r["a"])(this.maximumRenderTimeChange)&&Object(r["a"])(this._lastRenderTime)){const t=Math.abs(gr.secondsDifference(this._lastRenderTime,e));i=i||t>this.maximumRenderTimeChange}if(i){this._lastRenderTime=gr.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;const n=s["a"].incrementWrap(t.frameNumber,15e6,1);Dot(this,n,e),t.newFrame=!0}yrt(this,mrt),this.primitives.show&&(yrt(this,vrt),yrt(this,Ort),yrt(this,wrt),i||yrt(this,Art)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),yrt(this,brt)),prt(this,i),yrt(this,_rt),hrt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())},vot.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)},vot.prototype.requestRender=function(){this._renderRequested=!0},vot.prototype.clampLineWidth=function(e){return Math.max(zF.minimumAliasedLineWidth,Math.min(e,zF.maximumAliasedLineWidth))},vot.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)},vot.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)},vot.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)},vot.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)},vot.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)},vot.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)},vot.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)},vot.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)},vot.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)},vot.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)},vot.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)},vot.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)},vot.prototype.cartesianToCanvasCoordinates=function(e,t){return qie.wgs84ToWindowCoordinates(this,e,t)},vot.prototype.completeMorph=function(){this._transitioner.completeMorph()},vot.prototype.morphTo2D=function(e){let t;const n=this.globe;t=Object(r["a"])(n)?n.ellipsoid:this.mapProjection.ellipsoid,e=Object(o["a"])(e,2),this._transitioner.morphTo2D(e,t)},vot.prototype.morphToColumbusView=function(e){let t;const n=this.globe;t=Object(r["a"])(n)?n.ellipsoid:this.mapProjection.ellipsoid,e=Object(o["a"])(e,2),this._transitioner.morphToColumbusView(e,t)},vot.prototype.morphTo3D=function(e){let t;const n=this.globe;t=Object(r["a"])(n)?n.ellipsoid:this.mapProjection.ellipsoid,e=Object(o["a"])(e,2),this._transitioner.morphTo3D(e,t)},vot.prototype.isDestroyed=function(){return!1},vot.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),Object(r["a"])(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,Wl(this)};var Trt=vot,Crt="float interpolateByDistance(vec4 nearFarScalar, float distance)\n{\n float startDistance = nearFarScalar.x;\n float startValue = nearFarScalar.y;\n float endDistance = nearFarScalar.z;\n float endValue = nearFarScalar.w;\n float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0);\n return mix(startValue, endValue, t);\n}\n\nvec3 getLightDirection(vec3 positionWC)\n{\n float lightEnum = u_radiiAndDynamicAtmosphereColor.z;\n vec3 lightDirection =\n positionWC * float(lightEnum == 0.0) +\n czm_lightDirectionWC * float(lightEnum == 1.0) +\n czm_sunDirectionWC * float(lightEnum == 2.0);\n return normalize(lightDirection);\n}\n\nvoid computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe)\n{\n float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z;\n\n // Adjustment to the atmosphere radius applied based on the camera height.\n float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0;\n float distanceAdjustMax = czm_ellipsoidRadii.x;\n float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0;\n float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0);\n\n // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit \n // for the position on the ellipsoid.\n float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust;\n float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust;\n\n // Setup the primary ray: from the camera position to the vertex position.\n vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;\n vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);\n czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection);\n\n underTranslucentGlobe = 0.0;\n\n // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled.\n #if defined(GLOBE_TRANSLUCENT)\n\n // Check for intersection with the inner radius of the atmopshere.\n czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust);\n if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) {\n \n // Compute position on globe.\n vec3 direction = normalize(positionWC);\n czm_ray ellipsoidRay = czm_ray(positionWC, -direction);\n czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii);\n vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start);\n\n // Control the color using the camera angle.\n float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth));\n\n // Control the opacity using the distance from Earth.\n opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth));\n vec3 horizonColor = vec3(0.1, 0.2, 0.3);\n vec3 nearColor = vec3(0.0);\n\n rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity);\n \n // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton.\n underTranslucentGlobe = 1.0;\n return;\n }\n #endif\n\n computeScattering(\n primaryRay,\n length(cameraToPositionWC),\n lightDirection,\n atmosphereInnerRadius,\n rayleighColor,\n mieColor,\n opacity\n );\n\n // Alter the opacity based on how close the viewer is to the ground.\n // (0.0 = At edge of atmosphere, 1.0 = On ground)\n float cameraHeight = czm_eyeHeight + atmosphereInnerRadius;\n float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS;\n opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0);\n\n // Alter alpha based on time of day (0.0 = night , 1.0 = day)\n float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0;\n opacity *= pow(nightAlpha, 0.5);\n}\n",Ert="varying vec3 v_outerPositionWC;\n\nuniform vec3 u_hsbShift;\n\n#ifndef PER_FRAGMENT_ATMOSPHERE\nvarying vec3 v_mieColor;\nvarying vec3 v_rayleighColor;\nvarying float v_opacity;\nvarying float v_translucent;\n#endif\n\nvoid main (void)\n{\n vec3 lightDirection = getLightDirection(v_outerPositionWC);\n \n vec3 mieColor;\n vec3 rayleighColor;\n float opacity;\n float translucent;\n\n #ifdef PER_FRAGMENT_ATMOSPHERE\n computeAtmosphereScattering(\n v_outerPositionWC,\n lightDirection,\n rayleighColor,\n mieColor,\n opacity,\n translucent\n );\n #else\n mieColor = v_mieColor;\n rayleighColor = v_rayleighColor;\n opacity = v_opacity;\n translucent = v_translucent;\n #endif\n\n vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity);\n\n #ifndef HDR\n color.rgb = czm_acesTonemapping(color.rgb);\n color.rgb = czm_inverseGamma(color.rgb);\n #endif\n\n #ifdef COLOR_CORRECT\n // Convert rgb color to hsb\n vec3 hsb = czm_RGBToHSB(color.rgb);\n // Perform hsb shift\n hsb.x += u_hsbShift.x; // hue\n hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation\n hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness\n // Convert shifted hsb back to rgb\n color.rgb = czm_HSBToRGB(hsb);\n #endif\n\n // For the parts of the sky atmosphere that are not behind a translucent globe,\n // we mix in the default opacity so that the sky atmosphere still appears at distance.\n // This is needed because the opacity in the sky atmosphere is initially adjusted based\n // on the camera height.\n if (translucent == 0.0) {\n color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime);\n }\n\n gl_FragColor = color;\n}\n",xrt="attribute vec4 position;\n\nvarying vec3 v_outerPositionWC;\n\n#ifndef PER_FRAGMENT_ATMOSPHERE\nvarying vec3 v_mieColor;\nvarying vec3 v_rayleighColor;\nvarying float v_opacity;\nvarying float v_translucent;\n#endif\n\nvoid main(void)\n{\n vec4 positionWC = czm_model * position;\n vec3 lightDirection = getLightDirection(positionWC.xyz);\n\n #ifndef PER_FRAGMENT_ATMOSPHERE\n computeAtmosphereScattering(\n positionWC.xyz,\n lightDirection,\n v_rayleighColor,\n v_mieColor,\n v_opacity,\n v_translucent\n );\n #endif\n \n v_outerPositionWC = positionWC.xyz;\n gl_Position = czm_modelViewProjection * position;\n}\n";function Srt(e){e=Object(o["a"])(e,z.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;const t=1.025,n=g.multiplyByScalar(e.radii,t,new g);this._scaleMatrix=Ne.fromScale(n),this._modelMatrix=new Ne,this._command=new nz({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new g(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new g(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new g;const i=new g;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;const r=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return r._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return r._hueSaturationBrightness.x=r.hueShift,r._hueSaturationBrightness.y=r.saturationShift,r._hueSaturationBrightness.z=r.brightnessShift,r._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return r.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return r.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return r.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return r.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return r.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return r.atmosphereMieAnisotropy}}}Object.defineProperties(Srt.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),Srt.prototype.setDynamicAtmosphereColor=function(e,t){const n=e?t?2:1:0;this._radiiAndDynamicAtmosphereColor.z=n};const Irt=new Ne;function Drt(e){return!(s["a"].equalsEpsilon(e.hueShift,0,s["a"].EPSILON7)&&s["a"].equalsEpsilon(e.saturationShift,0,s["a"].EPSILON7)&&s["a"].equalsEpsilon(e.brightnessShift,0,s["a"].EPSILON7))}Srt.prototype.update=function(e,t){if(!this.show)return;const n=e.mode;if(n!==vq.SCENE3D&&n!==vq.MORPHING)return;if(!e.passes.render)return;const i=Ne.fromRotationTranslation(e.context.uniformState.inverseViewRotation,g.ZERO,Irt),o=Ne.multiplyTransformation(i,vJ.Y_UP_TO_Z_UP,Irt),a=Ne.multiply(this._scaleMatrix,o,Irt);Ne.clone(a,this._modelMatrix);const s=e.context,c=Drt(this),l=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||l||!Object(r["a"])(t)||!t.show,h=this._command;if(!Object(r["a"])(h.vertexArray)){const e=Fw.createGeometry(new Fw({radii:new g(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Yh.POSITION_ONLY}));h.vertexArray=BG.fromGeometry({context:s,geometry:e,attributeLocations:_m.createAttributeLocations(e),bufferUsage:EG.STATIC_DRAW}),h.renderState=Mz.fromCache({cull:{enabled:!0,face:LF.FRONT},blending:MF.ALPHA_BLEND,depthMask:!1})}const d=c|u<<2|l<<3;if(d!==this._flags){this._flags=d;const e=[];c&&e.push("COLOR_CORRECT"),u&&e.push("PER_FRAGMENT_ATMOSPHERE"),l&&e.push("GLOBE_TRANSLUCENT");const t=new bG({defines:e,sources:[H$e,Crt,xrt]}),n=new bG({defines:e,sources:[H$e,Crt,Ert]});this._spSkyAtmosphere=IU.fromCache({context:s,vertexShaderSource:t,fragmentShaderSource:n}),h.shaderProgram=this._spSkyAtmosphere}return h},Srt.prototype.isDestroyed=function(){return!1},Srt.prototype.destroy=function(){const e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),Wl(this)};var jrt=Srt,Prt="uniform samplerCube u_cubeMap;\n\nvarying vec3 v_texCoord;\n\nvoid main()\n{\n vec4 color = textureCube(u_cubeMap, normalize(v_texCoord));\n gl_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime);\n}\n",Rrt="attribute vec3 position;\n\nvarying vec3 v_texCoord;\n\nvoid main()\n{\n vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position));\n gl_Position = czm_projection * vec4(p, 1.0);\n v_texCoord = position.xyz;\n}\n";function Mrt(e){this.sources=e.sources,this._sources=void 0,this.show=Object(o["a"])(e.show,!0),this._command=new nz({modelMatrix:Ne.clone(Ne.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}Mrt.prototype.update=function(e,t){const n=this;if(!this.show)return;if(e.mode!==vq.SCENE3D&&e.mode!==vq.MORPHING)return;if(!e.passes.render)return;const i=e.context;if(this._sources!==this.sources){this._sources=this.sources;const e=this.sources;if(!Object(r["a"])(e.positiveX)||!Object(r["a"])(e.negativeX)||!Object(r["a"])(e.positiveY)||!Object(r["a"])(e.negativeY)||!Object(r["a"])(e.positiveZ)||!Object(r["a"])(e.negativeZ))throw new a["a"]("this.sources is required and must have positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ properties.");if(typeof e.positiveX!==typeof e.negativeX||typeof e.positiveX!==typeof e.positiveY||typeof e.positiveX!==typeof e.negativeY||typeof e.positiveX!==typeof e.positiveZ||typeof e.positiveX!==typeof e.negativeZ)throw new a["a"]("this.sources properties must all be the same type.");"string"===typeof e.positiveX?Cqe(i,this._sources).then((function(e){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=e})):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new ek({context:i,source:e}))}const o=this._command;if(!Object(r["a"])(o.vertexArray)){o.uniformMap={u_cubeMap:function(){return n._cubeMap}};const e=td.createGeometry(td.fromDimensions({dimensions:new g(2,2,2),vertexFormat:Yh.POSITION_ONLY})),t=this._attributeLocations=_m.createAttributeLocations(e);o.vertexArray=BG.fromGeometry({context:i,geometry:e,attributeLocations:t,bufferUsage:EG.STATIC_DRAW}),o.renderState=Mz.fromCache({blending:MF.ALPHA_BLEND})}if(!Object(r["a"])(o.shaderProgram)||this._useHdr!==t){const e=new bG({defines:[t?"HDR":""],sources:[Prt]});o.shaderProgram=IU.fromCache({context:i,vertexShaderSource:Rrt,fragmentShaderSource:e,attributeLocations:this._attributeLocations}),this._useHdr=t}return Object(r["a"])(this._cubeMap)?o:void 0},Mrt.prototype.isDestroyed=function(){return!1},Mrt.prototype.destroy=function(){const e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),Wl(this)};var Nrt=Mrt;function Lrt(e){e=Object(o["a"])(e,1),i["a"].typeOf.number.greaterThan("radius",e,0),this._radius=Object(o["a"])(e,1)}Object.defineProperties(Lrt.prototype,{radius:{get:function(){return this._radius},set:function(e){i["a"].typeOf.number.greaterThan("value",e,0),this._radius=e}}}),Lrt.prototype.emit=function(e){const t=s["a"].randomBetween(0,s["a"].TWO_PI),n=s["a"].randomBetween(0,s["a"].PI),i=s["a"].randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),a=i*Math.cos(n);e.position=g.fromElements(o,r,a,e.position),e.velocity=g.normalize(e.position,e.velocity)};var Brt=Lrt;function Frt(){}Frt.prototype.evaluate=function(e,t){a["a"].throwInstantiationError()},Frt.prototype.evaluateColor=function(e,t){a["a"].throwInstantiationError()},Frt.prototype.getShaderFunction=function(e,t,n,i){a["a"].throwInstantiationError()},Frt.prototype.getVariables=function(){a["a"].throwInstantiationError()};var krt=Frt,zrt="uniform sampler2D u_texture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n vec4 color = texture2D(u_texture, v_textureCoordinates);\n gl_FragColor = czm_gammaCorrect(color);\n}\n",Urt="uniform float u_radiusTS;\n\nvarying vec2 v_textureCoordinates;\n\nvec2 rotate(vec2 p, vec2 direction)\n{\n return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x);\n}\n\nvec4 addBurst(vec2 position, vec2 direction, float lengthScalar)\n{\n vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75);\n float radius = length(rotatedPosition) * lengthScalar;\n float burst = 1.0 - smoothstep(0.0, 0.55, radius);\n return vec4(burst);\n}\n\nvoid main()\n{\n float lengthScalar = 2.0 / sqrt(2.0);\n vec2 position = v_textureCoordinates - vec2(0.5);\n float radius = length(position) * lengthScalar;\n float surface = step(radius, u_radiusTS);\n vec4 color = vec4(vec2(1.0), surface + 0.2, surface);\n\n float glow = 1.0 - smoothstep(0.0, 0.55, radius);\n color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75;\n\n vec4 burst = vec4(0.0);\n\n // The following loop has been manually unrolled for speed, to\n // avoid sin() and cos().\n //\n //for (float i = 0.4; i < 3.2; i += 1.047) {\n // vec2 direction = vec2(sin(i), cos(i));\n // burst += 0.4 * addBurst(position, direction, lengthScalar);\n //\n // direction = vec2(sin(i - 0.08), cos(i - 0.08));\n // burst += 0.3 * addBurst(position, direction, lengthScalar);\n //}\n\n burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4\n burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047\n burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0\n\n burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08\n burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08\n burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08\n\n // End of manual loop unrolling.\n\n color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15;\n\n gl_FragColor = clamp(color, vec4(0.0), vec4(1.0));\n}\n",Vrt="attribute vec2 direction;\n\nuniform float u_size;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main() \n{\n vec4 position;\n if (czm_morphTime == 1.0)\n {\n position = vec4(czm_sunPositionWC, 1.0);\n }\n else\n {\n position = vec4(czm_sunPositionColumbusView.zxy, 1.0);\n }\n \n vec4 positionEC = czm_view * position;\n vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\n \n vec2 halfSize = vec2(u_size * 0.5);\n halfSize *= ((direction * 2.0) - 1.0);\n \n gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);\n \n v_textureCoordinates = direction;\n}\n";function Hrt(){this.show=!0,this._drawCommand=new nz({primitiveType:xh.TRIANGLES,boundingVolume:new Tt,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new Tt,this._boundingVolume2D=new Tt,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;const e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(Hrt.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});const Grt=new Ht,qrt=new Ht,Wrt=new be,Yrt=new be;Hrt.prototype.update=function(e,t,n){if(!this.show)return;const i=e.mode;if(i===vq.SCENE2D||i===vq.MORPHING)return;if(!e.passes.render)return;const o=e.context,a=t.viewport.width,c=t.viewport.height;if(!Object(r["a"])(this._texture)||a!==this._drawingBufferWidth||c!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=a,this._drawingBufferHeight=c,this._glowFactorDirty=!1,this._useHdr=n;let e=Math.max(a,c);e=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))-2),e=Math.max(1,e);const t=n?o.halfFloatingPointTexture?WS.HALF_FLOAT:WS.FLOAT:WS.UNSIGNED_BYTE;this._texture=new nk({context:o,width:e,height:e,pixelFormat:XS.RGBA,pixelDatatype:t}),this._glowLengthTS=5*this._glowFactor,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;const i=this,r={u_radiusTS:function(){return i._radiusTS}};this._commands.computeCommand=new XK({fragmentShaderSource:Urt,outputTexture:this._texture,uniformMap:r,persists:!1,owner:this,postExecute:function(){i._commands.computeCommand=void 0}})}const l=this._drawCommand;if(!Object(r["a"])(l.vertexArray)){const e={direction:0},t=new Uint8Array(8);t[0]=0,t[1]=0,t[2]=255,t[3]=0,t[4]=255,t[5]=255,t[6]=0,t[7]=255;const n=SG.createVertexBuffer({context:o,typedArray:t,usage:EG.STATIC_DRAW}),i=[{index:e.direction,vertexBuffer:n,componentsPerAttribute:2,normalize:!0,componentDatatype:$c.UNSIGNED_BYTE}],r=SG.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:EG.STATIC_DRAW,indexDatatype:uu.UNSIGNED_SHORT});l.vertexArray=new BG({context:o,attributes:i,indexBuffer:r}),l.shaderProgram=IU.fromCache({context:o,vertexShaderSource:Vrt,fragmentShaderSource:zrt,attributeLocations:e}),l.renderState=Mz.fromCache({blending:MF.ALPHA_BLEND}),l.uniformMap=this._uniformMap}const u=o.uniformState.sunPositionWC,h=o.uniformState.sunPositionColumbusView,d=this._boundingVolume,f=this._boundingVolume2D;g.clone(u,d.center),f.center.x=h.z,f.center.y=h.x,f.center.z=h.y,d.radius=s["a"].SOLAR_RADIUS+s["a"].SOLAR_RADIUS*this._glowLengthTS,f.radius=d.radius,i===vq.SCENE3D?Tt.clone(d,l.boundingVolume):i===vq.COLUMBUS_VIEW&&Tt.clone(f,l.boundingVolume);const p=qie.computeActualWgs84Position(e,u,Yrt),m=g.magnitude(g.subtract(p,e.camera.position,Yrt)),_=o.uniformState.projection,b=Wrt;b.x=0,b.y=0,b.z=-m,b.w=1;const y=Ne.multiplyByVector(_,b,Yrt),v=qie.clipToGLWindowCoordinates(t.viewport,y,Grt);b.x=s["a"].SOLAR_RADIUS;const O=Ne.multiplyByVector(_,b,Yrt),w=qie.clipToGLWindowCoordinates(t.viewport,O,qrt);return this._size=Ht.magnitude(Ht.subtract(w,v,Yrt)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands},Hrt.prototype.isDestroyed=function(){return!1},Hrt.prototype.destroy=function(){const e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),Wl(this)};var Xrt=Hrt;function Krt(){}Krt.prototype.boundingVolume=void 0,Krt.prototype.boundingSphere=void 0,Krt.prototype.distanceToCamera=function(e){a["a"].throwInstantiationError()},Krt.prototype.intersectPlane=function(e){a["a"].throwInstantiationError()},Krt.prototype.createDebugVolume=function(e){a["a"].throwInstantiationError()};var Jrt=Krt;function Zrt(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this._tilingScheme=Object(r["a"])(e.tilingScheme)?e.tilingScheme:new qt({ellipsoid:e.ellipsoid}),this._color=Object(o["a"])(e.color,j_.YELLOW),this._errorEvent=new pi["a"],this._tileWidth=Object(o["a"])(e.tileWidth,256),this._tileHeight=Object(o["a"])(e.tileHeight,256),this._readyPromise=Promise.resolve(!0),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0}Object.defineProperties(Zrt.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}}),Zrt.prototype.getTileCredits=function(e,t,n){},Zrt.prototype.requestImage=function(e,t,n,i){const o=document.createElement("canvas");o.width=256,o.height=256;const r=o.getContext("2d"),a=this._color.toCssColorString();return r.strokeStyle=a,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=a,r.fillText("L: "+n,124,86),r.fillText("X: "+e,124,136),r.fillText("Y: "+t,124,186),Promise.resolve(o)},Zrt.prototype.pickFeatures=function(e,t,n,i,o){};var $rt=Zrt;function Qrt(e){a["a"].throwInstantiationError()}Qrt.prototype.isReady=a["a"].throwInstantiationError,Qrt.prototype.shouldDiscardImage=a["a"].throwInstantiationError;var eat=Qrt;const tat={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3};var nat=Object.freeze(tat);function iat(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),i["a"].typeOf.object("options.clock",e.clock),i["a"].typeOf.object("options.intervals",e.intervals),this.show=Object(o["a"])(e.show,!0),this.modelMatrix=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),this.shadows=Object(o["a"])(e.shadows,wq.ENABLED),this.maximumMemoryUsage=Object(o["a"])(e.maximumMemoryUsage,256),this.shading=new oie(e.shading),this.style=e.style,this.frameFailed=new pi["a"],this.frameChanged=new pi["a"],this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new nie,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._resolveReadyPromise=void 0;const t=this;this._readyPromise=new Promise((function(e){t._resolveReadyPromise=e})),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=Ah(new Array(5),0),this._runningAverage=0}function oat(e){return"uniform vec4 czm_pickColor;\n"+e}function rat(e){return function(t){return Object(xS["a"])(t,{czm_pickColor:function(){return e._pickId.color}})}}function aat(){return"czm_pickColor"}Object.defineProperties(iat.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){M2.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(Object(r["a"])(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return this._readyPromise}}}),iat.prototype.makeStyleDirty=function(){this._styleDirty=!0},iat.prototype._getAverageLoadTime=function(){return 0===this._runningLength?.05:this._runningAverage};const sat=new gr;function cat(e){const t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function lat(e,t){return e._intervals.indexOf(t.start)}function uat(e,t){const n=e._intervals,i=e._clock,o=cat(e);if(0===o)return;const r=e._getAverageLoadTime(),a=gr.addSeconds(i.currentTime,r*o,sat);let s=n.indexOf(a);const c=lat(e,t);return s===c&&(o>=0?++s:--s),n.get(s)}function hat(e){const t=e._intervals,n=e._clock,i=n.currentTime,o=t.indexOf(i);return t.get(o)}function dat(e,t,n){const i=cat(e),o=lat(e,t),r=lat(e,n);return i>=0?o>=r:o<=r}function fat(e,t){return function(n){const i=Object(r["a"])(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log("A frame failed to load: "+t),console.log("Error: "+i))}}function pat(e,t,n){const i=lat(e,t),o=e._frames;let a=o[i];if(!Object(r["a"])(a)){const s=t.data.transform,c=Object(r["a"])(s)?Ne.fromArray(s):void 0,l=t.data.uri;a={pointCloud:void 0,transform:c,timestamp:y_(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber},o[i]=a,Et["a"].fetchArrayBuffer({url:l}).then((function(t){return a.pointCloud=new Nne({arrayBuffer:t,cull:!0,fragmentShaderLoaded:oat,uniformMapLoaded:rat(e),pickIdLoaded:aat}),a.pointCloud.readyPromise})).catch(fat(e,l))}return a}function mat(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function _at(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);const o=t.pointCloud;if(Object(r["a"])(o)&&!t.ready){const r=i.commandList,a=r.length;if(Oat(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=a,t.sequential)){const n=(y_()-t.timestamp)/1e3;mat(e,n)}}t.touchedFrameNumber=i.frameNumber}const gat=new Ne;function bat(e,t){const n=e.shading;return Object(r["a"])(n)&&Object(r["a"])(n.baseResolution)?n.baseResolution:Object(r["a"])(t.boundingSphere)?s["a"].cbrt(t.boundingSphere.volume()/t.pointsLength):0}function yat(e){const t=e.shading;return Object(r["a"])(t)&&Object(r["a"])(t.maximumAttenuation)?t.maximumAttenuation:10}const vat=new oie;function Oat(e,t,n,i){const r=Object(o["a"])(e.shading,vat),a=t.pointCloud,s=Object(o["a"])(t.transform,Ne.IDENTITY);a.modelMatrix=Ne.multiplyTransformation(e.modelMatrix,s,gat),a.style=e.style,a.time=n.timeSinceLoad,a.shadows=e.shadows,a.clippingPlanes=e._clippingPlanes,a.isClipped=n.isClipped,a.attenuation=r.attenuation,a.backFaceCulling=r.backFaceCulling,a.normalShading=r.normalShading,a.geometricError=bat(e,a),a.geometricErrorScale=r.geometricErrorScale,a.maximumAttenuation=yat(e),a.update(i),t.touchedFrameNumber=i.frameNumber}function wat(e,t,n,i){const o=pat(e,t,i);_at(e,o,n,i)}function Aat(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function Tat(e,t){const n=e._frames,i=n.length;for(let o=0;o<i;++o){const i=n[o];if(Object(r["a"])(i)&&(!Object(r["a"])(t)||t(i))){const t=i.pointCloud;i.ready&&(e._totalMemoryUsageInBytes-=t.geometryByteLength),Object(r["a"])(t)&&t.destroy(),i===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function Cat(e,t){const n=lat(e,t),i=e._frames[n];if(Object(r["a"])(i)&&i.ready)return i}function Eat(e,t,n,i,o){return!!Object(r["a"])(n)&&(!!n.ready||(wat(e,t,i,o),n.ready))}function xat(e,t,n,i,o){let r,a,s;const c=e._intervals,l=e._frames,u=lat(e,n),h=lat(e,t);if(u>=h){for(r=u;r>=h;--r)if(a=c.get(r),s=l[r],Eat(e,a,s,i,o))return a}else for(r=u;r<=h;++r)if(a=c.get(r),s=l[r],Eat(e,a,s,i,o))return a;return t}function Sat(e,t,n){const i=e._frames,o=i.length;for(let a=0;a<o;++a){const e=i[a];Object(r["a"])(e)&&Object(r["a"])(e.pointCloud)&&(e.pointCloud.clippingPlanesDirty=t,e.pointCloud.styleDirty=n)}}const Iat={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};iat.prototype.update=function(e){if(e.mode===vq.MORPHING)return;if(!this.show)return;Object(r["a"])(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),Object(r["a"])(this._loadTimestamp)||(this._loadTimestamp=gr.clone(e.time));const t=Math.max(1e3*gr.secondsDifference(e.time,this._loadTimestamp),0),n=this._clippingPlanes;let i=0,o=!1;const a=Object(r["a"])(n)&&n.enabled;a&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);const s=this._styleDirty;this._styleDirty=!1,(o||s)&&Sat(this,o,s),Iat.timeSinceLoad=t,Iat.isClipped=a;const c=this.shading,l=this._pointCloudEyeDomeLighting,u=e.commandList,h=u.length;let d=this._previousInterval,f=this._nextInterval;const p=hat(this);if(!Object(r["a"])(p))return;let m=!1;const _=cat(this),g=0===_;_!==this._clockMultiplier&&(m=!0,this._clockMultiplier=_),Object(r["a"])(d)&&!g||(d=p),(!Object(r["a"])(f)||m||dat(this,p,f))&&(f=uat(this,p)),d=xat(this,d,p,Iat,e);let b=Cat(this,d);Object(r["a"])(b)||(wat(this,d,Iat,e),b=this._lastRenderedFrame),Object(r["a"])(b)&&Oat(this,b,Iat,e),Object(r["a"])(f)&&wat(this,f,Iat,e);const y=this;Object(r["a"])(b)&&!Object(r["a"])(this._lastRenderedFrame)&&e.afterRender.push((function(){y._resolveReadyPromise(y)})),Object(r["a"])(b)&&b!==this._lastRenderedFrame&&y.frameChanged.numberOfListeners>0&&e.afterRender.push((function(){y.frameChanged.raiseEvent(y)})),this._previousInterval=d,this._nextInterval=f,this._lastRenderedFrame=b;const v=this._totalMemoryUsageInBytes,O=1024*this.maximumMemoryUsage*1024;v>O&&Tat(this,Aat(e));const w=u.length,A=w-h;Object(r["a"])(c)&&c.attenuation&&c.eyeDomeLighting&&A>0&&l.update(e,h,c,this.boundingSphere)},iat.prototype.isDestroyed=function(){return!1},iat.prototype.destroy=function(){return Tat(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),Wl(this)};var Dat=iat,jat="\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n czm_materialInput materialInput;\n \n materialInput.s = v_textureCoordinates.s;\n materialInput.st = v_textureCoordinates;\n materialInput.str = vec3(v_textureCoordinates, 0.0);\n materialInput.normalEC = vec3(0.0, 0.0, -1.0);\n \n czm_material material = czm_getMaterial(materialInput);\n\n gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n}\n";function Pat(e,t){this.show=!0,Object(r["a"])(e)||(e=new Oh),this.rectangle=Oh.clone(e),Object(r["a"])(t)||(t=Uk.fromType(Uk.ColorType,{color:new j_(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}Pat.prototype.update=function(e){if(!this.show)return;if(!Object(r["a"])(this.material))throw new a["a"]("this.material must be defined.");if(!Object(r["a"])(this.rectangle))throw new a["a"]("this.rectangle must be defined.");const t=this._rs;Object(r["a"])(t)&&Oh.equals(t.viewport,this.rectangle)||(this._rs=Mz.fromCache({blending:MF.ALPHA_BLEND,viewport:this.rectangle}));const n=e.passes;if(n.render){const t=e.context;if(this._material!==this.material||!Object(r["a"])(this._overlayCommand)){this._material=this.material,Object(r["a"])(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();const e=new bG({sources:[this._material.shaderSource,jat]});this._overlayCommand=t.createViewportQuadCommand(e,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=oz.OVERLAY}this._material.update(t),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}},Pat.prototype.isDestroyed=function(){return!1},Pat.prototype.destroy=function(){return Object(r["a"])(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),Wl(this)};var Rat=Pat;function Mat(e,t){const n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid;let a;const s=t.camera.getRectangleCameraCoordinates(e);return a=t.mode===vq.SCENE3D?o.cartesianToCartographic(s):i.unproject(s),Object(r["a"])(n)?n.readyPromise.then((function(){const i=n.availability;if(!Object(r["a"])(i)||t.mode===vq.SCENE2D)return a;const o=[Fe.center(e),Fe.southeast(e),Fe.southwest(e),Fe.northeast(e),Fe.northwest(e)];return Mat._sampleTerrainMostDetailed(n,o).then((function(e){const t=e.reduce((function(e,t){return Math.max(t.height,e)}),-Number.MAX_VALUE),n=a;return n.height+=t,n}))})):Promise.resolve(a)}Mat._sampleTerrainMostDetailed=IB;var Nat=Mat;const Lat=new j_,Bat=new j_,Fat=new j_,kat=new j_,zat=new be,Uat=new Uint8Array(4);function Vat(e,t,n,i){const o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return j_.lerp(t.color,n.color,o,i)}function Hat(e,t){return{height:e,color:j_.clone(t)}}function Gat(e){return e=e.filter((function(e,t,n){const i=t>0,o=t<n.length-1,r=!i||e.height===n[t-1].height,a=!o||e.height===n[t+1].height,s=!r||!a;return s})),e=e.filter((function(e,t,n){const i=t>0,o=t<n.length-1,r=!!i&&j_.equals(e.color,n[t-1].color),a=!!o&&j_.equals(e.color,n[t+1].color),s=!r||!a;return s})),e=e.filter((function(e,t,n){const i=t>0,o=!!i&&j_.equals(e.color,n[t-1].color),r=!i||e.height===n[t-1].height,a=!o||!r;return a})),e}function qat(e){let t,n;const i=[],c=e.length;for(t=0;t<c;t++){const c=e[t],l=c.entries,u=l.length;if(!Array.isArray(l)||0===u)throw new a["a"]("entries must be an array with size > 0.");let h=[];for(n=0;n<u;n++){const e=l[n];if(!Object(r["a"])(e.height))throw new a["a"]("entry requires a height.");if(!Object(r["a"])(e.color))throw new a["a"]("entry requires a color.");const t=s["a"].clamp(e.height,Yat._minimumHeight,Yat._maximumHeight),i=j_.clone(e.color,Lat);i.red*=i.alpha,i.green*=i.alpha,i.blue*=i.alpha,h.push(Hat(t,i))}let d=!0,f=!0;for(n=0;n<u-1;n++){const e=h[n+0],t=h[n+1];d=d&&e.height<=t.height,f=f&&e.height>=t.height}f?h=h.reverse():d||hB(h,(function(e,t){return s["a"].sign(e.height-t.height)}));let p=Object(o["a"])(c.extendDownwards,!1),m=Object(o["a"])(c.extendUpwards,!1);1!==h.length||p||m||(p=!0,m=!0),p&&h.splice(0,0,Hat(Yat._minimumHeight,h[0].color)),m&&h.splice(h.length,0,Hat(Yat._maximumHeight,h[h.length-1].color)),h=Gat(h),i.push(h)}return i}function Wat(e){const t=qat(e);let n,i=[],o=[];function a(e,t){i.push(Hat(e,t))}function s(e,t,n){let i=j_.multiplyByScalar(n,1-t.alpha,kat);i=j_.add(i,t,i),a(e,i)}const c=t.length;for(n=0;n<c;n++){const e=t[n];let c=0,l=0;o=i,i=[];const u=e.length,h=o.length;while(c<u||l<h){const t=c<u?e[c]:void 0,n=c>0?e[c-1]:void 0,i=c<u-1?e[c+1]:void 0,d=l<h?o[l]:void 0,f=l>0?o[l-1]:void 0,p=l<h-1?o[l+1]:void 0;if(Object(r["a"])(t)&&Object(r["a"])(d)&&t.height===d.height){const e=Object(r["a"])(p)&&d.height===p.height,o=!Object(r["a"])(f),u=!Object(r["a"])(p),h=Object(r["a"])(i)&&t.height===i.height,m=!Object(r["a"])(n),_=!Object(r["a"])(i);e?h?(s(t.height,t.color,d.color),s(t.height,i.color,p.color)):m?(a(t.height,d.color),s(t.height,t.color,p.color)):_?(s(t.height,t.color,d.color),a(t.height,p.color)):(s(t.height,t.color,d.color),s(t.height,t.color,p.color)):o?h?(a(t.height,t.color),s(t.height,i.color,d.color)):_?(a(t.height,t.color),a(t.height,d.color)):(m||a(t.height,t.color),s(t.height,t.color,d.color)):u?h?(s(t.height,t.color,d.color),a(t.height,i.color)):m?(a(t.height,d.color),a(t.height,t.color)):_?s(t.height,t.color,d.color):(s(t.height,t.color,d.color),a(t.height,t.color)):h?(s(t.height,t.color,d.color),s(t.height,i.color,d.color)):m?(a(t.height,d.color),s(t.height,t.color,d.color)):_?(s(t.height,t.color,d.color),a(t.height,d.color)):s(t.height,t.color,d.color),c+=h?2:1,l+=e?2:1}else if(Object(r["a"])(t)&&Object(r["a"])(d)&&Object(r["a"])(f)&&t.height<d.height){const e=Vat(t.height,f,d,Fat);Object(r["a"])(n)?Object(r["a"])(i)?s(t.height,t.color,e):(s(t.height,t.color,e),a(t.height,e)):(a(t.height,e),s(t.height,t.color,e)),c++}else if(Object(r["a"])(d)&&Object(r["a"])(t)&&Object(r["a"])(n)&&d.height<t.height){const e=Vat(d.height,n,t,Bat);Object(r["a"])(f)?Object(r["a"])(p)?s(d.height,e,d.color):(s(d.height,e,d.color),a(d.height,e)):(a(d.height,e),s(d.height,e,d.color)),l++}else Object(r["a"])(t)&&(!Object(r["a"])(d)||t.height<d.height)?(!Object(r["a"])(d)||Object(r["a"])(f)||Object(r["a"])(i)?(Object(r["a"])(d)||!Object(r["a"])(f)||Object(r["a"])(n)||(a(f.height,Yat._emptyColor),a(t.height,Yat._emptyColor)),a(t.height,t.color)):(a(t.height,t.color),a(t.height,Yat._emptyColor),a(d.height,Yat._emptyColor)),c++):Object(r["a"])(d)&&(!Object(r["a"])(t)||d.height<t.height)&&(a(d.height,d.color),l++)}}const l=Gat(i);return l}function Yat(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.scene,n=e.layers;i["a"].typeOf.object("options.scene",t),i["a"].defined("options.layers",n),i["a"].typeOf.number.greaterThan("options.layers.length",n.length,0);const r=Wat(n),a=r.length;let s,c,l,u;const h=!Yat._useFloatTexture(t.context);if(h)for(l=WS.UNSIGNED_BYTE,u=XS.RGBA,c=new Uint8Array(4*a),s=0;s<a;s++)be.packFloat(r[s].height,zat),be.pack(zat,c,4*s);else for(l=WS.FLOAT,u=XS.LUMINANCE,c=new Float32Array(a),s=0;s<a;s++)c[s]=r[s].height;const d=nk.create({context:t.context,pixelFormat:u,pixelDatatype:l,source:{arrayBufferView:c,width:a,height:1},sampler:new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.NEAREST,magnificationFilter:WF.NEAREST})}),f=new Uint8Array(4*a);for(s=0;s<a;s++){const e=r[s].color;e.toBytes(Uat),f[4*s+0]=Uat[0],f[4*s+1]=Uat[1],f[4*s+2]=Uat[2],f[4*s+3]=Uat[3]}const p=nk.create({context:t.context,pixelFormat:XS.RGBA,pixelDatatype:WS.UNSIGNED_BYTE,source:{arrayBufferView:f,width:a,height:1},sampler:new $F({wrapS:JF.CLAMP_TO_EDGE,wrapT:JF.CLAMP_TO_EDGE,minificationFilter:XF.LINEAR,magnificationFilter:WF.LINEAR})}),m=Uk.fromType("ElevationBand",{heights:d,colors:p});return m}Yat._useFloatTexture=function(e){return e.floatingPointTexture},Yat._maximumHeight=5906376425472,Yat._minimumHeight=-5906376425472,Yat._emptyColor=new j_(0,0,0,0);var Xat=Yat;function Kat(e){e=Object(xS["a"])(e,{url:jx.fromAssetId(96188)});const t=new HOe(e);let n=e.style;if(!Object(r["a"])(n)){const t=Object(o["a"])(e.defaultColor,j_.WHITE).toCssColorString();n=new TKe({color:"Boolean(${feature['cesium#color']}) ? color(${feature['cesium#color']}) : "+t})}return t.style=n,t}var Jat=Kat;function Zat(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=[];let n=e.geometry;if(!Object(r["a"])(n))throw new a["a"]("options.geometry is required.");Object(r["a"])(n.attributes)&&Object(r["a"])(n.primitiveType)||(n=n.constructor.createGeometry(n));const i=n.attributes,s=Ne.clone(Object(o["a"])(e.modelMatrix,Ne.IDENTITY)),c=Object(o["a"])(e.length,1e4);if(Object(r["a"])(i.normal)&&t.push(new Df({geometry:_m.createLineSegmentsForVectors(n,"normal",c),attributes:{color:new R_(1,0,0,1)},modelMatrix:s})),Object(r["a"])(i.tangent)&&t.push(new Df({geometry:_m.createLineSegmentsForVectors(n,"tangent",c),attributes:{color:new R_(0,1,0,1)},modelMatrix:s})),Object(r["a"])(i.bitangent)&&t.push(new Df({geometry:_m.createLineSegmentsForVectors(n,"bitangent",c),attributes:{color:new R_(0,0,1,1)},modelMatrix:s})),t.length>0)return new bW({asynchronous:!1,geometryInstances:t,appearance:new Kk({flat:!0,translucent:!1})})}var $at=Zat;function Qat(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(o["a"])(e.style,f5e.AERIAL);return new h5e({assetId:t})}var est=Qat,tst=n("97e0"),nst="__knockoutObservables",ist="__knockoutSubscribable";function ost(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=rst(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach((function(t){if(t!==nst&&t!==ist&&!(t in i)){var o=e[t],r=o instanceof Array,a=n.isObservable(o)?o:r?n.observableArray(o):n.observable(o);Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[t]=a,r&&sst(n,a)}})),e}function rst(e,t){var n=e[nst];return!n&&t&&(n={},Object.defineProperty(e,nst,{value:n})),n}function ast(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if("function"===typeof n)o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if("function"!==typeof n.get)throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),ost.call(i,e,[t]),e}function sst(e,t){var n=null;e.computed((function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=cst(e,t,i))}))}function cst(e,t,n){var i=lst(e,n);return i.subscribe(t)}function lst(e,t){var n=t[ist];if(!n){n=new e.subscribable,Object.defineProperty(t,ist,{value:n});var i={};ust(t,n,i),hst(e,t,n,i)}return n}function ust(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach((function(i){var o=e[i];e[i]=function(){var e=o.apply(this,arguments);return!0!==n.pause&&t.notifySubscribers(this),e}}))}function hst(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach((function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})}))}function dst(e,t){if(!e)return null;var n=rst(e,!1);return n&&n[t]||null}function fst(e,t){var n=dst(e,t);n&&n.valueHasMutated()}function pst(e){e.track=ost,e.getObservable=dst,e.valueHasMutated=fst,e.defineProperty=ast}var mst={attachToKo:pst};const _st="http://www.w3.org/2000/svg",gst="cesium-svgPath-svg",bst={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){const i=document.createElementNS(_st,"svg:svg");i.setAttribute("class",gst);const o=document.createElementNS(_st,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){const t=e.unwrap(n());o.setAttribute("d",e.unwrap(t.path));const r=e.unwrap(t.width),a=e.unwrap(t.height);i.setAttribute("width",r),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${r} ${a}`),t.css&&i.setAttribute("class",`${gst} ${e.unwrap(t.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}};var yst=bst;mst.attachToKo(tst["a"]),yst.register(tst["a"]);var vst=tst["a"],Ost=n("3596"),wst=Object(m1["b"])((function(e){
  62. /* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */
  63. (function(){var t=function(){var e={defaultNoDataValue:-34027999387901484e22,decode:function(r,a){a=a||{};var s=a.encodedMaskData||null===a.encodedMaskData,c=o(r,a.inputOffset||0,s),l=null!==a.noDataValue?a.noDataValue:e.defaultNoDataValue,u=t(c,a.pixelType||Float32Array,a.encodedMaskData,l,a.returnMask),h={width:c.width,height:c.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:c.pixels.maxValue,noDataValue:l};return u.resultMask&&(h.maskData=u.resultMask),a.returnEncodedMask&&c.mask&&(h.encodedMaskData=c.mask.bitset?c.mask.bitset:null),a.returnFileInfo&&(h.fileInfo=n(c),a.computeUsedBitDepths&&(h.fileInfo.bitDepths=i(c))),h}},t=function(e,t,n,i,o){var a,s,c,l=0,u=e.pixels.numBlocksX,h=e.pixels.numBlocksY,d=Math.floor(e.width/u),f=Math.floor(e.height/h),p=2*e.maxZError,m=Number.MAX_VALUE;n=n||(e.mask?e.mask.bitset:null),s=new t(e.width*e.height),o&&n&&(c=new Uint8Array(e.width*e.height));for(var _,g,b=new Float32Array(d*f),y=0;y<=h;y++){var v=y!==h?f:e.height%h;if(0!==v)for(var O=0;O<=u;O++){var w=O!==u?d:e.width%u;if(0!==w){var A,T,C,E,x=y*e.width*f+O*d,S=e.width-w,I=e.pixels.blocks[l];if(I.encoding<2?(0===I.encoding?A=I.rawData:(r(I.stuffedData,I.bitsPerPixel,I.numValidPixels,I.offset,p,b,e.pixels.maxValue),A=b),T=0):C=2===I.encoding?0:I.offset,n)for(g=0;g<v;g++){for(7&x&&(E=n[x>>3],E<<=7&x),_=0;_<w;_++)7&x||(E=n[x>>3]),128&E?(c&&(c[x]=1),a=I.encoding<2?A[T++]:C,m=m>a?a:m,s[x++]=a):(c&&(c[x]=0),s[x++]=i),E<<=1;x+=S}else if(I.encoding<2)for(g=0;g<v;g++){for(_=0;_<w;_++)a=A[T++],m=m>a?a:m,s[x++]=a;x+=S}else for(m=m>C?C:m,g=0;g<v;g++){for(_=0;_<w;_++)s[x++]=C;x+=S}if(1===I.encoding&&T!==I.numValidPixels)throw"Block and Mask do not match";l++}}}return{resultPixels:s,resultMask:c,minValue:m}},n=function(e){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,noDataValue:e.noDataValue}}},i=function(e){for(var t=e.pixels.numBlocksX*e.pixels.numBlocksY,n={},i=0;i<t;i++){var o=e.pixels.blocks[i];0===o.encoding?n.float32=!0:1===o.encoding?n[o.bitsPerPixel]=!0:n[0]=!0}return Object.keys(n)},o=function(e,t,n){var i={},o=new Uint8Array(e,t,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,o),"CntZImage"!==i.fileIdentifierString.trim())throw"Unexpected file identifier string: "+i.fileIdentifierString;t+=10;var r=new DataView(e,t,24);if(i.fileVersion=r.getInt32(0,!0),i.imageType=r.getInt32(4,!0),i.height=r.getUint32(8,!0),i.width=r.getUint32(12,!0),i.maxZError=r.getFloat64(16,!0),t+=24,!n)if(r=new DataView(e,t,16),i.mask={},i.mask.numBlocksY=r.getUint32(0,!0),i.mask.numBlocksX=r.getUint32(4,!0),i.mask.numBytes=r.getUint32(8,!0),i.mask.maxValue=r.getFloat32(12,!0),t+=16,i.mask.numBytes>0){var a=new Uint8Array(Math.ceil(i.width*i.height/8));r=new DataView(e,t,i.mask.numBytes);var s=r.getInt16(0,!0),c=2,l=0;do{if(s>0)while(s--)a[l++]=r.getUint8(c++);else{var u=r.getUint8(c++);s=-s;while(s--)a[l++]=u}s=r.getInt16(c,!0),c+=2}while(c<i.mask.numBytes);if(-32768!==s||l<a.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=a,t+=i.mask.numBytes}else 0===(i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue)&&(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));r=new DataView(e,t,16),i.pixels={},i.pixels.numBlocksY=r.getUint32(0,!0),i.pixels.numBlocksX=r.getUint32(4,!0),i.pixels.numBytes=r.getUint32(8,!0),i.pixels.maxValue=r.getFloat32(12,!0),t+=16;var h=i.pixels.numBlocksX,d=i.pixels.numBlocksY,f=h+(i.width%h>0?1:0),p=d+(i.height%d>0?1:0);i.pixels.blocks=new Array(f*p);for(var m=0,_=0;_<p;_++)for(var g=0;g<f;g++){var b=0,y=e.byteLength-t;r=new DataView(e,t,Math.min(10,y));var v={};i.pixels.blocks[m++]=v;var O=r.getUint8(0);if(b++,v.encoding=63&O,v.encoding>3)throw"Invalid block encoding ("+v.encoding+")";if(2!==v.encoding){if(0!==O&&2!==O){if(O>>=6,v.offsetType=O,2===O)v.offset=r.getInt8(1),b++;else if(1===O)v.offset=r.getInt16(1,!0),b+=2;else{if(0!==O)throw"Invalid block offset type";v.offset=r.getFloat32(1,!0),b+=4}if(1===v.encoding)if(O=r.getUint8(b),b++,v.bitsPerPixel=63&O,O>>=6,v.numValidPixelsType=O,2===O)v.numValidPixels=r.getUint8(b),b++;else if(1===O)v.numValidPixels=r.getUint16(b,!0),b+=2;else{if(0!==O)throw"Invalid valid pixel count type";v.numValidPixels=r.getUint32(b,!0),b+=4}}var w,A;if(t+=b,3!==v.encoding)if(0===v.encoding){var T=(i.pixels.numBytes-1)/4;if(T!==Math.floor(T))throw"uncompressed block has invalid length";w=new ArrayBuffer(4*T),A=new Uint8Array(w),A.set(new Uint8Array(e,t,4*T));var C=new Float32Array(w);v.rawData=C,t+=4*T}else if(1===v.encoding){var E=Math.ceil(v.numValidPixels*v.bitsPerPixel/8),x=Math.ceil(E/4);w=new ArrayBuffer(4*x),A=new Uint8Array(w),A.set(new Uint8Array(e,t,E)),v.stuffedData=new Uint32Array(w),t+=E}}else t++}return i.eofOffset=t,i},r=function(e,t,n,i,o,r,a){var s,c,l,u=(1<<t)-1,h=0,d=0,f=Math.ceil((a-i)/o),p=4*e.length-Math.ceil(t*n/8);for(e[e.length-1]<<=8*p,s=0;s<n;s++){if(0===d&&(l=e[h++],d=32),d>=t)c=l>>>d-t&u,d-=t;else{var m=t-d;c=(l&u)<<m&u,l=e[h++],d=32-m,c+=l>>>d}r[s]=c<f?i+c*o:a}return r};return e}(),n=function(){var e={unstuff:function(e,t,n,i,o,r,a,s){var c,l,u,h,d,f=(1<<n)-1,p=0,m=0,_=4*e.length-Math.ceil(n*i/8);if(e[e.length-1]<<=8*_,o)for(c=0;c<i;c++)0===m&&(u=e[p++],m=32),m>=n?(l=u>>>m-n&f,m-=n):(h=n-m,l=(u&f)<<h&f,u=e[p++],m=32-h,l+=u>>>m),t[c]=o[l];else for(d=Math.ceil((s-r)/a),c=0;c<i;c++)0===m&&(u=e[p++],m=32),m>=n?(l=u>>>m-n&f,m-=n):(h=n-m,l=(u&f)<<h&f,u=e[p++],m=32-h,l+=u>>>m),t[c]=l<d?r+l*a:s},unstuffLUT:function(e,t,n,i,o,r){var a,s=(1<<t)-1,c=0,l=0,u=0,h=0,d=0,f=[],p=4*e.length-Math.ceil(t*n/8);e[e.length-1]<<=8*p;var m=Math.ceil((r-i)/o);for(l=0;l<n;l++)0===h&&(a=e[c++],h=32),h>=t?(d=a>>>h-t&s,h-=t):(u=t-h,d=(a&s)<<u&s,a=e[c++],h=32-u,d+=a>>>h),f[l]=d<m?i+d*o:r;return f.unshift(i),f},unstuff2:function(e,t,n,i,o,r,a,s){var c,l,u,h,d=(1<<n)-1,f=0,p=0,m=0;if(o)for(c=0;c<i;c++)0===p&&(u=e[f++],p=32,m=0),p>=n?(l=u>>>m&d,p-=n,m+=n):(h=n-p,l=u>>>m&d,u=e[f++],p=32-h,l|=(u&(1<<h)-1)<<n-h,m=h),t[c]=o[l];else{var _=Math.ceil((s-r)/a);for(c=0;c<i;c++)0===p&&(u=e[f++],p=32,m=0),p>=n?(l=u>>>m&d,p-=n,m+=n):(h=n-p,l=u>>>m&d,u=e[f++],p=32-h,l|=(u&(1<<h)-1)<<n-h,m=h),t[c]=l<_?r+l*a:s}return t},unstuffLUT2:function(e,t,n,i,o,r){var a,s=(1<<t)-1,c=0,l=0,u=0,h=0,d=0,f=0,p=[],m=Math.ceil((r-i)/o);for(l=0;l<n;l++)0===h&&(a=e[c++],h=32,f=0),h>=t?(d=a>>>f&s,h-=t,f+=t):(u=t-h,d=a>>>f&s,a=e[c++],h=32-u,d|=(a&(1<<u)-1)<<t-u,f=u),p[l]=d<m?i+d*o:r;return p.unshift(i),p},originalUnstuff:function(e,t,n,i){var o,r,a,s,c=(1<<n)-1,l=0,u=0,h=4*e.length-Math.ceil(n*i/8);for(e[e.length-1]<<=8*h,o=0;o<i;o++)0===u&&(a=e[l++],u=32),u>=n?(r=a>>>u-n&c,u-=n):(s=n-u,r=(a&c)<<s&c,a=e[l++],u=32-s,r+=a>>>u),t[o]=r;return t},originalUnstuff2:function(e,t,n,i){var o,r,a,s,c=(1<<n)-1,l=0,u=0,h=0;for(o=0;o<i;o++)0===u&&(a=e[l++],u=32,h=0),u>=n?(r=a>>>h&c,u-=n,h+=n):(s=n-u,r=a>>>h&c,a=e[l++],u=32-s,r|=(a&(1<<s)-1)<<n-s,h=s),t[o]=r;return t}},t={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(e){var t=65535,n=65535,i=e.length,o=Math.floor(i/2),r=0;while(o){var a=o>=359?359:o;o-=a;do{t+=e[r++]<<8,n+=t+=e[r++]}while(--a);t=(65535&t)+(t>>>16),n=(65535&n)+(n>>>16)}return 1&i&&(n+=t+=e[r]<<8),t=(65535&t)+(t>>>16),n=(65535&n)+(n>>>16),(n<<16|t)>>>0},readHeaderInfo:function(e,t){var n=t.ptr,i=new Uint8Array(e,n,6),o={};if(o.fileIdentifierString=String.fromCharCode.apply(null,i),0!==o.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+o.fileIdentifierString;n+=6;var r,a,s=new DataView(e,n,8),c=s.getInt32(0,!0);if(o.fileVersion=c,n+=4,c>=3&&(o.checksum=s.getUint32(4,!0),n+=4),s=new DataView(e,n,12),o.height=s.getUint32(0,!0),o.width=s.getUint32(4,!0),n+=8,c>=4?(o.numDims=s.getUint32(8,!0),n+=4):o.numDims=1,s=new DataView(e,n,40),o.numValidPixel=s.getUint32(0,!0),o.microBlockSize=s.getInt32(4,!0),o.blobSize=s.getInt32(8,!0),o.imageType=s.getInt32(12,!0),o.maxZError=s.getFloat64(16,!0),o.zMin=s.getFloat64(24,!0),o.zMax=s.getFloat64(32,!0),n+=40,t.headerInfo=o,t.ptr=n,c>=3&&(a=c>=4?52:48,r=this.computeChecksumFletcher32(new Uint8Array(e,n-a,o.blobSize-14)),r!==o.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var n=t.headerInfo,i=this.getDataTypeArray(n.imageType),o=n.numDims*this.getDataTypeSize(n.imageType),r=this.readSubArray(e,t.ptr,i,o),a=this.readSubArray(e,t.ptr+o,i,o);t.ptr+=2*o;var s,c=!0;for(s=0;s<n.numDims;s++)if(r[s]!==a[s]){c=!1;break}return n.minValues=r,n.maxValues=a,c},readSubArray:function(e,t,n,i){var o;if(n===Uint8Array)o=new Uint8Array(e,t,i);else{var r=new ArrayBuffer(i),a=new Uint8Array(r);a.set(new Uint8Array(e,t,i)),o=new n(r)}return o},readMask:function(e,t){var n,i,o=t.ptr,r=t.headerInfo,a=r.width*r.height,s=r.numValidPixel,c=new DataView(e,o,4),l={};if(l.numBytes=c.getUint32(0,!0),o+=4,(0===s||a===s)&&0!==l.numBytes)throw"invalid mask";if(0===s)n=new Uint8Array(Math.ceil(a/8)),l.bitset=n,i=new Uint8Array(a),t.pixels.resultMask=i,o+=l.numBytes;else if(l.numBytes>0){n=new Uint8Array(Math.ceil(a/8)),c=new DataView(e,o,l.numBytes);var u=c.getInt16(0,!0),h=2,d=0,f=0;do{if(u>0)while(u--)n[d++]=c.getUint8(h++);else{f=c.getUint8(h++),u=-u;while(u--)n[d++]=f}u=c.getInt16(h,!0),h+=2}while(h<l.numBytes);if(-32768!==u||d<n.length)throw"Unexpected end of mask RLE encoding";i=new Uint8Array(a);var p=0,m=0;for(m=0;m<a;m++)7&m?(p=n[m>>3],p<<=7&m):p=n[m>>3],128&p&&(i[m]=1);t.pixels.resultMask=i,l.bitset=n,o+=l.numBytes}return t.ptr=o,t.mask=l,!0},readDataOneSweep:function(e,n,i){var o,r=n.ptr,a=n.headerInfo,s=a.numDims,c=a.width*a.height,l=a.imageType,u=a.numValidPixel*t.getDataTypeSize(l)*s,h=n.pixels.resultMask;if(i===Uint8Array)o=new Uint8Array(e,r,u);else{var d=new ArrayBuffer(u),f=new Uint8Array(d);f.set(new Uint8Array(e,r,u)),o=new i(d)}if(o.length===c*s)n.pixels.resultPixels=o;else{n.pixels.resultPixels=new i(c*s);var p=0,m=0,_=0,g=0;if(s>1)for(_=0;_<s;_++)for(g=_*c,m=0;m<c;m++)h[m]&&(n.pixels.resultPixels[g+m]=o[p++]);else for(m=0;m<c;m++)h[m]&&(n.pixels.resultPixels[m]=o[p++])}return r+=u,n.ptr=r,!0},readHuffmanTree:function(e,i){var o=this.HUFFMAN_LUT_BITS_MAX,r=new DataView(e,i.ptr,16);i.ptr+=16;var a=r.getInt32(0,!0);if(a<2)throw"unsupported Huffman version";var s=r.getInt32(4,!0),c=r.getInt32(8,!0),l=r.getInt32(12,!0);if(c>=l)return!1;var u=new Uint32Array(l-c);t.decodeBits(e,i,u);var h,d,f,p,m=[];for(h=c;h<l;h++)d=h-(h<s?0:s),m[d]={first:u[h-c],second:null};var _=e.byteLength-i.ptr,g=Math.ceil(_/4),b=new ArrayBuffer(4*g),y=new Uint8Array(b);y.set(new Uint8Array(e,i.ptr,_));var v,O=new Uint32Array(b),w=0,A=0;for(v=O[0],h=c;h<l;h++)d=h-(h<s?0:s),p=m[d].first,p>0&&(m[d].second=v<<w>>>32-p,32-w>=p?(w+=p,32===w&&(w=0,A++,v=O[A])):(w+=p-32,A++,v=O[A],m[d].second|=v>>>32-w));var T=0,C=0,E=new n;for(h=0;h<m.length;h++)void 0!==m[h]&&(T=Math.max(T,m[h].first));C=T>=o?o:T,T>=30&&console.log("WARning, large NUM LUT BITS IS "+T);var x,S,I,D,j,P,R=[];for(h=c;h<l;h++)if(d=h-(h<s?0:s),p=m[d].first,p>0)if(x=[p,d],p<=C)for(S=m[d].second<<C-p,I=1<<C-p,f=0;f<I;f++)R[S|f]=x;else for(S=m[d].second,P=E,D=p-1;D>=0;D--)j=S>>>D&1,j?(P.right||(P.right=new n),P=P.right):(P.left||(P.left=new n),P=P.left),0!==D||P.val||(P.val=x[1]);return{decodeLut:R,numBitsLUTQick:C,numBitsLUT:T,tree:E,stuffedData:O,srcPtr:A,bitPos:w}},readHuffman:function(e,t,n){var i,o,r,a,s,c,l,u,h,d,f=t.headerInfo,p=f.numDims,m=t.headerInfo.height,_=t.headerInfo.width,g=_*m,b=this.readHuffmanTree(e,t),y=b.decodeLut,v=b.tree,O=b.stuffedData,w=b.srcPtr,A=b.bitPos,T=b.numBitsLUTQick,C=b.numBitsLUT,E=0===t.headerInfo.imageType?128:0,x=t.pixels.resultMask,S=0;A>0&&(w++,A=0);var I,D=O[w],j=1===t.encodeMode,P=new n(g*p),R=P;for(I=0;I<f.numDims;I++){if(p>1&&(R=new n(P.buffer,g*I,g),S=0),t.headerInfo.numValidPixel===_*m)for(h=0,l=0;l<m;l++)for(u=0;u<_;u++,h++){if(o=0,a=D<<A>>>32-T,s=a,32-A<T&&(a|=O[w+1]>>>64-A-T,s=a),y[s])o=y[s][1],A+=y[s][0];else for(a=D<<A>>>32-C,s=a,32-A<C&&(a|=O[w+1]>>>64-A-C,s=a),i=v,d=0;d<C;d++)if(c=a>>>C-d-1&1,i=c?i.right:i.left,!i.left&&!i.right){o=i.val,A=A+d+1;break}A>=32&&(A-=32,w++,D=O[w]),r=o-E,j?(r+=u>0?S:l>0?R[h-_]:S,r&=255,R[h]=r,S=r):R[h]=r}else for(h=0,l=0;l<m;l++)for(u=0;u<_;u++,h++)if(x[h]){if(o=0,a=D<<A>>>32-T,s=a,32-A<T&&(a|=O[w+1]>>>64-A-T,s=a),y[s])o=y[s][1],A+=y[s][0];else for(a=D<<A>>>32-C,s=a,32-A<C&&(a|=O[w+1]>>>64-A-C,s=a),i=v,d=0;d<C;d++)if(c=a>>>C-d-1&1,i=c?i.right:i.left,!i.left&&!i.right){o=i.val,A=A+d+1;break}A>=32&&(A-=32,w++,D=O[w]),r=o-E,j?(u>0&&x[h-1]?r+=S:l>0&&x[h-_]?r+=R[h-_]:r+=S,r&=255,R[h]=r,S=r):R[h]=r}t.ptr=t.ptr+4*(w+1)+(A>0?4:0)}t.pixels.resultPixels=P},decodeBits:function(t,n,i,o,r){var a=n.headerInfo,s=a.fileVersion,c=0,l=new DataView(t,n.ptr,5),u=l.getUint8(0);c++;var h=u>>6,d=0===h?4:3-h,f=(32&u)>0,p=31&u,m=0;if(1===d)m=l.getUint8(c),c++;else if(2===d)m=l.getUint16(c,!0),c+=2;else{if(4!==d)throw"Invalid valid pixel count type";m=l.getUint32(c,!0),c+=4}var _,g,b,y,v,O,w,A,T,C=2*a.maxZError,E=a.numDims>1?a.maxValues[r]:a.zMax;if(f){n.counter.lut++,A=l.getUint8(c),c++,y=Math.ceil((A-1)*p/8),v=Math.ceil(y/4),g=new ArrayBuffer(4*v),b=new Uint8Array(g),n.ptr+=c,b.set(new Uint8Array(t,n.ptr,y)),w=new Uint32Array(g),n.ptr+=y,T=0;while(A-1>>>T)T++;y=Math.ceil(m*T/8),v=Math.ceil(y/4),g=new ArrayBuffer(4*v),b=new Uint8Array(g),b.set(new Uint8Array(t,n.ptr,y)),_=new Uint32Array(g),n.ptr+=y,O=s>=3?e.unstuffLUT2(w,p,A-1,o,C,E):e.unstuffLUT(w,p,A-1,o,C,E),s>=3?e.unstuff2(_,i,T,m,O):e.unstuff(_,i,T,m,O)}else n.counter.bitstuffer++,T=p,n.ptr+=c,T>0&&(y=Math.ceil(m*T/8),v=Math.ceil(y/4),g=new ArrayBuffer(4*v),b=new Uint8Array(g),b.set(new Uint8Array(t,n.ptr,y)),_=new Uint32Array(g),n.ptr+=y,s>=3?null==o?e.originalUnstuff2(_,i,T,m):e.unstuff2(_,i,T,m,!1,o,C,E):null==o?e.originalUnstuff(_,i,T,m):e.unstuff(_,i,T,m,!1,o,C,E))},readTiles:function(e,n,i){var o=n.headerInfo,r=o.width,a=o.height,s=o.microBlockSize,c=o.imageType,l=t.getDataTypeSize(c),u=Math.ceil(r/s),h=Math.ceil(a/s);n.pixels.numBlocksY=h,n.pixels.numBlocksX=u,n.pixels.ptr=0;var d,f,p,m,_,g,b,y,v,O=0,w=0,A=0,T=0,C=0,E=0,x=0,S=0,I=0,D=0,j=0,P=0,R=0,M=0,N=0,L=0,B=new i(s*s),F=a%s||s,k=r%s||s,z=o.numDims,U=n.pixels.resultMask,V=n.pixels.resultPixels;for(A=0;A<h;A++)for(C=A!==h-1?s:F,T=0;T<u;T++)for(E=T!==u-1?s:k,j=A*r*s+T*s,P=r-E,v=0;v<z;v++){if(z>1&&(V=new i(n.pixels.resultPixels.buffer,r*a*v*l,r*a)),x=e.byteLength-n.ptr,d=new DataView(e,n.ptr,Math.min(10,x)),f={},L=0,S=d.getUint8(0),L++,I=S>>6&255,D=S>>2&15,D!==(T*s>>3&15))throw"integrity issue";if(g=3&S,g>3)throw n.ptr+=L,"Invalid block encoding ("+g+")";if(2!==g)if(0===g){if(n.counter.uncompressed++,n.ptr+=L,R=C*E*l,M=e.byteLength-n.ptr,R=R<M?R:M,p=new ArrayBuffer(R%l===0?R:R+l-R%l),m=new Uint8Array(p),m.set(new Uint8Array(e,n.ptr,R)),_=new i(p),N=0,U)for(O=0;O<C;O++){for(w=0;w<E;w++)U[j]&&(V[j]=_[N++]),j++;j+=P}else for(O=0;O<C;O++){for(w=0;w<E;w++)V[j++]=_[N++];j+=P}n.ptr+=N*l}else if(b=t.getDataTypeUsed(c,I),y=t.getOnePixel(f,L,b,d),L+=t.getDataTypeSize(b),3===g)if(n.ptr+=L,n.counter.constantoffset++,U)for(O=0;O<C;O++){for(w=0;w<E;w++)U[j]&&(V[j]=y),j++;j+=P}else for(O=0;O<C;O++){for(w=0;w<E;w++)V[j++]=y;j+=P}else if(n.ptr+=L,t.decodeBits(e,n,B,y,v),L=0,U)for(O=0;O<C;O++){for(w=0;w<E;w++)U[j]&&(V[j]=B[L++]),j++;j+=P}else for(O=0;O<C;O++){for(w=0;w<E;w++)V[j++]=B[L++];j+=P}else n.counter.constant++,n.ptr+=L}},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:t.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e){var t=e.headerInfo.zMax,n=e.headerInfo.numDims,i=e.headerInfo.height*e.headerInfo.width,o=i*n,r=0,a=0,s=0,c=e.pixels.resultMask;if(c)if(n>1)for(r=0;r<n;r++)for(s=r*i,a=0;a<i;a++)c[a]&&(e.pixels.resultPixels[s+a]=t);else for(a=0;a<i;a++)c[a]&&(e.pixels.resultPixels[a]=t);else if(e.pixels.resultPixels.fill)e.pixels.resultPixels.fill(t);else for(a=0;a<o;a++)e.pixels.resultPixels[a]=t},getDataTypeArray:function(e){var t;switch(e){case 0:t=Int8Array;break;case 1:t=Uint8Array;break;case 2:t=Int16Array;break;case 3:t=Uint16Array;break;case 4:t=Int32Array;break;case 5:t=Uint32Array;break;case 6:t=Float32Array;break;case 7:t=Float64Array;break;default:t=Float32Array}return t},getPixelType:function(e){var t;switch(e){case 0:t="S8";break;case 1:t="U8";break;case 2:t="S16";break;case 3:t="U16";break;case 4:t="S32";break;case 5:t="U32";break;case 6:t="F32";break;case 7:t="F64";break;default:t="F32"}return t},isValidPixelValue:function(e,t){if(null==t)return!1;var n;switch(e){case 0:n=t>=-128&&t<=127;break;case 1:n=t>=0&&t<=255;break;case 2:n=t>=-32768&&t<=32767;break;case 3:n=t>=0&&t<=65536;break;case 4:n=t>=-2147483648&&t<=2147483647;break;case 5:n=t>=0&&t<=4294967296;break;case 6:n=t>=-34027999387901484e22&&t<=34027999387901484e22;break;case 7:n=t>=5e-324&&t<=17976931348623157e292;break;default:n=!1}return n},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var n=e;switch(e){case 2:case 4:n=e-t;break;case 3:case 5:n=e-2*t;break;case 6:n=0===t?e:1===t?2:1;break;case 7:n=0===t?e:e-2*t+1;break;default:n=e;break}return n},getOnePixel:function(e,t,n,i){var o=0;switch(n){case 0:o=i.getInt8(t);break;case 1:o=i.getUint8(t);break;case 2:o=i.getInt16(t,!0);break;case 3:o=i.getUint16(t,!0);break;case 4:o=i.getInt32(t,!0);break;case 5:o=i.getUInt32(t,!0);break;case 6:o=i.getFloat32(t,!0);break;case 7:o=i.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return o}},n=function(e,t,n){this.val=e,this.left=t,this.right=n},i={decode:function(e,n){n=n||{};var i=n.noDataValue,o=0,r={};r.ptr=n.inputOffset||0,r.pixels={},t.readHeaderInfo(e,r);var a=r.headerInfo,s=a.fileVersion,c=t.getDataTypeArray(a.imageType);t.readMask(e,r),a.numValidPixel===a.width*a.height||r.pixels.resultMask||(r.pixels.resultMask=n.maskData);var l,u=a.width*a.height;if(r.pixels.resultPixels=new c(u*a.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},0!==a.numValidPixel)if(a.zMax===a.zMin)t.constructConstantSurface(r);else if(s>=4&&t.checkMinMaxRanges(e,r))t.constructConstantSurface(r);else{var h=new DataView(e,r.ptr,2),d=h.getUint8(0);if(r.ptr++,d)t.readDataOneSweep(e,r,c);else if(s>1&&a.imageType<=1&&Math.abs(a.maxZError-.5)<1e-5){var f=h.getUint8(1);if(r.ptr++,r.encodeMode=f,f>2||s<4&&f>1)throw"Invalid Huffman flag "+f;f?t.readHuffman(e,r,c):t.readTiles(e,r,c)}else t.readTiles(e,r,c)}r.eofOffset=r.ptr,n.inputOffset?(l=r.headerInfo.blobSize+n.inputOffset-r.ptr,Math.abs(l)>=1&&(r.eofOffset=n.inputOffset+r.headerInfo.blobSize)):(l=r.headerInfo.blobSize-r.ptr,Math.abs(l)>=1&&(r.eofOffset=r.headerInfo.blobSize));var p={width:a.width,height:a.height,pixelData:r.pixels.resultPixels,minValue:a.zMin,maxValue:a.zMax,validPixelCount:a.numValidPixel,dimCount:a.numDims,dimStats:{minValues:a.minValues,maxValues:a.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&t.isValidPixelValue(a.imageType,i)){var m=r.pixels.resultMask;for(o=0;o<u;o++)m[o]||(p.pixelData[o]=i);p.noDataValue=i}return r.noDataValue=i,n.returnFileInfo&&(p.fileInfo=t.formatFileInfo(r)),p},getBandCount:function(e){var n=0,i=0,o={ptr:0,pixels:{}};while(i<e.byteLength-58)t.readHeaderInfo(e,o),i+=o.headerInfo.blobSize,n++,o.ptr=i;return n}};return i}(),i=function(){var e=new ArrayBuffer(4),t=new Uint8Array(e),n=new Uint32Array(e);return n[0]=1,1===t[0]}(),o={decode:function(e,o){if(!i)throw"Big endian system is not supported.";o=o||{};var r,a,s=o.inputOffset||0,c=new Uint8Array(e,s,10),l=String.fromCharCode.apply(null,c);if("CntZImage"===l.trim())r=t,a=1;else{if("Lerc2"!==l.substring(0,5))throw"Unexpected file identifier string: "+l;r=n,a=2}var u,h,d,f,p,m,_=0,g=e.byteLength-10,b=[],y={width:0,height:0,pixels:[],pixelType:o.pixelType,mask:null,statistics:[]};while(s<g){var v=r.decode(e,{inputOffset:s,encodedMaskData:u,maskData:d,returnMask:0===_,returnEncodedMask:0===_,returnFileInfo:!0,pixelType:o.pixelType||null,noDataValue:o.noDataValue||null});s=v.fileInfo.eofOffset,0===_&&(u=v.encodedMaskData,d=v.maskData,y.width=v.width,y.height=v.height,y.dimCount=v.dimCount||1,y.pixelType=v.pixelType||v.fileInfo.pixelType,y.mask=v.maskData),a>1&&v.fileInfo.mask&&v.fileInfo.mask.numBytes>0&&b.push(v.maskData),_++,y.pixels.push(v.pixelData),y.statistics.push({minValue:v.minValue,maxValue:v.maxValue,noDataValue:v.noDataValue,dimStats:v.dimStats})}if(a>1&&b.length>1){for(m=y.width*y.height,y.bandMasks=b,d=new Uint8Array(m),d.set(b[0]),f=1;f<b.length;f++)for(h=b[f],p=0;p<m;p++)d[p]=d[p]&h[p];y.maskData=d}return y}};e.exports?e.exports=o:this.Lerc=o})()})),Ast={webm:"data:video/webm;base64,GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA=",mp4:"data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA="};const{webm:Tst,mp4:Cst}=Ast,Est="undefined"!==typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream;class xst{constructor(){Est?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("muted",""),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",Tst),this._addSourceToVideo(this.noSleepVideo,"mp4",Cst),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(e,t,n){var i=document.createElement("source");i.src=n,i.type="video/"+t,e.appendChild(i)}enable(){Est?(this.disable(),console.warn("\n NoSleep enabled for older iOS devices. This can interrupt\n active or long-running network requests from completing successfully.\n See https://github.com/richtr/NoSleep.js/issues/15 for more details.\n "),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3)):this.noSleepVideo.play()}disable(){Est?this.noSleepTimer&&(console.warn("\n NoSleep now disabled for older iOS devices.\n "),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}var Sst=xst,Ist=Object(m1["b"])((function(e,t){var n="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);while(t.length){var n=t.shift();if(n){if("object"!==typeof n)throw new TypeError(n+"must be non-object");for(var o in n)i(n,o)&&(e[o]=n[o])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var o={arraySet:function(e,t,n,i,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),o);else for(var r=0;r<i;r++)e[o+r]=t[n+r]},flattenChunks:function(e){var t,n,i,o,r,a;for(i=0,t=0,n=e.length;t<n;t++)i+=e[t].length;for(a=new Uint8Array(i),o=0,t=0,n=e.length;t<n;t++)r=e[t],a.set(r,o),o+=r.length;return a}},r={arraySet:function(e,t,n,i,o){for(var r=0;r<i;r++)e[o+r]=t[n+r]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,o)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,r))},t.setTyped(n)}));function Dst(e,t,n,i){var o=65535&e|0,r=e>>>16&65535|0,a=0;while(0!==n){a=n>2e3?2e3:n,n-=a;do{o=o+t[i++]|0,r=r+o|0}while(--a);o%=65521,r%=65521}return o|r<<16|0}var jst=Dst;function Pst(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Rst=Pst();function Mst(e,t,n,i){var o=Rst,r=i+n;e^=-1;for(var a=i;a<r;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}var Nst=Mst,Lst=30,Bst=12,Fst=function(e,t){var n,i,o,r,a,s,c,l,u,h,d,f,p,m,_,g,b,y,v,O,w,A,T,C,E;n=e.state,i=e.next_in,C=e.input,o=i+(e.avail_in-5),r=e.next_out,E=e.output,a=r-(t-e.avail_out),s=r+(e.avail_out-257),c=n.dmax,l=n.wsize,u=n.whave,h=n.wnext,d=n.window,f=n.hold,p=n.bits,m=n.lencode,_=n.distcode,g=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;e:do{p<15&&(f+=C[i++]<<p,p+=8,f+=C[i++]<<p,p+=8),y=m[f&g];t:for(;;){if(v=y>>>24,f>>>=v,p-=v,v=y>>>16&255,0===v)E[r++]=65535&y;else{if(!(16&v)){if(0===(64&v)){y=m[(65535&y)+(f&(1<<v)-1)];continue t}if(32&v){n.mode=Bst;break e}e.msg="invalid literal/length code",n.mode=Lst;break e}O=65535&y,v&=15,v&&(p<v&&(f+=C[i++]<<p,p+=8),O+=f&(1<<v)-1,f>>>=v,p-=v),p<15&&(f+=C[i++]<<p,p+=8,f+=C[i++]<<p,p+=8),y=_[f&b];n:for(;;){if(v=y>>>24,f>>>=v,p-=v,v=y>>>16&255,!(16&v)){if(0===(64&v)){y=_[(65535&y)+(f&(1<<v)-1)];continue n}e.msg="invalid distance code",n.mode=Lst;break e}if(w=65535&y,v&=15,p<v&&(f+=C[i++]<<p,p+=8,p<v&&(f+=C[i++]<<p,p+=8)),w+=f&(1<<v)-1,w>c){e.msg="invalid distance too far back",n.mode=Lst;break e}if(f>>>=v,p-=v,v=r-a,w>v){if(v=w-v,v>u&&n.sane){e.msg="invalid distance too far back",n.mode=Lst;break e}if(A=0,T=d,0===h){if(A+=l-v,v<O){O-=v;do{E[r++]=d[A++]}while(--v);A=r-w,T=E}}else if(h<v){if(A+=l+h-v,v-=h,v<O){O-=v;do{E[r++]=d[A++]}while(--v);if(A=0,h<O){v=h,O-=v;do{E[r++]=d[A++]}while(--v);A=r-w,T=E}}}else if(A+=h-v,v<O){O-=v;do{E[r++]=d[A++]}while(--v);A=r-w,T=E}while(O>2)E[r++]=T[A++],E[r++]=T[A++],E[r++]=T[A++],O-=3;O&&(E[r++]=T[A++],O>1&&(E[r++]=T[A++]))}else{A=r-w;do{E[r++]=E[A++],E[r++]=E[A++],E[r++]=E[A++],O-=3}while(O>2);O&&(E[r++]=E[A++],O>1&&(E[r++]=E[A++]))}break}}break}}while(i<o&&r<s);O=p>>3,i-=O,p-=O<<3,f&=(1<<p)-1,e.next_in=i,e.next_out=r,e.avail_in=i<o?o-i+5:5-(i-o),e.avail_out=r<s?s-r+257:257-(r-s),n.hold=f,n.bits=p},kst=15,zst=852,Ust=592,Vst=0,Hst=1,Gst=2,qst=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Wst=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Yst=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Xst=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Kst=function(e,t,n,i,o,r,a,s){var c,l,u,h,d,f,p,m,_,g=s.bits,b=0,y=0,v=0,O=0,w=0,A=0,T=0,C=0,E=0,x=0,S=null,I=0,D=new Ist.Buf16(kst+1),j=new Ist.Buf16(kst+1),P=null,R=0;for(b=0;b<=kst;b++)D[b]=0;for(y=0;y<i;y++)D[t[n+y]]++;for(w=g,O=kst;O>=1;O--)if(0!==D[O])break;if(w>O&&(w=O),0===O)return o[r++]=20971520,o[r++]=20971520,s.bits=1,0;for(v=1;v<O;v++)if(0!==D[v])break;for(w<v&&(w=v),C=1,b=1;b<=kst;b++)if(C<<=1,C-=D[b],C<0)return-1;if(C>0&&(e===Vst||1!==O))return-1;for(j[1]=0,b=1;b<kst;b++)j[b+1]=j[b]+D[b];for(y=0;y<i;y++)0!==t[n+y]&&(a[j[t[n+y]]++]=y);if(e===Vst?(S=P=a,f=19):e===Hst?(S=qst,I-=257,P=Wst,R-=257,f=256):(S=Yst,P=Xst,f=-1),x=0,y=0,b=v,d=r,A=w,T=0,u=-1,E=1<<w,h=E-1,e===Hst&&E>zst||e===Gst&&E>Ust)return 1;for(;;){p=b-T,a[y]<f?(m=0,_=a[y]):a[y]>f?(m=P[R+a[y]],_=S[I+a[y]]):(m=96,_=0),c=1<<b-T,l=1<<A,v=l;do{l-=c,o[d+(x>>T)+l]=p<<24|m<<16|_|0}while(0!==l);c=1<<b-1;while(x&c)c>>=1;if(0!==c?(x&=c-1,x+=c):x=0,y++,0===--D[b]){if(b===O)break;b=t[n+a[y]]}if(b>w&&(x&h)!==u){0===T&&(T=w),d+=v,A=b-T,C=1<<A;while(A+T<O){if(C-=D[A+T],C<=0)break;A++,C<<=1}if(E+=1<<A,e===Hst&&E>zst||e===Gst&&E>Ust)return 1;u=x&h,o[u]=w<<24|A<<16|d-r|0}}return 0!==x&&(o[d+x]=b-T<<24|64<<16|0),s.bits=w,0},Jst=0,Zst=1,$st=2,Qst=4,ect=5,tct=6,nct=0,ict=1,oct=2,rct=-2,act=-3,sct=-4,cct=-5,lct=8,uct=1,hct=2,dct=3,fct=4,pct=5,mct=6,_ct=7,gct=8,bct=9,yct=10,vct=11,Oct=12,wct=13,Act=14,Tct=15,Cct=16,Ect=17,xct=18,Sct=19,Ict=20,Dct=21,jct=22,Pct=23,Rct=24,Mct=25,Nct=26,Lct=27,Bct=28,Fct=29,kct=30,zct=31,Uct=32,Vct=852,Hct=592,Gct=15,qct=Gct;function Wct(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function Yct(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ist.Buf16(320),this.work=new Ist.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Xct(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=uct,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ist.Buf32(Vct),t.distcode=t.distdyn=new Ist.Buf32(Hct),t.sane=1,t.back=-1,nct):rct}function Kct(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Xct(e)):rct}function Jct(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?rct:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,Kct(e))):rct}function Zct(e,t){var n,i;return e?(i=new Yct,e.state=i,i.window=null,n=Jct(e,t),n!==nct&&(e.state=null),n):rct}function $ct(e){return Zct(e,qct)}var Qct,elt,tlt=!0;function nlt(e){if(tlt){var t;Qct=new Ist.Buf32(512),elt=new Ist.Buf32(32),t=0;while(t<144)e.lens[t++]=8;while(t<256)e.lens[t++]=9;while(t<280)e.lens[t++]=7;while(t<288)e.lens[t++]=8;Kst(Zst,e.lens,0,288,Qct,0,e.work,{bits:9}),t=0;while(t<32)e.lens[t++]=5;Kst($st,e.lens,0,32,elt,0,e.work,{bits:5}),tlt=!1}e.lencode=Qct,e.lenbits=9,e.distcode=elt,e.distbits=5}function ilt(e,t,n,i){var o,r=e.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Ist.Buf8(r.wsize)),i>=r.wsize?(Ist.arraySet(r.window,t,n-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(o=r.wsize-r.wnext,o>i&&(o=i),Ist.arraySet(r.window,t,n-i,o,r.wnext),i-=o,i?(Ist.arraySet(r.window,t,n-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=o,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=o))),0}function olt(e,t){var n,i,o,r,a,s,c,l,u,h,d,f,p,m,_,g,b,y,v,O,w,A,T,C,E=0,x=new Ist.Buf8(4),S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return rct;n=e.state,n.mode===Oct&&(n.mode=wct),a=e.next_out,o=e.output,c=e.avail_out,r=e.next_in,i=e.input,s=e.avail_in,l=n.hold,u=n.bits,h=s,d=c,A=nct;e:for(;;)switch(n.mode){case uct:if(0===n.wrap){n.mode=wct;break}while(u<16){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(2&n.wrap&&35615===l){n.check=0,x[0]=255&l,x[1]=l>>>8&255,n.check=Nst(n.check,x,2,0),l=0,u=0,n.mode=hct;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=kct;break}if((15&l)!==lct){e.msg="unknown compression method",n.mode=kct;break}if(l>>>=4,u-=4,w=8+(15&l),0===n.wbits)n.wbits=w;else if(w>n.wbits){e.msg="invalid window size",n.mode=kct;break}n.dmax=1<<w,e.adler=n.check=1,n.mode=512&l?yct:Oct,l=0,u=0;break;case hct:while(u<16){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(n.flags=l,(255&n.flags)!==lct){e.msg="unknown compression method",n.mode=kct;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=kct;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&(x[0]=255&l,x[1]=l>>>8&255,n.check=Nst(n.check,x,2,0)),l=0,u=0,n.mode=dct;case dct:while(u<32){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.head&&(n.head.time=l),512&n.flags&&(x[0]=255&l,x[1]=l>>>8&255,x[2]=l>>>16&255,x[3]=l>>>24&255,n.check=Nst(n.check,x,4,0)),l=0,u=0,n.mode=fct;case fct:while(u<16){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&(x[0]=255&l,x[1]=l>>>8&255,n.check=Nst(n.check,x,2,0)),l=0,u=0,n.mode=pct;case pct:if(1024&n.flags){while(u<16){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&(x[0]=255&l,x[1]=l>>>8&255,n.check=Nst(n.check,x,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=mct;case mct:if(1024&n.flags&&(f=n.length,f>s&&(f=s),f&&(n.head&&(w=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Ist.arraySet(n.head.extra,i,r,f,w)),512&n.flags&&(n.check=Nst(n.check,i,f,r)),s-=f,r+=f,n.length-=f),n.length))break e;n.length=0,n.mode=_ct;case _ct:if(2048&n.flags){if(0===s)break e;f=0;do{w=i[r+f++],n.head&&w&&n.length<65536&&(n.head.name+=String.fromCharCode(w))}while(w&&f<s);if(512&n.flags&&(n.check=Nst(n.check,i,f,r)),s-=f,r+=f,w)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=gct;case gct:if(4096&n.flags){if(0===s)break e;f=0;do{w=i[r+f++],n.head&&w&&n.length<65536&&(n.head.comment+=String.fromCharCode(w))}while(w&&f<s);if(512&n.flags&&(n.check=Nst(n.check,i,f,r)),s-=f,r+=f,w)break e}else n.head&&(n.head.comment=null);n.mode=bct;case bct:if(512&n.flags){while(u<16){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=kct;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Oct;break;case yct:while(u<32){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}e.adler=n.check=Wct(l),l=0,u=0,n.mode=vct;case vct:if(0===n.havedict)return e.next_out=a,e.avail_out=c,e.next_in=r,e.avail_in=s,n.hold=l,n.bits=u,oct;e.adler=n.check=1,n.mode=Oct;case Oct:if(t===ect||t===tct)break e;case wct:if(n.last){l>>>=7&u,u-=7&u,n.mode=Lct;break}while(u<3){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}switch(n.last=1&l,l>>>=1,u-=1,3&l){case 0:n.mode=Act;break;case 1:if(nlt(n),n.mode=Ict,t===tct){l>>>=2,u-=2;break e}break;case 2:n.mode=Ect;break;case 3:e.msg="invalid block type",n.mode=kct}l>>>=2,u-=2;break;case Act:l>>>=7&u,u-=7&u;while(u<32){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if((65535&l)!==(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=kct;break}if(n.length=65535&l,l=0,u=0,n.mode=Tct,t===tct)break e;case Tct:n.mode=Cct;case Cct:if(f=n.length,f){if(f>s&&(f=s),f>c&&(f=c),0===f)break e;Ist.arraySet(o,i,r,f,a),s-=f,r+=f,c-=f,a+=f,n.length-=f;break}n.mode=Oct;break;case Ect:while(u<14){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(n.nlen=257+(31&l),l>>>=5,u-=5,n.ndist=1+(31&l),l>>>=5,u-=5,n.ncode=4+(15&l),l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=kct;break}n.have=0,n.mode=xct;case xct:while(n.have<n.ncode){while(u<3){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.lens[S[n.have++]]=7&l,l>>>=3,u-=3}while(n.have<19)n.lens[S[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,T={bits:n.lenbits},A=Kst(Jst,n.lens,0,19,n.lencode,0,n.work,T),n.lenbits=T.bits,A){e.msg="invalid code lengths set",n.mode=kct;break}n.have=0,n.mode=Sct;case Sct:while(n.have<n.nlen+n.ndist){for(;;){if(E=n.lencode[l&(1<<n.lenbits)-1],_=E>>>24,g=E>>>16&255,b=65535&E,_<=u)break;if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(b<16)l>>>=_,u-=_,n.lens[n.have++]=b;else{if(16===b){C=_+2;while(u<C){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(l>>>=_,u-=_,0===n.have){e.msg="invalid bit length repeat",n.mode=kct;break}w=n.lens[n.have-1],f=3+(3&l),l>>>=2,u-=2}else if(17===b){C=_+3;while(u<C){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}l>>>=_,u-=_,w=0,f=3+(7&l),l>>>=3,u-=3}else{C=_+7;while(u<C){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}l>>>=_,u-=_,w=0,f=11+(127&l),l>>>=7,u-=7}if(n.have+f>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=kct;break}while(f--)n.lens[n.have++]=w}}if(n.mode===kct)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=kct;break}if(n.lenbits=9,T={bits:n.lenbits},A=Kst(Zst,n.lens,0,n.nlen,n.lencode,0,n.work,T),n.lenbits=T.bits,A){e.msg="invalid literal/lengths set",n.mode=kct;break}if(n.distbits=6,n.distcode=n.distdyn,T={bits:n.distbits},A=Kst($st,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,T),n.distbits=T.bits,A){e.msg="invalid distances set",n.mode=kct;break}if(n.mode=Ict,t===tct)break e;case Ict:n.mode=Dct;case Dct:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=r,e.avail_in=s,n.hold=l,n.bits=u,Fst(e,d),a=e.next_out,o=e.output,c=e.avail_out,r=e.next_in,i=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===Oct&&(n.back=-1);break}for(n.back=0;;){if(E=n.lencode[l&(1<<n.lenbits)-1],_=E>>>24,g=E>>>16&255,b=65535&E,_<=u)break;if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(g&&0===(240&g)){for(y=_,v=g,O=b;;){if(E=n.lencode[O+((l&(1<<y+v)-1)>>y)],_=E>>>24,g=E>>>16&255,b=65535&E,y+_<=u)break;if(0===s)break e;s--,l+=i[r++]<<u,u+=8}l>>>=y,u-=y,n.back+=y}if(l>>>=_,u-=_,n.back+=_,n.length=b,0===g){n.mode=Nct;break}if(32&g){n.back=-1,n.mode=Oct;break}if(64&g){e.msg="invalid literal/length code",n.mode=kct;break}n.extra=15&g,n.mode=jct;case jct:if(n.extra){C=n.extra;while(u<C){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Pct;case Pct:for(;;){if(E=n.distcode[l&(1<<n.distbits)-1],_=E>>>24,g=E>>>16&255,b=65535&E,_<=u)break;if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(0===(240&g)){for(y=_,v=g,O=b;;){if(E=n.distcode[O+((l&(1<<y+v)-1)>>y)],_=E>>>24,g=E>>>16&255,b=65535&E,y+_<=u)break;if(0===s)break e;s--,l+=i[r++]<<u,u+=8}l>>>=y,u-=y,n.back+=y}if(l>>>=_,u-=_,n.back+=_,64&g){e.msg="invalid distance code",n.mode=kct;break}n.offset=b,n.extra=15&g,n.mode=Rct;case Rct:if(n.extra){C=n.extra;while(u<C){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=kct;break}n.mode=Mct;case Mct:if(0===c)break e;if(f=d-c,n.offset>f){if(f=n.offset-f,f>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=kct;break}f>n.wnext?(f-=n.wnext,p=n.wsize-f):p=n.wnext-f,f>n.length&&(f=n.length),m=n.window}else m=o,p=a-n.offset,f=n.length;f>c&&(f=c),c-=f,n.length-=f;do{o[a++]=m[p++]}while(--f);0===n.length&&(n.mode=Dct);break;case Nct:if(0===c)break e;o[a++]=n.length,c--,n.mode=Dct;break;case Lct:if(n.wrap){while(u<32){if(0===s)break e;s--,l|=i[r++]<<u,u+=8}if(d-=c,e.total_out+=d,n.total+=d,d&&(e.adler=n.check=n.flags?Nst(n.check,o,d,a-d):jst(n.check,o,d,a-d)),d=c,(n.flags?l:Wct(l))!==n.check){e.msg="incorrect data check",n.mode=kct;break}l=0,u=0}n.mode=Bct;case Bct:if(n.wrap&&n.flags){while(u<32){if(0===s)break e;s--,l+=i[r++]<<u,u+=8}if(l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=kct;break}l=0,u=0}n.mode=Fct;case Fct:A=ict;break e;case kct:A=act;break e;case zct:return sct;case Uct:default:return rct}return e.next_out=a,e.avail_out=c,e.next_in=r,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<kct&&(n.mode<Lct||t!==Qst))&&ilt(e,e.output,e.next_out,d-e.avail_out),h-=e.avail_in,d-=e.avail_out,e.total_in+=h,e.total_out+=d,n.total+=d,n.wrap&&d&&(e.adler=n.check=n.flags?Nst(n.check,o,d,e.next_out-d):jst(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Oct?128:0)+(n.mode===Ict||n.mode===Tct?256:0),(0===h&&0===d||t===Qst)&&A===nct&&(A=cct),A}function rlt(e){if(!e||!e.state)return rct;var t=e.state;return t.window&&(t.window=null),e.state=null,nct}function alt(e,t){var n;return e&&e.state?(n=e.state,0===(2&n.wrap)?rct:(n.head=t,t.done=!1,nct)):rct}function slt(e,t){var n,i,o,r=t.length;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==vct?rct:n.mode===vct&&(i=1,i=jst(i,t,r,0),i!==n.check)?act:(o=ilt(e,t,r,r),o?(n.mode=zct,sct):(n.havedict=1,nct))):rct}var clt=Kct,llt=Jct,ult=Xct,hlt=$ct,dlt=Zct,flt=olt,plt=rlt,mlt=alt,_lt=slt,glt="pako inflate (from Nodeca project)",blt={inflateReset:clt,inflateReset2:llt,inflateResetKeep:ult,inflateInit:hlt,inflateInit2:dlt,inflate:flt,inflateEnd:plt,inflateGetHeader:mlt,inflateSetDictionary:_lt,inflateInfo:glt},ylt=!0,vlt=!0;try{String.fromCharCode.apply(null,[0])}catch(ipt){ylt=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(ipt){vlt=!1}for(var Olt=new Ist.Buf8(256),wlt=0;wlt<256;wlt++)Olt[wlt]=wlt>=252?6:wlt>=248?5:wlt>=240?4:wlt>=224?3:wlt>=192?2:1;Olt[254]=Olt[254]=1;var Alt=function(e){var t,n,i,o,r,a=e.length,s=0;for(o=0;o<a;o++)n=e.charCodeAt(o),55296===(64512&n)&&o+1<a&&(i=e.charCodeAt(o+1),56320===(64512&i)&&(n=65536+(n-55296<<10)+(i-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Ist.Buf8(s),r=0,o=0;r<s;o++)n=e.charCodeAt(o),55296===(64512&n)&&o+1<a&&(i=e.charCodeAt(o+1),56320===(64512&i)&&(n=65536+(n-55296<<10)+(i-56320),o++)),n<128?t[r++]=n:n<2048?(t[r++]=192|n>>>6,t[r++]=128|63&n):n<65536?(t[r++]=224|n>>>12,t[r++]=128|n>>>6&63,t[r++]=128|63&n):(t[r++]=240|n>>>18,t[r++]=128|n>>>12&63,t[r++]=128|n>>>6&63,t[r++]=128|63&n);return t};function Tlt(e,t){if(t<65534&&(e.subarray&&vlt||!e.subarray&&ylt))return String.fromCharCode.apply(null,Ist.shrinkBuf(e,t));for(var n="",i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n}var Clt=function(e){return Tlt(e,e.length)},Elt=function(e){for(var t=new Ist.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},xlt=function(e,t){var n,i,o,r,a=t||e.length,s=new Array(2*a);for(i=0,n=0;n<a;)if(o=e[n++],o<128)s[i++]=o;else if(r=Olt[o],r>4)s[i++]=65533,n+=r-1;else{o&=2===r?31:3===r?15:7;while(r>1&&n<a)o=o<<6|63&e[n++],r--;r>1?s[i++]=65533:o<65536?s[i++]=o:(o-=65536,s[i++]=55296|o>>10&1023,s[i++]=56320|1023&o)}return Tlt(s,i)},Slt=function(e,t){var n;t=t||e.length,t>e.length&&(t=e.length),n=t-1;while(n>=0&&128===(192&e[n]))n--;return n<0||0===n?t:n+Olt[e[n]]>t?n:t},Ilt={string2buf:Alt,buf2binstring:Clt,binstring2buf:Elt,buf2string:xlt,utf8border:Slt},Dlt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},jlt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function Plt(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var Rlt=Plt;function Mlt(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var Nlt=Mlt,Llt=Object.prototype.toString;function Blt(e){if(!(this instanceof Blt))return new Blt(e);this.options=Ist.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0===(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Rlt,this.strm.avail_out=0;var n=blt.inflateInit2(this.strm,t.windowBits);if(n!==Dlt.Z_OK)throw new Error(jlt[n]);if(this.header=new Nlt,blt.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"===typeof t.dictionary?t.dictionary=Ilt.string2buf(t.dictionary):"[object ArrayBuffer]"===Llt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=blt.inflateSetDictionary(this.strm,t.dictionary),n!==Dlt.Z_OK)))throw new Error(jlt[n])}function Flt(e,t){var n=new Blt(t);if(n.push(e,!0),n.err)throw n.msg||jlt[n.err];return n.result}function klt(e,t){return t=t||{},t.raw=!0,Flt(e,t)}Blt.prototype.push=function(e,t){var n,i,o,r,a,s=this.strm,c=this.options.chunkSize,l=this.options.dictionary,u=!1;if(this.ended)return!1;i=t===~~t?t:!0===t?Dlt.Z_FINISH:Dlt.Z_NO_FLUSH,"string"===typeof e?s.input=Ilt.binstring2buf(e):"[object ArrayBuffer]"===Llt.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new Ist.Buf8(c),s.next_out=0,s.avail_out=c),n=blt.inflate(s,Dlt.Z_NO_FLUSH),n===Dlt.Z_NEED_DICT&&l&&(n=blt.inflateSetDictionary(this.strm,l)),n===Dlt.Z_BUF_ERROR&&!0===u&&(n=Dlt.Z_OK,u=!1),n!==Dlt.Z_STREAM_END&&n!==Dlt.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==Dlt.Z_STREAM_END&&(0!==s.avail_in||i!==Dlt.Z_FINISH&&i!==Dlt.Z_SYNC_FLUSH)||("string"===this.options.to?(o=Ilt.utf8border(s.output,s.next_out),r=s.next_out-o,a=Ilt.buf2string(s.output,o),s.next_out=r,s.avail_out=c-r,r&&Ist.arraySet(s.output,s.output,o,r,0),this.onData(a)):this.onData(Ist.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(u=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==Dlt.Z_STREAM_END);return n===Dlt.Z_STREAM_END&&(i=Dlt.Z_FINISH),i===Dlt.Z_FINISH?(n=blt.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Dlt.Z_OK):i!==Dlt.Z_SYNC_FLUSH||(this.onEnd(Dlt.Z_OK),s.avail_out=0,!0)},Blt.prototype.onData=function(e){this.chunks.push(e)},Blt.prototype.onEnd=function(e){e===Dlt.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ist.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var zlt=Blt,Ult=Flt,Vlt=klt,Hlt=Flt,Glt={Inflate:zlt,inflate:Ult,inflateRaw:Vlt,ungzip:Hlt};function qlt(e){Object(r["a"])(e)||(e=new O_),this._clock=e,this._eventHelper=new Jw,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=vst.observable(gr.now()),this.systemTime.equalityComparer=gr.equals,this.startTime=vst.observable(e.startTime),this.startTime.equalityComparer=gr.equals,this.startTime.subscribe((function(t){e.startTime=t,this.synchronize()}),this),this.stopTime=vst.observable(e.stopTime),this.stopTime.equalityComparer=gr.equals,this.stopTime.subscribe((function(t){e.stopTime=t,this.synchronize()}),this),this.currentTime=vst.observable(e.currentTime),this.currentTime.equalityComparer=gr.equals,this.currentTime.subscribe((function(t){e.currentTime=t,this.synchronize()}),this),this.multiplier=vst.observable(e.multiplier),this.multiplier.subscribe((function(t){e.multiplier=t,this.synchronize()}),this),this.clockStep=vst.observable(e.clockStep),this.clockStep.subscribe((function(t){e.clockStep=t,this.synchronize()}),this),this.clockRange=vst.observable(e.clockRange),this.clockRange.subscribe((function(t){e.clockRange=t,this.synchronize()}),this),this.canAnimate=vst.observable(e.canAnimate),this.canAnimate.subscribe((function(t){e.canAnimate=t,this.synchronize()}),this),this.shouldAnimate=vst.observable(e.shouldAnimate),this.shouldAnimate.subscribe((function(t){e.shouldAnimate=t,this.synchronize()}),this),vst.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(qlt.prototype,{clock:{get:function(){return this._clock}}}),qlt.prototype.synchronize=function(){const e=this._clock;this.systemTime=gr.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate},qlt.prototype.isDestroyed=function(){return!1},qlt.prototype.destroy=function(){this._eventHelper.removeAll(),Wl(this)};var Wlt=qlt;function Ylt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,a["a"].throwInstantiationError()}var Xlt=Ylt;const Klt={createCheckbox:function(e,t,n){i["a"].typeOf.string("labelText",e),i["a"].typeOf.string("checkedBinding",t);const o=document.createElement("div"),a=document.createElement("label"),s=document.createElement("input");s.type="checkbox";let c="checked: "+t;return Object(r["a"])(n)&&(c+=", enable: "+n),s.setAttribute("data-bind",c),a.appendChild(s),a.appendChild(document.createTextNode(e)),o.appendChild(a),o},createSection:function(e,t,n,o){i["a"].defined("panel",e),i["a"].typeOf.string("headerText",t),i["a"].typeOf.string("sectionVisibleBinding",n),i["a"].typeOf.string("toggleSectionVisibilityBinding",o);const r=document.createElement("div");r.className="cesium-cesiumInspector-section",r.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(r);const a=document.createElement("h3");a.className="cesium-cesiumInspector-sectionHeader",a.appendChild(document.createTextNode(t)),a.setAttribute("data-bind","click: "+o),r.appendChild(a);const s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",r.appendChild(s),s}};var Jlt=Klt;function Zlt(e,t){if(!Object(r["a"])(e))throw new a["a"]("command is required.");this._command=e,t=Object(o["a"])(t,o["a"].EMPTY_OBJECT),this.toggled=Object(o["a"])(t.toggled,!1),this.tooltip=Object(o["a"])(t.tooltip,""),vst.track(this,["toggled","tooltip"])}Object.defineProperties(Zlt.prototype,{command:{get:function(){return this._command}}});var $lt=Zlt;function Qlt(e,t){if(!Object(r["a"])(e))throw new a["a"]("func is required.");t=Object(o["a"])(t,!0);const n=new pi["a"],i=new pi["a"];function s(){if(!s.canExecute)throw new a["a"]("Cannot execute command, canExecute is false.");const t={args:arguments,cancel:!1};let o;return n.raiseEvent(t),t.cancel||(o=e.apply(null,arguments),i.raiseEvent(o)),o}return s.canExecute=t,vst.track(s,["canExecute"]),Object.defineProperties(s,{beforeExecute:{value:n},afterExecute:{value:i}}),s}var eut=Qlt;function tut(e,t,n,i,o){return n.call(i,e[t]),vst.getObservable(e,t).subscribe(n,i,o)}var nut=tut;const iut={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"};var out=Object.freeze(iut);function rut(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}function aut(e,t,n){n.resource.fetchImage().then((function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})})).catch((function(){const n=e._textures[t];Object(r["a"])(n)&&n!==e._defaultTexture&&n.destroy(),e._textures[t]=e._defaultTexture}))}function sut(e,t,n){const i=t.id,o=t.textureUniform,a=o.typedArray,s=o.sampler;let c;c=Object(r["a"])(a)?new nk({context:n,pixelFormat:o.pixelFormat,pixelDatatype:o.pixelDatatype,source:{arrayBufferView:a,width:o.width,height:o.height},sampler:s,flipY:!1}):new nk({context:n,source:t.image,sampler:s});const l=e._textures[i];Object(r["a"])(l)&&l!==n.defaultTexture&&l.destroy(),e._textures[i]=c}function cut(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT),this.mode=Object(o["a"])(e.mode,gde.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=Object(o["a"])(e.uniforms,o["a"].EMPTY_OBJECT),this.varyings=Object(o["a"])(e.varyings,o["a"].EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.isTranslucent=Object(o["a"])(e.isTranslucent,!1),this._textureManager=new rut,this._defaultTexture=void 0,this.uniformMap=lut(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},fut(this),_ut(this)}function lut(e){const t=e.uniforms,n={};for(const i in t)if(t.hasOwnProperty(i)){const o=t[i],r=o.type;if(r===out.SAMPLER_CUBE)throw new a["a"]("CustomShader does not support samplerCube uniforms");r===out.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=uut(e,i)):n[i]=hut(e,i)}return n}function uut(e,t){return function(){return Object(o["a"])(e._textureManager.getTexture(t),e._defaultTexture)}}function hut(e,t){return function(){return e.uniforms[t].value}}function dut(e,t,n){let i;while(null!==(i=t.exec(e))){const e=i[1];n[e]=!0}}function fut(e){const t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g;let o;const a=e.vertexShaderText;Object(r["a"])(a)&&(o=e.usedVariablesVertex.attributeSet,dut(a,t,o),o=e.usedVariablesVertex.featureIdSet,dut(a,n,o),o=e.usedVariablesVertex.metadataSet,dut(a,i,o));const s=e.fragmentShaderText;if(Object(r["a"])(s)){o=e.usedVariablesFragment.attributeSet,dut(s,t,o),o=e.usedVariablesFragment.featureIdSet,dut(s,n,o),o=e.usedVariablesFragment.metadataSet,dut(s,i,o);const r=/material\.(\w+)/g,a=e.usedVariablesFragment.materialSet;dut(s,r,a)}}function put(e){const t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?e+" (model coordinates)":n.test(e)?e+" (Cartesian world coordinates)":i.test(e)?e+" (eye coordinates)":e}function mut(e,t,n,i){if(e.hasOwnProperty(t)){const e=`${put(t)} is not available in the ${i} shader. Did you mean ${put(n)} instead?`;throw new a["a"](e)}}function _ut(e){const t=e.usedVariablesVertex.attributeSet;mut(t,"position","positionMC","vertex"),mut(t,"normal","normalMC","vertex"),mut(t,"tangent","tangentMC","vertex"),mut(t,"bitangent","bitangentMC","vertex"),mut(t,"positionWC","positionMC","vertex"),mut(t,"positionEC","positionMC","vertex"),mut(t,"normalEC","normalMC","vertex"),mut(t,"tangentEC","tangentMC","vertex"),mut(t,"bitangentEC","bitangentMC","vertex");const n=e.usedVariablesFragment.attributeSet;mut(n,"position","positionEC","fragment"),mut(n,"normal","normalEC","fragment"),mut(n,"tangent","tangentEC","fragment"),mut(n,"bitangent","bitangentEC","fragment"),mut(n,"normalMC","normalEC","fragment"),mut(n,"tangentMC","tangentEC","fragment"),mut(n,"bitangentMC","bitangentEC","fragment")}function gut(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=Object(r["a"])(e.typedArray),n=Object(r["a"])(e.url);if(t===n)throw new a["a"]("exactly one of options.typedArray, options.url must be defined");if(t&&(!Object(r["a"])(e.width)||!Object(r["a"])(e.height)))throw new a["a"]("options.width and options.height are required when options.typedArray is defined");this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=Object(o["a"])(e.pixelFormat,XS.RGBA),this.pixelDatatype=Object(o["a"])(e.pixelDatatype,WS.UNSIGNED_BYTE);let i=e.url;"string"===typeof i&&(i=Et["a"].createIfNeeded(i)),this.resource=i;const s=Object(o["a"])(e.repeat,!0),c=s?JF.REPEAT:JF.CLAMP_TO_EDGE;this.sampler=new $F({wrapS:c,wrapT:c,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}rut.prototype.getTexture=function(e){return this._textures[e]},rut.prototype.loadTexture2D=function(e,t){Object(r["a"])(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):aut(this,e,t)},rut.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;const t=e.context;this._defaultTexture=t.defaultTexture;const n=this._loadedImages;for(let i=0;i<n.length;i++){const e=n[i];sut(this,e,t)}n.length=0},rut.prototype.isDestroyed=function(){return!1},rut.prototype.destroy=function(){const e=this._textures;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];n!==this._defaultTexture&&n.destroy()}return Wl(this)},cut.prototype.setUniform=function(e,t){if(i["a"].typeOf.string("uniformName",e),i["a"].defined("value",t),!Object(r["a"])(this.uniforms[e]))throw new a["a"](`Uniform ${e} must be declared in the CustomShader constructor.`);const n=this.uniforms[e];n.type===out.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):Object(r["a"])(t.clone)?n.value=t.clone(n.value):n.value=t},cut.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)},cut.prototype.isDestroyed=function(){return!1},cut.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),Wl(this)};const but={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"};var yut=Object.freeze(but),vut="uniform sampler2D u_depthTexture;\n\nvarying vec2 v_textureCoordinates;\n\nvoid main()\n{\n float z_window = czm_unpackDepth(texture2D(u_depthTexture, v_textureCoordinates));\n z_window = czm_reverseLogDepth(z_window);\n float n_range = czm_depthRange.near;\n float f_range = czm_depthRange.far;\n float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n float scale = pow(z_ndc * 0.5 + 0.5, 8.0);\n gl_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0);\n}\n";const Out="http://www.w3.org/2000/svg",wut="http://www.w3.org/1999/xlink";let Aut;const Tut=j_.fromCssColorString("rgba(247,250,255,0.384)"),Cut=j_.fromCssColorString("rgba(143,191,255,0.216)"),Eut=j_.fromCssColorString("rgba(153,197,255,0.098)"),xut=j_.fromCssColorString("rgba(255,255,255,0.086)"),Sut=j_.fromCssColorString("rgba(255,255,255,0.267)"),Iut=j_.fromCssColorString("rgba(255,255,255,0)"),Dut=j_.fromCssColorString("rgba(66,67,68,0.3)"),jut=j_.fromCssColorString("rgba(0,0,0,0.5)");function Put(e){return j_.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}const Rut={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function Mut(e){const t=document.createElementNS(Out,e.tagName);for(const n in e)if(e.hasOwnProperty(n)&&"tagName"!==n)if("children"===n){const n=e.children.length;for(let i=0;i<n;++i)t.appendChild(Mut(e.children[i]))}else 0===n.indexOf("xlink:")?t.setAttributeNS(wut,n.substring(6),e[n]):"textContent"===n?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function Nut(e,t,n){const i=document.createElementNS(Out,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");const o=document.createElementNS(Out,"tspan");return o.textContent=n,i.appendChild(o),i}function Lut(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}const But=new j_;function Fut(e,t){const n=t.alpha,i=1-n;return But.red=e.red*i+t.red*n,But.green=e.green*i+t.green*n,But.blue=e.blue*i+t.blue*n,But.toCssColorString()}function kut(e,t,n){const i=Rut[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Mut(o)}function zut(e,t,n){const i=Rut[n],o=Rut["animation_pathWingButton"],r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Mut(r)}function Uut(e,t){const n=e._viewModel,i=n.shuttleRingDragging;if(!i||Aut===e)if("mousedown"===t.type||i&&"mousemove"===t.type||"touchstart"===t.type&&1===t.touches.length||i&&"touchmove"===t.type&&1===t.touches.length){const o=e._centerX,r=e._centerY,a=e._svgNode,s=a.getBoundingClientRect();let c,l;if("touchstart"===t.type||"touchmove"===t.type?(c=t.touches[0].clientX,l=t.touches[0].clientY):(c=t.clientX,l=t.clientY),!i&&(c>s.right||c<s.left||l<s.top||l>s.bottom))return;const u=e._shuttleRingPointer.getBoundingClientRect(),h=c-o-s.left,d=l-r-s.top;let f=180*Math.atan2(d,h)/Math.PI+90;f>180&&(f-=360);const p=n.shuttleRingAngle;i||c<u.right&&c>u.left&&l>u.top&&l<u.bottom?(Aut=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=f):f<p?n.slower():f>p&&n.faster(),t.preventDefault()}else e===Aut&&(Aut=void 0),n.shuttleRingDragging=!1}function Vut(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;const n=this;this._clickFunction=function(){const e=n._viewModel.command;e.canExecute&&e()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[nut(t,"toggled",this.setToggled,this),nut(t,"tooltip",this.setTooltip,this),nut(t.command,"canExecute",this.setEnabled,this)]}function Hut(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("viewModel is required.");e=mUe(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;const n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);const o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];const s=document.createElementNS(Out,"svg:svg");this._svgNode=s,s.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",wut);const c=document.createElementNS(Out,"g");this._topG=c,this._realtimeSVG=new Vut(zut(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new Vut(kut(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new Vut(kut(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new Vut(kut(84,99,"animation_pathPause"),t.pauseViewModel);const l=document.createElementNS(Out,"g");l.appendChild(this._realtimeSVG.svgElement),l.appendChild(this._playReverseSVG.svgElement),l.appendChild(this._playForwardSVG.svgElement),l.appendChild(this._pauseSVG.svgElement);const u=Mut({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=u;const h=Rut["animation_pathSwooshFX"],d=Rut["animation_pathPointer"],f=Mut({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:h.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:h.d},{tagName:h.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:h.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=f,this._shuttleRingPointer=Mut({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:d.tagName,d:d.d});const p=Mut({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Mut({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});const m=61,_=Mut({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:m});this._knobDate=Nut(0,-24,""),this._knobTime=Nut(0,-7,""),this._knobStatus=Nut(0,-41,"");const g=Mut({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:m}),b=document.createElementNS(Out,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),c.appendChild(b),c.appendChild(p),c.appendChild(l),b.appendChild(u),b.appendChild(f),b.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(_),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(g),s.appendChild(c),e.appendChild(s);const y=this;function v(e){Uut(y,e)}this._mouseCallback=v,u.addEventListener("mousedown",v,!0),u.addEventListener("touchstart",v,!0),f.addEventListener("mousedown",v,!0),f.addEventListener("touchstart",v,!0),n.addEventListener("mousemove",v,!0),n.addEventListener("touchmove",v,!0),n.addEventListener("mouseup",v,!0),n.addEventListener("touchend",v,!0),n.addEventListener("touchcancel",v,!0),this._shuttleRingPointer.addEventListener("mousedown",v,!0),this._shuttleRingPointer.addEventListener("touchstart",v,!0),this._knobOuter.addEventListener("mousedown",v,!0),this._knobOuter.addEventListener("touchstart",v,!0);const O=this._knobTime.childNodes[0],w=this._knobDate.childNodes[0],A=this._knobStatus.childNodes[0];let T;this._subscriptions=[nut(t.pauseViewModel,"toggled",(function(e){T!==e&&(T=e,T?y._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):y._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))})),nut(t,"shuttleRingAngle",(function(e){Lut(y._shuttleRingPointer,y._knobOuter,e)})),nut(t,"dateLabel",(function(e){w.textContent!==e&&(w.textContent=e)})),nut(t,"timeLabel",(function(e){O.textContent!==e&&(O.textContent=e)})),nut(t,"multiplierLabel",(function(e){A.textContent!==e&&(A.textContent=e)}))],this.applyThemeChanges(),this.resize()}Vut.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);const e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();Wl(this)},Vut.prototype.isDestroyed=function(){return!1},Vut.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e)return void this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");if(this._toggled)return void this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");this.svgElement.setAttribute("class","cesium-animation-rectButton")}},Vut.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))},Vut.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e},Object.defineProperties(Hut.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Hut.prototype.isDestroyed=function(){return!1},Hut.prototype.destroy=function(){Object(r["a"])(this._observer)&&(this._observer.disconnect(),this._observer=void 0);const e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();const n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return Wl(this)},Hut.prototype.resize=function(){const e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;const n=this._svgNode,i=200,o=132;let r=e,a=t;0===e&&0===t?(r=i,a=o):0===e?(a=t,r=i*(t/o)):0===t&&(r=e,a=o*(e/i));const s=r/i,c=a/o;n.style.cssText=`width: ${r}px; height: ${a}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",a),n.setAttribute("viewBox",`0 0 ${r} ${a}`),this._topG.setAttribute("transform",`scale(${s},${c})`),this._centerX=Math.max(1,100*s),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t},Hut.prototype.applyThemeChanges=function(){const e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(Object(r["a"])(this._observer))return;const t=this;return t._observer=new MutationObserver((function(){e.body.contains(t._container)&&(t._observer.disconnect(),t._observer=void 0,t.applyThemeChanges())})),void t._observer.observe(e,{childList:!0,subtree:!0})}const t=Put(this._themeNormal),n=Put(this._themeHover),i=Put(this._themeSelect),o=Put(this._themeDisabled),a=Put(this._themeKnob),s=Put(this._themePointer),c=Put(this._themeSwoosh),l=Put(this._themeSwooshHover),u=Mut({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Fut(t,Tut)},{tagName:"stop",offset:"12%","stop-color":Fut(t,Cut)},{tagName:"stop",offset:"46%","stop-color":Fut(t,Eut)},{tagName:"stop",offset:"81%","stop-color":Fut(t,xut)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Fut(n,Tut)},{tagName:"stop",offset:"12%","stop-color":Fut(n,Cut)},{tagName:"stop",offset:"46%","stop-color":Fut(n,Eut)},{tagName:"stop",offset:"81%","stop-color":Fut(n,xut)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Fut(i,Tut)},{tagName:"stop",offset:"12%","stop-color":Fut(i,Cut)},{tagName:"stop",offset:"46%","stop-color":Fut(i,Eut)},{tagName:"stop",offset:"81%","stop-color":Fut(i,xut)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Fut(o,Sut)},{tagName:"stop",offset:"75%","stop-color":Fut(o,Iut)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":l.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":l.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":l.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":Fut(s,jut)},{tagName:"stop",offset:"100%","stop-color":Fut(s,jut)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Fut(a,Tut)},{tagName:"stop",offset:"60%","stop-color":Fut(a,Dut)},{tagName:"stop",offset:"85%","stop-color":Fut(a,Cut)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Fut(a,Dut)},{tagName:"stop",offset:"60%","stop-color":Fut(a,Tut)},{tagName:"stop",offset:"85%","stop-color":Fut(a,xut)}]}]});Object(r["a"])(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var Gut=Hut;const qut=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Wut=15,Yut=105;function Xut(e,t){return e-t}function Kut(e,t){const n=Bo(t,e,Xut);return n<0?~n:n}function Jut(e,t){if(Math.abs(e)<=Wut)return e/Wut;const n=Wut,i=Yut;let o;const r=0;let a;return e>0?(o=Math.log(t[t.length-1]),a=(o-r)/(i-n),Math.exp(r+a*(e-n))):(o=Math.log(-t[0]),a=(o-r)/(i-n),-Math.exp(r+a*(Math.abs(e)-n)))}function Zut(e,t,n){if(n.clockStep===g_.SYSTEM_CLOCK)return Wut;if(Math.abs(e)<=1)return e*Wut;const i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);const o=Wut,r=Yut;let a;const s=0;let c;return e>0?(a=Math.log(i),c=(a-s)/(r-o),(Math.log(e)-s)/c+o):(a=Math.log(-t[0]),c=(a-s)/(r-o),-((Math.log(Math.abs(e))-s)/c+o))}function $ut(e){if(!Object(r["a"])(e))throw new a["a"]("clockViewModel is required.");const t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=$ut.defaultDateFormatter,this._timeFormatter=$ut.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,vst.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks($ut.defaultTicks),this.timeLabel=void 0,vst.defineProperty(this,"timeLabel",(function(){return t._timeFormatter(t._clockViewModel.currentTime,t)})),this.dateLabel=void 0,vst.defineProperty(this,"dateLabel",(function(){return t._dateFormatter(t._clockViewModel.currentTime,t)})),this.multiplierLabel=void 0,vst.defineProperty(this,"multiplierLabel",(function(){const e=t._clockViewModel;if(e.clockStep===g_.SYSTEM_CLOCK)return"Today";const n=e.multiplier;return n%1===0?n.toFixed(0)+"x":n.toFixed(3).replace(/0{0,3}$/,"")+"x"})),this.shuttleRingAngle=void 0,vst.defineProperty(this,"shuttleRingAngle",{get:function(){return Zut(e.multiplier,t._allShuttleRingTicks,e)},set:function(e){e=Math.max(Math.min(e,Yut),-Yut);const n=t._allShuttleRingTicks,i=t._clockViewModel;if(i.clockStep=g_.SYSTEM_CLOCK_MULTIPLIER,Math.abs(e)===Yut)return void(i.multiplier=e>0?n[n.length-1]:n[0]);let o=Jut(e,n);if(t.snapToTicks)o=n[Kut(o,n)];else if(0!==o){const e=Math.abs(o);if(e>100){const t=e.toFixed(0).length-2,n=Math.pow(10,t);o=Math.round(o/n)*n|0}else e>Wut?o=Math.round(o):e>1?o=+o.toFixed(1):e>0&&(o=+o.toFixed(2))}i.multiplier=o}}),this._canAnimate=void 0,vst.defineProperty(this,"_canAnimate",(function(){const e=t._clockViewModel,n=e.clockRange;if(t.shuttleRingDragging||n===m_.UNBOUNDED)return!0;const i=e.multiplier,o=e.currentTime,r=e.startTime;let a=!1;if(n===m_.LOOP_STOP)a=gr.greaterThan(o,r)||o.equals(r)&&i>0;else{const t=e.stopTime;a=gr.greaterThan(o,r)&&gr.lessThan(o,t)||o.equals(r)&&i>0||o.equals(t)&&i<0}return a||(e.shouldAnimate=!1),a})),this._isSystemTimeAvailable=void 0,vst.defineProperty(this,"_isSystemTimeAvailable",(function(){const e=t._clockViewModel,n=e.clockRange;if(n===m_.UNBOUNDED)return!0;const i=e.systemTime;return gr.greaterThanOrEquals(i,e.startTime)&&gr.lessThanOrEquals(i,e.stopTime)})),this._isAnimating=void 0,vst.defineProperty(this,"_isAnimating",(function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)}));const n=eut((function(){const e=t._clockViewModel;e.shouldAnimate?e.shouldAnimate=!1:t._canAnimate&&(e.shouldAnimate=!0)}));this._pauseViewModel=new $lt(n,{toggled:vst.computed((function(){return!t._isAnimating})),tooltip:"Pause"});const i=eut((function(){const e=t._clockViewModel,n=e.multiplier;n>0&&(e.multiplier=-n),e.shouldAnimate=!0}));this._playReverseViewModel=new $lt(i,{toggled:vst.computed((function(){return t._isAnimating&&e.multiplier<0})),tooltip:"Play Reverse"});const o=eut((function(){const e=t._clockViewModel,n=e.multiplier;n<0&&(e.multiplier=-n),e.shouldAnimate=!0}));this._playForwardViewModel=new $lt(o,{toggled:vst.computed((function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==g_.SYSTEM_CLOCK})),tooltip:"Play Forward"});const s=eut((function(){t._clockViewModel.clockStep=g_.SYSTEM_CLOCK}),vst.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new $lt(s,{toggled:vst.computed((function(){return e.clockStep===g_.SYSTEM_CLOCK})),tooltip:vst.computed((function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"}))}),this._slower=eut((function(){const e=t._clockViewModel,n=t._allShuttleRingTicks,i=e.multiplier,o=Kut(i,n)-1;o>=0&&(e.multiplier=n[o])})),this._faster=eut((function(){const e=t._clockViewModel,n=t._allShuttleRingTicks,i=e.multiplier,o=Kut(i,n)+1;o<n.length&&(e.multiplier=n[o])}))}$ut.defaultDateFormatter=function(e,t){const n=gr.toGregorianDate(e);return`${qut[n.month-1]} ${n.day} ${n.year}`},$ut.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800],$ut.defaultTimeFormatter=function(e,t){const n=gr.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`},$ut.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)},$ut.prototype.setShuttleRingTicks=function(e){if(!Object(r["a"])(e))throw new a["a"]("positiveTicks is required.");let t,n,i;const o={},s=this._sortedFilteredPositiveTicks;for(s.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,s.push(i));s.sort(Xut);const c=[];for(n=s.length,t=n-1;t>=0;--t)i=s[t],0!==i&&c.push(-i);Array.prototype.push.apply(c,s),this._allShuttleRingTicks=c},Object.defineProperties($ut.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){if("function"!==typeof e)throw new a["a"]("dateFormatter must be a function");this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){if("function"!==typeof e)throw new a["a"]("timeFormatter must be a function");this._timeFormatter=e}}}),$ut._maxShuttleRingAngle=Yut,$ut._realtimeShuttleRingAngle=Wut;var Qut=$ut;function eht(e){e=Object(o["a"])(e,o["a"].EMPTY_OBJECT);const t=e.globe,n=Object(o["a"])(e.imageryProviderViewModels,[]),i=Object(o["a"])(e.terrainProviderViewModels,[]);if(!Object(r["a"])(t))throw new a["a"]("globe is required");this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,vst.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);const s=vst.getObservable(this,"imageryProviderViewModels"),c=vst.pureComputed((function(){const e=s(),t={};let n;for(n=0;n<e.length;n++){const i=e[n],o=i.category;Object(r["a"])(t[o])?t[o].push(i):t[o]=[i]}const i=Object.keys(t),o=[];for(n=0;n<i.length;n++){const e=i[n];o.push({name:e,providers:t[e]})}return o}));this._imageryProviders=c;const l=vst.getObservable(this,"terrainProviderViewModels"),u=vst.pureComputed((function(){const e=l(),t={};let n;for(n=0;n<e.length;n++){const i=e[n],o=i.category;Object(r["a"])(t[o])?t[o].push(i):t[o]=[i]}const i=Object.keys(t),o=[];for(n=0;n<i.length;n++){const e=i[n];o.push({name:e,providers:t[e]})}return o}));this._terrainProviders=u,this.buttonTooltip=void 0,vst.defineProperty(this,"buttonTooltip",(function(){const e=this.selectedImagery,t=this.selectedTerrain,n=Object(r["a"])(e)?e.name:void 0,i=Object(r["a"])(t)?t.name:void 0;return Object(r["a"])(n)&&Object(r["a"])(i)?`${n}\n${i}`:Object(r["a"])(n)?n:i})),this.buttonImageUrl=void 0,vst.defineProperty(this,"buttonImageUrl",(function(){const e=this.selectedImagery;if(Object(r["a"])(e))return e.iconUrl})),this.selectedImagery=void 0;const h=vst.observable();this._currentImageryProviders=[],vst.defineProperty(this,"selectedImagery",{get:function(){return h()},set:function(e){if(h()===e)return void(this.dropDownVisible=!1);let t;const n=this._currentImageryProviders,i=n.length,o=this._globe.imageryLayers;let a=!1;for(t=0;t<i;t++){const e=o.length;for(let i=0;i<e;i++){const e=o.get(i);if(e.imageryProvider===n[t]){o.remove(e),a=!0;break}}}if(Object(r["a"])(e)){const n=e.creationCommand();if(Array.isArray(n)){const e=n.length;for(t=e-1;t>=0;t--)o.addImageryProvider(n[t],0);this._currentImageryProviders=n.slice(0)}else if(this._currentImageryProviders=[n],a)o.addImageryProvider(n,0);else{const e=o.get(0);Object(r["a"])(e)&&o.remove(e),o.addImageryProvider(n,0)}}h(e),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;const d=vst.observable();vst.defineProperty(this,"selectedTerrain",{get:function(){return d()},set:function(e){if(d()===e)return void(this.dropDownVisible=!1);let t;Object(r["a"])(e)&&(t=e.creationCommand()),this._globe.depthTestAgainstTerrain=!(t instanceof Xw),this._globe.terrainProvider=t,d(e),this.dropDownVisible=!1}});const f=this;this._toggleDropDown=eut((function(){f.dropDownVisible=!f.dropDownVisible})),this.selectedImagery=Object(o["a"])(e.selectedImageryProviderViewModel,n[0]),this.selectedTerrain=Object(o["a"])(e.selectedTerrainProviderViewModel,i[0])}Object.defineProperties(eht.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var tht=eht;function nht(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e);const n=new tht(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);const o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);const s=document.createElement("div");s.className="cesium-baseLayerPicker-dropDown",s.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(s);const c=document.createElement("div");c.className="cesium-baseLayerPicker-sectionTitle",c.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),c.innerHTML="Imagery",s.appendChild(c);const l=document.createElement("div");l.className="cesium-baseLayerPicker-section",l.setAttribute("data-bind","foreach: _imageryProviders"),s.appendChild(l);const u=document.createElement("div");u.className="cesium-baseLayerPicker-category",l.appendChild(u);const h=document.createElement("div");h.className="cesium-baseLayerPicker-categoryTitle",h.setAttribute("data-bind","text: name"),u.appendChild(h);const d=document.createElement("div");d.className="cesium-baseLayerPicker-choices",d.setAttribute("data-bind","foreach: providers"),u.appendChild(d);const f=document.createElement("div");f.className="cesium-baseLayerPicker-item",f.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),d.appendChild(f);const p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),f.appendChild(p);const m=document.createElement("div");m.className="cesium-baseLayerPicker-itemLabel",m.setAttribute("data-bind","text: name"),f.appendChild(m);const _=document.createElement("div");_.className="cesium-baseLayerPicker-sectionTitle",_.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),_.innerHTML="Terrain",s.appendChild(_);const g=document.createElement("div");g.className="cesium-baseLayerPicker-section",g.setAttribute("data-bind","foreach: _terrainProviders"),s.appendChild(g);const b=document.createElement("div");b.className="cesium-baseLayerPicker-category",g.appendChild(b);const y=document.createElement("div");y.className="cesium-baseLayerPicker-categoryTitle",y.setAttribute("data-bind","text: name"),b.appendChild(y);const v=document.createElement("div");v.className="cesium-baseLayerPicker-choices",v.setAttribute("data-bind","foreach: providers"),b.appendChild(v);const O=document.createElement("div");O.className="cesium-baseLayerPicker-item",O.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),v.appendChild(O);const w=document.createElement("img");w.className="cesium-baseLayerPicker-itemIcon",w.setAttribute("data-bind","attr: { src: iconUrl }"),w.setAttribute("draggable","false"),O.appendChild(w);const A=document.createElement("div");A.className="cesium-baseLayerPicker-itemLabel",A.setAttribute("data-bind","text: name"),O.appendChild(A),vst.applyBindings(n,i),vst.applyBindings(n,s),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=s,this._closeDropDown=function(e){i.contains(e.target)||s.contains(e.target)||(n.dropDownVisible=!1)},Ta.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(nht.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),nht.prototype.isDestroyed=function(){return!1},nht.prototype.destroy=function(){return Ta.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),vst.cleanNode(this._element),vst.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),Wl(this)};var iht=nht;function oht(e){if(!Object(r["a"])(e.name))throw new a["a"]("options.name is required.");if(!Object(r["a"])(e.tooltip))throw new a["a"]("options.tooltip is required.");if(!Object(r["a"])(e.iconUrl))throw new a["a"]("options.iconUrl is required.");if("function"!==typeof e.creationFunction)throw new a["a"]("options.creationFunction is required.");let t=e.creationFunction;Object(r["a"])(t.canExecute)||(t=eut(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=Object(o["a"])(e.category,""),vst.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(oht.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var rht=oht;function aht(){const e=[];return e.push(new rht({name:"Bing Maps Aerial",iconUrl:Lt("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return est({style:f5e.AERIAL})}})),e.push(new rht({name:"Bing Maps Aerial with Labels",iconUrl:Lt("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return est({style:f5e.AERIAL_WITH_LABELS})}})),e.push(new rht({name:"Bing Maps Roads",iconUrl:Lt("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return est({style:f5e.ROAD})}})),e.push(new rht({name:"ESRI World Imagery",iconUrl:Lt("Widgets/Images/ImageryProviders/esriWorldImagery.png"),tooltip:"World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes NASA Blue Marble: Next Generation 500m resolution imagery at small scales (above 1:1,000,000), i-cubed 15m eSAT imagery at medium-to-large scales (down to 1:70,000) for the world, and USGS 15m Landsat imagery for Antarctica. The map features 0.3m resolution imagery in the continental United States and 0.6m resolution imagery in parts of Western Europe from DigitalGlobe. In other parts of the world, 1 meter resolution imagery is available from GeoEye IKONOS, i-cubed Nationwide Prime, Getmapping, AeroGRID, IGN Spain, and IGP Portugal. Additionally, imagery at different resolutions has been contributed by the GIS User Community.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new Nqe({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",enablePickFeatures:!1})}})),e.push(new rht({name:"ESRI World Street Map",iconUrl:Lt("Widgets/Images/ImageryProviders/esriWorldStreetMap.png"),tooltip:"This worldwide street map presents highway-level data for the world. Street-level data includes the United States; much of Canada; Japan; most countries in Europe; Australia and New Zealand; India; parts of South America including Argentina, Brazil, Chile, Colombia, and Venezuela; Ghana; and parts of southern Africa including Botswana, Lesotho, Namibia, South Africa, and Swaziland.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new Nqe({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",enablePickFeatures:!1})}})),e.push(new rht({name:"ESRI National Geographic",iconUrl:Lt("Widgets/Images/ImageryProviders/esriNationalGeographic.png"),tooltip:"This web map contains the National Geographic World Map service. This map service is designed to be used as a general reference map for informational and educational purposes as well as a basemap by GIS professionals and other users for creating web maps and web mapping applications.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new Nqe({url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",enablePickFeatures:!1})}})),e.push(new rht({name:"Open­Street­Map",iconUrl:Lt("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",category:"Other",creationFunction:function(){return new o6e({url:"https://a.tile.openstreetmap.org/"})}})),e.push(new rht({name:"Stamen Watercolor",iconUrl:Lt("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:"Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map.\nhttp://maps.stamen.com",category:"Other",creationFunction:function(){return new o6e({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new rht({name:"Stamen Toner",iconUrl:Lt("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:"A high contrast black and white map.\nhttp://maps.stamen.com",category:"Other",creationFunction:function(){return new o6e({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new rht({name:"Sentinel-2",iconUrl:Lt("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return new h5e({assetId:3954})}})),e.push(new rht({name:"Blue Marble",iconUrl:Lt("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return new h5e({assetId:3845})}})),e.push(new rht({name:"Earth at night",iconUrl:Lt("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return new h5e({assetId:3812})}})),e.push(new rht({name:"Natural Earth II",iconUrl:Lt("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:"Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",category:"Cesium ion",creationFunction:function(){return new F4e({url:Lt("Assets/Textures/NaturalEarthII")})}})),e}var sht=aht;function cht(){const e=[];return e.push(new rht({name:"WGS84 Ellipsoid",iconUrl:Lt("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new Xw}})),e.push(new rht({name:"Cesium World Terrain",iconUrl:Lt("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return NL({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var lht=cht;function uht(e){return function(t){const n=e._scene.pick(t.position);Object(r["a"])(n)&&n.primitive instanceof HOe&&(e.tileset=n.primitive),e.pickActive=!1}}function hht(e,t){t?e._eventHandler.setInputAction((function(t){const n=e._scene.pick(t.endPosition);Object(r["a"])(n)&&n.primitive instanceof HOe&&(e.tileset=n.primitive)}),NP.MOUSE_MOVE):(e._eventHandler.removeInputAction(NP.MOUSE_MOVE),e.picking=e.picking)}const dht={maximumFractionDigits:3};function fht(e){const t=e/1048576;return t<1?t.toLocaleString(void 0,dht):Math.round(t).toLocaleString()}function pht(e,t){if(!Object(r["a"])(e))return"";const n=t?e._statisticsPerPass[wbe.PICK]:e._statisticsPerPass[wbe.RENDER];let i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${fht(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${fht(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${fht(n.batchTableByteLength)}</li>`,i+="</ul>"),i}const mht=[{text:"Highlight",value:QJ.HIGHLIGHT},{text:"Replace",value:QJ.REPLACE},{text:"Mix",value:QJ.MIX}],_ht=new j_(1,1,0,.4),ght=new j_,bht=new j_;function yht(e,t){i["a"].typeOf.object("scene",e),i["a"].typeOf.object("performanceContainer",t);const n=this,o=e.canvas;this._eventHandler=new yR(o),this._scene=e,this._performanceContainer=t,this._canvas=o,this._performanceDisplay=new E6e({container:t}),this._statisticsText="",this._pickStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this._tileset=void 0,this._feature=void 0,this._tile=void 0,vst.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_editorError","showPickStatistics","showStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile"]),this._properties=vst.observable({}),this.properties=[],vst.defineProperty(this,"properties",(function(){const e=[],t=n._properties();for(const n in t)t.hasOwnProperty(n)&&e.push(n);return e}));const a=vst.observable();vst.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return a()},set:function(e){a(e),Object(r["a"])(n._tileset)&&(n._tileset.dynamicScreenSpaceError=e)}}),this.dynamicScreenSpaceError=!1;const s=vst.observable();vst.defineProperty(this,"colorBlendMode",{get:function(){return s()},set:function(e){s(e),Object(r["a"])(n._tileset)&&(n._tileset.colorBlendMode=e,n._scene.requestRender())}}),this.colorBlendMode=QJ.HIGHLIGHT;const c=vst.observable(),l=vst.observable();vst.defineProperty(this,"picking",{get:function(){return l()},set:function(t){l(t),t?n._eventHandler.setInputAction((function(t){const i=e.pick(t.endPosition);if(i instanceof SZ?(n.feature=i,n.tile=i.content.tile):Object(r["a"])(i)&&Object(r["a"])(i.content)?(n.feature=void 0,n.tile=i.content.tile):(n.feature=void 0,n.tile=void 0),Object(r["a"])(n._tileset)){if(c&&Object(r["a"])(i)&&Object(r["a"])(i.content)){let o;e.pickPositionSupported&&(o=e.pickPosition(t.endPosition),Object(r["a"])(o)&&(n._tileset.debugPickPosition=o)),n._tileset.debugPickedTile=i.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}}),NP.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(NP.MOUSE_MOVE))}}),this.picking=!0;const u=vst.observable();vst.defineProperty(this,"colorize",{get:function(){return u()},set:function(e){u(e),Object(r["a"])(n._tileset)&&(n._tileset.debugColorizeTiles=e,n._scene.requestRender())}}),this.colorize=!1;const h=vst.observable();vst.defineProperty(this,"wireframe",{get:function(){return h()},set:function(e){h(e),Object(r["a"])(n._tileset)&&(n._tileset.debugWireframe=e,n._scene.requestRender())}}),this.wireframe=!1;const d=vst.observable();vst.defineProperty(this,"showBoundingVolumes",{get:function(){return d()},set:function(e){d(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowBoundingVolume=e,n._scene.requestRender())}}),this.showBoundingVolumes=!1;const f=vst.observable();vst.defineProperty(this,"showContentBoundingVolumes",{get:function(){return f()},set:function(e){f(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=e,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;const p=vst.observable();vst.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(e){p(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=e,n._scene.requestRender())}}),this.showRequestVolumes=!1;const m=vst.observable();vst.defineProperty(this,"freezeFrame",{get:function(){return m()},set:function(e){m(e),Object(r["a"])(n._tileset)&&(n._tileset.debugFreezeFrame=e,n._scene.debugShowFrustumPlanes=e,n._scene.requestRender())}}),this.freezeFrame=!1,vst.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return c()},set:function(e){c(e),Object(r["a"])(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=e,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;const _=vst.observable();vst.defineProperty(this,"showGeometricError",{get:function(){return _()},set:function(e){_(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowGeometricError=e,n._scene.requestRender())}}),this.showGeometricError=!1;const g=vst.observable();vst.defineProperty(this,"showRenderingStatistics",{get:function(){return g()},set:function(e){g(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowRenderingStatistics=e,n._scene.requestRender())}}),this.showRenderingStatistics=!1;const b=vst.observable();vst.defineProperty(this,"showMemoryUsage",{get:function(){return b()},set:function(e){b(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowMemoryUsage=e,n._scene.requestRender())}}),this.showMemoryUsage=!1;const y=vst.observable();vst.defineProperty(this,"showUrl",{get:function(){return y()},set:function(e){y(e),Object(r["a"])(n._tileset)&&(n._tileset.debugShowUrl=e,n._scene.requestRender())}}),this.showUrl=!1;const v=vst.observable();vst.defineProperty(this,"maximumScreenSpaceError",{get:function(){return v()},set:function(e){e=Number(e),isNaN(e)||(v(e),Object(r["a"])(n._tileset)&&(n._tileset.maximumScreenSpaceError=e))}}),this.maximumScreenSpaceError=16;const O=vst.observable();vst.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return O()},set:function(e){e=Number(e),isNaN(e)||(O(e),Object(r["a"])(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=e))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,vst.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(O(),1/6)},set:function(e){O(Math.pow(e,6))}});const w=vst.observable();vst.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return w()},set:function(e){e=Number(e),isNaN(e)||(w(e),Object(r["a"])(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=e))}}),this.dynamicScreenSpaceErrorFactor=4;const A=uht(this),T=vst.observable();vst.defineProperty(this,"pickActive",{get:function(){return T()},set:function(e){T(e),e?n._eventHandler.setInputAction(A,NP.LEFT_CLICK):n._eventHandler.removeInputAction(NP.LEFT_CLICK)}});const C=vst.observable();vst.defineProperty(this,"pointCloudShading",{get:function(){return C()},set:function(e){C(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.attenuation=e)}}),this.pointCloudShading=!1;const E=vst.observable();vst.defineProperty(this,"geometricErrorScale",{get:function(){return E()},set:function(e){e=Number(e),isNaN(e)||(E(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=e))}}),this.geometricErrorScale=1;const x=vst.observable();vst.defineProperty(this,"maximumAttenuation",{get:function(){return x()},set:function(e){e=Number(e),isNaN(e)||(x(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=0===e?void 0:e))}}),this.maximumAttenuation=0;const S=vst.observable();vst.defineProperty(this,"baseResolution",{get:function(){return S()},set:function(e){e=Number(e),isNaN(e)||(S(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=0===e?void 0:e))}}),this.baseResolution=0;const I=vst.observable();vst.defineProperty(this,"eyeDomeLighting",{get:function(){return I()},set:function(e){I(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=e)}}),this.eyeDomeLighting=!1;const D=vst.observable();vst.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return D()},set:function(e){e=Number(e),isNaN(e)||(D(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=e))}}),this.eyeDomeLightingStrength=1;const j=vst.observable();vst.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return j()},set:function(e){e=Number(e),isNaN(e)||(j(e),Object(r["a"])(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=e))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;const P=vst.observable();vst.defineProperty(this,"skipLevelOfDetail",{get:function(){return P()},set:function(e){P(e),Object(r["a"])(n._tileset)&&(n._tileset.skipLevelOfDetail=e)}}),this.skipLevelOfDetail=!0;const R=vst.observable();vst.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return R()},set:function(e){e=Number(e),isNaN(e)||(R(e),Object(r["a"])(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=e))}}),this.skipScreenSpaceErrorFactor=16;const M=vst.observable();vst.defineProperty(this,"baseScreenSpaceError",{get:function(){return M()},set:function(e){e=Number(e),isNaN(e)||(M(e),Object(r["a"])(n._tileset)&&(n._tileset.baseScreenSpaceError=e))}}),this.baseScreenSpaceError=1024;const N=vst.observable();vst.defineProperty(this,"skipLevels",{get:function(){return N()},set:function(e){e=Number(e),isNaN(e)||(N(e),Object(r["a"])(n._tileset)&&(n._tileset.skipLevels=e))}}),this.skipLevels=1;const L=vst.observable();vst.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return L()},set:function(e){L(e),Object(r["a"])(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=e)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;const B=vst.observable();vst.defineProperty(this,"loadSiblings",{get:function(){return B()},set:function(e){B(e),Object(r["a"])(n._tileset)&&(n._tileset.loadSiblings=e)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener((function(){n._update()})),Object(r["a"])(this._tileset)||hht(this,!0)}function vht(e){if(e.featuresLength>0)return!0;const t=e.innerContents;if(Object(r["a"])(t)){const e=t.length;for(let n=0;n<e;++n)if(!vht(t[n]))return!1;return!0}return!1}Object.defineProperties(yht.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},colorBlendModes:{get:function(){return mht}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,Object(r["a"])(e)){const t=this;e.readyPromise.then((function(e){t.isDestroyed()||t._properties(e.properties)}));const n=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],i=n.length;for(let e=0;e<i;++e){const t=n[e];this[t]=this[t]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings;const o=e.pointCloudShading;this.pointCloudShading=o.attenuation,this.geometricErrorScale=o.geometricErrorScale,this.maximumAttenuation=o.maximumAttenuation?o.maximumAttenuation:0,this.baseResolution=o.baseResolution?o.baseResolution:0,this.eyeDomeLighting=o.eyeDomeLighting,this.eyeDomeLightingStrength=o.eyeDomeLightingStrength,this.eyeDomeLightingRadius=o.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=pht(e,!1),this._pickStatisticsText=pht(e,!0),hht(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;const t=this._feature;Object(r["a"])(t)&&!t.content.isDestroyed()&&(!this.colorize&&Object(r["a"])(this._style)?t.color=Object(r["a"])(this._style.color)?this._style.color.evaluateColor(t,ght):j_.WHITE:t.color=bht,this._scene.requestRender()),Object(r["a"])(e)&&(j_.clone(e.color,bht),e.color=_ht,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;const t=this._tile;!Object(r["a"])(t)||t.isDestroyed()||vht(t.content)||(t.color=bht,this._scene.requestRender()),Object(r["a"])(e)&&!vht(e.content)&&(j_.clone(e.color,bht),e.color=_ht,this._scene.requestRender()),this._tile=e}}}),yht.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive},yht.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible},yht.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible},yht.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible},yht.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible},yht.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible},yht.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible},yht.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible},yht.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible},yht.prototype.trimTilesCache=function(){Object(r["a"])(this._tileset)&&this._tileset.trimLoadedTiles()},yht.prototype.compileStyle=function(){const e=this._tileset;if(Object(r["a"])(e)&&this.styleString!==JSON.stringify(e.style)){this._editorError="";try{0===this.styleString.length&&(this.styleString="{}"),this._style=new TKe(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}},yht.prototype.styleEditorKeyPress=function(e,t){if(9===t.keyCode){t.preventDefault();const e=t.target,n=e.selectionStart,i=e.selectionEnd;let o=i;const r=e.value.slice(n,i),a=r.split("\n"),s=a.length;let c;if(t.shiftKey)for(c=0;c<s;++c)" "===a[c][0]&&(" "===a[c][1]?(a[c]=a[c].substr(2),o-=2):(a[c]=a[c].substr(1),o-=1));else for(c=0;c<s;++c)a[c]=" "+a[c],o+=2;const l=a.join("\n");e.value=e.value.slice(0,n)+l+e.value.slice(i),e.selectionStart=n!==i?n:o,e.selectionEnd=o}else!t.ctrlKey||10!==t.keyCode&&13!==t.keyCode||this.compileStyle();return!0},yht.prototype._update=function(){const e=this._tileset;if(this.performance&&this._performanceDisplay.update(),Object(r["a"])(e)){if(e.isDestroyed())return this.tile=void 0,this.feature=void 0,void(this.tileset=void 0);const t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=pht(e,!1),this._pickStatisticsText=pht(e,!0))},yht.prototype.isDestroyed=function(){return!1},yht.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();const e=this;return this._definedProperties.forEach((function(t){vst.getObservable(e,t).dispose()})),Wl(this)},yht.getStatistics=pht;var Oht=yht;function wht(e,t){i["a"].defined("container",e),i["a"].typeOf.object("scene",t),e=mUe(e);const n=document.createElement("div"),o=document.createElement("div");o.setAttribute("data-bind","visible: performance");const r=new Oht(t,o);this._viewModel=r,this._container=e,this._element=n;const a=document.createElement("div");a.textContent="3D Tiles Inspector",a.className="cesium-cesiumInspector-button",a.setAttribute("data-bind","click: toggleInspector"),n.appendChild(a),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);const s=document.createElement("div");this._panel=s,s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);const c=Jlt.createSection,l=Jlt.createCheckbox,u=c(s,"Tileset","tilesetVisible","toggleTileset"),h=c(s,"Display","displayVisible","toggleDisplay"),d=c(s,"Update","updateVisible","toggleUpdate"),f=c(s,"Logging","loggingVisible","toggleLogging"),p=c(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),m=c(s,"Style","styleVisible","toggleStyle"),_=c(s,"Optimization","optimizationVisible","toggleOptimization"),g=document.createElement("div");g.className="field-group";const b=document.createElement("label");b.className="field-label",b.appendChild(document.createTextNode("Properties: "));const y=document.createElement("div");y.setAttribute("data-bind","text: properties"),g.appendChild(b),g.appendChild(y),u.appendChild(g),u.appendChild(Tht("togglePickTileset","Pick Tileset","pickActive")),u.appendChild(Tht("trimTilesCache","Trim Tiles Cache")),u.appendChild(l("Enable Picking","picking")),h.appendChild(l("Colorize","colorize")),h.appendChild(l("Wireframe","wireframe")),h.appendChild(l("Bounding Volumes","showBoundingVolumes")),h.appendChild(l("Content Volumes","showContentBoundingVolumes")),h.appendChild(l("Request Volumes","showRequestVolumes")),h.appendChild(l("Point Cloud Shading","pointCloudShading"));const v=document.createElement("div");v.setAttribute("data-bind","visible: pointCloudShading"),v.appendChild(Aht("geometricErrorScale",0,2,.01,"Geometric Error Scale")),v.appendChild(Aht("maximumAttenuation",0,32,1,"Maximum Attenuation")),v.appendChild(Aht("baseResolution",0,1,.01,"Base Resolution")),v.appendChild(l("Eye Dome Lighting (EDL)","eyeDomeLighting")),h.appendChild(v);const O=document.createElement("div");O.setAttribute("data-bind","visible: eyeDomeLighting"),O.appendChild(Aht("eyeDomeLightingStrength",0,2,.1,"EDL Strength")),O.appendChild(Aht("eyeDomeLightingRadius",0,4,.1,"EDL Radius")),v.appendChild(O),d.appendChild(l("Freeze Frame","freezeFrame")),d.appendChild(l("Dynamic Screen Space Error","dynamicScreenSpaceError"));const w=document.createElement("div");w.appendChild(Aht("maximumScreenSpaceError",0,128,1,"Maximum Screen Space Error")),d.appendChild(w);const A=document.createElement("div");A.setAttribute("data-bind","visible: dynamicScreenSpaceError"),A.appendChild(Aht("dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"Screen Space Error Density","dynamicScreenSpaceErrorDensity")),A.appendChild(Aht("dynamicScreenSpaceErrorFactor",1,10,.1,"Screen Space Error Factor")),d.appendChild(A),f.appendChild(l("Performance","performance")),f.appendChild(o),f.appendChild(l("Statistics","showStatistics"));const T=document.createElement("div");T.className="cesium-3dTilesInspector-statistics",T.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),f.appendChild(T),f.appendChild(l("Pick Statistics","showPickStatistics"));const C=document.createElement("div");C.className="cesium-3dTilesInspector-statistics",C.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),f.appendChild(C);const E=document.createElement("div");m.appendChild(E),E.appendChild(document.createTextNode("Color Blend Mode: "));const x=document.createElement("select");x.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),E.appendChild(x);const S=document.createElement("textarea");S.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),E.className="cesium-cesiumInspector-styleEditor",E.appendChild(S);const I=Tht("compileStyle","Compile (Ctrl+Enter)");E.appendChild(I);const D=document.createElement("div");D.className="cesium-cesiumInspector-error",D.setAttribute("data-bind","text: editorError"),E.appendChild(D),p.appendChild(l("Show Picked Only","showOnlyPickedTileDebugLabel")),p.appendChild(l("Geometric Error","showGeometricError")),p.appendChild(l("Rendering Statistics","showRenderingStatistics")),p.appendChild(l("Memory Usage (MB)","showMemoryUsage")),p.appendChild(l("Url","showUrl")),_.appendChild(l("Skip Tile LODs","skipLevelOfDetail"));const j=document.createElement("div");j.appendChild(Aht("skipScreenSpaceErrorFactor",1,50,1,"Skip SSE Factor")),_.appendChild(j);const P=document.createElement("div");P.appendChild(Aht("baseScreenSpaceError",0,4096,1,"SSE before skipping LOD")),_.appendChild(P);const R=document.createElement("div");R.appendChild(Aht("skipLevels",0,10,1,"Min. levels to skip")),_.appendChild(R),_.appendChild(l("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),_.appendChild(l("Load siblings of visible tiles","loadSiblings")),vst.applyBindings(r,n)}function Aht(e,t,n,i,r,a){a=Object(o["a"])(a,e);const s=document.createElement("input");s.setAttribute("data-bind","value: "+a),s.type="number";const c=document.createElement("input");c.type="range",c.min=t,c.max=n,c.step=i,c.setAttribute("data-bind",'valueUpdate: "input", value: '+e);const l=document.createElement("div");l.appendChild(c);const u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(r)),u.appendChild(s),u.appendChild(l),u}function Tht(e,t,n){const i=document.createElement("button");i.type="button",i.textContent=t,i.className="cesium-cesiumInspector-pickButton";let o="click: "+e;return Object(r["a"])(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i}Object.defineProperties(wht.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),wht.prototype.isDestroyed=function(){return!1},wht.prototype.destroy=function(){return vst.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),Wl(this)};var Cht=wht;function Eht(e){let t;if(Object(r["a"])(e)){t="Command Statistics";const n=e.commandsInFrustums;for(const e in n)if(n.hasOwnProperty(e)){let i,o=parseInt(e,10);if(7===o)i="1, 2 and 3";else{const e=[];for(let t=2;t>=0;t--){const n=Math.pow(2,t);o>=n&&(e.push(t+1),o-=n)}i=e.reverse().join(" and ")}t+=`<br>&nbsp;&nbsp;&nbsp;&nbsp;${n[e]} in frustum ${i}`}t+="<br>Total: "+e.totalCommands}return t}function xht(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}const Sht=new Ki,Iht=new g;function Dht(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required");if(!Object(r["a"])(t))throw new a["a"]("performanceContainer is required");const n=this,i=e.canvas,o=new yR(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;const s=this._scene.globe;let c;function l(e){const t=n._scene.pick({x:e.position.x,y:e.position.y});Object(r["a"])(t)&&(n.primitive=Object(r["a"])(t.collection)?t.collection:t.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}function u(e){let t;const i=s.ellipsoid,o=n._scene.camera.getPickRay(e.position,Sht),a=s.pick(o,n._scene,Iht);if(Object(r["a"])(a)){const e=i.cartesianToCartographic(a),n=s._surface.tileProvider._tilesToRenderByTextureCount;for(let i=0;!t&&i<n.length;++i){const o=n[i];if(Object(r["a"])(o))for(let n=0;!t&&n<o.length;++n){const i=o[n];Fe.contains(i.rectangle,e)&&(t=i)}}}n.tile=t,n.pickTileActive=!1}s.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",vst.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=eut((function(){n.dropDownVisible=!n.dropDownVisible})),this._toggleGeneral=eut((function(){n.generalVisible=!n.generalVisible})),this._togglePrimitives=eut((function(){n.primitivesVisible=!n.primitivesVisible})),this._toggleTerrain=eut((function(){n.terrainVisible=!n.terrainVisible})),this._frustumsSubscription=vst.getObservable(this,"frustums").subscribe((function(e){n._scene.debugShowFrustums=e,n._scene.requestRender()})),this._frustumPlanesSubscription=vst.getObservable(this,"frustumPlanes").subscribe((function(e){n._scene.debugShowFrustumPlanes=e,n._scene.requestRender()})),this._performanceSubscription=vst.getObservable(this,"performance").subscribe((function(e){e?n._performanceDisplay=new E6e({container:n._performanceContainer}):n._performanceContainer.innerHTML=""})),this._showPrimitiveBoundingSphere=eut((function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0})),this._primitiveBoundingSphereSubscription=vst.getObservable(this,"primitiveBoundingSphere").subscribe((function(){n._showPrimitiveBoundingSphere()})),this._showPrimitiveReferenceFrame=eut((function(){if(n.primitiveReferenceFrame){const e=n._primitive.modelMatrix;n._modelMatrixPrimitive=new mZe({modelMatrix:e}),n._scene.primitives.add(n._modelMatrixPrimitive)}else Object(r["a"])(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0})),this._primitiveReferenceFrameSubscription=vst.getObservable(this,"primitiveReferenceFrame").subscribe((function(){n._showPrimitiveReferenceFrame()})),this._doFilterPrimitive=eut((function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(e){return!(!Object(r["a"])(n._modelMatrixPrimitive)||e.owner!==n._modelMatrixPrimitive._primitive)||!!Object(r["a"])(n._primitive)&&(e.owner===n._primitive||e.owner===n._primitive._billboardCollection||e.owner.primitive===n._primitive)}:n._scene.debugCommandFilter=void 0,!0})),this._filterPrimitiveSubscription=vst.getObservable(this,"filterPrimitive").subscribe((function(){n._doFilterPrimitive(),n._scene.requestRender()})),this._wireframeSubscription=vst.getObservable(this,"wireframe").subscribe((function(e){s._surface.tileProvider._debug.wireframe=e,n._scene.requestRender()})),this._depthFrustumSubscription=vst.getObservable(this,"depthFrustum").subscribe((function(e){n._scene.debugShowDepthFrustum=e,n._scene.requestRender()})),this._incrementDepthFrustum=eut((function(){const e=n.depthFrustum+1;return n.depthFrustum=xht(1,n._numberOfFrustums,e),n._scene.requestRender(),!0})),this._decrementDepthFrustum=eut((function(){const e=n.depthFrustum-1;return n.depthFrustum=xht(1,n._numberOfFrustums,e),n._scene.requestRender(),!0})),this._suspendUpdatesSubscription=vst.getObservable(this,"suspendUpdates").subscribe((function(e){s._surface._debug.suspendLodUpdate=e,e||(n.filterTile=!1)})),this._showTileCoordinates=eut((function(){return n.tileCoordinates&&!Object(r["a"])(c)?c=e.imageryLayers.addImageryProvider(new $rt({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&Object(r["a"])(c)&&(e.imageryLayers.remove(c),c=void 0),!0})),this._tileCoordinatesSubscription=vst.getObservable(this,"tileCoordinates").subscribe((function(){n._showTileCoordinates(),n._scene.requestRender()})),this._tileBoundingSphereSubscription=vst.getObservable(this,"tileBoundingSphere").subscribe((function(){n._showTileBoundingSphere(),n._scene.requestRender()})),this._showTileBoundingSphere=eut((function(){return n.tileBoundingSphere?s._surface.tileProvider._debug.boundingSphereTile=n._tile:s._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0})),this._doFilterTile=eut((function(){return n.filterTile?(n.suspendUpdates=!0,s._surface._tilesToRender=[],Object(r["a"])(n._tile)&&n._tile.renderable&&s._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0})),this._filterTileSubscription=vst.getObservable(this,"filterTile").subscribe((function(){n.doFilterTile(),n._scene.requestRender()})),this._pickPrimitive=eut((function(){n.pickPrimitiveActive=!n.pickPrimitiveActive})),this._pickPrimitiveActiveSubscription=vst.getObservable(this,"pickPrimitiveActive").subscribe((function(e){e?o.setInputAction(l,NP.LEFT_CLICK):o.removeInputAction(NP.LEFT_CLICK)})),this._pickTile=eut((function(){n.pickTileActive=!n.pickTileActive})),this._pickTileActiveSubscription=vst.getObservable(this,"pickTileActive").subscribe((function(e){e?o.setInputAction(u,NP.LEFT_CLICK):o.removeInputAction(NP.LEFT_CLICK)})),this._removePostRenderEvent=e.postRender.addEventListener((function(){n._update()}))}Object.defineProperties(Dht.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){const e=this;return eut((function(){e.tile=e.tile.parent}))}},selectNW:{get:function(){const e=this;return eut((function(){e.tile=e.tile.northwestChild}))}},selectNE:{get:function(){const e=this;return eut((function(){e.tile=e.tile.northeastChild}))}},selectSW:{get:function(){const e=this;return eut((function(){e.tile=e.tile.southwestChild}))}},selectSE:{get:function(){const e=this;return eut((function(){e.tile=e.tile.southeastChild}))}},primitive:{get:function(){return this._primitive},set:function(e){const t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,Object(r["a"])(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,Object(r["a"])(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout((function(){e.show=!0}),50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(Object(r["a"])(e)){this.hasPickedTile=!0;const t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;const t=e.data;Object(r["a"])(t)&&Object(r["a"])(t.tileBoundingRegion)?this.tileText+=`<br>Min: ${t.tileBoundingRegion.minimumHeight} Max: ${t.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}}),Dht.prototype._update=function(){this.frustums&&(this.frustumStatisticText=Eht(this._scene.debugFrustumStatistics));const e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=xht(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText="Cached shaders: "+this._scene.context.shaderCache.numberOfShaders},Dht.prototype.isDestroyed=function(){return!1},Dht.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),Wl(this)};var jht=Dht;function Pht(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("scene is required.");e=mUe(e);const n=document.createElement("div"),i=new jht(t,n);this._viewModel=i,this._container=e;const o=document.createElement("div");this._element=o;const s=document.createElement("div");s.textContent="Cesium Inspector",s.className="cesium-cesiumInspector-button",s.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(s),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);const c=document.createElement("div");this._panel=c,c.className="cesium-cesiumInspector-dropDown",o.appendChild(c);const l=Jlt.createSection,u=Jlt.createCheckbox,h=l(c,"General","generalVisible","toggleGeneral"),d=u("Show Frustums","frustums"),f=document.createElement("div");f.className="cesium-cesiumInspector-frustumStatistics",f.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),d.appendChild(f),h.appendChild(d),h.appendChild(u("Show Frustum Planes","frustumPlanes")),h.appendChild(u("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",h.appendChild(n);const p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),h.appendChild(p);const m=document.createElement("div");h.appendChild(m);const _=document.createElement("span");_.setAttribute("data-bind",'html: "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Frustum:"'),m.appendChild(_);const g=document.createElement("span");g.setAttribute("data-bind","text: depthFrustumText"),m.appendChild(g);const b=document.createElement("input");b.type="button",b.value="-",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: decrementDepthFrustum"),m.appendChild(b);const y=document.createElement("input");y.type="button",y.value="+",y.className="cesium-cesiumInspector-pickButton",y.setAttribute("data-bind","click: incrementDepthFrustum"),m.appendChild(y);const v=l(c,"Primitives","primitivesVisible","togglePrimitives"),O=document.createElement("div");O.className="cesium-cesiumInspector-pickSection",v.appendChild(O);const w=document.createElement("input");w.type="button",w.value="Pick a primitive",w.className="cesium-cesiumInspector-pickButton",w.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let A=document.createElement("div");A.className="cesium-cesiumInspector-center",A.appendChild(w),O.appendChild(A),O.appendChild(u("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),O.appendChild(u("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=u("Show only selected","filterPrimitive","hasPickedPrimitive"),O.appendChild(this._primitiveOnly);const T=l(c,"Terrain","terrainVisible","toggleTerrain"),C=document.createElement("div");C.className="cesium-cesiumInspector-pickSection",T.appendChild(C);const E=document.createElement("input");E.type="button",E.value="Pick a tile",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),A=document.createElement("div"),A.appendChild(E),A.className="cesium-cesiumInspector-center",C.appendChild(A);const x=document.createElement("div");C.appendChild(x);const S=document.createElement("input");S.type="button",S.value="Parent",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind","click: selectParent");const I=document.createElement("input");I.type="button",I.value="NW",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectNW");const D=document.createElement("input");D.type="button",D.value="NE",D.className="cesium-cesiumInspector-pickButton",D.setAttribute("data-bind","click: selectNE");const j=document.createElement("input");j.type="button",j.value="SW",j.className="cesium-cesiumInspector-pickButton",j.setAttribute("data-bind","click: selectSW");const P=document.createElement("input");P.type="button",P.value="SE",P.className="cesium-cesiumInspector-pickButton",P.setAttribute("data-bind","click: selectSE");const R=document.createElement("div");R.className="cesium-cesiumInspector-tileText",x.className="cesium-cesiumInspector-frustumStatistics",x.appendChild(R),x.setAttribute("data-bind","visible: hasPickedTile"),R.setAttribute("data-bind","html: tileText");const M=document.createElement("div");M.className="cesium-cesiumInspector-relativeText",M.textContent="Select relative:",x.appendChild(M);const N=document.createElement("table"),L=document.createElement("tr"),B=document.createElement("tr"),F=document.createElement("td");F.appendChild(S);const k=document.createElement("td");k.appendChild(I);const z=document.createElement("td");z.appendChild(D),L.appendChild(F),L.appendChild(k),L.appendChild(z);const U=document.createElement("td"),V=document.createElement("td");V.appendChild(j);const H=document.createElement("td");H.appendChild(P),B.appendChild(U),B.appendChild(V),B.appendChild(H),N.appendChild(L),N.appendChild(B),x.appendChild(N),C.appendChild(u("Show bounding volume","tileBoundingSphere","hasPickedTile")),C.appendChild(u("Show only selected","filterTile","hasPickedTile")),T.appendChild(u("Wireframe","wireframe")),T.appendChild(u("Suspend LOD update","suspendUpdates")),T.appendChild(u("Show tile coordinates","tileCoordinates")),vst.applyBindings(i,this._element)}Object.defineProperties(Pht.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Pht.prototype.isDestroyed=function(){return!1},Pht.prototype.destroy=function(){return vst.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),Wl(this)};var Rht=Pht;function Mht(e){return Lt(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}function Nht(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{const o=e._targetFrameRate;if(Object(r["a"])(o)){const r=1e3/o,a=i-t;a>r&&(e.resize(),e.render(),t=i-a%r),vB(n)}else e.resize(),e.render(),vB(n)}catch(o){if(e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors){const t="An error occurred while rendering. Rendering has stopped.";e.showErrorPanel(t,void 0,o)}}else e._renderLoopRunning=!1}vB(n)}function Lht(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,Object(r["a"])(e._scene)&&(e._scene.pixelRatio=t),t}function Bht(e){const t=e._canvas;let n=t.clientWidth,i=t.clientHeight;const o=Lht(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=0!==n&&0!==i,e._lastDevicePixelRatio=window.devicePixelRatio}function Fht(e){const t=e._canvas,n=t.width,i=t.height;if(0!==n&&0!==i){const t=e._scene.camera.frustum;Object(r["a"])(t.aspectRatio)?t.aspectRatio=n/i:(t.top=t.right*(i/n),t.bottom=-t.top)}}function kht(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e),t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);const i=document.createElement("canvas"),s=Ta.supportsImageRenderingPixelated();function c(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}this._supportsImageRenderingPixelated=s,s&&(i.style.imageRendering=Ta.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1},i.addEventListener("mousedown",c),i.addEventListener("pointerdown",c),n.appendChild(i);const l=document.createElement("div");l.className="cesium-widget-credits";const u=Object(r["a"])(t.creditContainer)?mUe(t.creditContainer):n;u.appendChild(l);const h=Object(r["a"])(t.creditViewport)?mUe(t.creditViewport):n,d=Object(o["a"])(t.showRenderLoopErrors,!0),f=Object(o["a"])(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=h,this._creditContainer=u,this._innerCreditContainer=l,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=d,this._resolutionScale=1,this._useBrowserRecommendedResolution=f,this._forceResize=!1,this._clock=Object(r["a"])(t.clock)?t.clock:new O_,Bht(this);try{const e=new Trt({canvas:i,contextOptions:t.contextOptions,creditContainer:l,creditViewport:h,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:Object(o["a"])(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=e,e.camera.constrainedAxis=g.UNIT_Z,Lht(this),Fht(this);const n=Object(o["a"])(e.mapProjection.ellipsoid,z.WGS84);let a=t.globe;Object(r["a"])(a)||(a=new g2e(n)),!1!==a&&(e.globe=a,e.globe.shadows=Object(o["a"])(t.terrainShadows,wq.RECEIVE_ONLY));let s=t.skyBox;Object(r["a"])(s)||(s=new Nrt({sources:{positiveX:Mht("px"),negativeX:Mht("mx"),positiveY:Mht("py"),negativeY:Mht("my"),positiveZ:Mht("pz"),negativeZ:Mht("mz")}})),!1!==s&&(e.skyBox=s,e.sun=new Xrt,e.moon=new S5e);let c=t.skyAtmosphere;Object(r["a"])(c)||(c=new jrt(n)),!1!==c&&(e.skyAtmosphere=c);let u=!1!==t.globe&&t.imageryProvider;Object(r["a"])(u)||(u=est()),!1!==u&&e.imageryLayers.addImageryProvider(u),Object(r["a"])(t.terrainProvider)&&!1!==t.globe&&(e.terrainProvider=t.terrainProvider),this._screenSpaceEventHandler=new yR(i),Object(r["a"])(t.sceneMode)&&(t.sceneMode===vq.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===vq.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=Object(o["a"])(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;const d=this;this._onRenderError=function(e,t){if(d._useDefaultRenderLoop=!1,d._renderLoopRunning=!1,d._showRenderLoopErrors){const e="An error occurred while rendering. Rendering has stopped.";d.showErrorPanel(e,void 0,t)}},e.renderError.addEventListener(this._onRenderError)}catch(p){if(d){const e="Error constructing CesiumWidget.",t='Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:';this.showErrorPanel(e,t,p)}throw p}}Object.defineProperties(kht.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){if(e<=0)throw new a["a"]("targetFrameRate must be greater than 0, or undefined.");this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&Nht(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){if(e<=0)throw new a["a"]("resolutionScale must be greater than 0.");this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}}),kht.prototype.showErrorPanel=function(e,t,n){const i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";const a=document.createElement("div");a.className="cesium-widget-errorPanel-content",o.appendChild(a);const s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),a.appendChild(s);const c=document.createElement("div");function l(){c.style.maxHeight=Math.max(Math.round(.9*i.clientHeight-100),30)+"px"}c.className="cesium-widget-errorPanel-scroll",a.appendChild(c),l(),Object(r["a"])(window.addEventListener)&&window.addEventListener("resize",l,!1);const u=Object(r["a"])(t),h=Object(r["a"])(n);if(u||h){const i=document.createElement("div");if(i.className="cesium-widget-errorPanel-message",c.appendChild(i),h){let i=$u(n);u||("string"===typeof n&&(n=new Error(n)),t=$u({name:n.name,message:n.message}),i=n.stack),"undefined"!==typeof console&&console.error(`${e}\n${t}\n${i}`);const o=document.createElement("div");o.className="cesium-widget-errorPanel-message-details collapsed";const r=document.createElement("span");r.className="cesium-widget-errorPanel-more-details",r.appendChild(document.createTextNode("See more...")),o.appendChild(r),o.onclick=function(e){o.removeChild(r),o.appendChild(document.createTextNode(i)),o.className="cesium-widget-errorPanel-message-details",a.className="cesium-widget-errorPanel-content expanded",o.onclick=void 0},c.appendChild(o)}i.innerHTML=`<p>${t}</p>`}const d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",a.appendChild(d);const f=document.createElement("button");f.setAttribute("type","button"),f.className="cesium-button",f.appendChild(document.createTextNode("OK")),f.onclick=function(){Object(r["a"])(l)&&Object(r["a"])(window.removeEventListener)&&window.removeEventListener("resize",l,!1),i.removeChild(o)},d.appendChild(f),i.appendChild(o)},kht.prototype.isDestroyed=function(){return!1},kht.prototype.destroy=function(){Object(r["a"])(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),Wl(this)},kht.prototype.resize=function(){const e=this._canvas;(this._forceResize||this._canvasClientWidth!==e.clientWidth||this._canvasClientHeight!==e.clientHeight||this._lastDevicePixelRatio!==window.devicePixelRatio)&&(this._forceResize=!1,Bht(this),Fht(this),this._scene.requestRender())},kht.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();const e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var zht=kht;function Uht(e,t){Object(r["a"])(t)||(t=document.body),t=mUe(t);const n=this,i=vst.observable(Fr.fullscreen),a=vst.observable(Fr.enabled),s=t.ownerDocument;this.isFullscreen=void 0,vst.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,vst.defineProperty(this,"isFullscreenEnabled",{get:function(){return a()},set:function(e){a(e&&Fr.enabled)}}),this.tooltip=void 0,vst.defineProperty(this,"tooltip",(function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"})),this._command=eut((function(){Fr.fullscreen?Fr.exitFullscreen():Fr.requestFullscreen(n._fullscreenElement)}),vst.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=Object(o["a"])(mUe(e),s.body),this._callback=function(){i(Fr.fullscreen)},s.addEventListener(Fr.changeEventName,this._callback)}Object.defineProperties(Uht.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){if(!(e instanceof Element))throw new a["a"]("value must be a valid Element.");this._fullscreenElement=e}},command:{get:function(){return this._command}}}),Uht.prototype.isDestroyed=function(){return!1},Uht.prototype.destroy=function(){document.removeEventListener(Fr.changeEventName,this._callback),Wl(this)};var Vht=Uht;const Hht="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",Ght="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function qht(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e);const n=new Vht(t,e);n._exitFullScreenPath=Ght,n._enterFullScreenPath=Hht;const i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),vst.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(qht.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),qht.prototype.isDestroyed=function(){return!1},qht.prototype.destroy=function(){return this._viewModel.destroy(),vst.cleanNode(this._element),this._container.removeChild(this._element),Wl(this)};var Wht=qht;const Yht=1e3;function Xht(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.scene))throw new a["a"]("options.scene is required.");Object(r["a"])(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new ld,new Sx({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._geocodePromise=void 0,this._complete=new pi["a"],this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=Jht,this._handleArrowUp=Kht;const t=this;this._suggestionsVisible=vst.pureComputed((function(){const e=vst.getObservable(t,"_suggestions"),n=e().length>0,i=vst.getObservable(t,"_showSuggestions")();return n&&i})),this._searchCommand=eut((function(e){if(e=Object(o["a"])(e,$A.SEARCH),t._focusTextbox=!1,Object(r["a"])(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;t.hideSuggestions(),t.isSearchInProgress?ndt(t):edt(t,t._geocoderServices,e)})),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(e,t){const n="ArrowDown"===t.key||"Down"===t.key||40===t.keyCode,i="ArrowUp"===t.key||"Up"===t.key||38===t.keyCode;return(n||i)&&t.preventDefault(),!0},this.handleKeyUp=function(e,n){const i="ArrowDown"===n.key||"Down"===n.key||40===n.keyCode,o="ArrowUp"===n.key||"Up"===n.key||38===n.keyCode,r="Enter"===n.key||13===n.keyCode;return o?Kht(t):i?Jht(t):r&&t._searchCommand(),!0},this.activateSuggestion=function(e){t.hideSuggestions(),t._searchText=e.displayName;const n=e.destination;odt(t),t.destinationFound(t,n)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(e,n){e!==t._selectedSuggestion&&(t._selectedSuggestion=e)},this.keepExpanded=!1,this.autoComplete=Object(o["a"])(e.autocomplete,!0),this.destinationFound=Object(o["a"])(e.destinationFound,Xht.flyToDestination),this._focusTextbox=!1,vst.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);const n=vst.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe((function(){Xht._updateSearchSuggestions(t)})),this.isSearchInProgress=void 0,vst.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,vst.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(e){if("string"!==typeof e)throw new a["a"]("value must be a valid string.");this._searchText=e}}),this.flightDuration=void 0,vst.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(e){if(Object(r["a"])(e)&&e<0)throw new a["a"]("value must be positive.");this._flightDuration=e}})}function Kht(e){if(0===e._suggestions.length)return;const t=e._suggestions.indexOf(e._selectedSuggestion);if(-1===t||0===t)return void(e._selectedSuggestion=void 0);const n=t-1;e._selectedSuggestion=e._suggestions[n],Xht._adjustSuggestionsScroll(e,n)}function Jht(e){if(0===e._suggestions.length)return;const t=e._suggestions.length,n=e._suggestions.indexOf(e._selectedSuggestion),i=(n+1)%t;e._selectedSuggestion=e._suggestions[i],Xht._adjustSuggestionsScroll(e,i)}function Zht(e,t){const n=Object(r["a"])(t)?t.availability:void 0;return Object(r["a"])(n)?IB(t,[e]).then((function(t){return e=t[0],e.height+=Yht,e})):(e.height+=Yht,Promise.resolve(e))}function $ht(e,t){const n=e._scene,i=n.mapProjection,o=i.ellipsoid,a=n.camera,c=n.terrainProvider;let l,u=t;return t instanceof Fe?s["a"].equalsEpsilon(t.south,t.north,s["a"].EPSILON7)&&s["a"].equalsEpsilon(t.east,t.west,s["a"].EPSILON7)?t=Fe.center(t):l=Nat(t,n):t=o.cartesianToCartographic(t),Object(r["a"])(l)||(l=Zht(t,c)),l.then((function(e){u=o.cartographicToCartesian(e)})).finally((function(){a.flyTo({destination:u,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:Ne.IDENTITY})}))}function Qht(e,t,n,i){return e.then((function(e){if(Object(r["a"])(e)&&"fulfilled"===e.state&&e.value.length>0)return e;const o=t.geocode(n,i).then((function(e){return{state:"fulfilled",value:e}})).catch((function(e){return{state:"rejected",reason:e}}));return o}))}function edt(e,t,n){const i=e._searchText;if(idt(i))return void e.showSuggestions();e._isSearchInProgress=!0;let o=Promise.resolve();for(let r=0;r<t.length;r++)o=Qht(o,t[r],i,n);e._geocodePromise=o,o.then((function(t){if(o.cancel)return;e._isSearchInProgress=!1;const n=t.value;if("fulfilled"===t.state&&Object(r["a"])(n)&&n.length>0)return e._searchText=n[0].displayName,void e.destinationFound(e,n[0].destination);e._searchText=i+" (not found)"}))}function tdt(e,t){const n=mUe(e._viewContainer),i=n.getElementsByClassName("search-results")[0],o=n.getElementsByTagName("li"),r=o[t];if(0===t)return void(i.scrollTop=0);const a=r.offsetTop;a+r.clientHeight>i.clientHeight?i.scrollTop=a+r.clientHeight:a<i.scrollTop&&(i.scrollTop=a)}function ndt(e){e._isSearchInProgress=!1,Object(r["a"])(e._geocodePromise)&&(e._geocodePromise.cancel=!0,e._geocodePromise=void 0)}function idt(e){return/^\s*$/.test(e)}function odt(e){vst.getObservable(e,"_suggestions").removeAll()}function rdt(e){if(!e.autoComplete)return;const t=e._searchText;if(odt(e),idt(t))return;let n=Promise.resolve([]);return e._geocoderServices.forEach((function(e){n=n.then((function(n){return n.length>=5?n:e.geocode(t,$A.AUTOCOMPLETE).then((function(e){return n=n.concat(e),n}))}))})),n.then((function(t){const n=e._suggestions;for(let e=0;e<t.length;e++)n.push(t[e])}))}Object.defineProperties(Xht.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}}),Xht.prototype.destroy=function(){this._suggestionSubscription.dispose()},Xht.flyToDestination=$ht,Xht._updateSearchSuggestions=rdt,Xht._adjustSuggestionsScroll=tdt;var adt=Xht;const sdt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",cdt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function ldt(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.container))throw new a["a"]("options.container is required.");if(!Object(r["a"])(e.scene))throw new a["a"]("options.scene is required.");const t=mUe(e.container),n=new adt(e);n._startSearchPath=sdt,n._stopSearchPath=cdt;const i=document.createElement("form");i.setAttribute("data-bind","submit: search");const o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout((function(){o.select()}),0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;const s=document.createElement("span");s.className="cesium-geocoder-searchButton",s.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(s),t.appendChild(i);const c=document.createElement("div");c.className="search-results",c.setAttribute("data-bind","visible: _suggestionsVisible");const l=document.createElement("ul");l.setAttribute("data-bind","foreach: _suggestions");const u=document.createElement("li");l.appendChild(u),u.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),c.appendChild(l),t.appendChild(c),vst.applyBindings(n,i),vst.applyBindings(n,c),this._container=t,this._searchSuggestionsContainer=c,this._viewModel=n,this._form=i,this._onInputBegin=function(e){let i=e.target;"function"===typeof e.composedPath&&(i=e.composedPath()[0]),t.contains(i)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(e){n._focusTextbox=!0,n.showSuggestions()},Ta.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(ldt.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}}),ldt.prototype.isDestroyed=function(){return!1},ldt.prototype.destroy=function(){const e=this._container;return Ta.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),vst.cleanNode(this._form),vst.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),Wl(this)};var udt=ldt;function hdt(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this._scene=e,this._duration=t;const n=this;this._command=eut((function(){n._scene.camera.flyHome(n._duration)})),this.tooltip="View Home",vst.track(this,["tooltip"])}Object.defineProperties(hdt.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){if(Object(r["a"])(e)&&e<0)throw new a["a"]("value must be positive.");this._duration=e}}});var ddt=hdt;function fdt(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e);const i=new ddt(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";const o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),vst.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(fdt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),fdt.prototype.isDestroyed=function(){return!1},fdt.prototype.destroy=function(){return vst.cleanNode(this._element),this._container.removeChild(this._element),Wl(this)};var pdt=fdt;const mdt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",_dt="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function gdt(){this._cameraClicked=new pi["a"],this._closeClicked=new pi["a"],this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",vst.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,vst.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?_dt:mdt}}),vst.defineProperty(this,"_bodyless",{get:function(){return!Object(r["a"])(this.description)||0===this.description.length}})}gdt.prototype.maxHeightOffset=function(e){return this.maxHeight-e+"px"},Object.defineProperties(gdt.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var bdt=gdt;function ydt(e){i["a"].defined("container",e),e=mUe(e);const t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);const n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);const o=document.createElement("button");o.type="button",o.className="cesium-button cesium-infoBox-camera",o.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(o);const a=document.createElement("button");a.type="button",a.className="cesium-infoBox-close",a.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),a.innerHTML="&times;",t.appendChild(a);const s=document.createElement("iframe");s.className="cesium-infoBox-iframe",s.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),s.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),s.setAttribute("allowfullscreen",!0),t.appendChild(s);const c=new bdt;vst.applyBindings(c,t),this._container=e,this._element=t,this._frame=s,this._viewModel=c,this._descriptionSubscription=void 0;const l=this;s.addEventListener("load",(function(){const e=s.contentDocument,n=e.createElement("link");n.href=Lt("Widgets/InfoBox/InfoBoxDescription.css"),n.rel="stylesheet",n.type="text/css";const i=e.createElement("div");i.className="cesium-infoBox-description",e.head.appendChild(n),e.body.appendChild(i),l._descriptionSubscription=nut(c,"description",(function(e){s.style.height="5px",i.innerHTML=e;let n=null;const o=i.firstElementChild;if(null!==o&&1===i.childNodes.length){const e=window.getComputedStyle(o);if(null!==e){const t=e["background-color"],i=j_.fromCssColorString(t);Object(r["a"])(i)&&0!==i.alpha&&(n=e["background-color"])}}t.style["background-color"]=n;const a=i.getBoundingClientRect().height;s.style.height=a+"px"}))})),s.setAttribute("src","about:blank")}Object.defineProperties(ydt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}}),ydt.prototype.isDestroyed=function(){return!1},ydt.prototype.destroy=function(){const e=this._container;return vst.cleanNode(this._element),e.removeChild(this._element),Object(r["a"])(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),Wl(this)};var vdt=ydt;function Odt(){this.showInstructions=!1;const e=this;this._command=eut((function(){e.showInstructions=!e.showInstructions})),this._showClick=eut((function(){e._touch=!1})),this._showTouch=eut((function(){e._touch=!0})),this._touch=!1,this.tooltip="Navigation Instructions",vst.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(Odt.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var wdt=Odt;function Adt(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.container))throw new a["a"]("options.container is required.");const t=mUe(e.container),n=new wdt,i=Object(o["a"])(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";const s=document.createElement("span");s.className="cesium-navigationHelpButton-wrapper",t.appendChild(s);const c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",c.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),s.appendChild(c);const l=document.createElement("div");l.className="cesium-navigation-help",l.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),s.appendChild(l);const u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-left",u.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');const h=document.createElement("img");h.src=Lt("Widgets/Images/NavigationHelp/Mouse.svg"),h.className="cesium-navigation-button-icon",h.style.width="25px",h.style.height="25px",u.appendChild(h),u.appendChild(document.createTextNode("Mouse"));const d=document.createElement("button");d.type="button",d.className="cesium-navigation-button cesium-navigation-button-right",d.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');const f=document.createElement("img");f.src=Lt("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",d.appendChild(f),d.appendChild(document.createTextNode("Touch")),l.appendChild(u),l.appendChild(d);const p=document.createElement("div");p.className="cesium-click-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),p.innerHTML=` <table> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,l.appendChild(p);const m=document.createElement("div");m.className="cesium-touch-navigation-help cesium-navigation-help-instructions",m.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),m.innerHTML=` <table> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${Lt("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,l.appendChild(m),vst.applyBindings(n,s),this._container=t,this._viewModel=n,this._wrapper=s,this._closeInstructions=function(e){s.contains(e.target)||(n.showInstructions=!1)},Ta.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(Adt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Adt.prototype.isDestroyed=function(){return!1},Adt.prototype.destroy=function(){return Ta.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),vst.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Wl(this)};var Tdt=Adt;function Cdt(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.scene))throw new a["a"]("options.scene is required.");this._scene=e.scene,this.lowFrameRateMessage=Object(o["a"])(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,vst.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);const t=this;this._dismissMessage=eut((function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0}));const n=g$e.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener((function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)})),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener((function(){t.showingLowFrameRateMessage=!1}))}Object.defineProperties(Cdt.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}}),Cdt.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),Wl(this)};var Edt=Cdt;function xdt(e){if(!Object(r["a"])(e)||!Object(r["a"])(e.container))throw new a["a"]("options.container is required.");if(!Object(r["a"])(e.scene))throw new a["a"]("options.scene is required.");const t=mUe(e.container),n=new Edt(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");const o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="&times;",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);const s=document.createElement("div");s.className="cesium-performance-watchdog-message",s.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(s),t.appendChild(i),vst.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(xdt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),xdt.prototype.isDestroyed=function(){return!1},xdt.prototype.destroy=function(){return this._viewModel.destroy(),vst.cleanNode(this._element),this._container.removeChild(this._element),Wl(this)};var Sdt=xdt;function Idt(e){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this._scene=e,this._orthographic=e.camera.frustum instanceof uA,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,vst.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);const t=this;vst.defineProperty(this,"selectedTooltip",(function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective})),this._toggleDropDown=eut((function(){t.sceneMode===vq.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)})),this._eventHelper=new Jw,this._eventHelper.add(e.morphComplete,(function(e,n,i,o){t.sceneMode=i,t._orthographic=i===vq.SCENE2D||t._scene.camera.frustum instanceof uA})),this._eventHelper.add(e.preRender,(function(){t._flightInProgress=Object(r["a"])(e.camera._currentFlight)})),this._switchToPerspective=eut((function(){t.sceneMode!==vq.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)})),this._switchToOrthographic=eut((function(){t.sceneMode!==vq.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)})),this._sceneMode=vq}Object.defineProperties(Idt.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}}),Idt.prototype.isDestroyed=function(){return!1},Idt.prototype.destroy=function(){this._eventHelper.removeAll(),Wl(this)};var Ddt=Idt;const jdt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",Pdt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function Rdt(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("scene is required.");e=mUe(e);const n=new Ddt(t);n._perspectivePath=jdt,n._orthographicPath=Pdt;const i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);const o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='\x3c!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --\x3e\x3c!-- /ko --\x3e',i.appendChild(o);const s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(s);const c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(c),vst.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(e){i.contains(e.target)||(n.dropDownVisible=!1)},Ta.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(Rdt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Rdt.prototype.isDestroyed=function(){return!1},Rdt.prototype.destroy=function(){return this._viewModel.destroy(),Ta.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),vst.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Wl(this)};var Mdt=Rdt;function Ndt(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");this._scene=e;const n=this,i=function(e,t,i,o){n.sceneMode=i,n.dropDownVisible=!1};this._eventHelper=new Jw,this._eventHelper.add(e.morphStart,i),this._duration=Object(o["a"])(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",vst.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,vst.defineProperty(this,"selectedTooltip",(function(){const e=n.sceneMode;return e===vq.SCENE2D?n.tooltip2D:e===vq.SCENE3D?n.tooltip3D:n.tooltipColumbusView})),this._toggleDropDown=eut((function(){n.dropDownVisible=!n.dropDownVisible})),this._morphTo2D=eut((function(){e.morphTo2D(n._duration)})),this._morphTo3D=eut((function(){e.morphTo3D(n._duration)})),this._morphToColumbusView=eut((function(){e.morphToColumbusView(n._duration)})),this._sceneMode=vq}Object.defineProperties(Ndt.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){if(e<0)throw new a["a"]("duration value must be positive.");this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}}),Ndt.prototype.isDestroyed=function(){return!1},Ndt.prototype.destroy=function(){this._eventHelper.removeAll(),Wl(this)};var Ldt=Ndt;const Bdt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",Fdt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",kdt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function zdt(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("scene is required.");e=mUe(e);const i=new Ldt(t,n);i._globePath=Bdt,i._flatMapPath=Fdt,i._columbusViewPath=kdt;const o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);const s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),s.innerHTML='\x3c!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --\x3e\x3c!-- /ko --\x3e',o.appendChild(s);const c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(c);const l=document.createElement("button");l.type="button",l.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",l.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(l);const u=document.createElement("button");u.type="button",u.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",u.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(u),vst.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(e){o.contains(e.target)||(i.dropDownVisible=!1)},Ta.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(zdt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),zdt.prototype.isDestroyed=function(){return!1},zdt.prototype.destroy=function(){return this._viewModel.destroy(),Ta.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),vst.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Wl(this)};var Udt=zdt;const Vdt=new Ht,Hdt="-1000px";function Gdt(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");if(!Object(r["a"])(t))throw new a["a"]("selectionIndicatorElement is required.");if(!Object(r["a"])(n))throw new a["a"]("container is required.");this._scene=e,this._screenPositionX=Hdt,this._screenPositionY=Hdt,this._tweens=e.tweens,this._container=Object(o["a"])(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,vst.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,vst.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&Object(r["a"])(this.position)}}),vst.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(t,n){return qie.wgs84ToWindowCoordinates(e,t,n)}}Gdt.prototype.update=function(){if(this.showSelection&&Object(r["a"])(this.position)){const e=this.computeScreenSpacePosition(this.position,Vdt);if(Object(r["a"])(e)){const t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=.5*o;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=Math.floor(e.x+.25)+"px",this._screenPositionY=Math.floor(e.y+.25)+"px"}else this._screenPositionX=Hdt,this._screenPositionY=Hdt}},Gdt.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Aw.EXPONENTIAL_OUT})},Gdt.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Aw.EXPONENTIAL_OUT})},Object.defineProperties(Gdt.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var qdt=Gdt;function Wdt(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e),this._container=e;const n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;const i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",s=document.createElementNS(i,"svg:svg");s.setAttribute("width",160),s.setAttribute("height",160),s.setAttribute("viewBox","0 0 160 160");const c=document.createElementNS(i,"g");c.setAttribute("transform","translate(80,80)"),s.appendChild(c);const l=document.createElementNS(i,"path");l.setAttribute("data-bind","attr: { transform: _transform }"),l.setAttribute("d",o),c.appendChild(l),n.appendChild(s);const u=new qdt(t,this._element,this._container);this._viewModel=u,vst.applyBindings(this._viewModel,this._element)}Object.defineProperties(Wdt.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Wdt.prototype.isDestroyed=function(){return!1},Wdt.prototype.destroy=function(){const e=this._container;return vst.cleanNode(this._element),e.removeChild(this._element),Wl(this)};var Ydt=Wdt;function Xdt(e,t,n){this._color=e,this._height=t,this._base=Object(o["a"])(n,0)}Xdt.prototype.getHeight=function(){return this._height},Xdt.prototype.getBase=function(){return this._base},Xdt.prototype.getStartTime=function(){return this._start},Xdt.prototype.getStopTime=function(){return this._stop},Xdt.prototype.setRange=function(e,t){this._start=e,this._stop=t},Xdt.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){const n=gr.secondsDifference(this._start,e.epochJulian);let i=Math.round(e.timeBarWidth*e.getAlpha(n));const o=gr.secondsDifference(this._stop,e.epochJulian);let r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var Kdt=Xdt;function Jdt(e,t,n,i){this.interval=e,this.height=t,this.color=n||new j_(.5,.5,.5,1),this.backgroundColor=i||new j_(0,0,0,0)}Jdt.prototype.render=function(e,t){const n=this.interval.start,i=this.interval.stop,o=t.startJulian,a=gr.addSeconds(t.startJulian,t.duration,new gr);if(gr.lessThan(n,o)&&gr.greaterThan(i,a))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(gr.lessThanOrEquals(n,a)&&gr.greaterThanOrEquals(i,o)){let o,a,s;for(o=0;o<t.timeBarWidth;++o){const e=gr.addSeconds(t.startJulian,o/t.timeBarWidth*t.duration,new gr);!Object(r["a"])(a)&&gr.greaterThanOrEquals(e,n)?a=o:!Object(r["a"])(s)&&gr.greaterThanOrEquals(e,i)&&(s=o)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),Object(r["a"])(a)&&(Object(r["a"])(s)||(s=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(s-a,1),this.height))}};var Zdt=Jdt;let $dt=1e12;const Qdt={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},eft={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},tft=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],nft=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ift(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("clock is required.");e=mUe(e);const n=e.ownerDocument;this.container=e;const i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=Qdt.none,this._touchMode=eft.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=rft(this),this._onMouseUp=aft(this),this._onMouseMove=sft(this),this._onMouseWheel=cft(this),this._onTouchStart=lft(this),this._onTouchMove=hft(this),this._onTouchEnd=uft(this);const o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}function oft(e){return e<10?"0"+e.toString():e.toString()}function rft(e){return function(t){e._mouseMode!==Qdt.touchOnly&&(0===t.button?(e._mouseMode=Qdt.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,2===t.button?e._mouseMode=Qdt.zoom:e._mouseMode=Qdt.slide)),t.preventDefault()}}function aft(e){return function(t){e._mouseMode=Qdt.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function sft(e){return function(t){let n;if(e._mouseMode===Qdt.scrub){t.preventDefault();const n=t.clientX-e._topDiv.getBoundingClientRect().left;n<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):n>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(n,n*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===Qdt.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==n){const t=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(gr.addSeconds(e._startJulian,t,new gr),gr.addSeconds(e._endJulian,t,new gr))}}else e._mouseMode===Qdt.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==n&&e.zoomFrom(Math.pow(1.01,n)))}}function cft(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;$dt=Math.max(Math.min(Math.abs(n),$dt),1),n/=$dt,e.zoomFrom(Math.pow(1.05,-n))}}function lft(e){return function(t){const n=t.touches.length;let i,o;const r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=Qdt.touchOnly,1===n?(i=gr.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=eft.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=1===n?"-16px 0":"0 0")):(e._touchMode=eft.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):2===n?(e._touchMode=eft.slideZoom,e._touchState.centerX=.5*(t.touches[0].clientX+t.touches[1].clientX)-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=eft.ignore}}function uft(e){return function(t){const n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===eft.singleTap?(e._touchMode=eft.scrub,e._onTouchMove(t)):e._touchMode===eft.scrub&&e._onTouchMove(t),e._mouseMode=Qdt.touchOnly,1!==n?e._touchMode=n>0?eft.ignore:eft.none:e._touchMode===eft.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function hft(e){return function(t){let n,i,o,a,s,c,l=1;const u=e._topDiv.getBoundingClientRect().left;e._touchMode===eft.singleTap&&(e._touchMode=eft.slideZoom),e._mouseMode=Qdt.touchOnly,e._touchMode===eft.scrub?(t.preventDefault(),1===t.changedTouches.length&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===eft.slideZoom&&(o=t.touches.length,2===o?(a=.5*(t.touches[0].clientX+t.touches[1].clientX)-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):1===o&&(a=t.touches[0].clientX-u,s=0),Object(r["a"])(a)&&(s>0&&e._touchState.spanX>0?(l=e._touchState.spanX/s,c=gr.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-a*e._timeBarSecondsSpan*l)/e._topDiv.clientWidth,new gr)):(n=e._touchState.centerX-a,c=gr.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new gr)),e.zoomTo(c,gr.addSeconds(c,e._timeBarSecondsSpan*l,new gr)),e._touchState.centerX=a,e._touchState.spanX=s))}}ift.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)},ift.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)},ift.prototype.isDestroyed=function(){return!1},ift.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);const e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);const t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),Wl(this)},ift.prototype.addHighlightRange=function(e,t,n){const i=new Kdt(e,t,n);return this._highlightRanges.push(i),this.resize(),i},ift.prototype.addTrack=function(e,t,n,i){const o=new Zdt(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o},ift.prototype.zoomTo=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("startTime is required.");if(!Object(r["a"])(t))throw new a["a"]("stopTime is required");if(gr.lessThanOrEquals(t,e))throw new a["a"]("Start time must come before end time.");if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=gr.secondsDifference(t,e),this._clock&&this._clock.clockRange!==m_.UNBOUNDED){const e=this._clock.startTime,t=this._clock.stopTime,n=gr.secondsDifference(t,e),i=gr.secondsDifference(e,this._startJulian),o=gr.secondsDifference(t,this._endJulian);this._timeBarSecondsSpan>=n?(this._timeBarSecondsSpan=n,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):i>0?(this._endJulian=gr.addSeconds(this._endJulian,i,new gr),this._startJulian=e,this._timeBarSecondsSpan=gr.secondsDifference(this._endJulian,this._startJulian)):o<0&&(this._startJulian=gr.addSeconds(this._startJulian,o,new gr),this._endJulian=t,this._timeBarSecondsSpan=gr.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();const n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)},ift.prototype.zoomFrom=function(e){let t=gr.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=.5*this._timeBarSecondsSpan:t+=t-.5*this._timeBarSecondsSpan;const n=this._timeBarSecondsSpan-t;this.zoomTo(gr.addSeconds(this._startJulian,t-t*e,new gr),gr.addSeconds(this._endJulian,n*e-n,new gr))},ift.prototype.makeLabel=function(e){const t=gr.toGregorianDate(e),n=t.millisecond;let i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){i=Math.floor(n).toString();while(i.length<3)i="0"+i;i="."+i}return`${nft[t.month-1]} ${t.day} ${t.year} ${oft(t.hour)}:${oft(t.minute)}:${oft(t.second)}${i}`},ift.prototype.smallestTicInPixels=7,ift.prototype._makeTics=function(){const e=this._timeBarEle,t=gr.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8;let o;const r=this;this._needleEle.style.left=n.toString()+"px";let a="";const s=.01,c=31536e6,l=1e-10;let u=0,h=this._timeBarSecondsSpan;h<s?(h=s,this._timeBarSecondsSpan=s,this._endJulian=gr.addSeconds(this._startJulian,s,new gr)):h>c&&(h=c,this._timeBarSecondsSpan=c,this._endJulian=gr.addSeconds(this._startJulian,c,new gr));let d=this._timeBarEle.clientWidth;d<10&&(d=10);const f=this._startJulian,p=Math.min(h/d*1e-5,.4);let m;const _=gr.toGregorianDate(f);m=h>31536e4?gr.fromDate(new Date(Date.UTC(100*Math.floor(_.year/100),0))):h>31536e3?gr.fromDate(new Date(Date.UTC(10*Math.floor(_.year/10),0))):h>86400?gr.fromDate(new Date(Date.UTC(_.year,0))):gr.fromDate(new Date(Date.UTC(_.year,_.month,_.day)));const g=gr.secondsDifference(this._startJulian,gr.addSeconds(m,p,new gr));let b=g+h;function y(e){return Math.floor(g/e)*e}function v(e,t){return Math.ceil(e/t+.5)*t}function O(e){return(e-g)/h}function w(e,t){return e-t*Math.round(e/t)}this._epochJulian=m,this._rulerEle.innerHTML=this.makeLabel(gr.addSeconds(this._endJulian,-s,new gr));let A=this._rulerEle.offsetWidth+20;A<30&&(A=180);const T=u;u-=l;const C={startTime:g,startJulian:f,epochJulian:m,duration:h,timeBarWidth:d,getAlpha:O};this._highlightRanges.forEach((function(e){a+=e.render(C)}));let E=0,x=0,S=0,I=A/d;I>1&&(I=1),I*=this._timeBarSecondsSpan;let D=-1,j=-1;const P=tft.length;let R;for(R=0;R<P;++R){const e=tft[R];if(++D,E=e,e>I&&e>u)break;j<0&&d*(e/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(j=D)}if(D>0){while(D>0)if(--D,Math.abs(w(E,tft[D]))<1e-5){tft[D]>=u&&(x=tft[D]);break}if(j>=0)while(j<D){if(Math.abs(w(x,tft[j]))<1e-5&&tft[j]>=u){S=tft[j];break}++j}}u=T,u>l&&S<1e-5&&Math.abs(u-E)>l&&(S=u,u<=E+l&&(x=0));let M,N=-999999;if(d*(S/this._timeBarSecondsSpan)>=3)for(o=y(S);o<=b;o=v(o,S))a+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(d*O(o)).toString()}px;"></span>`;if(d*(x/this._timeBarSecondsSpan)>=3)for(o=y(x);o<=b;o=v(o,x))a+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(d*O(o)).toString()}px;"></span>`;if(d*(E/this._timeBarSecondsSpan)>=2){this._mainTicSpan=E,b+=E,o=y(E);const e=gr.computeTaiMinusUtc(m);while(o<=b){let t=gr.addSeconds(f,o-g,new gr);if(E>2.1){const n=gr.computeTaiMinusUtc(t);Math.abs(n-e)>.1&&(o+=n-e,t=gr.addSeconds(f,o-g,new gr))}const n=Math.round(d*O(o)),i=this.makeLabel(t);this._rulerEle.innerHTML=i,M=this._rulerEle.offsetWidth,M<10&&(M=A);const r=n-(M/2-1);r>N?(N=r+M+5,a+=`<span class="cesium-timeline-ticMain" style="left: ${n.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${r.toString()}px;">${i}</span>`):a+=`<span class="cesium-timeline-ticSub" style="left: ${n.toString()}px;"></span>`,o=v(o,E)}}else this._mainTicSpan=-1;a+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=a,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),C.y=0,this._trackList.forEach((function(e){e.render(r._context,C),C.y+=e.height}))},ift.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;const e=this._scrubElement;if(Object(r["a"])(this._scrubElement)){const t=gr.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=n-8+"px",this._needleEle.style.left=n+"px")}Object(r["a"])(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(gr.addSeconds(this._startJulian,this._timelineDrag,new gr),gr.addSeconds(this._endJulian,this._timelineDrag,new gr)))},ift.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=gr.addSeconds(this._startJulian,t,new gr),this._scrubElement){const t=e-8;this._scrubElement.style.left=t.toString()+"px",this._needleEle.style.left=e.toString()+"px"}const n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)},ift.prototype.resize=function(){const e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=t+"px";let n=1;this._trackList.forEach((function(e){n+=e.height})),this._trackListEle.style.height=n.toString()+"px",this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var dft=ift;function fft(e){let t=!1;const n=window.screen;return Object(r["a"])(n)&&(Object(r["a"])(n.lockOrientation)?t=n.lockOrientation(e):Object(r["a"])(n.mozLockOrientation)?t=n.mozLockOrientation(e):Object(r["a"])(n.msLockOrientation)?t=n.msLockOrientation(e):Object(r["a"])(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function pft(){const e=window.screen;Object(r["a"])(e)&&(Object(r["a"])(e.unlockOrientation)?e.unlockOrientation():Object(r["a"])(e.mozUnlockOrientation)?e.mozUnlockOrientation():Object(r["a"])(e.msUnlockOrientation)?e.msUnlockOrientation():Object(r["a"])(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function mft(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(pft(),e._locked=!1),e._noSleep.disable(),Fr.exitFullscreen(),n(!1)):(Fr.fullscreen||Fr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=fft("landscape")),t.useWebVR=!0,n(!0)))}function _ft(e,t){if(!Object(r["a"])(e))throw new a["a"]("scene is required.");const n=this,i=vst.observable(Fr.enabled),s=vst.observable(!1);this.isVRMode=void 0,vst.defineProperty(this,"isVRMode",{get:function(){return s()}}),this.isVREnabled=void 0,vst.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(e){i(e&&Fr.enabled)}}),this.tooltip=void 0,vst.defineProperty(this,"tooltip",(function(){return i()?s()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"}));const c=vst.observable(!1);this._isOrthographic=void 0,vst.defineProperty(this,"_isOrthographic",{get:function(){return c()}}),this._eventHelper=new Jw,this._eventHelper.add(e.preRender,(function(){c(e.camera.frustum instanceof uA)})),this._locked=!1,this._noSleep=new Sst,this._command=eut((function(){mft(n,e,s,c)}),vst.getObservable(this,"isVREnabled")),this._vrElement=Object(o["a"])(mUe(t),document.body),this._callback=function(){!Fr.fullscreen&&s()&&(e.useWebVR=!1,n._locked&&(pft(),n._locked=!1),n._noSleep.disable(),s(!1))},document.addEventListener(Fr.changeEventName,this._callback)}Object.defineProperties(_ft.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){if(!(e instanceof Element))throw new a["a"]("value must be a valid Element.");this._vrElement=e}},command:{get:function(){return this._command}}}),_ft.prototype.isDestroyed=function(){return!1},_ft.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(Fr.changeEventName,this._callback),Wl(this)};var gft=_ft;const bft="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",yft="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function vft(e,t,n){if(!Object(r["a"])(e))throw new a["a"]("container is required.");if(!Object(r["a"])(t))throw new a["a"]("scene is required.");e=mUe(e);const i=new gft(t,n);i._exitVRPath=yft,i._enterVRPath=bft;const o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),vst.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(vft.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),vft.prototype.isDestroyed=function(){return!1},vft.prototype.destroy=function(){return this._viewModel.destroy(),vst.cleanNode(this._element),this._container.removeChild(this._element),Wl(this)};var Oft=vft;const wft=new Tt;function Aft(e){const t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function Tft(e){const t=e.getPropertyNames();let n="";return t.forEach((function(t){const i=e.getProperty(t);Object(r["a"])(i)&&(n+=`<tr><th>${t}</th><td>${i}</td></tr>`)})),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function Cft(e){let t;const n=[],i=e.getPropertyNames();for(t=0;t<i.length;t++){const o=i[t];/^name$/i.test(o)?n[0]=e.getProperty(o):/name/i.test(o)?n[1]=e.getProperty(o):/^title$/i.test(o)?n[2]=e.getProperty(o):/^(id|identifier)$/i.test(o)?n[3]=e.getProperty(o):/element/i.test(o)?n[4]=e.getProperty(o):/(id|identifier)$/i.test(o)&&(n[5]=e.getProperty(o))}const o=n.length;for(t=0;t<o;t++){const e=n[t];if(Object(r["a"])(e)&&""!==e)return e}return"Unnamed Feature"}function Eft(e,t){const n=e.scene.pick(t.position);if(Object(r["a"])(n)){const e=Object(o["a"])(n.id,n.primitive.id);if(e instanceof vK)return e;if(n instanceof SZ)return new vK({name:Cft(n),description:Tft(n),feature:n})}if(Object(r["a"])(e.scene.globe))return Dft(e,t.position)}const xft=new gr;function Sft(e,t,n){if(Object(r["a"])(n)){const i=n.clock;if(Object(r["a"])(i)&&(i.getValue(t),Object(r["a"])(e))){const t=i.startTime;let n=i.stopTime;gr.equals(t,n)&&(n=gr.addSeconds(t,s["a"].EPSILON2,xft)),e.updateFromClock(),e.zoomTo(t,n)}}}const Ift=new g;function Dft(e,t){const n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!Object(r["a"])(o))return;const a=new vK({id:"Loading...",description:"Loading feature information..."});return o.then((function(t){if(e.selectedEntity!==a)return;if(!Object(r["a"])(t)||0===t.length)return void(e.selectedEntity=jft());const n=t[0],i=new vK({id:n.name,description:n.description});if(Object(r["a"])(n.position)){const t=e.scene.globe.ellipsoid.cartographicToCartesian(n.position,Ift);i.position=new vX(t)}e.selectedEntity=i}),(function(){e.selectedEntity===a&&(e.selectedEntity=jft())})),a}function jft(){return new vK({id:"None",description:"No features found."})}function Pft(e,t){const n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,a=e._projectionPicker,s=e._baseLayerPicker,c=e._animation,l=e._timeline,u=e._fullscreenButton,h=e._infoBox,d=e._selectionIndicator,f=t?"hidden":"visible";if(Object(r["a"])(n)&&(n.container.style.visibility=f),Object(r["a"])(i)&&(i.container.style.visibility=f),Object(r["a"])(o)&&(o.container.style.visibility=f),Object(r["a"])(a)&&(a.container.style.visibility=f),Object(r["a"])(s)&&(s.container.style.visibility=f),Object(r["a"])(c)&&(c.container.style.visibility=f),Object(r["a"])(l)&&(l.container.style.visibility=f),Object(r["a"])(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=f),Object(r["a"])(h)&&(h.container.style.visibility=f),Object(r["a"])(d)&&(d.container.style.visibility=f),e._container){const n=t||!Object(r["a"])(u)?0:u.container.clientWidth;e._vrButton.container.style.right=n+"px",e.forceResize()}}function Rft(e,t){if(!Object(r["a"])(e))throw new a["a"]("container is required.");e=mUe(e),t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=(!Object(r["a"])(t.globe)||!1!==t.globe)&&(!Object(r["a"])(t.baseLayerPicker)||!1!==t.baseLayerPicker);if(!n&&Object(r["a"])(t.selectedImageryProviderViewModel))throw new a["a"]("options.selectedImageryProviderViewModel is not available when not using the BaseLayerPicker widget. Either specify options.imageryProvider instead or set options.baseLayerPicker to true.");if(!n&&Object(r["a"])(t.selectedTerrainProviderViewModel))throw new a["a"]("options.selectedTerrainProviderViewModel is not available when not using the BaseLayerPicker widget. Either specify options.terrainProvider instead or set options.baseLayerPicker to true.");const i=this,s=document.createElement("div");s.className="cesium-viewer",e.appendChild(s);const c=document.createElement("div");c.className="cesium-viewer-cesiumWidgetContainer",s.appendChild(c);const l=document.createElement("div");l.className="cesium-viewer-bottom",s.appendChild(l);const u=Object(o["a"])(t.scene3DOnly,!1);let h,d,f=!1;Object(r["a"])(t.clockViewModel)?(d=t.clockViewModel,h=d.clock):(h=new O_,d=new Wlt(h),f=!0),Object(r["a"])(t.shouldAnimate)&&(h.shouldAnimate=t.shouldAnimate);const p=new zht(c,{imageryProvider:!n&&!Object(r["a"])(t.imageryProvider)&&void 0,clock:h,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:Object(r["a"])(t.creditContainer)?t.creditContainer:l,creditViewport:t.creditViewport,scene3DOnly:u,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});let m=t.dataSources,_=!1;Object(r["a"])(m)||(m=new hxe,_=!0);const g=p.scene,b=new Sje({scene:g,dataSourceCollection:m}),y=new Jw;let v,O;if(y.add(h.onTick,Rft.prototype._onTick,this),y.add(g.morphStart,Rft.prototype._clearTrackedObject,this),!Object(r["a"])(t.selectionIndicator)||!1!==t.selectionIndicator){const e=document.createElement("div");e.className="cesium-viewer-selectionIndicatorContainer",s.appendChild(e),v=new Ydt(e,g)}if(!Object(r["a"])(t.infoBox)||!1!==t.infoBox){const e=document.createElement("div");e.className="cesium-viewer-infoBoxContainer",s.appendChild(e),O=new vdt(e);const t=O.viewModel;y.add(t.cameraClicked,Rft.prototype._onInfoBoxCameraClicked,this),y.add(t.closeClicked,Rft.prototype._onInfoBoxClockClicked,this)}const w=document.createElement("div");let A,T,C,E,x,S,I,D,j,P,R,M,N,L,B;if(w.className="cesium-viewer-toolbar",s.appendChild(w),!Object(r["a"])(t.geocoder)||!1!==t.geocoder){const e=document.createElement("div");let n;e.className="cesium-viewer-geocoderContainer",w.appendChild(e),Object(r["a"])(t.geocoder)&&"boolean"!==typeof t.geocoder&&(n=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),A=new udt({container:e,geocoderServices:n,scene:g}),y.add(A.viewModel.search.beforeExecute,Rft.prototype._clearObjects,this)}if(Object(r["a"])(t.homeButton)&&!1===t.homeButton||(T=new pdt(w,g),Object(r["a"])(A)&&y.add(T.viewModel.command.afterExecute,(function(){const e=A.viewModel;e.searchText="",e.isSearchInProgress&&e.search()})),y.add(T.viewModel.command.beforeExecute,Rft.prototype._clearTrackedObject,this)),!0===t.sceneModePicker&&u)throw new a["a"]("options.sceneModePicker is not available when options.scene3DOnly is set to true.");if(u||Object(r["a"])(t.sceneModePicker)&&!1===t.sceneModePicker||(C=new Udt(w,g)),t.projectionPicker&&(E=new Mdt(w,g)),n){const e=Object(o["a"])(t.imageryProviderViewModels,sht()),n=Object(o["a"])(t.terrainProviderViewModels,lht());x=new iht(w,{globe:g.globe,imageryProviderViewModels:e,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:n,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel});const i=w.getElementsByClassName("cesium-baseLayerPicker-dropDown");S=i[0]}if(Object(r["a"])(t.imageryProvider)&&!1!==t.imageryProvider&&(n&&(x.viewModel.selectedImagery=void 0),g.imageryLayers.removeAll(),g.imageryLayers.addImageryProvider(t.imageryProvider)),Object(r["a"])(t.terrainProvider)&&(n&&(x.viewModel.selectedTerrain=void 0),g.terrainProvider=t.terrainProvider),!Object(r["a"])(t.navigationHelpButton)||!1!==t.navigationHelpButton){let e=!0;try{if(Object(r["a"])(window.localStorage)){const t=window.localStorage.getItem("cesium-hasSeenNavHelp");Object(r["a"])(t)&&Boolean(t)?e=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch(U){}I=new Tdt({container:w,instructionsInitiallyVisible:Object(o["a"])(t.navigationInstructionsInitiallyVisible,e)})}if(!Object(r["a"])(t.animation)||!1!==t.animation){const e=document.createElement("div");e.className="cesium-viewer-animationContainer",s.appendChild(e),D=new Gut(e,new Qut(d))}if(!Object(r["a"])(t.timeline)||!1!==t.timeline){const e=document.createElement("div");e.className="cesium-viewer-timelineContainer",s.appendChild(e),j=new dft(e,h),j.addEventListener("settime",Aft,!1),j.zoomTo(h.startTime,h.stopTime)}if(Object(r["a"])(t.fullscreenButton)&&!1===t.fullscreenButton||(M=document.createElement("div"),M.className="cesium-viewer-fullscreenContainer",s.appendChild(M),P=new Wht(M,t.fullscreenElement),R=nut(P.viewModel,"isFullscreenEnabled",(function(e){M.style.display=e?"block":"none",Object(r["a"])(j)&&(j.container.style.right=M.clientWidth+"px",j.resize())}))),t.vrButton){const e=document.createElement("div");e.className="cesium-viewer-vrContainer",s.appendChild(e),N=new Oft(e,g,t.fullScreenElement),L=nut(N.viewModel,"isVREnabled",(function(t){e.style.display=t?"block":"none",Object(r["a"])(P)&&(e.style.right=M.clientWidth+"px"),Object(r["a"])(j)&&(j.container.style.right=e.clientWidth+"px",j.resize())})),B=nut(N.viewModel,"isVRMode",(function(e){Pft(i,e)}))}this._baseLayerPickerDropDown=S,this._fullscreenSubscription=R,this._vrSubscription=L,this._vrModeSubscription=B,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=Object(o["a"])(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=l,this._element=s,this._cesiumWidget=p,this._selectionIndicator=v,this._infoBox=O,this._dataSourceCollection=m,this._destroyDataSourceCollection=_,this._dataSourceDisplay=b,this._clockViewModel=d,this._destroyClockViewModel=f,this._toolbar=w,this._homeButton=T,this._sceneModePicker=C,this._projectionPicker=E,this._baseLayerPicker=x,this._navigationHelpButton=I,this._animation=D,this._timeline=j,this._fullscreenButton=P,this._vrButton=N,this._geocoder=A,this._eventHelper=y,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=Object(r["a"])(O)||Object(r["a"])(v),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new pi["a"],this._trackedEntityChanged=new pi["a"],vst.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),y.add(m.dataSourceAdded,Rft.prototype._onDataSourceAdded,this),y.add(m.dataSourceRemoved,Rft.prototype._onDataSourceRemoved,this),y.add(g.postUpdate,Rft.prototype.resize,this),y.add(g.postRender,Rft.prototype._postRender,this);const F=m.length;for(let o=0;o<F;o++)this._dataSourceAdded(m,m.get(o));function k(e){const t=Eft(i,e);Object(r["a"])(t)?QB.getValueOrUndefined(t.position,i.clock.currentTime)?i.trackedEntity=t:i.zoomTo(t):Object(r["a"])(i.trackedEntity)&&(i.trackedEntity=void 0)}function z(e){i.selectedEntity=Eft(i,e)}this._dataSourceAdded(void 0,b.defaultDataSource),y.add(m.dataSourceAdded,Rft.prototype._dataSourceAdded,this),y.add(m.dataSourceRemoved,Rft.prototype._dataSourceRemoved,this),p.screenSpaceEventHandler.setInputAction(z,NP.LEFT_CLICK),p.screenSpaceEventHandler.setInputAction(k,NP.LEFT_DOUBLE_CLICK)}function Mft(e,t,n,i){if(!Object(r["a"])(t))throw new a["a"]("zoomTarget is required.");Lft(e);const s=Object(xr["a"])();return e._zoomPromise=s,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then((function(t){if(e._zoomPromise===s)if(t instanceof LQe)t.getViewableRectangle().then((function(t){return Nat(t,e.scene)})).then((function(t){e._zoomPromise===s&&(e._zoomTarget=t)}));else if(t instanceof HOe)e._zoomTarget=t;else if(t instanceof Dat)e._zoomTarget=t;else if(t.isLoading&&Object(r["a"])(t.loadingEvent)){const n=t.loadingEvent.addEventListener((function(){n(),e._zoomPromise===s&&(e._zoomTarget=t.entities.values.slice(0))}))}else Array.isArray(t)?e._zoomTarget=t.slice(0):(t=Object(o["a"])(t.values,t),Object(r["a"])(t.entities)&&(t=t.entities.values),Array.isArray(t)?e._zoomTarget=t.slice(0):e._zoomTarget=[t])})),e.scene.requestRender(),s.promise}function Nft(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function Lft(e){const t=e._zoomPromise;Object(r["a"])(t)&&(Nft(e),t.resolve(!1))}function Bft(e){const t=e._zoomTarget;if(!Object(r["a"])(t)||e.scene.mode===vq.MORPHING)return;const n=e.scene,i=n.camera,a=e._zoomPromise,s=Object(o["a"])(e._zoomOptions,{});let c;if(t instanceof HOe)return t.readyPromise.then((function(){const n=t.boundingSphere;Object(r["a"])(s.offset)||(s.offset=new PE(0,-.5,n.radius)),c={offset:s.offset,duration:s.duration,maximumHeight:s.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,c):(i.viewBoundingSphere(n,s.offset),i.lookAtTransform(Ne.IDENTITY),a.resolve(!0)),Nft(e)}));if(t instanceof Dat)return t.readyPromise.then((function(){const n=t.boundingSphere;Object(r["a"])(s.offset)||(s.offset=new PE(0,-.5,n.radius)),c={offset:s.offset,duration:s.duration,maximumHeight:s.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(n,c):(i.viewBoundingSphere(n,s.offset),i.lookAtTransform(Ne.IDENTITY),a.resolve(!0)),Nft(e)}));if(t instanceof I)return c={destination:n.mapProjection.ellipsoid.cartographicToCartesian(t),duration:s.duration,maximumHeight:s.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},e._zoomIsFlight?i.flyTo(c):(i.setView(c),a.resolve(!0)),void Nft(e);const l=t,u=[];for(let o=0,r=l.length;o<r;o++){const t=e._dataSourceDisplay.getBoundingSphere(l[o],!1,wft);if(t===ZB.PENDING)return;t!==ZB.FAILED&&u.push(Tt.clone(wft))}if(0===u.length)return void Lft(e);e.trackedEntity=void 0;const h=Tt.fromBoundingSpheres(u);e._zoomIsFlight?(Nft(e),i.flyToBoundingSphere(h,{duration:s.duration,maximumHeight:s.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)},offset:s.offset})):(i.viewBoundingSphere(h,s.offset),i.lookAtTransform(Ne.IDENTITY),Nft(e),a.resolve(!0))}function Fft(e){if(!e._needTrackedEntityUpdate)return;const t=e._trackedEntity,n=e.clock.currentTime,i=QB.getValueOrUndefined(t.position,n);if(!Object(r["a"])(i))return;const o=e.scene,a=e._dataSourceDisplay.getBoundingSphere(t,!1,wft);if(a===ZB.PENDING)return;const s=o.mode;s!==vq.COLUMBUS_VIEW&&s!==vq.SCENE2D||(o.screenSpaceCameraController.enableTranslate=!1),s!==vq.COLUMBUS_VIEW&&s!==vq.SCENE3D||(o.screenSpaceCameraController.enableTilt=!1);const c=a!==ZB.FAILED?wft:void 0;e._entityView=new qje(t,o,o.mapProjection.ellipsoid),e._entityView.update(n,c),e._needTrackedEntityUpdate=!1}Object.defineProperties(Rft.prototype,{container:{get:function(){return this._container}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,Lft(this);const t=this.scene,n=t.mode;Object(r["a"])(e)&&Object(r["a"])(e.position)?this._needTrackedEntityUpdate=!0:(this._needTrackedEntityUpdate=!1,n!==vq.COLUMBUS_VIEW&&n!==vq.SCENE2D||(t.screenSpaceCameraController.enableTranslate=!0),n!==vq.COLUMBUS_VIEW&&n!==vq.SCENE3D||(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(Ne.IDENTITY)),this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;const t=Object(r["a"])(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;Object(r["a"])(e)?Object(r["a"])(t)&&t.animateAppear():Object(r["a"])(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,Sft(this._timeline,this.clock,e))}}}),Rft.prototype.extend=function(e,t){if(!Object(r["a"])(e))throw new a["a"]("mixin is required.");e(this,t)},Rft.prototype.resize=function(){const e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=Object(r["a"])(this._animation),a=Object(r["a"])(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;const s=i-125,c=this._baseLayerPickerDropDown;if(Object(r["a"])(c)&&(c.style.maxHeight=s+"px"),Object(r["a"])(this._geocoder)){const e=this._geocoder.searchSuggestionsContainer;e.style.maxHeight=s+"px"}Object(r["a"])(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);const l=this._timeline;let u,h=0,d=0,f=0;if(o&&"hidden"!==window.getComputedStyle(this._animation.container).visibility){const e=this._lastWidth;u=this._animation.container,n>900?(h=169,e<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(h=136,(e<600||e>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(h=106,(e>600||0===e)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=h+5}if(a&&"hidden"!==window.getComputedStyle(this._timeline.container).visibility){const e=this._fullscreenButton,t=this._vrButton,n=l.container,i=n.style;f=n.clientHeight+3,i.left=h+"px";let o=0;Object(r["a"])(e)&&(o+=e.container.clientWidth),Object(r["a"])(t)&&(o+=t.container.clientWidth),i.right=o+"px",l.resize()}this._bottomContainer.style.left=d+"px",this._bottomContainer.style.bottom=f+"px",this._lastWidth=n,this._lastHeight=i},Rft.prototype.forceResize=function(){this._lastWidth=0,this.resize()},Rft.prototype.render=function(){this._cesiumWidget.render()},Rft.prototype.isDestroyed=function(){return!1},Rft.prototype.destroy=function(){let e;this.screenSpaceEventHandler.removeInputAction(NP.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(NP.LEFT_DOUBLE_CLICK);const t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),Object(r["a"])(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),Object(r["a"])(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),Object(r["a"])(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),Object(r["a"])(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),Object(r["a"])(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),Object(r["a"])(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),Object(r["a"])(this._timeline)&&(this._timeline.removeEventListener("settime",Aft,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),Object(r["a"])(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),Object(r["a"])(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),Object(r["a"])(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),Object(r["a"])(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),Wl(this)},Rft.prototype._dataSourceAdded=function(e,t){const n=t.entities;n.collectionChanged.addEventListener(Rft.prototype._onEntityCollectionChanged,this)},Rft.prototype._dataSourceRemoved=function(e,t){const n=t.entities;n.collectionChanged.removeEventListener(Rft.prototype._onEntityCollectionChanged,this),Object(r["a"])(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),Object(r["a"])(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)},Rft.prototype._onTick=function(e){const t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);const i=this._entityView;if(Object(r["a"])(i)){const e=this._trackedEntity,n=this._dataSourceDisplay.getBoundingSphere(e,!1,wft);n===ZB.DONE&&i.update(t,wft)}let a,s=!1;const c=this.selectedEntity,l=Object(r["a"])(c)&&this._enableInfoOrSelection;if(l&&c.isShowing&&c.isAvailable(t)){const e=this._dataSourceDisplay.getBoundingSphere(c,!0,wft);e!==ZB.FAILED?a=wft.center:Object(r["a"])(c.position)&&(a=c.position.getValue(t,a)),s=Object(r["a"])(a)}const u=Object(r["a"])(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;Object(r["a"])(u)&&(u.position=g.clone(a,u.position),u.showSelection=l&&s,u.update());const h=Object(r["a"])(this._infoBox)?this._infoBox.viewModel:void 0;Object(r["a"])(h)&&(h.showInfo=l,h.enableCamera=s,h.isCameraTracking=this.trackedEntity===this.selectedEntity,l?(h.titleText=Object(o["a"])(c.name,c.id),h.description=QB.getValueOrDefault(c.description,t,"")):(h.titleText="",h.description=""))},Rft.prototype._onEntityCollectionChanged=function(e,t,n){const i=n.length;for(let o=0;o<i;o++){const e=n[o];this.trackedEntity===e&&(this.trackedEntity=void 0),this.selectedEntity===e&&(this.selectedEntity=void 0)}},Rft.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{const e=this.selectedEntity,t=e.position;Object(r["a"])(t)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}},Rft.prototype._clearTrackedObject=function(){this.trackedEntity=void 0},Rft.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0},Rft.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0},Rft.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&Sft(this.timeline,this.clock,e)},Rft.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);const n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Rft.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i},Rft.prototype._onDataSourceRemoved=function(e,t){const n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){const t=e.length;this._automaticallyTrackDataSourceClocks&&t>0?this.clockTrackedDataSource=e.get(t-1):this.clockTrackedDataSource=void 0}},Rft.prototype.zoomTo=function(e,t){const n={offset:t};return Mft(this,e,n,!1)},Rft.prototype.flyTo=function(e,t){return Mft(this,e,t,!0)},Rft.prototype._postRender=function(){Bft(this),Fft(this)};var kft=Rft;function zft(e){i["a"].typeOf.object("viewer",e);const t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);const n=new Cht(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var Uft=zft;function Vft(e){if(!Object(r["a"])(e))throw new a["a"]("viewer is required.");const t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);const n=new Rht(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var Hft=Vft;function Gft(e,t){if(!Object(r["a"])(e))throw new a["a"]("viewer is required.");if(e.hasOwnProperty("dropTarget"))throw new a["a"]("dropTarget is already defined by another mixin.");if(e.hasOwnProperty("dropEnabled"))throw new a["a"]("dropEnabled is already defined by another mixin.");if(e.hasOwnProperty("dropError"))throw new a["a"]("dropError is already defined by another mixin.");if(e.hasOwnProperty("clearOnDrop"))throw new a["a"]("clearOnDrop is already defined by another mixin.");if(e.hasOwnProperty("flyToOnDrop"))throw new a["a"]("flyToOnDrop is already defined by another mixin.");t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);let n=!0,i=Object(o["a"])(t.flyToOnDrop,!0);const s=new pi["a"];let c=Object(o["a"])(t.clearOnDrop,!0),l=Object(o["a"])(t.dropTarget,e.container),u=Object(o["a"])(t.clampToGround,!0),h=t.proxy;function d(t){qft(t),c&&(e.entities.removeAll(),e.dataSources.removeAll());const n=t.dataTransfer.files,i=n.length;for(let o=0;o<i;o++){const t=n[o],i=new FileReader;i.onload=Xft(e,t,h,u),i.onerror=Kft(e,t),i.readAsText(t)}}l=mUe(l),Object.defineProperties(e,{dropTarget:{get:function(){return l},set:function(e){if(!Object(r["a"])(e))throw new a["a"]("value is required.");Wft(l,d),l=e,Yft(l,d)}},dropEnabled:{get:function(){return n},set:function(e){e!==n&&(e?Yft(l,d):Wft(l,d),n=e)}},dropError:{get:function(){return s}},clearOnDrop:{get:function(){return c},set:function(e){c=e}},flyToOnDrop:{get:function(){return i},set:function(e){i=e}},proxy:{get:function(){return h},set:function(e){h=e}},clampToGround:{get:function(){return u},set:function(e){u=e}}}),Yft(l,d),e.destroy=NB(e,e.destroy,(function(){e.dropEnabled=!1})),e._handleDrop=d}function qft(e){e.stopPropagation(),e.preventDefault()}function Wft(e,t){const n=e;Object(r["a"])(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",qft,!1),n.removeEventListener("dragover",qft,!1),n.removeEventListener("dragexit",qft,!1))}function Yft(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",qft,!1),e.addEventListener("dragover",qft,!1),e.addEventListener("dragexit",qft,!1)}function Xft(e,t,n,i){const o=e.scene;return function(a){const s=t.name;try{let c;if(/\.czml$/i.test(s))c=sxe.load(JSON.parse(a.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))c=YPe.load(JSON.parse(a.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))c=gHe.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else{if(!/\.gpx$/i.test(s))return void e.dropError.raiseEvent(e,s,"Unrecognized file: "+s);c=GMe.load(t,{sourceUri:s,proxy:n})}Object(r["a"])(c)&&e.dataSources.add(c).then((function(t){e.flyToOnDrop&&e.flyTo(t)})).catch((function(t){e.dropError.raiseEvent(e,s,t)}))}catch(c){e.dropError.raiseEvent(e,s,c)}}}function Kft(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var Jft=Gft;function Zft(e,t){if(!Object(r["a"])(e))throw new a["a"]("viewer is required.");t=Object(o["a"])(t,o["a"].EMPTY_OBJECT);const n=new Sdt({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var $ft=Zft;function Qft(e,t,n){let i;try{return i=e(t,n),i}catch(o){return Promise.reject(o)}}function ept(e){let t;return function(n){const i=n.data,a=[],s={id:i.id,result:void 0,error:void 0};return Promise.resolve(Qft(e,i.parameters,a)).then((function(e){s.result=e})).catch((function(e){e instanceof Error?s.error={name:e.name,message:e.message,stack:e.stack}:s.error=e})).finally((function(){Object(r["a"])(t)||(t=Object(o["a"])(self.webkitPostMessage,self.postMessage)),i.canTransferArrayBuffer||(a.length=0);try{t(s,a)}catch(e){s.result=void 0,s.error=`postMessage failed with error: ${$u(e)}\n with responseMessage: ${JSON.stringify(s)}`,t(s)}}))}}var tpt=ept;const npt="1.94.1"},eeda:function(e,t,n){"use strict";function i(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var o=i();function r(e,t,n,i){var r=o,a=i+n;e^=-1;for(var s=i;s<a;s++)e=e>>>8^r[255&(e^t[s])];return-1^e}e.exports=r},f509:function(e,t,n){"use strict";n("fefc")},f654:function(e,t,n){"use strict";(function(t){var i=n("320c");
  64. /*!
  65. * The buffer module from node.js, for the browser.
  66. *
  67. * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  68. * @license MIT
  69. */function o(e,t){if(e===t)return 0;for(var n=e.length,i=t.length,o=0,r=Math.min(n,i);o<r;++o)if(e[o]!==t[o]){n=e[o],i=t[o];break}return n<i?-1:i<n?1:0}function r(e){return t.Buffer&&"function"===typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var a=n("3022d"),s=Object.prototype.hasOwnProperty,c=Array.prototype.slice,l=function(){return"foo"===function(){}.name}();function u(e){return Object.prototype.toString.call(e)}function h(e){return!r(e)&&("function"===typeof t.ArrayBuffer&&("function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var d=e.exports=y,f=/\s*function\s+([^\(\s]*)\s*/;function p(e){if(a.isFunction(e)){if(l)return e.name;var t=e.toString(),n=t.match(f);return n&&n[1]}}function m(e,t){return"string"===typeof e?e.length<t?e:e.slice(0,t):e}function _(e){if(l||!a.isFunction(e))return a.inspect(e);var t=p(e),n=t?": "+t:"";return"[Function"+n+"]"}function g(e){return m(_(e.actual),128)+" "+e.operator+" "+m(_(e.expected),128)}function b(e,t,n,i,o){throw new d.AssertionError({message:n,actual:e,expected:t,operator:i,stackStartFunction:o})}function y(e,t){e||b(e,!0,t,"==",d.ok)}function v(e,t,n,i){if(e===t)return!0;if(r(e)&&r(t))return 0===o(e,t);if(a.isDate(e)&&a.isDate(t))return e.getTime()===t.getTime();if(a.isRegExp(e)&&a.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"===typeof e||null!==t&&"object"===typeof t){if(h(e)&&h(t)&&u(e)===u(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===o(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(r(e)!==r(t))return!1;i=i||{actual:[],expected:[]};var s=i.actual.indexOf(e);return-1!==s&&s===i.expected.indexOf(t)||(i.actual.push(e),i.expected.push(t),w(e,t,n,i))}return n?e===t:e==t}function O(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function w(e,t,n,i){if(null===e||void 0===e||null===t||void 0===t)return!1;if(a.isPrimitive(e)||a.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=O(e),r=O(t);if(o&&!r||!o&&r)return!1;if(o)return e=c.call(e),t=c.call(t),v(e,t,n);var s,l,u=S(e),h=S(t);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),l=u.length-1;l>=0;l--)if(u[l]!==h[l])return!1;for(l=u.length-1;l>=0;l--)if(s=u[l],!v(e[s],t[s],n,i))return!1;return!0}function A(e,t,n){v(e,t,!0)&&b(e,t,n,"notDeepStrictEqual",A)}function T(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(n){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function C(e){var t;try{e()}catch(n){t=n}return t}function E(e,t,n,i){var o;if("function"!==typeof t)throw new TypeError('"block" argument must be a function');"string"===typeof n&&(i=n,n=null),o=C(t),i=(n&&n.name?" ("+n.name+").":".")+(i?" "+i:"."),e&&!o&&b(o,n,"Missing expected exception"+i);var r="string"===typeof i,s=!e&&a.isError(o),c=!e&&o&&!n;if((s&&r&&T(o,n)||c)&&b(o,n,"Got unwanted exception"+i),e&&o&&n&&!T(o,n)||!e&&o)throw o}function x(e,t){e||b(e,!0,t,"==",x)}d.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=g(this),this.generatedMessage=!0);var t=e.stackStartFunction||b;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var i=n.stack,o=p(t),r=i.indexOf("\n"+o);if(r>=0){var a=i.indexOf("\n",r+1);i=i.substring(a+1)}this.stack=i}}},a.inherits(d.AssertionError,Error),d.fail=b,d.ok=y,d.equal=function(e,t,n){e!=t&&b(e,t,n,"==",d.equal)},d.notEqual=function(e,t,n){e==t&&b(e,t,n,"!=",d.notEqual)},d.deepEqual=function(e,t,n){v(e,t,!1)||b(e,t,n,"deepEqual",d.deepEqual)},d.deepStrictEqual=function(e,t,n){v(e,t,!0)||b(e,t,n,"deepStrictEqual",d.deepStrictEqual)},d.notDeepEqual=function(e,t,n){v(e,t,!1)&&b(e,t,n,"notDeepEqual",d.notDeepEqual)},d.notDeepStrictEqual=A,d.strictEqual=function(e,t,n){e!==t&&b(e,t,n,"===",d.strictEqual)},d.notStrictEqual=function(e,t,n){e===t&&b(e,t,n,"!==",d.notStrictEqual)},d.throws=function(e,t,n){E(!0,e,t,n)},d.doesNotThrow=function(e,t,n){E(!1,e,t,n)},d.ifError=function(e){if(e)throw e},d.strict=i(x,d,{equal:d.strictEqual,deepEqual:d.deepStrictEqual,notEqual:d.notStrictEqual,notDeepEqual:d.notDeepStrictEqual}),d.strict.strict=d.strict;var S=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(this,n("c8ba"))},f7c0:function(e,t,n){},f820:function(e,t,n){"use strict";n.r(t);var i=n("f2bf"),o=function(e){return Object(i["pushScopeId"])("data-v-11735032"),e=e(),Object(i["popScopeId"])(),e},r={class:"about"},a=o((function(){return Object(i["createElementVNode"])("div",{id:"box",style:{width:"1000px",height:"600px"}},null,-1)}));function s(e,t,n,o,s,c){Object(i["resolveComponent"])("HealthReport"),Object(i["resolveComponent"])("FJ"),Object(i["resolveComponent"])("clock"),Object(i["resolveComponent"])("el-table-column"),Object(i["resolveComponent"])("el-table");return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",r,[Object(i["createCommentVNode"])("",!0),a])}n("d3b7"),n("159b"),n("b0c0"),n("99af"),n("25f0"),n("6e4a");var c=n("92500"),l=["id","width","height"],u=Object(i["createStaticVNode"])('<defs><rect id="SVGID_1_" x="-260.14" y="-365.945" width="595.28" height="841.89"></rect><rect id="SVGID_3_" x="-260.14" y="-365.945" width="595.28" height="841.89"></rect></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"></use></clipPath><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"></use></clipPath><g><path fill="#D8D8D8" d="M45.96,39.183l-2.22,50.288c0,0,1.916,0.747,3.605,0.747c1.738,0,3.752-0.747,3.752-0.747l-2.181-50.288\r\n H45.96z"></path></g>',4),h=["fill"],d=["fill"],f=["fill"],p=Object(i["createElementVNode"])("g",null,[Object(i["createElementVNode"])("path",{fill:"#D8D8D8",d:"M49.095,38.328l11.02-32.752c0,0-0.102,2.009-0.186,2.674c-0.068,0.56-0.282,1.67-0.402,2.222\r\n c-0.1,0.454-0.421,1.81-0.421,1.81s-0.583,2.35-0.815,3.123c-0.767,2.562-2.484,7.63-3.438,10.129\r\n c-0.805,2.119-2.529,6.314-3.434,8.393c-0.492,1.132-2.029,4.5-2.029,4.5"}),Object(i["createElementVNode"])("path",{fill:"#D8D8D8",d:"M46.446,41.545l23.227,25.585c0,0-1.705-1.066-2.244-1.465c-0.457-0.334-1.32-1.061-1.744-1.436\r\n c-0.348-0.307-1.375-1.248-1.375-1.248s-1.769-1.656-2.33-2.234c-1.863-1.918-5.451-5.889-7.17-7.938\r\n c-1.456-1.737-4.28-5.287-5.654-7.091c-0.748-0.98-2.939-3.965-2.939-3.965"}),Object(i["createElementVNode"])("path",{fill:"#D8D8D8",d:"M45.376,37.815l-34.535,1.201c0,0,1.915-0.614,2.569-0.768c0.548-0.131,1.662-0.324,2.22-0.406\r\n c0.459-0.066,1.843-0.241,1.843-0.241s2.405-0.28,3.211-0.335c2.667-0.181,8.015-0.356,10.691-0.345\r\n c2.267,0.01,6.798,0.149,9.064,0.265c1.231,0.064,4.926,0.318,4.926,0.318"})],-1),m=["dur"],_=Object(i["createElementVNode"])("g",null,[Object(i["createElementVNode"])("path",{fill:"#60BFD6",d:"M42.686,39.182c0,2.504,2.117,4.545,4.732,4.545s4.733-2.041,4.733-4.545c0-2.512-2.118-4.544-4.733-4.544\r\n S42.686,36.67,42.686,39.182"})],-1),g=Object(i["createElementVNode"])("g",null,[Object(i["createElementVNode"])("path",{fill:"#B1E1EB",d:"M44.4,39.182c0,1.561,1.353,2.831,3.017,2.831c1.663,0,3.02-1.27,3.02-2.831c0-1.56-1.356-2.829-3.02-2.829\r\n C45.753,36.353,44.4,37.622,44.4,39.182"})],-1);function b(e,t,n,o,r,a){return Object(i["openBlock"])(),Object(i["createElementBlock"])("svg",{id:r.fjId,version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 93.5 96.5","enable-background":"new 0 0 93.5 96.5","xml:space":"preserve",width:r.fjWidth,height:r.fjHeight},[u,Object(i["createElementVNode"])("g",null,[Object(i["createElementVNode"])("g",null,[Object(i["createElementVNode"])("path",{fill:r.background,d:"M45.427,37.35l3.854,1.471c0,0,10.131-21.287,10.834-32.815C52.61,15.16,45.427,37.35,45.427,37.35"},null,8,h),Object(i["createElementVNode"])("path",{fill:r.background,d:"M49.088,38.821l-3.163,2.647c0,0,13.648,19.221,23.373,25.454C64.962,55.908,49.088,38.821,49.088,38.821"},null,8,d),Object(i["createElementVNode"])("path",{fill:r.background,d:"M45.749,41.592l0.022-4.125c0,0-23.489-2-34.528,1.396C22.452,42.669,45.749,41.592,45.749,41.592"},null,8,f)]),p,Object(i["createElementVNode"])("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",from:"0 46.75 39.182",to:"359 46.75 39.182",dur:r.rotate,repeatCount:"indefinite"},null,8,m)]),_,g],8,l)}n("a9e3");var y={name:"fj",props:{id:{type:String,default:"fj-1"},speed:{type:Number||String,default:"0.5s"},color:{type:String,default:"#4b55ae"},width:{type:String,default:"43px"},height:{type:String,default:"46px"}},data:function(){return{fjId:"",rotate:"",background:"",fjWidth:"",fjHeight:""}},methods:{},created:function(){this.fjId=this.id,this.rotate=this.speed,this.background=this.color,this.fjWidth=this.width,this.fjHeight=this.height},mounted:function(){},unmounted:function(){},watch:{id:function(e){this.fjId=e},speed:function(e){this.rotate=e},color:function(e){this.background=e},width:function(e){this.fjWidth=e},height:function(e){this.fjHeight=e}}},v=n("6b0d"),O=n.n(v);const w=O()(y,[["render",b]]);var A=w,T=n("3b54"),C=function(e){return Object(i["pushScopeId"])("data-v-a997ac7a"),e=e(),Object(i["popScopeId"])(),e},E={class:"home"},x={id:"container",class:"box"},S=C((function(){return Object(i["createElementVNode"])("div",{id:"cesiumContainer"},null,-1)})),I={class:"menu"},D=C((function(){return Object(i["createElementVNode"])("span",{class:"el-dropdown-link"},[Object(i["createTextVNode"])(" 下拉菜单"),Object(i["createElementVNode"])("i",{class:"el-icon-arrow-down el-icon--right"})],-1)})),j=Object(i["createTextVNode"])("天气开关"),P=Object(i["createTextVNode"])("地图中文标记"),R=Object(i["createTextVNode"])("回到初始位置"),M=Object(i["createTextVNode"])("风场风向"),N=Object(i["createTextVNode"])("风机模型添加"),L={class:"promsg"},B={class:"promsg_bar"},F=Object(i["createTextVNode"])(" 状态:"),k={class:"promsg_bar"},z=Object(i["createTextVNode"])(" 姓名:"),U={class:"promsg_bar"},V=Object(i["createTextVNode"])(" 疲劳度:"),H={class:"promsg_bar"},G=Object(i["createTextVNode"])(" 收缩血压:"),q={class:"promsg_bar"},W=Object(i["createTextVNode"])(" 舒张血压:"),Y={class:"promsg_bar"},X=Object(i["createTextVNode"])(" 血氧浓度:"),K={class:"promsg_bar"},J=Object(i["createTextVNode"])(" 心跳频率:"),Z=C((function(){return Object(i["createElementVNode"])("div",{id:"parentBox"},[Object(i["createElementVNode"])("div",{id:"cesiumContainer"})],-1)}));function $(e,t,n,o,r,a){var s=Object(i["resolveComponent"])("el-dropdown-item"),c=Object(i["resolveComponent"])("el-dropdown-menu"),l=Object(i["resolveComponent"])("el-dropdown");return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",E,[Object(i["createElementVNode"])("div",x,[S,Object(i["createElementVNode"])("div",I,[Object(i["createVNode"])(l,{onCommand:a.handleCommand,trigger:"click"},{dropdown:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(c,null,{default:Object(i["withCtx"])((function(){return[Object(i["createVNode"])(s,{command:"a"},{default:Object(i["withCtx"])((function(){return[j]})),_:1}),Object(i["createVNode"])(s,{command:"b"},{default:Object(i["withCtx"])((function(){return[P]})),_:1}),Object(i["createVNode"])(s,{command:"c"},{default:Object(i["withCtx"])((function(){return[R]})),_:1}),Object(i["createVNode"])(s,{command:"d"},{default:Object(i["withCtx"])((function(){return[M]})),_:1}),Object(i["createVNode"])(s,{command:"f"},{default:Object(i["withCtx"])((function(){return[N]})),_:1})]})),_:1})]})),default:Object(i["withCtx"])((function(){return[D]})),_:1},8,["onCommand"])]),Object(i["withDirectives"])(Object(i["createElementVNode"])("div",L,[Object(i["createElementVNode"])("div",B,[F,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].isrun),1)]),Object(i["createElementVNode"])("div",k,[z,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].username),1)]),Object(i["createElementVNode"])("div",U,[V,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].pld),1)]),Object(i["createElementVNode"])("div",H,[G,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].ssxy),1)]),Object(i["createElementVNode"])("div",q,[W,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].szxy),1)]),Object(i["createElementVNode"])("div",Y,[X,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].xynd),1)]),Object(i["createElementVNode"])("div",K,[J,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(r.msg[r.i].xtpl),1)])],512),[[i["vShow"],r.promsg]])]),Z])}n("ddb0");var Q=n("bee2"),ee=n("d4ec"),te=n("ec35");function ne(e,t,n){e.entities.add({id:t.userid+"",name:t.username,position:te.Cartesian3.fromDegrees(t.lng,t.lat,0),ellipse:{height:0,semiMinorAxis:15,semiMajorAxis:15,material:new te.CircleWaveMaterialProperty({duration:2e3,gradient:0,color:n,count:3})},point:{pixelSize:10,color:te.Color.YELLOW},label:{text:t.username,font:"14pt monospace",style:te.LabelStyle.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:te.VerticalOrigin.BOTTOM,pixelOffset:new te.Cartesian2(0,-9)}})}var ie=Object(Q["a"])((function e(t){Object(ee["a"])(this,e),t=te.defaultValue(t,te.defaultValue.EMPTY_OBJECT),this._definitionChanged=new te.Event,this._color=void 0,this._colorSubscription=void 0,this.color=t.color,this.duration=te.defaultValue(t.duration,1e3),this.count=te.defaultValue(t.count,2),this.count<=0&&(this.count=1),this.gradient=te.defaultValue(t.gradient,.1),this.gradient<0?this.gradient=0:this.gradient>1&&(this.gradient=1),this._time=performance.now()}));Object.defineProperties(ie.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:te.createPropertyDescriptor("color")}),ie.prototype.getType=function(e){return te.Material.CircleWaveMaterialType},ie.prototype.getValue=function(e,t){return te.defined(t)||(t={}),t.color=te.Property.getValueOrClonedDefault(this._color,e,te.Color.WHITE,t.color),t.time=(performance.now()-this._time)/this.duration,t.count=this.count,t.gradient=1+10*(1-this.gradient),t},ie.prototype.equals=function(e){return this===e||e instanceof ie&&te.Property.equals(this._color,e._color)},te.Material.CircleWaveMaterialType="CircleWaveMaterial",te.Material.PolylineTrailSource="czm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = 1.5 * color.rgb;\nvec2 st = materialInput.st;\nfloat dis = distance(st, vec2(0.5, 0.5));\nfloat per = fract(time);\nif(dis > per * 0.5){\nmaterial.alpha = 0.0;\ndiscard;\n}else {\nmaterial.alpha = color.a * dis / per / 1.0;\n}\nreturn material;\n}",te.Material._materialCache.addMaterial(te.Material.CircleWaveMaterialType,{fabric:{type:te.Material.CircleWaveMaterialType,uniforms:{color:new te.Color(1,0,0,1),time:1,count:1,gradient:.1},source:te.Material.PolylineTrailSource},translucent:function(e){return!0}}),te.CircleWaveMaterialProperty=ie;var oe=function(e){this.west=null,this.east=null,this.south=null,this.north=null,this.rows=null,this.cols=null,this.dx=null,this.dy=null,this.unit=null,this.date=null,this.grid=null,this._init(e)};oe.prototype={constructor:oe,_init:function(e){var t=e.header,n=e["uComponent"],i=e["vComponent"];this.west=+t["lo1"],this.east=+t["lo2"],this.south=+t["la2"],this.north=+t["la1"],this.rows=+t["ny"],this.cols=+t["nx"],this.dx=+t["dx"],this.dy=+t["dy"],this.unit=t["parameterUnit"],this.date=t["refTime"],this.grid=[];for(var o=0,r=null,a=null,s=0;s<this.rows;s++){r=[];for(var c=0;c<this.cols;c++,o++)a=this._calcUV(n[o],i[o]),r.push(a);this.grid.push(r)}},_calcUV:function(e,t){return[+e,+t,Math.sqrt(e*e+t*t)]},_bilinearInterpolation:function(e,t,n,i,o,r){var a=1-e,s=1-t,c=a*s,l=e*s,u=a*t,h=e*t,d=n[0]*c+i[0]*l+o[0]*u+r[0]*h,f=n[1]*c+i[1]*l+o[1]*u+r[1]*h;return this._calcUV(d,f)},getIn:function(e,t){var n,i,o=Math.floor(e),r=Math.floor(t);if(o===e&&r===t)return this.grid[t][e];n=o+1,i=r+1;var a=this.getIn(o,r),s=this.getIn(n,r),c=this.getIn(o,i),l=this.getIn(n,i);return this._bilinearInterpolation(e-o,t-r,a,s,c,l)},isInBound:function(e,t){return e>=0&&e<this.cols-2&&t>=0&&t<this.rows-2}};var re=oe,ae=function(){this.x=null,this.dx=null,this.dx=null,this.y=null,this.age=null,this.birthAge=null,this.path=null},se=ae,ce=n("ec35"),le=null,ue=.15,he=2e3,de=10,fe=1.5,pe=function(e,t){this.windData=e,this.windField=null,this.particles=[],this.lines=null,le=t.scene.primitives,this._init()};pe.prototype={constructor:pe,_init:function(){this.windField=this.createField();for(var e=0;e<he;e++)this.particles.push(this.randomParticle(new se))},createField:function(){var e=this._parseWindJson();return new re(e)},animate:function(){var e=this,t=e.windField,n=e.particles,i=[],o=null,r=null,a=null;n.forEach((function(n){if(n.age<=0&&e.randomParticle(n),n.age>0){var s=n.x,c=n.y;t.isInBound(s,c)?(a=t.getIn(s,c),o=s+ue*a[0],r=c+ue*a[1],n.path.push(o,r),n.x=o,n.y=r,i.push(e._createLineInstance(e._map(n.path),n.age/n.birthAge)),n.age--):n.age=0}})),i.length<=0&&this.removeLines(),e._drawLines(i)},_parseWindJson:function(){var e=null,t=null,n=null;return this.windData.forEach((function(i){var o=i.header.parameterCategory+","+i.header.parameterNumber;switch(o){case"2,2":e=i["data"],n=i["header"];break;case"2,3":t=i["data"];break;default:break}})),{header:n,uComponent:e,vComponent:t}},removeLines:function(){this.lines&&le.remove(this.lines)},destroy:function(){le.removeAll()},_map:function(e){for(var t=e.length,n=this.windField,i=n.dx,o=n.dy,r=n.west,a=n.north,s=[],c=0;c<=t-2;c+=2)s.push(r+e[c]*i,a-e[c+1]*o);return s},_createLineInstance:function(e,t){for(var n=[],i=e.length,o=i/2,r=0;r<i;r++)n.push(ce.Color.WHITE.withAlpha(r/o*t*fe));return new ce.GeometryInstance({geometry:new ce.PolylineGeometry({positions:ce.Cartesian3.fromDegreesArray(e),colors:n,width:1.5,colorsPerVertex:!0})})},_drawLines:function(e){this.removeLines();var t=new ce.Primitive({appearance:new ce.PolylineColorAppearance({translucent:!0}),geometryInstances:e,asynchronous:!1});this.lines=le.add(t)},randomParticle:function(e){var t,n,i=30;do{t=Math.floor(Math.random()*(this.windField.cols-2)),n=Math.floor(Math.random()*(this.windField.rows-2))}while(this.windField.getIn(t,n)[2]<=0&&i++<30);return e.x=t,e.y=n,e.age=Math.round(Math.random()*de),e.birthAge=e.age,e.path=[t,n],e}};var me=pe,_e=n("5667"),ge=[{id:"NSS_FDC",name:"牛首山",lng:106.0231304,lat:37.73323706,wts:[{id:"NG01",lng:106.0231304,lat:37.73323706,alt:"0"},{id:"NG02",lng:106.0249329,lat:37.73863338,alt:"0"},{id:"NG03",lng:106.0214138,lat:37.74399538,alt:"0"},{id:"NG04",lng:106.0251689,lat:37.74608238,alt:"0"},{id:"NG05",lng:106.0223579,lat:37.74820326,alt:"0"},{id:"NG06",lng:106.0289025,lat:37.750867,alt:"0"},{id:"NG07",lng:106.0328722,lat:37.75317436,alt:"0"},{id:"NG08",lng:106.0372066,lat:37.75110452,alt:"0"},{id:"NG09",lng:106.04182,lat:37.75003565,alt:"0"},{id:"NG10",lng:106.0283446,lat:37.75456553,alt:"0"},{id:"NG11",lng:106.031456,lat:37.75699153,alt:"0"},{id:"NG12",lng:106.0190535,lat:37.73510376,alt:"0"},{id:"NG13",lng:106.0168433,lat:37.73832794,alt:"0"},{id:"NG14",lng:106.0159206,lat:37.74394448,alt:"0"},{id:"NG15",lng:106.0165429,lat:37.74962846,alt:"0"},{id:"NG16",lng:106.0229802,lat:37.75476911,alt:"0"},{id:"NG17",lng:106.0236454,lat:37.75856923,alt:"0"},{id:"NG18",lng:106.0295248,lat:37.76184329,alt:"0"},{id:"NG19",lng:106.026628,lat:37.76457438,alt:"0"},{id:"NG20",lng:106.0323787,lat:37.76574482,alt:"0"},{id:"NG21",lng:106.0368419,lat:37.76644029,alt:"0"},{id:"NG22",lng:106.0352325,lat:37.76998539,alt:"0"},{id:"NG23",lng:106.0304046,lat:37.77046031,alt:"0"},{id:"NG24",lng:106.0138178,lat:37.73627466,alt:"0"},{id:"NG25",lng:106.0120368,lat:37.74048298,alt:"0"},{id:"NG26",lng:106.0106635,lat:37.74401235,alt:"0"},{id:"NG27",lng:106.0098052,lat:37.74850866,alt:"0"},{id:"NG28",lng:106.0118222,lat:37.75208855,alt:"0"},{id:"NG29",lng:106.0084963,lat:37.75534593,alt:"0"},{id:"NG30",lng:106.0140967,lat:37.7552611,alt:"0"},{id:"NG31",lng:106.0183024,lat:37.75746654,alt:"0"},{id:"NG32",lng:106.0184956,lat:37.76191114,alt:"0"},{id:"NG33",lng:106.0219288,lat:37.76421816,alt:"0"},{id:"NG34",lng:106.0052347,lat:37.75222428,alt:"0"},{id:"NG35",lng:106.0035396,lat:37.75519324,alt:"0"},{id:"NG36",lng:106.0031533,lat:37.75839959,alt:"0"},{id:"NG37",lng:106.0074878,lat:37.76002815,alt:"0"},{id:"NG38",lng:106.0128522,lat:37.76087635,alt:"0"},{id:"NG39",lng:106.0088396,lat:37.7640146,alt:"0"},{id:"NG40",lng:106.0035396,lat:37.76377712,alt:"0"},{id:"NG41",lng:106.0178089,lat:37.76569393,alt:"0"},{id:"NG42",lng:106.0186028,lat:37.77034158,alt:"0"},{id:"NG43",lng:106.0163713,lat:37.73182852,alt:"0"},{id:"NG44",lng:106.0049343,lat:37.74847473,alt:"0"},{id:"NG45",lng:106.025877,lat:37.76910337,alt:"0"},{id:"NG46",lng:106.0230017,lat:37.77208862,alt:"0"},{id:"NG47",lng:106.0224652,lat:37.77833011,alt:"0"},{id:"NG48",lng:106.0262203,lat:37.78075533,alt:"0"},{id:"NG49",lng:106.0300612,lat:37.78256995,alt:"0"},{id:"NG50",lng:106.0240102,lat:37.78399448,alt:"0"},{id:"NG51",lng:106.0277653,lat:37.78562249,alt:"0"},{id:"NG52",lng:106.0358548,lat:37.79120152,alt:"0"},{id:"NG53",lng:106.0301042,lat:37.78904796,alt:"0"},{id:"NG54",lng:106.0329795,lat:37.78597861,alt:"0"},{id:"NG55",lng:106.0356617,lat:37.78299392,alt:"0"},{id:"NG56",lng:106.0195041,lat:37.77531119,alt:"0"},{id:"NG57",lng:106.0235167,lat:37.79483021,alt:"0"},{id:"NG58",lng:106.0251474,lat:37.79908606,alt:"0"},{id:"NG59",lng:106.0296535,lat:37.80127324,alt:"0"},{id:"NG60",lng:106.0350823,lat:37.80379943,alt:"0"},{id:"NG61",lng:106.0305977,lat:37.80386724,alt:"0"},{id:"NG62",lng:106.0254693,lat:37.80356207,alt:"0"},{id:"NG63",lng:106.0209846,lat:37.80507097,alt:"0"},{id:"NG64",lng:106.0189247,lat:37.80127324,alt:"0"},{id:"NG65",lng:106.0166931,lat:37.80451149,alt:"0"},{id:"NG66",lng:106.0193539,lat:37.80890241,alt:"0"},{id:"NG67",lng:106.0238385,lat:37.81029253,alt:"0"},{id:"NG68",lng:106.0149336,lat:37.78699609,alt:"0"},{id:"NG69",lng:106.0181522,lat:37.78953973,alt:"0"},{id:"NG70",lng:106.0233235,lat:37.78926841,alt:"0"},{id:"NG71",lng:106.0174012,lat:37.79462674,alt:"0"},{id:"NG72",lng:106.0204268,lat:37.79761095,alt:"0"},{id:"NG73",lng:106.0157919,lat:37.79835699,alt:"0"},{id:"NG74",lng:106.012187,lat:37.80125628,alt:"0"},{id:"NG75",lng:106.0118651,lat:37.8059017,alt:"0"},{id:"NG76",lng:106.0058784,lat:37.80495229,alt:"0"},{id:"NG77",lng:106.0062003,lat:37.80849554,alt:"0"},{id:"NG78",lng:106.0110068,lat:37.81085196,alt:"0"},{id:"NG79",lng:106.0220146,lat:37.81429322,alt:"0"},{id:"NG80",lng:106.0223794,lat:37.72958837,alt:"0"},{id:"NG81",lng:106.0263276,lat:37.72707662,alt:"0"},{id:"NG82",lng:106.0267997,lat:37.72327488,alt:"0"},{id:"NG83",lng:106.0307479,lat:37.72181523,alt:"0"},{id:"NG84",lng:106.0274005,lat:37.71957479,alt:"0"},{id:"NG85",lng:106.0365844,lat:37.70429721,alt:"0"},{id:"NG86",lng:106.0376787,lat:37.70039244,alt:"0"},{id:"NG87",lng:106.041348,lat:37.69660631,alt:"0"},{id:"NG88",lng:106.0426569,lat:37.69073148,alt:"0"},{id:"NG89",lng:106.0451245,lat:37.69414437,alt:"0"},{id:"NG90",lng:106.0334516,lat:37.72498908,alt:"0"},{id:"NG91",lng:106.0363698,lat:37.72206982,alt:"0"},{id:"NG92",lng:106.0370135,lat:37.71814901,alt:"0"},{id:"NG93",lng:106.0389447,lat:37.71443169,alt:"0"},{id:"NG94",lng:106.0484719,lat:37.71127436,alt:"0"},{id:"NG95",lng:106.0272288,lat:37.73099696,alt:"0"},{id:"NG96",lng:106.0308337,lat:37.72807794,alt:"0"},{id:"NG97",lng:106.0375071,lat:37.72670324,alt:"0"},{id:"NG98",lng:106.0407472,lat:37.7234446,alt:"0"},{id:"NG99",lng:106.0439014,lat:37.71889585,alt:"0"}]},{id:"QS_FDC",name:"青山",lng:107.217636108398,lat:37.5534917819943,wts:[{id:"QG01",lng:107.217636108398,lat:37.5534917819943,alt:"1620"},{id:"QG02",lng:107.231798171997,lat:37.5528113263644,alt:"1631"},{id:"QG03",lng:107.236969470978,lat:37.5531430492601,alt:"1620"},{id:"QG04",lng:107.230060100555,lat:37.5577912673456,alt:"1638"},{id:"QG05",lng:107.224591076374,lat:37.5590223799266,alt:"1629"},{id:"QG06",lng:107.224127054214,lat:37.5460702271695,alt:"1643"},{id:"QG07",lng:107.232570648193,lat:37.540800261985,alt:"1653"},{id:"QG08",lng:107.232785224915,lat:37.5394391127873,alt:"1654"},{id:"QG09",lng:107.235864400864,lat:37.5409959251395,alt:"1621"},{id:"QG10",lng:107.235864400864,lat:37.533288110023,alt:"1659"},{id:"QG11",lng:107.233192920685,lat:37.5303868385901,alt:"1655"},{id:"QG12",lng:107.209181785583,lat:37.5484073523692,alt:"1624"},{id:"QG13",lng:107.205193340778,lat:37.5397134714219,alt:"1645"},{id:"QG14",lng:107.208774089813,lat:37.5290765499824,alt:"1654"},{id:"QG15",lng:107.215468883514,lat:37.5266601132254,alt:"1661"},{id:"QG16",lng:107.219025492668,lat:37.5420125145689,alt:"1653"},{id:"QG17",lng:107.218194007874,lat:37.5337560464588,alt:"1650"},{id:"QG18",lng:107.223858833313,lat:37.5354405933172,alt:"1665"},{id:"QG19",lng:107.227699756622,lat:37.5289404147812,alt:"1659"},{id:"QG20",lng:107.237141132355,lat:37.5237415658803,alt:"1600"},{id:"QG21",lng:107.225081920624,lat:37.5251795816112,alt:"1660"},{id:"QG22",lng:107.21836566925,lat:37.5229502199563,alt:"1658"},{id:"QG23",lng:107.201065421104,lat:37.5422209349572,alt:"1625"},{id:"QG24",lng:107.201489210129,lat:37.5326159780052,alt:"1648"},{id:"QG25",lng:107.205587625504,lat:37.5232650575122,alt:"1664"},{id:"QG26",lng:107.211112976074,lat:37.5201932073065,alt:"1664"},{id:"QG27",lng:107.209621667862,lat:37.5160574973166,alt:"1674"},{id:"QG28",lng:107.205834388733,lat:37.5123811182352,alt:"1663"},{id:"QG29",lng:107.203409671783,lat:37.5168574261816,alt:"1670"},{id:"QG30",lng:107.198731899261,lat:37.5207207916834,alt:"1659"},{id:"QG31",lng:107.199257612228,lat:37.508976902057,alt:"1675"},{id:"QG32",lng:107.203677892685,lat:37.5070449403205,alt:"1675"},{id:"QG33",lng:107.207164764404,lat:37.5046958798405,alt:"1664"},{id:"QG34",lng:107.191742062569,lat:37.5510399861667,alt:"1668"},{id:"QG35",lng:107.197715342045,lat:37.5495386732784,alt:"1654"},{id:"QG36",lng:107.186712920666,lat:37.542729223053,alt:"1623"},{id:"QG37",lng:107.19198346138,lat:37.5386734554438,alt:"1667"},{id:"QG38",lng:107.18975186348,lat:37.5317992018309,alt:"1670"},{id:"QG39",lng:107.194333076477,lat:37.5262006410413,alt:"1659"},{id:"QG40",lng:107.190524339676,lat:37.5248307164361,alt:"1650"},{id:"QG41",lng:107.193850278854,lat:37.5174190732396,alt:"1647"},{id:"QG42",lng:107.194257974625,lat:37.5101939271718,alt:"1643"},{id:"QG43",lng:107.192884683609,lat:37.5060406408998,alt:"1677"},{id:"QG44",lng:107.187992334366,lat:37.5092492450648,alt:"1655"},{id:"QG45",lng:107.163863182068,lat:37.5293998700896,alt:"1665"},{id:"QG46",lng:107.164839506149,lat:37.5234862939188,alt:"1633"},{id:"QG47",lng:107.169742584229,lat:37.5172829167653,alt:"1643"},{id:"QG48",lng:107.176394462585,lat:37.520057055894,alt:"1634"},{id:"QG49",lng:107.171856164932,lat:37.514849077877,alt:"1658"},{id:"QG50",lng:107.168154716492,lat:37.5123811182352,alt:"1660"},{id:"QG51",lng:107.17866897583,lat:37.5083981698663,alt:"1677"},{id:"QG52",lng:107.175278663635,lat:37.5056065751042,alt:"1670"},{id:"QG53",lng:107.179956436157,lat:37.5064917262093,alt:"1644"},{id:"QG54",lng:107.182434797287,lat:37.5108066875511,alt:"1656"},{id:"QG55",lng:107.185535430908,lat:37.5054533748091,alt:"1658"},{id:"QG56",lng:107.195867300034,lat:37.5567855247009,alt:"1659"},{id:"QG57",lng:107.187415659428,lat:37.5552779484629,alt:"1634"},{id:"QG58",lng:107.187415659428,lat:37.5552779484629,alt:"1644"},{id:"QG59",lng:107.17248916626,lat:37.5599366645357,alt:"1645"},{id:"QG60",lng:107.168728709221,lat:37.5571682613454,alt:"1667"},{id:"QG61",lng:107.16448277235,lat:37.5539532124332,alt:"1662"},{id:"QG62",lng:107.165713906288,lat:37.5494004489002,alt:"1641"},{id:"QG63",lng:107.171477973461,lat:37.5439818513075,alt:"1646"},{id:"QG64",lng:107.177338600159,lat:37.5468443149692,alt:"1638"},{id:"QG65",lng:107.165193557739,lat:37.5421656398089,alt:"1635"},{id:"QG66",lng:107.168530225754,lat:37.5352193923647,alt:"1640"}]},{id:"SBQ_FDC",name:"石板泉",lng:106.4515667,lat:37.60171667,wts:[{id:"SG01",lng:106.4515667,lat:37.60171667,alt:"0"},{id:"SG02",lng:106.4368167,lat:37.6033,alt:"0"},{id:"SG03",lng:106.4341333,lat:37.60171667,alt:"0"},{id:"SG04",lng:106.4250833,lat:37.60041667,alt:"0"},{id:"SG05",lng:106.4375,lat:37.5879,alt:"0"},{id:"SG06",lng:106.4398167,lat:37.5854,alt:"0"},{id:"SG07",lng:106.4510667,lat:37.57506667,alt:"0"},{id:"SG08",lng:106.4539333,lat:37.57455,alt:"0"},{id:"SG09",lng:106.4591,lat:37.57405,alt:"0"},{id:"SG10",lng:106.4753,lat:37.57543333,alt:"0"},{id:"SG11",lng:106.48525,lat:37.57398333,alt:"0"},{id:"SG12",lng:106.4558833,lat:37.59241667,alt:"0"},{id:"SG13",lng:106.4520667,lat:37.59083333,alt:"0"},{id:"SG14",lng:106.4503333,lat:37.5869,alt:"0"},{id:"SG15",lng:106.4539,lat:37.58436667,alt:"0"},{id:"SG16",lng:106.4588333,lat:37.58393333,alt:"0"},{id:"SG17",lng:106.4689667,lat:37.58508333,alt:"0"},{id:"SG18",lng:106.4557667,lat:37.58851667,alt:"0"},{id:"SG19",lng:106.4691,lat:37.58788333,alt:"0"},{id:"SG20",lng:106.4727167,lat:37.5859,alt:"0"},{id:"SG21",lng:106.4853833,lat:37.58373333,alt:"0"},{id:"SG22",lng:106.501,lat:37.57553333,alt:"0"},{id:"SG23",lng:106.4698833,lat:37.6003,alt:"0"},{id:"SG24",lng:106.4722333,lat:37.59011667,alt:"0"},{id:"SG25",lng:106.4838333,lat:37.59091667,alt:"0"},{id:"SG26",lng:106.4861333,lat:37.58858333,alt:"0"},{id:"SG27",lng:106.4880333,lat:37.58626667,alt:"0"},{id:"SG28",lng:106.4897833,lat:37.58736667,alt:"0"},{id:"SG29",lng:106.5011667,lat:37.58518333,alt:"0"},{id:"SG30",lng:106.5076667,lat:37.58378333,alt:"0"},{id:"SG31",lng:106.5184167,lat:37.5862,alt:"0"},{id:"SG32",lng:106.5253667,lat:37.58713333,alt:"0"},{id:"SG33",lng:106.5342833,lat:37.58786667,alt:"0"},{id:"SG34",lng:106.4565333,lat:37.63861667,alt:"0"},{id:"SG35",lng:106.4537167,lat:37.63945,alt:"0"},{id:"SG36",lng:106.4505667,lat:37.64101667,alt:"0"},{id:"SG37",lng:106.4369333,lat:37.64116667,alt:"0"},{id:"SG38",lng:106.43425,lat:37.65011667,alt:"0"},{id:"SG39",lng:106.43735,lat:37.654,alt:"0"},{id:"SG40",lng:106.4381333,lat:37.65733333,alt:"0"},{id:"SG41",lng:106.4344,lat:37.65973333,alt:"0"},{id:"SG42",lng:106.4393167,lat:37.66668333,alt:"0"},{id:"SG43",lng:106.4433167,lat:37.667,alt:"0"},{id:"SG44",lng:106.45585,lat:37.65986667,alt:"0"},{id:"SG45",lng:106.4680167,lat:37.63951667,alt:"0"},{id:"SG46",lng:106.4685,lat:37.65056667,alt:"0"},{id:"SG47",lng:106.4562167,lat:37.6501,alt:"0"},{id:"SG48",lng:106.43795,lat:37.65021667,alt:"0"},{id:"SG49",lng:106.4415833,lat:37.65116667,alt:"0"},{id:"SG50",lng:106.4413667,lat:37.65436667,alt:"0"},{id:"SG51",lng:106.4417667,lat:37.65761667,alt:"0"},{id:"SG52",lng:106.4568333,lat:37.65378333,alt:"0"},{id:"SG53",lng:106.47095,lat:37.65178333,alt:"0"},{id:"SG54",lng:106.4699833,lat:37.65555,alt:"0"},{id:"SG55",lng:106.4736333,lat:37.66703333,alt:"0"},{id:"SG56",lng:106.4756167,lat:37.63865,alt:"0"},{id:"SG57",lng:106.4847167,lat:37.64136667,alt:"0"},{id:"SG58",lng:106.4739833,lat:37.64246667,alt:"0"},{id:"SG59",lng:106.4729333,lat:37.65466667,alt:"0"},{id:"SG60",lng:106.4751667,lat:37.6567,alt:"0"},{id:"SG61",lng:106.48745,lat:37.65055,alt:"0"},{id:"SG62",lng:106.4874333,lat:37.65305,alt:"0"},{id:"SG63",lng:106.4893333,lat:37.65453333,alt:"0"},{id:"SG64",lng:106.48695,lat:37.65755,alt:"0"},{id:"SG65",lng:106.4923667,lat:37.64303333,alt:"0"},{id:"SG66",lng:106.4925333,lat:37.6522,alt:"0"},{id:"SG67",lng:106.4372667,lat:37.60863333,alt:"0"},{id:"SG68",lng:106.4358333,lat:37.62263333,alt:"0"},{id:"SG69",lng:106.4697,lat:37.62076667,alt:"0"},{id:"SG70",lng:106.4594167,lat:37.6087,alt:"0"},{id:"SG71",lng:106.4585833,lat:37.60526667,alt:"0"},{id:"SG72",lng:106.4248667,lat:37.617,alt:"0"},{id:"SG73",lng:106.48565,lat:37.63513333,alt:"0"},{id:"SG74",lng:106.4233833,lat:37.63723333,alt:"0"},{id:"SG75",lng:106.4683667,lat:37.63515,alt:"0"},{id:"SG76",lng:106.4348333,lat:37.61908333,alt:"0"},{id:"SG77",lng:106.4395333,lat:37.62545,alt:"0"},{id:"SG78",lng:106.4423,lat:37.62185,alt:"0"},{id:"SG79",lng:106.4758667,lat:37.63501667,alt:"0"},{id:"SG80",lng:106.451,lat:37.60971667,alt:"0"},{id:"SG81",lng:106.4543167,lat:37.60706667,alt:"0"},{id:"SG82",lng:106.4505,lat:37.62356667,alt:"0"},{id:"SG83",lng:106.4544833,lat:37.61888333,alt:"0"},{id:"SG84",lng:106.4586833,lat:37.62058333,alt:"0"},{id:"SG85",lng:106.4376833,lat:37.63785,alt:"0"},{id:"SG86",lng:106.4405167,lat:37.61908333,alt:"0"},{id:"SG87",lng:106.4345,lat:37.63703333,alt:"0"},{id:"SG88",lng:106.4260833,lat:37.62615,alt:"0"},{id:"SG89",lng:106.4693667,lat:37.61766667,alt:"0"},{id:"SG90",lng:106.4713333,lat:37.63703333,alt:"0"},{id:"SG91",lng:106.4408833,lat:37.60918333,alt:"0"},{id:"SG92",lng:106.53535,lat:37.60373333,alt:"0"},{id:"SG93",lng:106.5314833,lat:37.60988333,alt:"0"},{id:"SG94",lng:106.5277833,lat:37.61066667,alt:"0"},{id:"SG95",lng:106.5195,lat:37.6084,alt:"0"},{id:"SG96",lng:106.5133333,lat:37.60538333,alt:"0"},{id:"SG97",lng:106.5099333,lat:37.62868333,alt:"0"},{id:"SG98",lng:106.5286667,lat:37.62028333,alt:"0"},{id:"SG99",lng:106.5236833,lat:37.77213333,alt:"0"},{id:"SG100",lng:106.2033167,lat:37.62301667,alt:"0"},{id:"SG101",lng:106.5059833,lat:37.61241667,alt:"0"},{id:"SG102",lng:106.5030833,lat:37.61541667,alt:"0"},{id:"SG103",lng:106.4942667,lat:37.61318333,alt:"0"},{id:"SG104",lng:106.4932667,lat:37.61023333,alt:"0"},{id:"SG105",lng:106.4872,lat:37.61611667,alt:"0"},{id:"SG106",lng:106.4764833,lat:37.61796667,alt:"0"},{id:"SG107",lng:106.4820833,lat:37.61956667,alt:"0"},{id:"SG108",lng:106.485,lat:37.62698333,alt:"0"},{id:"SG109",lng:106.4895333,lat:37.63096667,alt:"0"},{id:"SG110",lng:106.4963,lat:37.6317,alt:"0"},{id:"SG111",lng:106.5025167,lat:37.62693333,alt:"0"},{id:"SG112",lng:106.5047,lat:37.63411667,alt:"0"},{id:"SG113",lng:106.5142,lat:37.63583333,alt:"0"},{id:"SG114",lng:106.5098667,lat:37.64313333,alt:"0"},{id:"SG115",lng:106.50405,lat:37.64968333,alt:"0"},{id:"SG116",lng:106.4992333,lat:37.6394,alt:"0"}]},{id:"XS_FDC",name:"香山",lng:105.2128029,lat:37.1699607,wts:[{id:"XG01",lng:105.2139616,lat:37.17630397,alt:"0"},{id:"XG02",lng:105.2186394,lat:37.17746656,alt:"0"},{id:"XG03",lng:105.2209997,lat:37.18197998,alt:"0"},{id:"XG04",lng:105.2246046,lat:37.18398015,alt:"0"},{id:"XG05",lng:105.2170515,lat:37.16939645,alt:"0"},{id:"XG06",lng:105.2227592,lat:37.17149955,alt:"0"},{id:"XG07",lng:105.2188325,lat:37.17346581,alt:"0"},{id:"XG08",lng:105.2284241,lat:37.17165343,alt:"0"},{id:"XG09",lng:105.2288532,lat:37.17532943,alt:"0"},{id:"XG10",lng:105.2307415,lat:37.17856075,alt:"0"},{id:"XG11",lng:105.2354193,lat:37.18136453,alt:"0"},{id:"XG12",lng:105.2213216,lat:37.16744719,alt:"0"},{id:"XG13",lng:105.2199697,lat:37.1630697,alt:"0"},{id:"XG14",lng:105.2188754,lat:37.15821314,alt:"0"},{id:"XG15",lng:105.2351832,lat:37.16212919,alt:"0"},{id:"XG16",lng:105.2419209,lat:37.16488228,alt:"0"},{id:"XG17",lng:105.2455902,lat:37.16595955,alt:"0"},{id:"XG18",lng:105.2475214,lat:37.16895189,alt:"0"},{id:"XG19",lng:105.2521992,lat:37.16784046,alt:"0"},{id:"XG20",lng:105.2424788,lat:37.16185559,alt:"0"},{id:"XG21",lng:105.2399254,lat:37.15814473,alt:"0"},{id:"XG22",lng:105.2384663,lat:37.15386932,alt:"0"},{id:"XG23",lng:105.2489376,lat:37.16094927,alt:"0"},{id:"XG24",lng:105.2476501,lat:37.15793952,alt:"0"},{id:"XG25",lng:105.2444744,lat:37.15532299,alt:"0"},{id:"XG26",lng:105.2115583,lat:37.17213218,alt:"0"},{id:"XG27",lng:105.2099276,lat:37.17526105,alt:"0"},{id:"XG28",lng:105.2087474,lat:37.18179192,alt:"0"},{id:"XG29",lng:105.2079105,lat:37.18509134,alt:"0"},{id:"XG30",lng:105.2108502,lat:37.18861284,alt:"0"},{id:"XG31",lng:105.1989198,lat:37.1755517,alt:"0"},{id:"XG32",lng:105.1991987,lat:37.18280057,alt:"0"},{id:"XG33",lng:105.198791,lat:37.18815129,alt:"0"},{id:"XG34",lng:105.1958299,lat:37.1801849,alt:"0"},{id:"XG35",lng:105.1887488,lat:37.18856156,alt:"0"},{id:"XG36",lng:105.1947355,lat:37.17633817,alt:"0"},{id:"XG37",lng:105.1866031,lat:37.17977459,alt:"0"},{id:"XG38",lng:105.1873326,lat:37.1755688,alt:"0"},{id:"XG39",lng:105.1796722,lat:37.17688527,alt:"0"},{id:"XG40",lng:105.1824403,lat:37.18757008,alt:"0"},{id:"XG41",lng:105.1773977,lat:37.18500586,alt:"0"},{id:"XG42",lng:105.1714969,lat:37.18526229,alt:"0"},{id:"XG43",lng:105.2116871,lat:37.16691711,alt:"0"},{id:"XG44",lng:105.2104855,lat:37.1634288,alt:"0"},{id:"XG45",lng:105.207417,lat:37.16799435,alt:"0"},{id:"XG46",lng:105.201602,lat:37.16690001,alt:"0"},{id:"XG47",lng:105.2053785,lat:37.15397194,alt:"0"},{id:"XG48",lng:105.2037477,lat:37.15821314,alt:"0"},{id:"XG49",lng:105.1997781,lat:37.15963252,alt:"0"},{id:"XG50",lng:105.1993275,lat:37.15679373,alt:"0"},{id:"XG51",lng:105.194757,lat:37.15879457,alt:"0"},{id:"XG52",lng:105.1912808,lat:37.16060726,alt:"0"},{id:"XG53",lng:105.1859164,lat:37.15607546,alt:"0"},{id:"XG54",lng:105.1862597,lat:37.15226171,alt:"0"},{id:"XG55",lng:105.1868176,lat:37.1622147,alt:"0"},{id:"XG56",lng:105.1817322,lat:37.16525848,alt:"0"},{id:"XG57",lng:105.1725054,lat:37.16621604,alt:"0"},{id:"XG58",lng:105.1694369,lat:37.1642838,alt:"0"}]},{id:"MHS_FDC",name:"麻黄山",lng:107.0644069,lat:37.30000218,wts:[{id:"MG01",lng:107.0644069,lat:37.30000218,alt:"1912"},{id:"MG02",lng:107.0609736,lat:37.29027221,alt:"1945"},{id:"MG03",lng:107.0545363,lat:37.29431798,alt:"1948"},{id:"MG04",lng:107.0488715,lat:37.29385708,alt:"1939"},{id:"MG05",lng:107.04561,lat:37.29752713,alt:"1938"},{id:"MG06",lng:107.0409322,lat:37.30025821,alt:"1918"},{id:"MG07",lng:107.0374346,lat:37.30382554,alt:"1902"},{id:"MG08",lng:107.0325208,lat:37.30630038,alt:"1867"},{id:"MG09",lng:107.0349455,lat:37.30909941,alt:"1871"},{id:"MG10",lng:107.0286155,lat:37.30956022,alt:"1833"},{id:"MG11",lng:107.0238519,lat:37.31106208,alt:"1800"},{id:"MG12",lng:107.0649004,lat:37.30542993,alt:"1937"},{id:"MG13",lng:107.0527768,lat:37.30129941,alt:"1929"},{id:"MG14",lng:107.048614,lat:37.30432051,alt:"1920"},{id:"MG15",lng:107.0456958,lat:37.30819486,alt:"1897"},{id:"MG16",lng:107.0414472,lat:37.31130101,alt:"1869"},{id:"MG17",lng:107.0348811,lat:37.31508967,alt:"1827"},{id:"MG18",lng:107.0305467,lat:37.31749588,alt:"1797"},{id:"MG19",lng:107.0199444,lat:37.31830556,alt:"1767"},{id:"MG20",lng:107.0611238,lat:37.30860447,alt:"1931"},{id:"MG21",lng:107.0571327,lat:37.31169354,alt:"1919"},{id:"MG22",lng:107.0521975,lat:37.31369028,alt:"1896"},{id:"MG23",lng:107.0693851,lat:37.30322815,alt:"1921"},{id:"MG24",lng:107.0744705,lat:37.30041183,alt:"1905"},{id:"MG25",lng:107.0696425,lat:37.29628104,alt:"1906"},{id:"MG26",lng:107.0717883,lat:37.29213295,alt:"1903"},{id:"MG27",lng:107.0662093,lat:37.28824071,alt:"1927"},{id:"MG28",lng:107.0567894,lat:37.31587468,alt:"1905"},{id:"MG29",lng:107.0560169,lat:37.31988494,alt:"1881"},{id:"MG30",lng:107.0506954,lat:37.32184734,alt:"1860"},{id:"MG31",lng:107.0727539,lat:37.31087435,alt:"1904"},{id:"MG32",lng:107.0761871,lat:37.3067612,alt:"1906"},{id:"MG33",lng:107.0820665,lat:37.30641985,alt:"1897"},{id:"MG34",lng:107.0360184,lat:37.32406563,alt:"0"},{id:"MG35",lng:107.0318985,lat:37.32969639,alt:"0"},{id:"MG36",lng:107.0269525,lat:37.33528407,alt:"0"},{id:"MG37",lng:107.0515966,lat:37.32539657,alt:"0"},{id:"MG38",lng:107.0396662,lat:37.33669159,alt:"0"},{id:"MG39",lng:107.0315766,lat:37.34420644,alt:"0"},{id:"MG40",lng:107.0183909,lat:37.34223611,alt:"0"},{id:"MG41",lng:107.0164329,lat:37.33144098,alt:"0"},{id:"MG42",lng:107.0044997,lat:37.32873236,alt:"0"},{id:"MG43",lng:107.0019168,lat:37.33337322,alt:"0"}]}],be=ge,ye=n("0a45"),ve=n.n(ye),Oe=n("1157"),we=n.n(Oe),Ae="\n uniform sampler2D colorTexture; //输入的场景渲染照片\n varying vec2 v_textureCoordinates;\n \n float snow(vec2 uv, float scale) {\n float time = czm_frameNumber / 60.0;\n float w = smoothstep(1., 0., -uv.y * (scale / 10.));\n if (w < .1)\n return 0.;\n uv += time / scale;\n uv.y += time * 2. / scale;\n uv.x += sin(uv.y + time * .5) / scale;\n uv *= scale;\n vec2 s = floor(uv), f = fract(uv), p;\n float k = 3., d;\n p = .5 + .35 * sin(11. * fract(sin((s + p + scale) * mat2(7, 3, 6, 5)) * 5.)) - f;\n d = length(p);\n k = min(d, k);\n k = smoothstep(0., k, sin(f.x + f.y) * 0.01);\n return k * w;\n }\n \n void main(void) {\n vec2 resolution = czm_viewport.zw;\n vec2 uv = (gl_FragCoord.xy * 2. - resolution.xy) / min(resolution.x, resolution.y);\n vec3 finalColor = vec3(0);\n // float c=smoothstep(1.,0.3,clamp(uv.y*.3+.8,0.,.75));\n float c = 0.0;\n c += snow(uv, 30.) * .0;\n c += snow(uv, 20.) * .0;\n c += snow(uv, 15.) * .0;\n c += snow(uv, 10.);\n c += snow(uv, 8.);\n c += snow(uv, 6.);\n c += snow(uv, 5.);\n finalColor = (vec3(c)); //屏幕上雪的颜色\n gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), vec4(finalColor, 1), 0.25); //将雪和三维场景融合\n }\n ",Te="\n uniform sampler2D colorTexture; //输入的场景渲染照片\n varying vec2 v_textureCoordinates;\n \n float hash(float x) { return fract(sin(x * 133.3) * 13.13); }\n \n void main(void) {\n \n float time = czm_frameNumber / 60.0;\n vec2 resolution = czm_viewport.zw;\n \n vec2 uv = (gl_FragCoord.xy * 2. - resolution.xy) / min(resolution.x, resolution.y);\n vec3 c = vec3(.6, .7, .8);\n \n float a = -.4;\n float si = sin(a), co = cos(a);\n uv *= mat2(co, -si, si, co);\n uv *= length(uv + vec2(0, 4.9)) * .3 + 1.;\n \n float v = 1. - sin(hash(floor(uv.x * 100.)) * 2.);\n float b = clamp(abs(sin(20. * time * v + uv.y * (5. / (2. + v)))) - .95, 0., 1.) * 20.;\n c *= v * b; //屏幕上雨的颜色\n \n gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), vec4(c, 1), 0.25); //将雨和三维场景融合\n }\n ";function Ce(e){var t=new e.PostProcessStage({name:"czm_snow",fragmentShader:Ae});return t}function Ee(e){var t=new e.PostProcessStage({name:"czm_rain",fragmentShader:Te});return t}var xe=n("ec35"),Se=(n("6f8a"),{data:function(){return{viewer:null,url:window.__MODE__.tilesUrl,publicPath:"./",initPosition:[106.0231304,37.73323706,0],windtShow:!1,myVar:null,windy:null,promsg:!1,labelEntities:[],weather:null,msg:[{bs:200,isrun:0,lat:38.49372100830078,lng:106.24307250976562,pld:36,ssxy:72,szxy:110,userid:1941,username:"孙亚飞",xtpl:94,xynd:98}],i:0}},components:{},created:function(){},mounted:function(){this.initMap(),this.handleCommand("b"),this.flyto(16e5)},computed:{},methods:{initMap:function(){var e=this;e.viewer=new xe.Viewer("cesiumContainer",{animation:!1,shouldAnimate:!0,homeButton:!1,fullscreenButton:!1,baseLayerPicker:!1,geocoder:!1,timeline:!1,sceneModePicker:!1,navigationHelpButton:!1,infoBox:!1,requestRenderMode:!0,scene3DOnly:!1,sceneMode:3,fullscreenElement:document.body,imageryProvider:new xe.TileMapServiceImageryProvider({url:e.url,fileExtension:"jpg",maximumLevel:window.__MODE__.tilesMaxLevel})}),e.viewer.camera.setView({destination:xe.Cartesian3.fromDegrees(106.27,38.47,1e7)}),e.viewer.scene.camera.moveEnd.addEventListener((function(){if(e.windtShow){var t=e.viewer.camera.getMagnitude();e.viewer.entities.removeAll(),e.labelEntities=[],e.geoJSON(),t<67e5?be.forEach((function(t){t.wts.forEach((function(t){e.addFengjiModel(xe.Cartesian3.fromDegrees(t.lng,t.lat,1650))}))})):be.forEach((function(t){e.addFengjiModel(xe.Cartesian3.fromDegrees(t.lng,t.lat,1650))}))}}));var t=new xe.ScreenSpaceEventHandler(e.viewer.scene.canvas);t.setInputAction((function(t){var n=e.viewer.scene.pick(t.position);if(xe.defined(n)&&n.id.id){for(var i in e.msg)n.id.id==e.msg[i].userid&&(e.i=i);e.$nextTick((function(){e.promsg=!0}))}}),xe.ScreenSpaceEventType.LEFT_CLICK),e.viewer._cesiumWidget._creditContainer.style.display="none";xe.Cartesian3.fromDegrees(117.48,30.67,0)},handleCommand:function(e){var t=this;switch(e){case"a":this.addWeather();break;case"b":this.geoJSON();break;case"d":this.windyF();break;case"e":var n=[-109,10,-80,35],i=this.createHeatMap(this.getData(1500).max,this.getData(1500).data);this.creatRectangle(this.viewer,n,i);break;case"f":this.viewer.entities.removeAll(),this.labelEntities=[],this.windtShow?(this.windtShow=!1,this.geoJSON()):(this.geoJSON(),this.windtShow=!0,this.viewer.camera.flyTo({destination:xe.Cartesian3.fromDegrees(106.052978,33.122394,4e5),orientation:{heading:xe.Math.toRadians(0),pitch:xe.Math.toRadians(-45),roll:0}}),be.forEach((function(e){t.addFengjiModel(xe.Cartesian3.fromDegrees(e.lng,e.lat,1650))})));break;default:this.flyto(2e3);break}},addpoint:function(e){switch(e.isrun){case 0:this.viewer.entities.getById(e.userid)||this.viewer.entities.add({id:e.userid,position:xe.Cartesian3.fromDegrees(e.lng,e.lat),point:{pixelSize:10,color:xe.Color.YELLOW},label:{text:e.username,font:"normal 14px MicroSoft YaHei",color:xe.Color.fromCssColorString("#fff"),outlineWidth:2,verticalOrigin:xe.VerticalOrigin.BOTTOM,pixelOffset:new xe.Cartesian2(0,-9)}});break;case 1:this.viewer.entities.getById(e.userid)?(this.viewer.entities.removeById(e.userid),ne(this.viewer,e,xe.Color.GREEN)):ne(this.viewer,e,xe.Color.GREEN);break;default:this.viewer.entities.getById(e.userid)?(this.viewer.entities.removeById(e.userid),ne(this.viewer,e,xe.Color.RED)):ne(this.viewer,e,xe.Color.RED);break}},randomNum:function(e,t){switch(arguments.length){case 1:return parseInt(Math.random()*e+1,10);case 2:return parseInt(Math.random()*(t-e+1)+e,10);default:return 0}},addWeather:function(){if(null==this.weather){this.viewer.scene.postProcessStages.remove(this.weather);var e=this.randomNum(0,1),t=this.viewer.scene.postProcessStages;this.weather=e?Ce(xe):Ee(xe),t.add(this.weather),this.viewer.scene.skyAtmosphere.hueShift=-.8,this.viewer.scene.skyAtmosphere.saturationShift=-.7,this.viewer.scene.skyAtmosphere.brightnessShift=-.33,this.viewer.scene.fog.density=.001,this.viewer.scene.fog.minimumBrightness=.8}else this.viewer.scene.postProcessStages.remove(this.weather),this.weather=null},geoJSON:function(){var e=this;xe.Math.setRandomNumberSeed(0);var t=this.viewer.dataSources.add(xe.GeoJsonDataSource.load("".concat(this.publicPath,"static/json/mapgeoJsonnx.json"),{stroke:xe.Color.green,fill:xe.Color.TRANSPARENT,strokeWidth:3,markerSymbol:"?"}));t.then((function(t){var n=t.entities.values;if(0==e.labelEntities.length)for(var i=0;i<n.length;i++){var o=n[i],r=o.name,a=o.properties._centroid._value,s=e.viewer.entities.add({position:xe.Cartesian3.fromDegrees(a[0],a[1]),label:{text:r,font:"14px Helvetica"}});e.labelEntities.push(s)}else{for(var c=0;c<e.labelEntities.length;c++)e.viewer.entities.remove(e.labelEntities[c]);e.viewer.dataSources.removeAll(),e.labelEntities=[]}})),this.viewer.flyTo(t)},flyto:function(e){this.viewer.camera.flyTo({destination:xe.Cartesian3.fromDegrees(106.24307250976562,38.49372100830078,e),complete:function(){},cancle:function(){},pitchAdjustHeight:-90,maximumHeight:5e3})},windyF:function(){var e=this;null==this.windy?(this.flyto(2e7),this.windy=new me(_e,this.viewer),this.myVar=setInterval((function(){e.windy.animate()}),100)):(clearInterval(this.myVar),this.windy.removeLines(),this.windy=null)},addFengjiModel:function(e){var t=new xe.HeadingPitchRoll(90,0,0),n=xe.Cartesian3.fromDegrees(106.0231304,37.73323706,0),i=xe.Transforms.headingPitchRollQuaternion(e,t);xe.Transforms.headingPitchRollToFixedFrame(n,t),this.viewer.entities.add({position:e,orientation:i,model:{uri:"".concat(this.publicPath,"static/WT01.glb"),minimumPixelSize:100,maximumSize:100,maximumScale:150,show:!0,silhouetteColor:xe.Color.WHITE,color:xe.Color.WHITE,debugWireframe:!1,debugShowBoundingVolume:!1,scale:.05,runAnimations:!0,heightReference:xe.HeightReference.CLAMP_TO_GROUND},description:"风机模型"})},getData:function(e){var t=[],n=0,i=1e3,o=1e3;while(e--){var r=Math.floor(1e3*Math.random());n=Math.max(n,r);var a={x:Math.floor(Math.random()*i),y:Math.floor(Math.random()*o),value:r};t.push(a)}return{max:n,data:t}},createHeatMap:function(e,t){if(!we()(".heatmap-canvas")[0]){var n=ve.a.create({container:we()(".cesium-widget")[0],radius:20,maxOpacity:.5,minOpacity:0,blur:.75,gradient:{.9:"red",.8:"orange",.7:"yellow",.5:"blue",.3:"green"}});return n.setData({max:e,data:t}),n}we()(".heatmap-canvas").remove()},creatRectangle:function(e,t,n){n&&(e.entities.add({name:"Rotating rectangle with rotating texture coordinate",show:!0,rectangle:{coordinates:xe.Rectangle.fromDegrees(t[0],t[1],t[2],t[3]),material:n._renderer.canvas}}),e.zoomTo(e.entities))}},filters:{isrun:function(e){switch(e){case 0:return"离线";case 1:return"在线";default:return"WARING"}}}});n("2899");const Ie=O()(Se,[["render",$],["__scopeId","data-v-a997ac7a"]]);var De=Ie,je=n("313e"),Pe=n("4dd6"),Re=n("aff4"),Me={data:function(){return{show:!0,tableData:[]}},components:{HealthReport:c["a"],FJ:A,clock:T["a"],cesium:De},created:function(){for(var e=[],t={id:"12987122",name:"王小虎",amount1:"234",amount2:"3.2",amount3:10},n=0;n<100;n++)e.push(t);this.tableData=e},mounted:function(){var e=this;e.API.requestData({method:"POST",baseURL:"http://192.168.1.18:9002/",subUrl:"scatter/list",data:{station:"NSS_FDC",wtId:"NG01_01",time:"2022-02"},success:function(t){e.initChart(t)}})},methods:{initChart:function(e){var t=this,n=je["c"](document.getElementById("box")),i=[],o=[],r=[];e.data.lineactual.forEach((function(e,t){i.push(e[1]),r.push(t)})),e.data.lineoptimal.forEach((function(e){o.push(e[1])}));var a=[{name:"风速功率",type:"effectScatter",showEffectOn:"emphasis",symbolSize:5,data:e.data.scatter||[[174,65.6],[175.3,71.8],[193.5,80.7],[186.5,72.6],[187.2,78.8],[181.5,74.8],[184,86.4],[184.5,78.4],[175,62],[184,81.6],[180,76.6],[177.8,83.6],[192,90],[176,74.6],[174,71],[184,79.6],[192.7,93.8],[171.5,70],[173,72.4],[176,85.9],[176,78.8],[180.5,77.8]],xAxisIndex:1},{name:"实际功率",type:"line",smooth:!0,data:i||[10,20,30,40,30,20,50,80,50,80,50,80,60,40,20,40,60,80,60,40,20],itemStyle:{normal:{color:"#05bb4c",lineStyle:{color:"#05bb4c"}}},xAxisIndex:0},{name:"最优功率",type:"line",smooth:!0,data:o||[0,10,20,30,40,50,60,70,80,80,80,80,90,90,90,95,95,100,100,100,100],itemStyle:{normal:{color:"#f8de5b",lineStyle:{color:"#f8de5b"}}},xAxisIndex:0}],s={title:{text:"折线散点图",textStyle:{fontSize:Pe["a"].vh(16),color:"dark"===this.$store.state.themeName?"#fff":"#000"}},backgroundColor:"dark"===this.$store.state.themeName?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.5)",toolbox:{show:!0,x:"right",position:[10,10],backgroundColor:"dark"===this.$store.state.themeName?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.5)",borderColor:"dark"===this.$store.state.themeName?Re["a"].getColor("gray"):"#000",textStyle:{fontSize:Pe["a"].vh(16),color:"dark"===this.$store.state.themeName?"#fff":"#000"},iconStyle:{borderColor:"dark"===this.$store.state.themeName?"#fff":"#000"},emphasis:{iconStyle:{borderColor:"dark"===this.$store.state.themeName?"#fff":"#000"}}},tooltip:{trigger:"item",axisPointer:{type:"cross"},backgroundColor:"dark"===this.$store.state.themeName?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.5)",borderColor:"dark"===this.$store.state.themeName?Re["a"].getColor("gray"):"#000",textStyle:{fontSize:Pe["a"].vh(16),color:"dark"===this.$store.state.themeName?"#fff":"#000"},formatter:function(e){return e.name?"".concat(e.seriesName,"<br />风速:").concat(e.name,"米/s<br />功率:").concat(e.value,"KW"):"".concat(e.seriesName,"<br />风速:").concat(e.data[0],"米/s<br />功率:").concat(e.data[1],"KW")}},brush:{xAxisIndex:"all",yAxisIndex:"all",transformable:!0,throttleType:"debounce",throttleDelay:600,removeOnClick:!1,brushType:"polygon",brushMode:"multiple",brushStyle:{borderWidth:1,color:"rgba(255,36,36,0.2)",borderColor:"#ff2424"}},dataZoom:[{type:"inside",show:!0,realtime:!0,start:0,end:100},{type:"slider",show:!0,realtime:!0,start:0,end:100}],textStyle:{fontSize:Pe["a"].vh(16),color:"dark"===this.$store.state.themeName?"#fff":"#000"},legend:{show:!0,data:["风速功率","实际功率","最优功率"],right:"120",top:"5",icon:"circle",itemWidth:6,inactiveColor:"dark"===this.$store.state.themeName?Re["a"].getColor("gray"):"#000",textStyle:{color:"dark"===this.$store.state.themeName?Re["a"].getColor("grayl"):"#000",fontSize:12}},grid:{top:32,left:40,right:40,bottom:24},xAxis:[{type:"category",boundaryGap:!1,data:r||["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25"],min:0,axisLabel:{formatter:"{value}",fontSize:Pe["a"].vh(14)},textStyle:{color:"dark"===this.$store.state.themeName?Re["a"].getColor("gray"):"#000"}},{show:!1,type:"value",boundaryGap:!1,min:r[0],max:r[r.length-1],scale:!0,axisLabel:{formatter:"{value}"},splitLine:{show:!1}}],yAxis:{splitLine:{show:!1}},series:a};n.on("brushSelected",(function(e){var n,i=null===(n=e.batch[0])||void 0===n?void 0:n.selected,o=[];null===i||void 0===i||i.forEach((function(e){if(e.dataIndex.length){var t={name:e.seriesName,data:[]};e.dataIndex.forEach((function(n){t.data.push(Array.isArray(a[e.seriesIndex].data[n])?a[e.seriesIndex].data[n][a[e.seriesIndex].data[n].length-1]:a[e.seriesIndex].data[n])})),o.push(t)}}));var r="选中了";o.length&&(o.forEach((function(e){r+=e.data.length+"条"+e.name+":["+e.data.toString()+"]."})),t.BASE.showMsg({type:"success",msg:r}))})),n.setOption(s),n.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"polygon",brushMode:"multiple"}})},showDialog:function(){this.show=!0},arraySpanMethod:function(e){e.row,e.column;var t=e.rowIndex,n=e.columnIndex;return t||n?5!==t||n?void 0:[10,1]:[1,3]}}};n("9746");const Ne=O()(Me,[["render",s],["__scopeId","data-v-11735032"]]);t["default"]=Ne},fa1c:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return o}));var i=n("7491"),o=Object(i["b"])((function(t,n){var i=i||function(){var e=[];return{getAll:function(){return e},removeAll:function(){e=[]},add:function(t){e.push(t)},remove:function(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)},update:function(t,n){if(0===e.length)return!1;var o=0;t=void 0!==t?t:i.now();while(o<e.length)e[o].update(t)||n?o++:e.splice(o,1);return!0}}}();"undefined"===typeof window&&"undefined"!==typeof e?i.now=function(){var t=e.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!==typeof window&&void 0!==window.performance&&void 0!==window.performance.now?i.now=window.performance.now.bind(window.performance):void 0!==Date.now?i.now=Date.now:i.now=function(){return(new Date).getTime()},i.Tween=function(e){var t,n=e,o={},r={},a={},s=1e3,c=0,l=!1,u=!1,h=0,d=null,f=i.Easing.Linear.None,p=i.Interpolation.Linear,m=[],_=null,g=!1,b=null,y=null,v=null;this.to=function(e,t){return r=e,void 0!==t&&(s=t),this},this.start=function(e){for(var t in i.add(this),u=!0,g=!1,d=void 0!==e?e:i.now(),d+=h,r){if(r[t]instanceof Array){if(0===r[t].length)continue;r[t]=[n[t]].concat(r[t])}void 0!==n[t]&&(o[t]=n[t],o[t]instanceof Array===!1&&(o[t]*=1),a[t]=o[t]||0)}return this},this.stop=function(){return u?(i.remove(this),u=!1,null!==v&&v.call(n,n),this.stopChainedTweens(),this):this},this.end=function(){return this.update(d+s),this},this.stopChainedTweens=function(){for(var e=0,t=m.length;e<t;e++)m[e].stop()},this.delay=function(e){return h=e,this},this.repeat=function(e){return c=e,this},this.repeatDelay=function(e){return t=e,this},this.yoyo=function(e){return l=e,this},this.easing=function(e){return f=e,this},this.interpolation=function(e){return p=e,this},this.chain=function(){return m=arguments,this},this.onStart=function(e){return _=e,this},this.onUpdate=function(e){return b=e,this},this.onComplete=function(e){return y=e,this},this.onStop=function(e){return v=e,this},this.update=function(e){var i,u,v;if(e<d)return!0;for(i in!1===g&&(null!==_&&_.call(n,n),g=!0),u=(e-d)/s,u=u>1?1:u,v=f(u),r)if(void 0!==o[i]){var O=o[i]||0,w=r[i];w instanceof Array?n[i]=p(w,v):("string"===typeof w&&(w="+"===w.charAt(0)||"-"===w.charAt(0)?O+parseFloat(w):parseFloat(w)),"number"===typeof w&&(n[i]=O+(w-O)*v))}if(null!==b&&b.call(n,v),1===u){if(c>0){for(i in isFinite(c)&&c--,a){if("string"===typeof r[i]&&(a[i]=a[i]+parseFloat(r[i])),l){var A=a[i];a[i]=r[i],r[i]=A}o[i]=a[i]}return d=void 0!==t?e+t:e+h,!0}null!==y&&y.call(n,n);for(var T=0,C=m.length;T<C;T++)m[T].start(d+s);return!1}return!0}},i.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1)}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-i.Easing.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*i.Easing.Bounce.In(2*e):.5*i.Easing.Bounce.Out(2*e-1)+.5}}},i.Interpolation={Linear:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),a=i.Interpolation.Utils.Linear;return t<0?a(e[0],e[1],o):t>1?a(e[n],e[n-1],n-o):a(e[r],e[r+1>n?n:r+1],o-r)},Bezier:function(e,t){for(var n=0,o=e.length-1,r=Math.pow,a=i.Interpolation.Utils.Bernstein,s=0;s<=o;s++)n+=r(1-t,o-s)*r(t,s)*e[s]*a(o,s);return n},CatmullRom:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),a=i.Interpolation.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(r=Math.floor(o=n*(1+t))),a(e[(r-1+n)%n],e[r],e[(r+1)%n],e[(r+2)%n],o-r)):t<0?e[0]-(a(e[0],e[0],e[1],e[1],-o)-e[0]):t>1?e[n]-(a(e[n],e[n],e[n-1],e[n-1],o-n)-e[n]):a(e[r?r-1:0],e[r],e[n<r+1?n:r+1],e[n<r+2?n:r+2],o-r)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=i.Interpolation.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=.5*(n-e),a=.5*(i-t),s=o*o,c=o*s;return(2*t-2*n+r+a)*c+(-3*t+3*n-2*r-a)*s+r*o+t}}},function(e){t.exports=i}()}))}).call(this,n("4362"))},fa2f:function(e,t,n){"use strict";function i(e){const t={};if(!e)return t;const n=e.split("\r\n");for(let i=0;i<n.length;++i){const e=n[i],o=e.indexOf(": ");if(o>0){const n=e.substring(0,o),i=e.substring(o+2);t[n]=i}}return t}t["a"]=i},faa1:function(e,t,n){"use strict";var i,o="object"===typeof Reflect?Reflect:null,r=o&&"function"===typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function a(e){console&&console.warn&&console.warn(e)}i=o&&"function"===typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!==e};function c(){c.init.call(this)}e.exports=c,e.exports.once=v,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._eventsCount=0,c.prototype._maxListeners=void 0;var l=10;function u(e){if("function"!==typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function h(e){return void 0===e._maxListeners?c.defaultMaxListeners:e._maxListeners}function d(e,t,n,i){var o,r,s;if(u(n),r=e._events,void 0===r?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),r=e._events),s=r[t]),void 0===s)s=r[t]=n,++e._eventsCount;else if("function"===typeof s?s=r[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),o=h(e),o>0&&s.length>o&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=f.bind(i);return o.listener=n,i.wrapFn=o,o}function m(e,t,n){var i=e._events;if(void 0===i)return[];var o=i[t];return void 0===o?[]:"function"===typeof o?n?[o.listener||o]:[o]:n?y(o):g(o,o.length)}function _(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"===typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),i=0;i<t;++i)n[i]=e[i];return n}function b(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function y(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function v(e,t){return new Promise((function(n,i){function o(n){e.removeListener(t,r),i(n)}function r(){"function"===typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}w(e,t,r,{once:!0}),"error"!==t&&O(e,o,{once:!0})}))}function O(e,t,n){"function"===typeof e.on&&w(e,"error",t,n)}function w(e,t,n,i){if("function"===typeof e.on)i.once?e.once(t,n):e.on(t,n);else{if("function"!==typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(r){i.once&&e.removeEventListener(t,o),n(r)}))}}Object.defineProperty(c,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!==typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),c.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},c.prototype.setMaxListeners=function(e){if("number"!==typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},c.prototype.getMaxListeners=function(){return h(this)},c.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=o[e];if(void 0===c)return!1;if("function"===typeof c)r(c,this,t);else{var l=c.length,u=g(c,l);for(n=0;n<l;++n)r(u[n],this,t)}return!0},c.prototype.addListener=function(e,t){return d(this,e,t,!1)},c.prototype.on=c.prototype.addListener,c.prototype.prependListener=function(e,t){return d(this,e,t,!0)},c.prototype.once=function(e,t){return u(t),this.on(e,p(this,e,t)),this},c.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,p(this,e,t)),this},c.prototype.removeListener=function(e,t){var n,i,o,r,a;if(u(t),i=this._events,void 0===i)return this;if(n=i[e],void 0===n)return this;if(n===t||n.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!==typeof n){for(o=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){a=n[r].listener,o=r;break}if(o<0)return this;0===o?n.shift():b(n,o),1===n.length&&(i[e]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",e,a||t)}return this},c.prototype.off=c.prototype.removeListener,c.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,void 0===n)return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,r=Object.keys(n);for(i=0;i<r.length;++i)o=r[i],"removeListener"!==o&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],"function"===typeof t)this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},c.prototype.listeners=function(e){return m(this,e,!0)},c.prototype.rawListeners=function(e){return m(this,e,!1)},c.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):_.call(e,t)},c.prototype.listenerCount=_,c.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},fefc:function(e,t,n){}}]);
  70. //# sourceMappingURL=about.ac6fe072.js.map