bmh_cesium/public/lib/cesiumjs/CesiumUnminified/Workers/Transforms-2d1ac5ec.js
2025-03-10 07:23:50 +08:00

2 lines
124 KiB
JavaScript

/* 2020-9-22 15:23:25 | 版权所有 军懋国兴 */
function _typeof(e){return(_typeof="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})(e)}define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-69007a69","./Cartesian2-43e3a3be","./RuntimeError-f4c64df1"],function(e,D,Q,H,A,X){"use strict";function t(e){this._ellipsoid=D.defaultValue(e,A.Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(t.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),t.prototype.project=function(e,t){var r=this._semimajorAxis,n=e.longitude*r,a=e.latitude*r,i=e.height;return D.defined(t)?(t.x=n,t.y=a,t.z=i,t):new A.Cartesian3(n,a,i)},t.prototype.unproject=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("cartesian is required");var r=this._oneOverSemimajorAxis,n=e.x*r,a=e.y*r,i=e.z;return D.defined(t)?(t.longitude=n,t.latitude=a,t.height=i,t):new A.Cartographic(n,a,i)};var o=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1});function s(e,t){this.start=D.defaultValue(e,0),this.stop=D.defaultValue(t,0)}function J(e,t,r,n,a,i,o,s,u){this[0]=D.defaultValue(e,0),this[1]=D.defaultValue(n,0),this[2]=D.defaultValue(o,0),this[3]=D.defaultValue(t,0),this[4]=D.defaultValue(a,0),this[5]=D.defaultValue(s,0),this[6]=D.defaultValue(r,0),this[7]=D.defaultValue(i,0),this[8]=D.defaultValue(u,0)}J.packedLength=9,J.pack=function(e,t,r){return Q.Check.typeOf.object("value",e),Q.Check.defined("array",t),r=D.defaultValue(r,0),t[r++]=e[0],t[r++]=e[1],t[r++]=e[2],t[r++]=e[3],t[r++]=e[4],t[r++]=e[5],t[r++]=e[6],t[r++]=e[7],t[r++]=e[8],t},J.unpack=function(e,t,r){return Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new J),r[0]=e[t++],r[1]=e[t++],r[2]=e[t++],r[3]=e[t++],r[4]=e[t++],r[5]=e[t++],r[6]=e[t++],r[7]=e[t++],r[8]=e[t++],r},J.clone=function(e,t){if(D.defined(e))return D.defined(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 J(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])},J.fromArray=function(e,t,r){return Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new J),r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],r[8]=e[t+8],r},J.fromColumnMajorArray=function(e,t){return Q.Check.defined("values",e),J.clone(e,t)},J.fromRowMajorArray=function(e,t){return Q.Check.defined("values",e),D.defined(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 J(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},J.fromQuaternion=function(e,t){Q.Check.typeOf.object("quaternion",e);var r=e.x*e.x,n=e.x*e.y,a=e.x*e.z,i=e.x*e.w,o=e.y*e.y,s=e.y*e.z,u=e.y*e.w,c=e.z*e.z,l=e.z*e.w,f=e.w*e.w,d=r-o-c+f,h=2*(n-l),p=2*(a+u),y=2*(n+l),m=o-r-c+f,C=2*(s-i),w=2*(a-u),O=2*(s+i),v=-r-o+c+f;return D.defined(t)?(t[0]=d,t[1]=y,t[2]=w,t[3]=h,t[4]=m,t[5]=O,t[6]=p,t[7]=C,t[8]=v,t):new J(d,h,p,y,m,C,w,O,v)},J.fromHeadingPitchRoll=function(e,t){Q.Check.typeOf.object("headingPitchRoll",e);var r=Math.cos(-e.pitch),n=Math.cos(-e.heading),a=Math.cos(e.roll),i=Math.sin(-e.pitch),o=Math.sin(-e.heading),s=Math.sin(e.roll),u=r*n,c=-a*o+s*i*n,l=s*o+a*i*n,f=r*o,d=a*n+s*i*o,h=-s*n+a*i*o,p=-i,y=s*r,m=a*r;return D.defined(t)?(t[0]=u,t[1]=f,t[2]=p,t[3]=c,t[4]=d,t[5]=y,t[6]=l,t[7]=h,t[8]=m,t):new J(u,c,l,f,d,h,p,y,m)},J.fromScale=function(e,t){return Q.Check.typeOf.object("scale",e),D.defined(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 J(e.x,0,0,0,e.y,0,0,0,e.z)},J.fromUniformScale=function(e,t){return Q.Check.typeOf.number("scale",e),D.defined(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 J(e,0,0,0,e,0,0,0,e)},J.fromCrossProduct=function(e,t){return Q.Check.typeOf.object("vector",e),D.defined(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 J(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)},J.fromRotationX=function(e,t){Q.Check.typeOf.number("angle",e);var r=Math.cos(e),n=Math.sin(e);return D.defined(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=r,t[5]=n,t[6]=0,t[7]=-n,t[8]=r,t):new J(1,0,0,0,r,-n,0,n,r)},J.fromRotationY=function(e,t){Q.Check.typeOf.number("angle",e);var r=Math.cos(e),n=Math.sin(e);return D.defined(t)?(t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=1,t[5]=0,t[6]=n,t[7]=0,t[8]=r,t):new J(r,0,n,0,1,0,-n,0,r)},J.fromRotationZ=function(e,t){Q.Check.typeOf.number("angle",e);var r=Math.cos(e),n=Math.sin(e);return D.defined(t)?(t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new J(r,-n,0,n,r,0,0,0,1)},J.toArray=function(e,t){return Q.Check.typeOf.object("matrix",e),D.defined(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]]},J.getElementIndex=function(e,t){return Q.Check.typeOf.number.greaterThanOrEquals("row",t,0),Q.Check.typeOf.number.lessThanOrEquals("row",t,2),Q.Check.typeOf.number.greaterThanOrEquals("column",e,0),Q.Check.typeOf.number.lessThanOrEquals("column",e,2),3*e+t},J.getColumn=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,2),Q.Check.typeOf.object("result",r);var n=3*t,a=e[n],i=e[1+n],o=e[2+n];return r.x=a,r.y=i,r.z=o,r},J.setColumn=function(e,t,r,n){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,2),Q.Check.typeOf.object("cartesian",r),Q.Check.typeOf.object("result",n);var a=3*t;return(n=J.clone(e,n))[a]=r.x,n[1+a]=r.y,n[2+a]=r.z,n},J.getRow=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,2),Q.Check.typeOf.object("result",r);var n=e[t],a=e[t+3],i=e[t+6];return r.x=n,r.y=a,r.z=i,r},J.setRow=function(e,t,r,n){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,2),Q.Check.typeOf.object("cartesian",r),Q.Check.typeOf.object("result",n),(n=J.clone(e,n))[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n};var r=new A.Cartesian3;J.getScale=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t),t.x=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[0],e[1],e[2],r)),t.y=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[3],e[4],e[5],r)),t.z=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[6],e[7],e[8],r)),t};var n=new A.Cartesian3;J.getMaximumScale=function(e){return J.getScale(e,n),A.Cartesian3.maximumComponent(n)},J.multiply=function(e,t,r){Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r);var n=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],i=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],o=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],s=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],u=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],c=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],l=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],f=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r[0]=n,r[1]=a,r[2]=i,r[3]=o,r[4]=s,r[5]=u,r[6]=c,r[7]=l,r[8]=f,r},J.add=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r},J.subtract=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r},J.multiplyByVector=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("cartesian",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z,o=e[0]*n+e[3]*a+e[6]*i,s=e[1]*n+e[4]*a+e[7]*i,u=e[2]*n+e[5]*a+e[8]*i;return r.x=o,r.y=s,r.z=u,r},J.multiplyByScalar=function(e,t,r){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r},J.multiplyByScale=function(e,t,r){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("scale",t),Q.Check.typeOf.object("result",r),r[0]=e[0]*t.x,r[1]=e[1]*t.x,r[2]=e[2]*t.x,r[3]=e[3]*t.y,r[4]=e[4]*t.y,r[5]=e[5]*t.y,r[6]=e[6]*t.z,r[7]=e[7]*t.z,r[8]=e[8]*t.z,r},J.negate=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.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},J.transpose=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=e[0],n=e[3],a=e[6],i=e[1],o=e[4],s=e[7],u=e[2],c=e[5],l=e[8];return t[0]=r,t[1]=n,t[2]=a,t[3]=i,t[4]=o,t[5]=s,t[6]=u,t[7]=c,t[8]=l,t};var a=new A.Cartesian3(1,1,1);J.getRotation=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=A.Cartesian3.divideComponents(a,J.getScale(e,n),n);return t=J.multiplyByScale(e,r,t)};var h=[1,0,0],p=[2,2,1];var u=new J,c=new J;function G(e,t,r,n){this.x=D.defaultValue(e,0),this.y=D.defaultValue(t,0),this.z=D.defaultValue(r,0),this.w=D.defaultValue(n,0)}J.computeEigenDecomposition=function(e,t){Q.Check.typeOf.object("matrix",e);var r=H.CesiumMath.EPSILON20,n=0,a=0;D.defined(t)||(t={});for(var i=t.unitary=J.clone(J.IDENTITY,t.unitary),o=t.diagonal=J.clone(e,t.diagonal),s=r*function(e){for(var t=0,r=0;r<9;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}(o);a<10&&function(e){for(var t=0,r=0;r<3;++r){var n=e[J.getElementIndex(p[r],h[r])];t+=2*n*n}return Math.sqrt(t)}(o)>s;)!function(e,t){for(var r=H.CesiumMath.EPSILON15,n=0,a=1,i=0;i<3;++i){var o=Math.abs(e[J.getElementIndex(p[i],h[i])]);n<o&&(a=i,n=o)}var s,u,c=1,l=0,f=h[a],d=p[a];Math.abs(e[J.getElementIndex(d,f)])>r&&(l=(u=(s=(e[J.getElementIndex(d,d)]-e[J.getElementIndex(f,f)])/2/e[J.getElementIndex(d,f)])<0?-1/(-s+Math.sqrt(1+s*s)):1/(s+Math.sqrt(1+s*s)))*(c=1/Math.sqrt(1+u*u))),(t=J.clone(J.IDENTITY,t))[J.getElementIndex(f,f)]=t[J.getElementIndex(d,d)]=c,t[J.getElementIndex(d,f)]=l,t[J.getElementIndex(f,d)]=-l}(o,u),J.transpose(u,c),J.multiply(o,u,o),J.multiply(c,o,o),J.multiply(i,u,i),2<++n&&(++a,n=0);return t},J.abs=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.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},J.determinant=function(e){Q.Check.typeOf.object("matrix",e);var t=e[0],r=e[3],n=e[6],a=e[1],i=e[4],o=e[7],s=e[2],u=e[5],c=e[8];return t*(i*c-u*o)+a*(u*n-r*c)+s*(r*o-i*n)},J.inverse=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=J.determinant(e);if(Math.abs(f)<=H.CesiumMath.EPSILON15)throw new Q.DeveloperError("matrix is not invertible");return t[0]=o*l-c*s,t[1]=c*a-n*l,t[2]=n*s-o*a,t[3]=u*s-i*l,t[4]=r*l-u*a,t[5]=i*a-r*s,t[6]=i*c-u*o,t[7]=u*n-r*c,t[8]=r*o-i*n,J.multiplyByScalar(t,1/f,t)},J.equals=function(e,t){return e===t||D.defined(e)&&D.defined(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]},J.equalsEpsilon=function(e,t,r){return r=D.defaultValue(r,0),e===t||D.defined(e)&&D.defined(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r},J.IDENTITY=Object.freeze(new J(1,0,0,0,1,0,0,0,1)),J.ZERO=Object.freeze(new J(0,0,0,0,0,0,0,0,0)),J.COLUMN0ROW0=0,J.COLUMN0ROW1=1,J.COLUMN0ROW2=2,J.COLUMN1ROW0=3,J.COLUMN1ROW1=4,J.COLUMN1ROW2=5,J.COLUMN2ROW0=6,J.COLUMN2ROW1=7,J.COLUMN2ROW2=8,Object.defineProperties(J.prototype,{length:{get:function(){return J.packedLength}}}),J.prototype.clone=function(e){return J.clone(this,e)},J.prototype.equals=function(e){return J.equals(this,e)},J.equalsArray=function(e,t,r){return e[0]===t[r]&&e[1]===t[r+1]&&e[2]===t[r+2]&&e[3]===t[r+3]&&e[4]===t[r+4]&&e[5]===t[r+5]&&e[6]===t[r+6]&&e[7]===t[r+7]&&e[8]===t[r+8]},J.prototype.equalsEpsilon=function(e,t){return J.equalsEpsilon(this,e,t)},J.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n("+this[1]+", "+this[4]+", "+this[7]+")\n("+this[2]+", "+this[5]+", "+this[8]+")"},G.fromElements=function(e,t,r,n,a){return D.defined(a)?(a.x=e,a.y=t,a.z=r,a.w=n,a):new G(e,t,r,n)},G.fromColor=function(e,t){return Q.Check.typeOf.object("color",e),D.defined(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new G(e.red,e.green,e.blue,e.alpha)},G.clone=function(e,t){if(D.defined(e))return D.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new G(e.x,e.y,e.z,e.w)},G.packedLength=4,G.pack=function(e,t,r){return Q.Check.typeOf.object("value",e),Q.Check.defined("array",t),r=D.defaultValue(r,0),t[r++]=e.x,t[r++]=e.y,t[r++]=e.z,t[r]=e.w,t},G.unpack=function(e,t,r){return Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new G),r.x=e[t++],r.y=e[t++],r.z=e[t++],r.w=e[t],r},G.packArray=function(e,t){Q.Check.defined("array",e);var r=e.length,n=4*r;if(D.defined(t)){if(!Array.isArray(t)&&t.length!==n)throw new Q.DeveloperError("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==n&&(t.length=n)}else t=new Array(n);for(var a=0;a<r;++a)G.pack(e[a],t,4*a);return t},G.unpackArray=function(e,t){if(Q.Check.defined("array",e),Q.Check.typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!=0)throw new Q.DeveloperError("array length must be a multiple of 4.");var r=e.length;D.defined(t)?t.length=r/4:t=new Array(r/4);for(var n=0;n<r;n+=4){var a=n/4;t[a]=G.unpack(e,n,t[a])}return t},G.fromArray=G.unpack,G.maximumComponent=function(e){return Q.Check.typeOf.object("cartesian",e),Math.max(e.x,e.y,e.z,e.w)},G.minimumComponent=function(e){return Q.Check.typeOf.object("cartesian",e),Math.min(e.x,e.y,e.z,e.w)},G.minimumByComponent=function(e,t,r){return Q.Check.typeOf.object("first",e),Q.Check.typeOf.object("second",t),Q.Check.typeOf.object("result",r),r.x=Math.min(e.x,t.x),r.y=Math.min(e.y,t.y),r.z=Math.min(e.z,t.z),r.w=Math.min(e.w,t.w),r},G.maximumByComponent=function(e,t,r){return Q.Check.typeOf.object("first",e),Q.Check.typeOf.object("second",t),Q.Check.typeOf.object("result",r),r.x=Math.max(e.x,t.x),r.y=Math.max(e.y,t.y),r.z=Math.max(e.z,t.z),r.w=Math.max(e.w,t.w),r},G.magnitudeSquared=function(e){return Q.Check.typeOf.object("cartesian",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},G.magnitude=function(e){return Math.sqrt(G.magnitudeSquared(e))};var i=new G;G.distance=function(e,t){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),G.subtract(e,t,i),G.magnitude(i)},G.distanceSquared=function(e,t){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),G.subtract(e,t,i),G.magnitudeSquared(i)},G.normalize=function(e,t){Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.object("result",t);var r=G.magnitude(e);if(t.x=e.x/r,t.y=e.y/r,t.z=e.z/r,t.w=e.w/r,isNaN(t.x)||isNaN(t.y)||isNaN(t.z)||isNaN(t.w))throw new Q.DeveloperError("normalized result is not a number");return t},G.dot=function(e,t){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},G.multiplyComponents=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x*t.x,r.y=e.y*t.y,r.z=e.z*t.z,r.w=e.w*t.w,r},G.divideComponents=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x/t.x,r.y=e.y/t.y,r.z=e.z/t.z,r.w=e.w/t.w,r},G.add=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x+t.x,r.y=e.y+t.y,r.z=e.z+t.z,r.w=e.w+t.w,r},G.subtract=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x-t.x,r.y=e.y-t.y,r.z=e.z-t.z,r.w=e.w-t.w,r},G.multiplyByScalar=function(e,t,r){return Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r.x=e.x*t,r.y=e.y*t,r.z=e.z*t,r.w=e.w*t,r},G.divideByScalar=function(e,t,r){return Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r.x=e.x/t,r.y=e.y/t,r.z=e.z/t,r.w=e.w/t,r},G.negate=function(e,t){return Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},G.abs=function(e,t){return Q.Check.typeOf.object("cartesian",e),Q.Check.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};var l=new G;G.lerp=function(e,t,r,n){return Q.Check.typeOf.object("start",e),Q.Check.typeOf.object("end",t),Q.Check.typeOf.number("t",r),Q.Check.typeOf.object("result",n),G.multiplyByScalar(t,r,l),n=G.multiplyByScalar(e,1-r,n),G.add(l,n,n)};var f=new G;G.mostOrthogonalAxis=function(e,t){Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.object("result",t);var r=G.normalize(e,f);return G.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?G.clone(G.UNIT_X,t):G.clone(G.UNIT_W,t):r.z<=r.w?G.clone(G.UNIT_Z,t):G.clone(G.UNIT_W,t):r.y<=r.z?r.y<=r.w?G.clone(G.UNIT_Y,t):G.clone(G.UNIT_W,t):r.z<=r.w?G.clone(G.UNIT_Z,t):G.clone(G.UNIT_W,t)},G.equals=function(e,t){return e===t||D.defined(e)&&D.defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},G.equalsArray=function(e,t,r){return e.x===t[r]&&e.y===t[r+1]&&e.z===t[r+2]&&e.w===t[r+3]},G.equalsEpsilon=function(e,t,r,n){return e===t||D.defined(e)&&D.defined(t)&&H.CesiumMath.equalsEpsilon(e.x,t.x,r,n)&&H.CesiumMath.equalsEpsilon(e.y,t.y,r,n)&&H.CesiumMath.equalsEpsilon(e.z,t.z,r,n)&&H.CesiumMath.equalsEpsilon(e.w,t.w,r,n)},G.ZERO=Object.freeze(new G(0,0,0,0)),G.UNIT_X=Object.freeze(new G(1,0,0,0)),G.UNIT_Y=Object.freeze(new G(0,1,0,0)),G.UNIT_Z=Object.freeze(new G(0,0,1,0)),G.UNIT_W=Object.freeze(new G(0,0,0,1)),G.prototype.clone=function(e){return G.clone(this,e)},G.prototype.equals=function(e){return G.equals(this,e)},G.prototype.equalsEpsilon=function(e,t,r){return G.equalsEpsilon(this,e,t,r)},G.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"};var d=new Float32Array(1),y=256;function K(e,t,r,n,a,i,o,s,u,c,l,f,d,h,p,y){this[0]=D.defaultValue(e,0),this[1]=D.defaultValue(a,0),this[2]=D.defaultValue(u,0),this[3]=D.defaultValue(d,0),this[4]=D.defaultValue(t,0),this[5]=D.defaultValue(i,0),this[6]=D.defaultValue(c,0),this[7]=D.defaultValue(h,0),this[8]=D.defaultValue(r,0),this[9]=D.defaultValue(o,0),this[10]=D.defaultValue(l,0),this[11]=D.defaultValue(p,0),this[12]=D.defaultValue(n,0),this[13]=D.defaultValue(s,0),this[14]=D.defaultValue(f,0),this[15]=D.defaultValue(y,0)}G.packFloat=function(e,t){if(Q.Check.typeOf.number("value",e),D.defined(t)||(t=new G),d[0]=e,0===(e=d[0]))return G.clone(G.ZERO,t);var r,n=e<0?1:0;isFinite(e)?(e=Math.abs(e),r=Math.floor(H.CesiumMath.logBase(e,10))+1,e/=Math.pow(10,r)):(e=.1,r=38);var a=e*y;return t.x=Math.floor(a),a=(a-t.x)*y,t.y=Math.floor(a),a=(a-t.y)*y,t.z=Math.floor(a),t.w=2*(r+38)+n,t},G.unpackFloat=function(e){Q.Check.typeOf.object("packedFloat",e);var t=e.w/2,r=Math.floor(t),n=-(n=2*(n=2*(t-r))-1);if(38<=(r-=38))return n<0?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY;var a=n*e.x*.00390625;return a+=n*e.y*(1/65536),(a+=n*e.z*(1/16777216))*Math.pow(10,r)},K.packedLength=16,K.pack=function(e,t,r){return Q.Check.typeOf.object("value",e),Q.Check.defined("array",t),r=D.defaultValue(r,0),t[r++]=e[0],t[r++]=e[1],t[r++]=e[2],t[r++]=e[3],t[r++]=e[4],t[r++]=e[5],t[r++]=e[6],t[r++]=e[7],t[r++]=e[8],t[r++]=e[9],t[r++]=e[10],t[r++]=e[11],t[r++]=e[12],t[r++]=e[13],t[r++]=e[14],t[r]=e[15],t},K.unpack=function(e,t,r){return Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new K),r[0]=e[t++],r[1]=e[t++],r[2]=e[t++],r[3]=e[t++],r[4]=e[t++],r[5]=e[t++],r[6]=e[t++],r[7]=e[t++],r[8]=e[t++],r[9]=e[t++],r[10]=e[t++],r[11]=e[t++],r[12]=e[t++],r[13]=e[t++],r[14]=e[t++],r[15]=e[t],r},K.clone=function(e,t){if(D.defined(e))return D.defined(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 K(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])},K.fromArray=K.unpack,K.fromColumnMajorArray=function(e,t){return Q.Check.defined("values",e),K.clone(e,t)},K.fromRowMajorArray=function(e,t){return Q.Check.defined("values",e),D.defined(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 K(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])},K.fromRotationTranslation=function(e,t,r){return Q.Check.typeOf.object("rotation",e),t=D.defaultValue(t,A.Cartesian3.ZERO),D.defined(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new K(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)},K.fromTranslationQuaternionRotationScale=function(e,t,r,n){Q.Check.typeOf.object("translation",e),Q.Check.typeOf.object("rotation",t),Q.Check.typeOf.object("scale",r),D.defined(n)||(n=new K);var a=r.x,i=r.y,o=r.z,s=t.x*t.x,u=t.x*t.y,c=t.x*t.z,l=t.x*t.w,f=t.y*t.y,d=t.y*t.z,h=t.y*t.w,p=t.z*t.z,y=t.z*t.w,m=t.w*t.w,C=s-f-p+m,w=2*(u-y),O=2*(c+h),v=2*(u+y),b=f-s-p+m,g=2*(d-l),x=2*(c-h),E=2*(d+l),k=-s-f+p+m;return n[0]=C*a,n[1]=v*a,n[2]=x*a,n[3]=0,n[4]=w*i,n[5]=b*i,n[6]=E*i,n[7]=0,n[8]=O*o,n[9]=g*o,n[10]=k*o,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,n},K.fromTranslationRotationScale=function(e,t){return Q.Check.typeOf.object("translationRotationScale",e),K.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)},K.fromTranslation=function(e,t){return Q.Check.typeOf.object("translation",e),K.fromRotationTranslation(J.IDENTITY,e,t)},K.fromScale=function(e,t){return Q.Check.typeOf.object("scale",e),D.defined(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 K(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},K.fromUniformScale=function(e,t){return Q.Check.typeOf.number("scale",e),D.defined(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 K(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var v=new A.Cartesian3,b=new A.Cartesian3,g=new A.Cartesian3;K.fromCamera=function(e,t){Q.Check.typeOf.object("camera",e);var r=e.position,n=e.direction,a=e.up;Q.Check.typeOf.object("camera.position",r),Q.Check.typeOf.object("camera.direction",n),Q.Check.typeOf.object("camera.up",a),A.Cartesian3.normalize(n,v),A.Cartesian3.normalize(A.Cartesian3.cross(v,a,b),b),A.Cartesian3.normalize(A.Cartesian3.cross(b,v,g),g);var i=b.x,o=b.y,s=b.z,u=v.x,c=v.y,l=v.z,f=g.x,d=g.y,h=g.z,p=r.x,y=r.y,m=r.z,C=i*-p+o*-y+s*-m,w=f*-p+d*-y+h*-m,O=u*p+c*y+l*m;return D.defined(t)?(t[0]=i,t[1]=f,t[2]=-u,t[3]=0,t[4]=o,t[5]=d,t[6]=-c,t[7]=0,t[8]=s,t[9]=h,t[10]=-l,t[11]=0,t[12]=C,t[13]=w,t[14]=O,t[15]=1,t):new K(i,o,s,C,f,d,h,w,-u,-c,-l,O,0,0,0,1)},K.computePerspectiveFieldOfView=function(e,t,r,n,a){Q.Check.typeOf.number.greaterThan("fovY",e,0),Q.Check.typeOf.number.lessThan("fovY",e,Math.PI),Q.Check.typeOf.number.greaterThan("near",r,0),Q.Check.typeOf.number.greaterThan("far",n,0),Q.Check.typeOf.object("result",a);var i=1/Math.tan(.5*e),o=i/t,s=(n+r)/(r-n),u=2*n*r/(r-n);return a[0]=o,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=i,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=s,a[11]=-1,a[12]=0,a[13]=0,a[14]=u,a[15]=0,a},K.computeOrthographicOffCenter=function(e,t,r,n,a,i,o){Q.Check.typeOf.number("left",e),Q.Check.typeOf.number("right",t),Q.Check.typeOf.number("bottom",r),Q.Check.typeOf.number("top",n),Q.Check.typeOf.number("near",a),Q.Check.typeOf.number("far",i),Q.Check.typeOf.object("result",o);var s=1/(t-e),u=1/(n-r),c=1/(i-a),l=-(t+e)*s,f=-(n+r)*u,d=-(i+a)*c;return s*=2,u*=2,c*=-2,o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=0,o[12]=l,o[13]=f,o[14]=d,o[15]=1,o},K.computePerspectiveOffCenter=function(e,t,r,n,a,i,o){Q.Check.typeOf.number("left",e),Q.Check.typeOf.number("right",t),Q.Check.typeOf.number("bottom",r),Q.Check.typeOf.number("top",n),Q.Check.typeOf.number("near",a),Q.Check.typeOf.number("far",i),Q.Check.typeOf.object("result",o);var s=2*a/(t-e),u=2*a/(n-r),c=(t+e)/(t-e),l=(n+r)/(n-r),f=-(i+a)/(i-a),d=-2*i*a/(i-a);return o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=l,o[10]=f,o[11]=-1,o[12]=0,o[13]=0,o[14]=d,o[15]=0,o},K.computeInfinitePerspectiveOffCenter=function(e,t,r,n,a,i){Q.Check.typeOf.number("left",e),Q.Check.typeOf.number("right",t),Q.Check.typeOf.number("bottom",r),Q.Check.typeOf.number("top",n),Q.Check.typeOf.number("near",a),Q.Check.typeOf.object("result",i);var o=2*a/(t-e),s=2*a/(n-r),u=(t+e)/(t-e),c=(n+r)/(n-r),l=-2*a;return i[0]=o,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=u,i[9]=c,i[10]=-1,i[11]=-1,i[12]=0,i[13]=0,i[14]=l,i[15]=0,i},K.computeViewportTransformation=function(e,t,r,n){D.defined(n)||(n=new K),e=D.defaultValue(e,D.defaultValue.EMPTY_OBJECT);var a=D.defaultValue(e.x,0),i=D.defaultValue(e.y,0),o=D.defaultValue(e.width,0),s=D.defaultValue(e.height,0);t=D.defaultValue(t,0);var u=.5*o,c=.5*s,l=.5*((r=D.defaultValue(r,1))-t),f=c,d=l,h=a+u,p=i+c,y=t+l;return n[0]=u,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=f,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=d,n[11]=0,n[12]=h,n[13]=p,n[14]=y,n[15]=1,n},K.computeView=function(e,t,r,n,a){return Q.Check.typeOf.object("position",e),Q.Check.typeOf.object("direction",t),Q.Check.typeOf.object("up",r),Q.Check.typeOf.object("right",n),Q.Check.typeOf.object("result",a),a[0]=n.x,a[1]=r.x,a[2]=-t.x,a[3]=0,a[4]=n.y,a[5]=r.y,a[6]=-t.y,a[7]=0,a[8]=n.z,a[9]=r.z,a[10]=-t.z,a[11]=0,a[12]=-A.Cartesian3.dot(n,e),a[13]=-A.Cartesian3.dot(r,e),a[14]=A.Cartesian3.dot(t,e),a[15]=1,a},K.toArray=function(e,t){return Q.Check.typeOf.object("matrix",e),D.defined(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]]},K.getElementIndex=function(e,t){return Q.Check.typeOf.number.greaterThanOrEquals("row",t,0),Q.Check.typeOf.number.lessThanOrEquals("row",t,3),Q.Check.typeOf.number.greaterThanOrEquals("column",e,0),Q.Check.typeOf.number.lessThanOrEquals("column",e,3),4*e+t},K.getColumn=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,3),Q.Check.typeOf.object("result",r);var n=4*t,a=e[n],i=e[1+n],o=e[2+n],s=e[3+n];return r.x=a,r.y=i,r.z=o,r.w=s,r},K.setColumn=function(e,t,r,n){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,3),Q.Check.typeOf.object("cartesian",r),Q.Check.typeOf.object("result",n);var a=4*t;return(n=K.clone(e,n))[a]=r.x,n[1+a]=r.y,n[2+a]=r.z,n[3+a]=r.w,n},K.setTranslation=function(e,t,r){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("translation",t),Q.Check.typeOf.object("result",r),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=e[15],r};var m=new A.Cartesian3;K.setScale=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("scale",t),Q.Check.typeOf.object("result",r);var n=K.getScale(e,m),a=A.Cartesian3.divideComponents(t,n,m);return K.multiplyByScale(e,a,r)},K.getRow=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,3),Q.Check.typeOf.object("result",r);var n=e[t],a=e[t+4],i=e[t+8],o=e[t+12];return r.x=n,r.y=a,r.z=i,r.w=o,r},K.setRow=function(e,t,r,n){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number.greaterThanOrEquals("index",t,0),Q.Check.typeOf.number.lessThanOrEquals("index",t,3),Q.Check.typeOf.object("cartesian",r),Q.Check.typeOf.object("result",n),(n=K.clone(e,n))[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n};var C=new A.Cartesian3;K.getScale=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t),t.x=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[0],e[1],e[2],C)),t.y=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[4],e[5],e[6],C)),t.z=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[8],e[9],e[10],C)),t};var w=new A.Cartesian3;K.getMaximumScale=function(e){return K.getScale(e,w),A.Cartesian3.maximumComponent(w)},K.multiply=function(e,t,r){Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r);var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],d=e[9],h=e[10],p=e[11],y=e[12],m=e[13],C=e[14],w=e[15],O=t[0],v=t[1],b=t[2],g=t[3],x=t[4],E=t[5],k=t[6],q=t[7],j=t[8],_=t[9],S=t[10],M=t[11],T=t[12],R=t[13],D=t[14],A=t[15],z=n*O+s*v+f*b+y*g,I=a*O+u*v+d*b+m*g,P=i*O+c*v+h*b+C*g,N=o*O+l*v+p*b+w*g,U=n*x+s*E+f*k+y*q,F=a*x+u*E+d*k+m*q,V=i*x+c*E+h*k+C*q,L=o*x+l*E+p*k+w*q,B=n*j+s*_+f*S+y*M,W=a*j+u*_+d*S+m*M,Y=i*j+c*_+h*S+C*M,Z=o*j+l*_+p*S+w*M,H=n*T+s*R+f*D+y*A,X=a*T+u*R+d*D+m*A,J=i*T+c*R+h*D+C*A,G=o*T+l*R+p*D+w*A;return r[0]=z,r[1]=I,r[2]=P,r[3]=N,r[4]=U,r[5]=F,r[6]=V,r[7]=L,r[8]=B,r[9]=W,r[10]=Y,r[11]=Z,r[12]=H,r[13]=X,r[14]=J,r[15]=G,r},K.add=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r},K.subtract=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r},K.multiplyTransformation=function(e,t,r){Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r);var n=e[0],a=e[1],i=e[2],o=e[4],s=e[5],u=e[6],c=e[8],l=e[9],f=e[10],d=e[12],h=e[13],p=e[14],y=t[0],m=t[1],C=t[2],w=t[4],O=t[5],v=t[6],b=t[8],g=t[9],x=t[10],E=t[12],k=t[13],q=t[14],j=n*y+o*m+c*C,_=a*y+s*m+l*C,S=i*y+u*m+f*C,M=n*w+o*O+c*v,T=a*w+s*O+l*v,R=i*w+u*O+f*v,D=n*b+o*g+c*x,A=a*b+s*g+l*x,z=i*b+u*g+f*x,I=n*E+o*k+c*q+d,P=a*E+s*k+l*q+h,N=i*E+u*k+f*q+p;return r[0]=j,r[1]=_,r[2]=S,r[3]=0,r[4]=M,r[5]=T,r[6]=R,r[7]=0,r[8]=D,r[9]=A,r[10]=z,r[11]=0,r[12]=I,r[13]=P,r[14]=N,r[15]=1,r},K.multiplyByMatrix3=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("rotation",t),Q.Check.typeOf.object("result",r);var n=e[0],a=e[1],i=e[2],o=e[4],s=e[5],u=e[6],c=e[8],l=e[9],f=e[10],d=t[0],h=t[1],p=t[2],y=t[3],m=t[4],C=t[5],w=t[6],O=t[7],v=t[8],b=n*d+o*h+c*p,g=a*d+s*h+l*p,x=i*d+u*h+f*p,E=n*y+o*m+c*C,k=a*y+s*m+l*C,q=i*y+u*m+f*C,j=n*w+o*O+c*v,_=a*w+s*O+l*v,S=i*w+u*O+f*v;return r[0]=b,r[1]=g,r[2]=x,r[3]=0,r[4]=E,r[5]=k,r[6]=q,r[7]=0,r[8]=j,r[9]=_,r[10]=S,r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r},K.multiplyByTranslation=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("translation",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z,o=n*e[0]+a*e[4]+i*e[8]+e[12],s=n*e[1]+a*e[5]+i*e[9]+e[13],u=n*e[2]+a*e[6]+i*e[10]+e[14];return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=o,r[13]=s,r[14]=u,r[15]=e[15],r};var O=new A.Cartesian3;K.multiplyByUniformScale=function(e,t,r){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number("scale",t),Q.Check.typeOf.object("result",r),O.x=t,O.y=t,O.z=t,K.multiplyByScale(e,O,r)},K.multiplyByScale=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("scale",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z;return 1===n&&1===a&&1===i?K.clone(e,r):(r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=i*e[8],r[9]=i*e[9],r[10]=i*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r)},K.multiplyByVector=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("cartesian",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z,o=t.w,s=e[0]*n+e[4]*a+e[8]*i+e[12]*o,u=e[1]*n+e[5]*a+e[9]*i+e[13]*o,c=e[2]*n+e[6]*a+e[10]*i+e[14]*o,l=e[3]*n+e[7]*a+e[11]*i+e[15]*o;return r.x=s,r.y=u,r.z=c,r.w=l,r},K.multiplyByPointAsVector=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("cartesian",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z,o=e[0]*n+e[4]*a+e[8]*i,s=e[1]*n+e[5]*a+e[9]*i,u=e[2]*n+e[6]*a+e[10]*i;return r.x=o,r.y=s,r.z=u,r},K.multiplyByPoint=function(e,t,r){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("cartesian",t),Q.Check.typeOf.object("result",r);var n=t.x,a=t.y,i=t.z,o=e[0]*n+e[4]*a+e[8]*i+e[12],s=e[1]*n+e[5]*a+e[9]*i+e[13],u=e[2]*n+e[6]*a+e[10]*i+e[14];return r.x=o,r.y=s,r.z=u,r},K.multiplyByScalar=function(e,t,r){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r},K.negate=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.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},K.transpose=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=o,t[14]=s,t[15]=e[15],t},K.abs=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.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},K.equals=function(e,t){return e===t||D.defined(e)&&D.defined(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]},K.equalsEpsilon=function(e,t,r){return r=D.defaultValue(r,0),e===t||D.defined(e)&&D.defined(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},K.getTranslation=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t),t.x=e[12],t.y=e[13],t.z=e[14],t},K.getMatrix3=function(e,t){return Q.Check.typeOf.object("matrix",e),Q.Check.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};var $=new J,ee=new J,te=new G,re=new G(0,0,0,1);function z(e,t){this.center=A.Cartesian3.clone(D.defaultValue(e,A.Cartesian3.ZERO)),this.radius=D.defaultValue(t,0)}K.inverse=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=e[0],n=e[4],a=e[8],i=e[12],o=e[1],s=e[5],u=e[9],c=e[13],l=e[2],f=e[6],d=e[10],h=e[14],p=e[3],y=e[7],m=e[11],C=e[15],w=d*C,O=h*m,v=f*C,b=h*y,g=f*m,x=d*y,E=l*C,k=h*p,q=l*m,j=d*p,_=l*y,S=f*p,M=w*s+b*u+g*c-(O*s+v*u+x*c),T=O*o+E*u+j*c-(w*o+k*u+q*c),R=v*o+k*s+_*c-(b*o+E*s+S*c),D=x*o+q*s+S*u-(g*o+j*s+_*u),A=O*n+v*a+x*i-(w*n+b*a+g*i),z=w*r+k*a+q*i-(O*r+E*a+j*i),I=b*r+E*n+S*i-(v*r+k*n+_*i),P=g*r+j*n+_*a-(x*r+q*n+S*a),N=(w=a*c)*y+(b=i*s)*m+(g=n*u)*C-((O=i*u)*y+(v=n*c)*m+(x=a*s)*C),U=O*p+(E=r*c)*m+(j=a*o)*C-(w*p+(k=i*o)*m+(q=r*u)*C),F=v*p+k*y+(_=r*s)*C-(b*p+E*y+(S=n*o)*C),V=x*p+q*y+S*m-(g*p+j*y+_*m),L=v*d+x*h+O*f-(g*h+w*f+b*d),B=q*h+w*l+k*d-(E*d+j*h+O*l),W=E*f+S*h+b*l-(_*h+v*l+k*f),Y=_*d+g*l+j*f-(q*f+S*d+x*l),Z=r*M+n*T+a*R+i*D;if(Math.abs(Z)<H.CesiumMath.EPSILON21){if(J.equalsEpsilon(K.getMatrix3(e,$),ee,H.CesiumMath.EPSILON7)&&G.equals(K.getRow(e,3,te),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 X.RuntimeError("matrix is not invertible because its determinate is zero.")}return Z=1/Z,t[0]=M*Z,t[1]=T*Z,t[2]=R*Z,t[3]=D*Z,t[4]=A*Z,t[5]=z*Z,t[6]=I*Z,t[7]=P*Z,t[8]=N*Z,t[9]=U*Z,t[10]=F*Z,t[11]=V*Z,t[12]=L*Z,t[13]=B*Z,t[14]=W*Z,t[15]=Y*Z,t},K.inverseTransformation=function(e,t){Q.Check.typeOf.object("matrix",e),Q.Check.typeOf.object("result",t);var r=e[0],n=e[1],a=e[2],i=e[4],o=e[5],s=e[6],u=e[8],c=e[9],l=e[10],f=e[12],d=e[13],h=e[14],p=-r*f-n*d-a*h,y=-i*f-o*d-s*h,m=-u*f-c*d-l*h;return t[0]=r,t[1]=i,t[2]=u,t[3]=0,t[4]=n,t[5]=o,t[6]=c,t[7]=0,t[8]=a,t[9]=s,t[10]=l,t[11]=0,t[12]=p,t[13]=y,t[14]=m,t[15]=1,t},K.IDENTITY=Object.freeze(new K(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)),K.ZERO=Object.freeze(new K(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)),K.COLUMN0ROW0=0,K.COLUMN0ROW1=1,K.COLUMN0ROW2=2,K.COLUMN0ROW3=3,K.COLUMN1ROW0=4,K.COLUMN1ROW1=5,K.COLUMN1ROW2=6,K.COLUMN1ROW3=7,K.COLUMN2ROW0=8,K.COLUMN2ROW1=9,K.COLUMN2ROW2=10,K.COLUMN2ROW3=11,K.COLUMN3ROW0=12,K.COLUMN3ROW1=13,K.COLUMN3ROW2=14,K.COLUMN3ROW3=15,Object.defineProperties(K.prototype,{length:{get:function(){return K.packedLength}}}),K.prototype.clone=function(e){return K.clone(this,e)},K.prototype.equals=function(e){return K.equals(this,e)},K.equalsArray=function(e,t,r){return e[0]===t[r]&&e[1]===t[r+1]&&e[2]===t[r+2]&&e[3]===t[r+3]&&e[4]===t[r+4]&&e[5]===t[r+5]&&e[6]===t[r+6]&&e[7]===t[r+7]&&e[8]===t[r+8]&&e[9]===t[r+9]&&e[10]===t[r+10]&&e[11]===t[r+11]&&e[12]===t[r+12]&&e[13]===t[r+13]&&e[14]===t[r+14]&&e[15]===t[r+15]},K.prototype.equalsEpsilon=function(e,t){return K.equalsEpsilon(this,e,t)},K.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 I=new A.Cartesian3,P=new A.Cartesian3,N=new A.Cartesian3,U=new A.Cartesian3,F=new A.Cartesian3,V=new A.Cartesian3,L=new A.Cartesian3,B=new A.Cartesian3,W=new A.Cartesian3,Y=new A.Cartesian3,Z=new A.Cartesian3,ne=new A.Cartesian3,x=4/3*H.CesiumMath.PI;z.fromPoints=function(e,t){if(D.defined(t)||(t=new z),!D.defined(e)||0===e.length)return t.center=A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=0,t;for(var r=A.Cartesian3.clone(e[0],L),n=A.Cartesian3.clone(r,I),a=A.Cartesian3.clone(r,P),i=A.Cartesian3.clone(r,N),o=A.Cartesian3.clone(r,U),s=A.Cartesian3.clone(r,F),u=A.Cartesian3.clone(r,V),c=e.length,l=1;l<c;l++){A.Cartesian3.clone(e[l],r);var f=r.x,d=r.y,h=r.z;f<n.x&&A.Cartesian3.clone(r,n),f>o.x&&A.Cartesian3.clone(r,o),d<a.y&&A.Cartesian3.clone(r,a),d>s.y&&A.Cartesian3.clone(r,s),h<i.z&&A.Cartesian3.clone(r,i),h>u.z&&A.Cartesian3.clone(r,u)}var p=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(o,n,B)),y=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(s,a,B)),m=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,B)),C=n,w=o,O=p;O<y&&(O=y,C=a,w=s),O<m&&(O=m,C=i,w=u);var v=W;v.x=.5*(C.x+w.x),v.y=.5*(C.y+w.y),v.z=.5*(C.z+w.z);var b=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(w,v,B)),g=Math.sqrt(b),x=Y;x.x=n.x,x.y=a.y,x.z=i.z;var E=Z;E.x=o.x,E.y=s.y,E.z=u.z;var k=A.Cartesian3.midpoint(x,E,ne),q=0;for(l=0;l<c;l++){A.Cartesian3.clone(e[l],r);var j=A.Cartesian3.magnitude(A.Cartesian3.subtract(r,k,B));q<j&&(q=j);var _,S,M=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(r,v,B));b<M&&(b=(g=.5*(g+(_=Math.sqrt(M))))*g,S=_-g,v.x=(g*v.x+S*r.x)/_,v.y=(g*v.y+S*r.y)/_,v.z=(g*v.z+S*r.z)/_)}return g<q?(A.Cartesian3.clone(v,t.center),t.radius=g):(A.Cartesian3.clone(k,t.center),t.radius=q),t};var E=new t,k=new A.Cartesian3,q=new A.Cartesian3,j=new A.Cartographic,_=new A.Cartographic;z.fromRectangle2D=function(e,t,r){return z.fromRectangleWithHeights2D(e,t,0,0,r)},z.fromRectangleWithHeights2D=function(e,t,r,n,a){if(D.defined(a)||(a=new z),!D.defined(e))return a.center=A.Cartesian3.clone(A.Cartesian3.ZERO,a.center),a.radius=0,a;t=D.defaultValue(t,E),A.Rectangle.southwest(e,j),j.height=r,A.Rectangle.northeast(e,_),_.height=n;var i=t.project(j,k),o=t.project(_,q),s=o.x-i.x,u=o.y-i.y,c=o.z-i.z;a.radius=.5*Math.sqrt(s*s+u*u+c*c);var l=a.center;return l.x=i.x+.5*s,l.y=i.y+.5*u,l.z=i.z+.5*c,a};var S=[];z.fromRectangle3D=function(e,t,r,n){if(t=D.defaultValue(t,A.Ellipsoid.WGS84),r=D.defaultValue(r,0),D.defined(n)||(n=new z),!D.defined(e))return n.center=A.Cartesian3.clone(A.Cartesian3.ZERO,n.center),n.radius=0,n;var a=A.Rectangle.subsample(e,t,r,S);return z.fromPoints(a,n)},z.fromVertices=function(e,t,r,n){if(D.defined(n)||(n=new z),!D.defined(e)||0===e.length)return n.center=A.Cartesian3.clone(A.Cartesian3.ZERO,n.center),n.radius=0,n;t=D.defaultValue(t,A.Cartesian3.ZERO),r=D.defaultValue(r,3),Q.Check.typeOf.number.greaterThanOrEquals("stride",r,3);var a=L;a.x=e[0]+t.x,a.y=e[1]+t.y,a.z=e[2]+t.z;for(var i=A.Cartesian3.clone(a,I),o=A.Cartesian3.clone(a,P),s=A.Cartesian3.clone(a,N),u=A.Cartesian3.clone(a,U),c=A.Cartesian3.clone(a,F),l=A.Cartesian3.clone(a,V),f=e.length,d=0;d<f;d+=r){var h=e[d]+t.x,p=e[d+1]+t.y,y=e[d+2]+t.z;a.x=h,a.y=p,a.z=y,h<i.x&&A.Cartesian3.clone(a,i),h>u.x&&A.Cartesian3.clone(a,u),p<o.y&&A.Cartesian3.clone(a,o),p>c.y&&A.Cartesian3.clone(a,c),y<s.z&&A.Cartesian3.clone(a,s),y>l.z&&A.Cartesian3.clone(a,l)}var m=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,B)),C=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(c,o,B)),w=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(l,s,B)),O=i,v=u,b=m;b<C&&(b=C,O=o,v=c),b<w&&(b=w,O=s,v=l);var g=W;g.x=.5*(O.x+v.x),g.y=.5*(O.y+v.y),g.z=.5*(O.z+v.z);var x=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(v,g,B)),E=Math.sqrt(x),k=Y;k.x=i.x,k.y=o.y,k.z=s.z;var q=Z;q.x=u.x,q.y=c.y,q.z=l.z;var j=A.Cartesian3.midpoint(k,q,ne),_=0;for(d=0;d<f;d+=r){a.x=e[d]+t.x,a.y=e[d+1]+t.y,a.z=e[d+2]+t.z;var S=A.Cartesian3.magnitude(A.Cartesian3.subtract(a,j,B));_<S&&(_=S);var M,T,R=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(a,g,B));x<R&&(x=(E=.5*(E+(M=Math.sqrt(R))))*E,T=M-E,g.x=(E*g.x+T*a.x)/M,g.y=(E*g.y+T*a.y)/M,g.z=(E*g.z+T*a.z)/M)}return E<_?(A.Cartesian3.clone(g,n.center),n.radius=E):(A.Cartesian3.clone(j,n.center),n.radius=_),n},z.fromEncodedCartesianVertices=function(e,t,r){if(D.defined(r)||(r=new z),!D.defined(e)||!D.defined(t)||e.length!==t.length||0===e.length)return r.center=A.Cartesian3.clone(A.Cartesian3.ZERO,r.center),r.radius=0,r;var n=L;n.x=e[0]+t[0],n.y=e[1]+t[1],n.z=e[2]+t[2];for(var a=A.Cartesian3.clone(n,I),i=A.Cartesian3.clone(n,P),o=A.Cartesian3.clone(n,N),s=A.Cartesian3.clone(n,U),u=A.Cartesian3.clone(n,F),c=A.Cartesian3.clone(n,V),l=e.length,f=0;f<l;f+=3){var d=e[f]+t[f],h=e[f+1]+t[f+1],p=e[f+2]+t[f+2];n.x=d,n.y=h,n.z=p,d<a.x&&A.Cartesian3.clone(n,a),d>s.x&&A.Cartesian3.clone(n,s),h<i.y&&A.Cartesian3.clone(n,i),h>u.y&&A.Cartesian3.clone(n,u),p<o.z&&A.Cartesian3.clone(n,o),p>c.z&&A.Cartesian3.clone(n,c)}var y=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(s,a,B)),m=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,B)),C=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(c,o,B)),w=a,O=s,v=y;v<m&&(v=m,w=i,O=u),v<C&&(v=C,w=o,O=c);var b=W;b.x=.5*(w.x+O.x),b.y=.5*(w.y+O.y),b.z=.5*(w.z+O.z);var g=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(O,b,B)),x=Math.sqrt(g),E=Y;E.x=a.x,E.y=i.y,E.z=o.z;var k=Z;k.x=s.x,k.y=u.y,k.z=c.z;var q=A.Cartesian3.midpoint(E,k,ne),j=0;for(f=0;f<l;f+=3){n.x=e[f]+t[f],n.y=e[f+1]+t[f+1],n.z=e[f+2]+t[f+2];var _=A.Cartesian3.magnitude(A.Cartesian3.subtract(n,q,B));j<_&&(j=_);var S,M,T=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(n,b,B));g<T&&(g=(x=.5*(x+(S=Math.sqrt(T))))*x,M=S-x,b.x=(x*b.x+M*n.x)/S,b.y=(x*b.y+M*n.y)/S,b.z=(x*b.z+M*n.z)/S)}return x<j?(A.Cartesian3.clone(b,r.center),r.radius=x):(A.Cartesian3.clone(q,r.center),r.radius=j),r},z.fromCornerPoints=function(e,t,r){Q.Check.typeOf.object("corner",e),Q.Check.typeOf.object("oppositeCorner",t),D.defined(r)||(r=new z);var n=A.Cartesian3.midpoint(e,t,r.center);return r.radius=A.Cartesian3.distance(n,t),r},z.fromEllipsoid=function(e,t){return Q.Check.typeOf.object("ellipsoid",e),D.defined(t)||(t=new z),A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=e.maximumRadius,t};var M=new A.Cartesian3;z.fromBoundingSpheres=function(e,t){if(D.defined(t)||(t=new z),!D.defined(e)||0===e.length)return t.center=A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=0,t;var r=e.length;if(1===r)return z.clone(e[0],t);if(2===r)return z.union(e[0],e[1],t);for(var n=[],a=0;a<r;a++)n.push(e[a].center);var i=(t=z.fromPoints(n,t)).center,o=t.radius;for(a=0;a<r;a++)var s=e[a],o=Math.max(o,A.Cartesian3.distance(i,s.center,M)+s.radius);return t.radius=o,t};var T=new A.Cartesian3,R=new A.Cartesian3,ae=new A.Cartesian3;z.fromOrientedBoundingBox=function(e,t){Q.Check.defined("orientedBoundingBox",e),D.defined(t)||(t=new z);var r=e.halfAxes,n=J.getColumn(r,0,T),a=J.getColumn(r,1,R),i=J.getColumn(r,2,ae);return A.Cartesian3.add(n,a,n),A.Cartesian3.add(n,i,n),t.center=A.Cartesian3.clone(e.center,t.center),t.radius=A.Cartesian3.magnitude(n),t},z.clone=function(e,t){if(D.defined(e))return D.defined(t)?(t.center=A.Cartesian3.clone(e.center,t.center),t.radius=e.radius,t):new z(e.center,e.radius)},z.packedLength=4,z.pack=function(e,t,r){Q.Check.typeOf.object("value",e),Q.Check.defined("array",t),r=D.defaultValue(r,0);var n=e.center;return t[r++]=n.x,t[r++]=n.y,t[r++]=n.z,t[r]=e.radius,t},z.unpack=function(e,t,r){Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new z);var n=r.center;return n.x=e[t++],n.y=e[t++],n.z=e[t++],r.radius=e[t],r};var ie=new A.Cartesian3,oe=new A.Cartesian3;z.union=function(e,t,r){Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),D.defined(r)||(r=new z);var n=e.center,a=e.radius,i=t.center,o=t.radius,s=A.Cartesian3.subtract(i,n,ie),u=A.Cartesian3.magnitude(s);if(u+o<=a)return e.clone(r),r;if(u+a<=o)return t.clone(r),r;var c=.5*(a+u+o),l=A.Cartesian3.multiplyByScalar(s,(c-a)/u,oe);return A.Cartesian3.add(l,n,l),A.Cartesian3.clone(l,r.center),r.radius=c,r};var se=new A.Cartesian3;z.expand=function(e,t,r){Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("point",t),r=z.clone(e,r);var n=A.Cartesian3.magnitude(A.Cartesian3.subtract(t,r.center,se));return n>r.radius&&(r.radius=n),r},z.intersectPlane=function(e,t){Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("plane",t);var r=e.center,n=e.radius,a=t.normal,i=A.Cartesian3.dot(a,r)+t.distance;return i<-n?o.OUTSIDE:i<n?o.INTERSECTING:o.INSIDE},z.transform=function(e,t,r){return Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("transform",t),D.defined(r)||(r=new z),r.center=K.multiplyByPoint(t,e.center,r.center),r.radius=K.getMaximumScale(t)*e.radius,r};var ue=new A.Cartesian3;z.distanceSquaredTo=function(e,t){Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("cartesian",t);var r=A.Cartesian3.subtract(e.center,t,ue);return A.Cartesian3.magnitudeSquared(r)-e.radius*e.radius},z.transformWithoutScale=function(e,t,r){return Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("transform",t),D.defined(r)||(r=new z),r.center=K.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var ce=new A.Cartesian3;z.computePlaneDistances=function(e,t,r,n){Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("position",t),Q.Check.typeOf.object("direction",r),D.defined(n)||(n=new s);var a=A.Cartesian3.subtract(e.center,t,ce),i=A.Cartesian3.dot(r,a);return n.start=i-e.radius,n.stop=i+e.radius,n};for(var le=new A.Cartesian3,fe=new A.Cartesian3,de=new A.Cartesian3,he=new A.Cartesian3,pe=new A.Cartesian3,ye=new A.Cartographic,me=new Array(8),Ce=0;Ce<8;++Ce)me[Ce]=new A.Cartesian3;var we,Oe=new t;z.projectTo2D=function(e,t,r){Q.Check.typeOf.object("sphere",e);var n=(t=D.defaultValue(t,Oe)).ellipsoid,a=e.center,i=e.radius,o=A.Cartesian3.equals(a,A.Cartesian3.ZERO)?A.Cartesian3.clone(A.Cartesian3.UNIT_X,le):n.geodeticSurfaceNormal(a,le),s=A.Cartesian3.cross(A.Cartesian3.UNIT_Z,o,fe);A.Cartesian3.normalize(s,s);var u=A.Cartesian3.cross(o,s,de);A.Cartesian3.normalize(u,u),A.Cartesian3.multiplyByScalar(o,i,o),A.Cartesian3.multiplyByScalar(u,i,u),A.Cartesian3.multiplyByScalar(s,i,s);var c=A.Cartesian3.negate(u,pe),l=A.Cartesian3.negate(s,he),f=me,d=f[0];A.Cartesian3.add(o,u,d),A.Cartesian3.add(d,s,d),d=f[1],A.Cartesian3.add(o,u,d),A.Cartesian3.add(d,l,d),d=f[2],A.Cartesian3.add(o,c,d),A.Cartesian3.add(d,l,d),d=f[3],A.Cartesian3.add(o,c,d),A.Cartesian3.add(d,s,d),A.Cartesian3.negate(o,o),d=f[4],A.Cartesian3.add(o,u,d),A.Cartesian3.add(d,s,d),d=f[5],A.Cartesian3.add(o,u,d),A.Cartesian3.add(d,l,d),d=f[6],A.Cartesian3.add(o,c,d),A.Cartesian3.add(d,l,d),d=f[7],A.Cartesian3.add(o,c,d),A.Cartesian3.add(d,s,d);for(var h=f.length,p=0;p<h;++p){var y=f[p];A.Cartesian3.add(a,y,y);var m=n.cartesianToCartographic(y,ye);t.project(m,y)}var C=(a=(r=z.fromPoints(f,r)).center).x,w=a.y,O=a.z;return a.x=O,a.y=C,a.z=w,r},z.isOccluded=function(e,t){return Q.Check.typeOf.object("sphere",e),Q.Check.typeOf.object("occluder",t),!t.isBoundingSphereVisible(e)},z.equals=function(e,t){return e===t||D.defined(e)&&D.defined(t)&&A.Cartesian3.equals(e.center,t.center)&&e.radius===t.radius},z.prototype.intersectPlane=function(e){return z.intersectPlane(this,e)},z.prototype.distanceSquaredTo=function(e){return z.distanceSquaredTo(this,e)},z.prototype.computePlaneDistances=function(e,t,r){return z.computePlaneDistances(this,e,t,r)},z.prototype.isOccluded=function(e){return z.isOccluded(this,e)},z.prototype.equals=function(e){return z.equals(this,e)},z.prototype.clone=function(e){return z.clone(this,e)},z.prototype.volume=function(){var e=this.radius;return x*e*e*e};var ve,be,ge,xe,Ee,ke,qe,je,_e,Se,Me,Te,Re,De,Ae,ze,Ie,Pe={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},Ne={};function Ue(e){for(var t=e.split("."),r=0,n=t.length;r<n;++r)t[r]=parseInt(t[r],10);return t}function Fe(){var e;return D.defined(be)||(be=!1,We()||null!==(e=/ Chrome\/([\.0-9]+)/.exec(ve.userAgent))&&(be=!0,ge=Ue(e[1]))),be}function Ve(){var e;return D.defined(xe)||(xe=!1,Fe()||We()||!/ Safari\/[\.0-9]+/.test(ve.userAgent)||null!==(e=/ Version\/([\.0-9]+)/.exec(ve.userAgent))&&(xe=!0,Ee=Ue(e[1]))),xe}function Le(){var e;return D.defined(ke)||(ke=!1,null!==(e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(ve.userAgent))&&(ke=!0,(qe=Ue(e[1])).isNightly=!!e[2])),ke}function Be(){var e;return D.defined(je)||(je=!1,"Microsoft Internet Explorer"===ve.appName?null!==(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(ve.userAgent))&&(je=!0,_e=Ue(e[1])):"Netscape"===ve.appName&&null!==(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(ve.userAgent))&&(je=!0,_e=Ue(e[1]))),je}function We(){var e;return D.defined(Se)||(Se=!1,null!==(e=/ Edge\/([\.0-9]+)/.exec(ve.userAgent))&&(Se=!0,Me=Ue(e[1]))),Se}function Ye(){var e;return D.defined(Te)||(Te=!1,null!==(e=/Firefox\/([\.0-9]+)/.exec(ve.userAgent))&&(Te=!0,Re=Ue(e[1]))),Te}function Ze(){var e,t;return D.defined(Ie)||((e=document.createElement("canvas")).setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;"),t=e.style.imageRendering,(Ie=D.defined(t)&&""!==t)&&(ze=t)),Ie}function He(){if(!He.initialized)throw new Q.DeveloperError("You must call FeatureDetection.supportsWebP.initialize and wait for the promise to resolve before calling FeatureDetection.supportsWebP");return He._result}Object.defineProperties(Ne,{element:{get:function(){if(Ne.supportsFullscreen())return document[Pe.fullscreenElement]}},changeEventName:{get:function(){if(Ne.supportsFullscreen())return Pe.fullscreenchange}},errorEventName:{get:function(){if(Ne.supportsFullscreen())return Pe.fullscreenerror}},enabled:{get:function(){if(Ne.supportsFullscreen())return document[Pe.fullscreenEnabled]}},fullscreen:{get:function(){if(Ne.supportsFullscreen())return null!==Ne.element}}}),Ne.supportsFullscreen=function(){if(D.defined(we))return we;we=!1;var e=document.body;if("function"==typeof e.requestFullscreen)return Pe.requestFullscreen="requestFullscreen",Pe.exitFullscreen="exitFullscreen",Pe.fullscreenEnabled="fullscreenEnabled",Pe.fullscreenElement="fullscreenElement",Pe.fullscreenchange="fullscreenchange",Pe.fullscreenerror="fullscreenerror",we=!0;for(var t=["webkit","moz","o","ms","khtml"],r=0,n=t.length;r<n;++r){var a,i=t[r];"function"!=typeof e[a=i+"RequestFullscreen"]&&"function"!=typeof e[a=i+"RequestFullScreen"]||(Pe.requestFullscreen=a,we=!0),a=i+"ExitFullscreen","function"==typeof document[a]?Pe.exitFullscreen=a:(a=i+"CancelFullScreen","function"==typeof document[a]&&(Pe.exitFullscreen=a)),a=i+"FullscreenEnabled",void 0!==document[a]?Pe.fullscreenEnabled=a:(a=i+"FullScreenEnabled",void 0!==document[a]&&(Pe.fullscreenEnabled=a)),a=i+"FullscreenElement",void 0!==document[a]?Pe.fullscreenElement=a:(a=i+"FullScreenElement",void 0!==document[a]&&(Pe.fullscreenElement=a)),a=i+"fullscreenchange",void 0!==document["on"+a]&&("ms"===i&&(a="MSFullscreenChange"),Pe.fullscreenchange=a),a=i+"fullscreenerror",void 0!==document["on"+a]&&("ms"===i&&(a="MSFullscreenError"),Pe.fullscreenerror=a)}return we},Ne.requestFullscreen=function(e,t){Ne.supportsFullscreen()&&e[Pe.requestFullscreen]({vrDisplay:t})},Ne.exitFullscreen=function(){Ne.supportsFullscreen()&&document[Pe.exitFullscreen]()},Ne._names=Pe,ve="undefined"!=typeof navigator?navigator:{},He._promise=void 0,He._result=void 0,He.initialize=function(){if(D.defined(He._promise))return He._promise;var e=D.when.defer();if(He._promise=e.promise,We())return He._result=!1,e.resolve(He._result),e.promise;var t=new Image;return t.onload=function(){He._result=0<t.width&&0<t.height,e.resolve(He._result)},t.onerror=function(){He._result=!1,e.resolve(He._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",e.promise},Object.defineProperties(He,{initialized:{get:function(){return D.defined(He._result)}}});var Xe=[];"undefined"!=typeof ArrayBuffer&&(Xe.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),"undefined"!=typeof Uint8ClampedArray&&Xe.push(Uint8ClampedArray),"undefined"!=typeof Uint8ClampedArray&&Xe.push(Uint8ClampedArray));var Je={isChrome:Fe,chromeVersion:function(){return Fe()&&ge},isSafari:Ve,safariVersion:function(){return Ve()&&Ee},isWebkit:Le,webkitVersion:function(){return Le()&&qe},isInternetExplorer:Be,internetExplorerVersion:function(){return Be()&&_e},isEdge:We,edgeVersion:function(){return We()&&Me},isFirefox:Ye,firefoxVersion:function(){return Ye()&&Re},isWindows:function(){return D.defined(De)||(De=/Windows/i.test(ve.appVersion)),De},hardwareConcurrency:D.defaultValue(ve.hardwareConcurrency,3),supportsPointerEvents:function(){return D.defined(Ae)||(Ae=!Ye()&&"undefined"!=typeof PointerEvent&&(!D.defined(ve.pointerEnabled)||ve.pointerEnabled)),Ae},supportsImageRenderingPixelated:Ze,supportsWebP:He,imageRenderingValue:function(){return Ze()?ze:void 0},typedArrayTypes:Xe};function Ge(e,t,r,n){this.x=D.defaultValue(e,0),this.y=D.defaultValue(t,0),this.z=D.defaultValue(r,0),this.w=D.defaultValue(n,0)}Je.supportsFullscreen=function(){return Ne.supportsFullscreen()},Je.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer},Je.supportsWebWorkers=function(){return"undefined"!=typeof Worker},Je.supportsWebAssembly=function(){return"undefined"!=typeof WebAssembly&&!Je.isEdge()};var Qe=new A.Cartesian3;Ge.fromAxisAngle=function(e,t,r){Q.Check.typeOf.object("axis",e),Q.Check.typeOf.number("angle",t);var n=t/2,a=Math.sin(n),i=(Qe=A.Cartesian3.normalize(e,Qe)).x*a,o=Qe.y*a,s=Qe.z*a,u=Math.cos(n);return D.defined(r)?(r.x=i,r.y=o,r.z=s,r.w=u,r):new Ge(i,o,s,u)};var Ke=[1,2,0],$e=new Array(3);Ge.fromRotationMatrix=function(e,t){var r,n,a;Q.Check.typeOf.object("matrix",e);var i,o,s,u,c,l=e[J.COLUMN0ROW0],f=e[J.COLUMN1ROW1],d=e[J.COLUMN2ROW2],h=l+f+d,p=0<h?(a=.5*(u=Math.sqrt(h+1)),u=.5/u,r=(e[J.COLUMN1ROW2]-e[J.COLUMN2ROW1])*u,n=(e[J.COLUMN2ROW0]-e[J.COLUMN0ROW2])*u,(e[J.COLUMN0ROW1]-e[J.COLUMN1ROW0])*u):(s=Ke[o=Ke[i=l<d&&f<d?2:l<f?1:0]],u=Math.sqrt(e[J.getElementIndex(i,i)]-e[J.getElementIndex(o,o)]-e[J.getElementIndex(s,s)]+1),(c=$e)[i]=.5*u,u=.5/u,a=(e[J.getElementIndex(s,o)]-e[J.getElementIndex(o,s)])*u,c[o]=(e[J.getElementIndex(o,i)]+e[J.getElementIndex(i,o)])*u,c[s]=(e[J.getElementIndex(s,i)]+e[J.getElementIndex(i,s)])*u,r=-c[0],n=-c[1],-c[2]);return D.defined(t)?(t.x=r,t.y=n,t.z=p,t.w=a,t):new Ge(r,n,p,a)};var et=new Ge,tt=new Ge,rt=new Ge,nt=new Ge;Ge.fromHeadingPitchRoll=function(e,t){return Q.Check.typeOf.object("headingPitchRoll",e),nt=Ge.fromAxisAngle(A.Cartesian3.UNIT_X,e.roll,et),rt=Ge.fromAxisAngle(A.Cartesian3.UNIT_Y,-e.pitch,t),t=Ge.multiply(rt,nt,rt),tt=Ge.fromAxisAngle(A.Cartesian3.UNIT_Z,-e.heading,et),Ge.multiply(tt,t,t)};var at=new A.Cartesian3,it=new A.Cartesian3,ot=new Ge,st=new Ge,ut=new Ge;Ge.packedLength=4,Ge.pack=function(e,t,r){return Q.Check.typeOf.object("value",e),Q.Check.defined("array",t),r=D.defaultValue(r,0),t[r++]=e.x,t[r++]=e.y,t[r++]=e.z,t[r]=e.w,t},Ge.unpack=function(e,t,r){return Q.Check.defined("array",e),t=D.defaultValue(t,0),D.defined(r)||(r=new Ge),r.x=e[t],r.y=e[t+1],r.z=e[t+2],r.w=e[t+3],r},Ge.packedInterpolationLength=3,Ge.convertPackedArrayForInterpolation=function(e,t,r,n){Ge.unpack(e,4*r,ut),Ge.conjugate(ut,ut);for(var a=0,i=r-t+1;a<i;a++){var o=3*a;Ge.unpack(e,4*(t+a),ot),Ge.multiply(ot,ut,ot),ot.w<0&&Ge.negate(ot,ot),Ge.computeAxis(ot,at);var s=Ge.computeAngle(ot);D.defined(n)||(n=[]),n[o]=at.x*s,n[1+o]=at.y*s,n[2+o]=at.z*s}},Ge.unpackInterpolationResult=function(e,t,r,n,a){D.defined(a)||(a=new Ge),A.Cartesian3.fromArray(e,0,it);var i=A.Cartesian3.magnitude(it);return Ge.unpack(t,4*n,st),0===i?Ge.clone(Ge.IDENTITY,ot):Ge.fromAxisAngle(it,i,ot),Ge.multiply(ot,st,a)},Ge.clone=function(e,t){if(D.defined(e))return D.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Ge(e.x,e.y,e.z,e.w)},Ge.conjugate=function(e,t){return Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},Ge.magnitudeSquared=function(e){return Q.Check.typeOf.object("quaternion",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},Ge.magnitude=function(e){return Math.sqrt(Ge.magnitudeSquared(e))},Ge.normalize=function(e,t){Q.Check.typeOf.object("result",t);var r=1/Ge.magnitude(e),n=e.x*r,a=e.y*r,i=e.z*r,o=e.w*r;return t.x=n,t.y=a,t.z=i,t.w=o,t},Ge.inverse=function(e,t){Q.Check.typeOf.object("result",t);var r=Ge.magnitudeSquared(e);return t=Ge.conjugate(e,t),Ge.multiplyByScalar(t,1/r,t)},Ge.add=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x+t.x,r.y=e.y+t.y,r.z=e.z+t.z,r.w=e.w+t.w,r},Ge.subtract=function(e,t,r){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r),r.x=e.x-t.x,r.y=e.y-t.y,r.z=e.z-t.z,r.w=e.w-t.w,r},Ge.negate=function(e,t){return Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},Ge.dot=function(e,t){return Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},Ge.multiply=function(e,t,r){Q.Check.typeOf.object("left",e),Q.Check.typeOf.object("right",t),Q.Check.typeOf.object("result",r);var n=e.x,a=e.y,i=e.z,o=e.w,s=t.x,u=t.y,c=t.z,l=t.w,f=o*s+n*l+a*c-i*u,d=o*u-n*c+a*l+i*s,h=o*c+n*u-a*s+i*l,p=o*l-n*s-a*u-i*c;return r.x=f,r.y=d,r.z=h,r.w=p,r},Ge.multiplyByScalar=function(e,t,r){return Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r.x=e.x*t,r.y=e.y*t,r.z=e.z*t,r.w=e.w*t,r},Ge.divideByScalar=function(e,t,r){return Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.number("scalar",t),Q.Check.typeOf.object("result",r),r.x=e.x/t,r.y=e.y/t,r.z=e.z/t,r.w=e.w/t,r},Ge.computeAxis=function(e,t){Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.object("result",t);var r=e.w;if(Math.abs(r-1)<H.CesiumMath.EPSILON6)return t.x=t.y=t.z=0,t;var n=1/Math.sqrt(1-r*r);return t.x=e.x*n,t.y=e.y*n,t.z=e.z*n,t},Ge.computeAngle=function(e){return Q.Check.typeOf.object("quaternion",e),Math.abs(e.w-1)<H.CesiumMath.EPSILON6?0:2*Math.acos(e.w)};var ct=new Ge;Ge.lerp=function(e,t,r,n){return Q.Check.typeOf.object("start",e),Q.Check.typeOf.object("end",t),Q.Check.typeOf.number("t",r),Q.Check.typeOf.object("result",n),ct=Ge.multiplyByScalar(t,r,ct),n=Ge.multiplyByScalar(e,1-r,n),Ge.add(ct,n,n)};var lt=new Ge,ft=new Ge,dt=new Ge;Ge.slerp=function(e,t,r,n){Q.Check.typeOf.object("start",e),Q.Check.typeOf.object("end",t),Q.Check.typeOf.number("t",r),Q.Check.typeOf.object("result",n);var a=Ge.dot(e,t),i=t;if(a<0&&(a=-a,i=lt=Ge.negate(t,lt)),1-a<H.CesiumMath.EPSILON6)return Ge.lerp(e,i,r,n);var o=Math.acos(a);return ft=Ge.multiplyByScalar(e,Math.sin((1-r)*o),ft),dt=Ge.multiplyByScalar(i,Math.sin(r*o),dt),n=Ge.add(ft,dt,n),Ge.multiplyByScalar(n,1/Math.sin(o),n)},Ge.log=function(e,t){Q.Check.typeOf.object("quaternion",e),Q.Check.typeOf.object("result",t);var r=H.CesiumMath.acosClamped(e.w),n=0;return 0!==r&&(n=r/Math.sin(r)),A.Cartesian3.multiplyByScalar(e,n,t)},Ge.exp=function(e,t){Q.Check.typeOf.object("cartesian",e),Q.Check.typeOf.object("result",t);var r=A.Cartesian3.magnitude(e),n=0;return 0!==r&&(n=Math.sin(r)/r),t.x=e.x*n,t.y=e.y*n,t.z=e.z*n,t.w=Math.cos(r),t};var ht=new A.Cartesian3,pt=new A.Cartesian3,yt=new Ge,mt=new Ge;Ge.computeInnerQuadrangle=function(e,t,r,n){Q.Check.typeOf.object("q0",e),Q.Check.typeOf.object("q1",t),Q.Check.typeOf.object("q2",r),Q.Check.typeOf.object("result",n);var a=Ge.conjugate(t,yt);Ge.multiply(a,r,mt);var i=Ge.log(mt,ht);Ge.multiply(a,e,mt);var o=Ge.log(mt,pt);return A.Cartesian3.add(i,o,i),A.Cartesian3.multiplyByScalar(i,.25,i),A.Cartesian3.negate(i,i),Ge.exp(i,yt),Ge.multiply(t,yt,n)},Ge.squad=function(e,t,r,n,a,i){Q.Check.typeOf.object("q0",e),Q.Check.typeOf.object("q1",t),Q.Check.typeOf.object("s0",r),Q.Check.typeOf.object("s1",n),Q.Check.typeOf.number("t",a),Q.Check.typeOf.object("result",i);var o=Ge.slerp(e,t,a,yt),s=Ge.slerp(r,n,a,mt);return Ge.slerp(o,s,2*a*(1-a),i)};for(var Ct=new Ge,wt=1.9011074535173003,Ot=Je.supportsTypedArrays()?new Float32Array(8):[],vt=Je.supportsTypedArrays()?new Float32Array(8):[],bt=Je.supportsTypedArrays()?new Float32Array(8):[],gt=Je.supportsTypedArrays()?new Float32Array(8):[],xt=0;xt<7;++xt){var Et=xt+1,kt=2*Et+1;Ot[xt]=1/(Et*kt),vt[xt]=Et/kt}function qt(e,t,r){Q.Check.defined("array",e),Q.Check.defined("itemToFind",t),Q.Check.defined("comparator",r);for(var n,a,i=0,o=e.length-1;i<=o;)if((a=r(e[n=~~((i+o)/2)],t))<0)i=1+n;else{if(!(0<a))return n;o=n-1}return~(o+1)}function jt(e,t,r,n,a){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=a}function _t(){function O(e,t,r,n){r=r||" ";var a=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+a:a+e}function v(e,t,r,n,a,i){var o=n-e.length;return 0<o&&(e=r||!a?O(e,n,i,r):e.slice(0,t.length)+O("",o,"0",!0)+e.slice(t.length)),e}function b(e,t,r,n,a,i,o){var s=e>>>0;return e=(r=r&&s&&{2:"0b",8:"0",16:"0x"}[t]||"")+O(s.toString(t),i||0,"0",!1),v(e,r,n,a,o)}function g(e,t,r,n,a,i){return null!=n&&(e=e.slice(0,n)),v(e,"",t,r,a,i)}var x=arguments,E=0,e=x[E++];return e.replace(/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,function(e,t,r,n,a,i,o){var s,u,c,l,f;if("%%"==e)return"%";for(var d=!1,h="",p=!1,y=!1,m=" ",C=r.length,w=0;r&&w<C;w++)switch(r.charAt(w)){case" ":h=" ";break;case"+":h="+";break;case"-":d=!0;break;case"'":m=r.charAt(w+1);break;case"0":p=!0;break;case"#":y=!0}if((n=n?"*"==n?+x[E++]:"*"==n.charAt(0)?+x[n.slice(1,-1)]:+n:0)<0&&(n=-n,d=!0),!isFinite(n))throw new Error("sprintf: (minimum-)width must be finite");switch(i=i?"*"==i?+x[E++]:"*"==i.charAt(0)?+x[i.slice(1,-1)]:+i:-1<"fFeE".indexOf(o)?6:"d"==o?0:void 0,f=t?x[t.slice(0,-1)]:x[E++],o){case"s":return g(String(f),d,n,i,p,m);case"c":return g(String.fromCharCode(+f),d,n,i,p);case"b":return b(f,2,y,d,n,i,p);case"o":return b(f,8,y,d,n,i,p);case"x":return b(f,16,y,d,n,i,p);case"X":return b(f,16,y,d,n,i,p).toUpperCase();case"u":return b(f,10,y,d,n,i,p);case"i":case"d":return s=+f||0,f=(u=(s=Math.round(s-s%1))<0?"-":h)+O(String(Math.abs(s)),i,"0",!1),v(f,u,d,n,p);case"e":case"E":case"f":case"F":case"g":case"G":return u=(s=+f)<0?"-":h,c=["toExponential","toFixed","toPrecision"]["efg".indexOf(o.toLowerCase())],l=["toString","toUpperCase"]["eEfFgG".indexOf(o)%2],f=u+Math.abs(s)[c](i),v(f,u,d,n,p)[l]();default:return e}})}function St(e,t,r,n,a,i,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=a,this.second=i,this.millisecond=o,this.isLeapSecond=s}function Mt(e){if(null===e||isNaN(e))throw new Q.DeveloperError("year is required and must be a number.");return e%4==0&&e%100!=0||e%400==0}function Tt(e,t){this.julianDate=e,this.offset=t}Ot[7]=wt/136,vt[7]=8*wt/17,Ge.fastSlerp=function(e,t,r,n){Q.Check.typeOf.object("start",e),Q.Check.typeOf.object("end",t),Q.Check.typeOf.number("t",r),Q.Check.typeOf.object("result",n);var a,i=Ge.dot(e,t);0<=i?a=1:(a=-1,i=-i);for(var o=i-1,s=1-r,u=r*r,c=s*s,l=7;0<=l;--l)bt[l]=(Ot[l]*u-vt[l])*o,gt[l]=(Ot[l]*c-vt[l])*o;var f=a*r*(1+bt[0]*(1+bt[1]*(1+bt[2]*(1+bt[3]*(1+bt[4]*(1+bt[5]*(1+bt[6]*(1+bt[7])))))))),d=s*(1+gt[0]*(1+gt[1]*(1+gt[2]*(1+gt[3]*(1+gt[4]*(1+gt[5]*(1+gt[6]*(1+gt[7])))))))),h=Ge.multiplyByScalar(e,d,Ct);return Ge.multiplyByScalar(t,f,n),Ge.add(h,n,n)},Ge.fastSquad=function(e,t,r,n,a,i){Q.Check.typeOf.object("q0",e),Q.Check.typeOf.object("q1",t),Q.Check.typeOf.object("s0",r),Q.Check.typeOf.object("s1",n),Q.Check.typeOf.number("t",a),Q.Check.typeOf.object("result",i);var o=Ge.fastSlerp(e,t,a,yt),s=Ge.fastSlerp(r,n,a,mt);return Ge.fastSlerp(o,s,2*a*(1-a),i)},Ge.equals=function(e,t){return e===t||D.defined(e)&&D.defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},Ge.equalsEpsilon=function(e,t,r){return r=D.defaultValue(r,0),e===t||D.defined(e)&&D.defined(t)&&Math.abs(e.x-t.x)<=r&&Math.abs(e.y-t.y)<=r&&Math.abs(e.z-t.z)<=r&&Math.abs(e.w-t.w)<=r},Ge.ZERO=Object.freeze(new Ge(0,0,0,0)),Ge.IDENTITY=Object.freeze(new Ge(0,0,0,1)),Ge.prototype.clone=function(e){return Ge.clone(this,e)},Ge.prototype.equals=function(e){return Ge.equals(this,e)},Ge.prototype.equalsEpsilon=function(e,t){return Ge.equalsEpsilon(this,e,t)},Ge.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"};var Rt=Object.freeze({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}),Dt=Object.freeze({UTC:0,TAI:1}),At=new St,zt=[31,28,31,30,31,30,31,31,30,31,30,31];function It(e,t){return Kt.compare(e.julianDate,t.julianDate)}var Pt=new Tt;function Nt(e){Pt.julianDate=e;var t=Kt.leapSeconds,r=qt(t,Pt,It);r<0&&(r=~r),r>=t.length&&(r=t.length-1);var n=t[r].offset;0<r&&n<Kt.secondsDifference(t[r].julianDate,e)&&(n=t[--r].offset),Kt.addSeconds(e,n,e)}function Ut(e,t){Pt.julianDate=e;var r=Kt.leapSeconds,n=qt(r,Pt,It);if(n<0&&(n=~n),0===n)return Kt.addSeconds(e,-r[0].offset,t);if(n>=r.length)return Kt.addSeconds(e,-r[n-1].offset,t);var a=Kt.secondsDifference(r[n].julianDate,e);return 0===a?Kt.addSeconds(e,-r[n].offset,t):a<=1?void 0:Kt.addSeconds(e,-r[--n].offset,t)}function Ft(e,t,r){var n=t/Rt.SECONDS_PER_DAY|0;return e+=n,(t-=Rt.SECONDS_PER_DAY*n)<0&&(e--,t+=Rt.SECONDS_PER_DAY),r.dayNumber=e,r.secondsOfDay=t,r}function Vt(e,t,r,n,a,i,o){var s=(t-14)/12|0,u=e+4800+s,c=(1461*u/4|0)+(367*(t-2-12*s)/12|0)-(3*((u+100)/100|0)/4|0)+r-32075;(n-=12)<0&&(n+=24);var l=i+(n*Rt.SECONDS_PER_HOUR+a*Rt.SECONDS_PER_MINUTE+o*Rt.SECONDS_PER_MILLISECOND);return 43200<=l&&--c,[c,l]}var Lt=/^(\d{4})$/,Bt=/^(\d{4})-(\d{2})$/,Wt=/^(\d{4})-?(\d{3})$/,Yt=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,Zt=/^(\d{4})-?(\d{2})-?(\d{2})$/,Ht=/([Z+\-])?(\d{2})?:?(\d{2})?$/,Xt=/^(\d{2})(\.\d+)?/.source+Ht.source,Jt=/^(\d{2}):?(\d{2})(\.\d+)?/.source+Ht.source,Gt=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+Ht.source,Qt="Invalid ISO 8601 date.";function Kt(e,t,r){this.dayNumber=void 0,this.secondsOfDay=void 0,e=D.defaultValue(e,0),t=D.defaultValue(t,0),r=D.defaultValue(r,Dt.UTC);var n=0|e;Ft(n,t+=(e-n)*Rt.SECONDS_PER_DAY,this),r===Dt.UTC&&Nt(this)}Kt.fromGregorianDate=function(e,t){if(!(e instanceof St))throw new Q.DeveloperError("date must be a valid GregorianDate.");var r=Vt(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return D.defined(t)?(Ft(r[0],r[1],t),Nt(t),t):new Kt(r[0],r[1],Dt.UTC)},Kt.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new Q.DeveloperError("date must be a valid JavaScript Date.");var r=Vt(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return D.defined(t)?(Ft(r[0],r[1],t),Nt(t),t):new Kt(r[0],r[1],Dt.UTC)},Kt.fromIso8601=function(e,t){if("string"!=typeof e)throw new Q.DeveloperError(Qt);var r,n,a,i,o=(e=e.replace(",",".")).split("T"),s=1,u=1,c=0,l=0,f=0,d=0,h=o[0],p=o[1];if(!D.defined(h))throw new Q.DeveloperError(Qt);if(null!==(o=h.match(Zt))){if(0<(y=h.split("-").length-1)&&2!==y)throw new Q.DeveloperError(Qt);r=+o[1],s=+o[2],u=+o[3]}else if(null!==(o=h.match(Bt)))r=+o[1],s=+o[2];else if(null!==(o=h.match(Lt)))r=+o[1];else{if(null!==(o=h.match(Wt))){if(r=+o[1],w=+o[2],a=Mt(r),w<1||a&&366<w||!a&&365<w)throw new Q.DeveloperError(Qt)}else{if(null===(o=h.match(Yt)))throw new Q.DeveloperError(Qt);r=+o[1];var y,m=+o[2],C=+o[3]||0;if(0<(y=h.split("-").length-1)&&(!D.defined(o[3])&&1!==y||D.defined(o[3])&&2!==y))throw new Q.DeveloperError(Qt);var w=7*m+C-new Date(Date.UTC(r,0,4)).getUTCDay()-3}(n=new Date(Date.UTC(r,0,1))).setUTCDate(w),s=n.getUTCMonth()+1,u=n.getUTCDate()}if(a=Mt(r),s<1||12<s||u<1||(2!==s||!a)&&zt[s-1]<u||a&&2===s&&29<u)throw new Q.DeveloperError(Qt);if(D.defined(p)){if(null!==(o=p.match(Gt))){if(0<(y=p.split(":").length-1)&&2!==y&&3!==y)throw new Q.DeveloperError(Qt);c=+o[1],l=+o[2],f=+o[3],d=1e3*(o[4]||0),i=5}else if(null!==(o=p.match(Jt))){if(2<(y=p.split(":").length-1))throw new Q.DeveloperError(Qt);c=+o[1],l=+o[2],f=60*(o[3]||0),i=4}else{if(null===(o=p.match(Xt)))throw new Q.DeveloperError(Qt);c=+o[1],l=60*(o[2]||0),i=3}if(60<=l||61<=f||24<c||24===c&&(0<l||0<f||0<d))throw new Q.DeveloperError(Qt);var O=o[i],v=+o[i+1],b=+(o[i+2]||0);switch(O){case"+":c-=v,l-=b;break;case"-":c+=v,l+=b;break;case"Z":break;default:l+=new Date(Date.UTC(r,s-1,u,c,l)).getTimezoneOffset()}}var g=60===f;for(g&&f--;60<=l;)l-=60,c++;for(;24<=c;)c-=24,u++;for(n=a&&2===s?29:zt[s-1];n<u;)u-=n,12<++s&&(s-=12,r++),n=a&&2===s?29:zt[s-1];for(;l<0;)l+=60,c--;for(;c<0;)c+=24,u--;for(;u<1;)--s<1&&(s+=12,r--),u+=n=a&&2===s?29:zt[s-1];var x=Vt(r,s,u,c,l,f,d);return D.defined(t)?(Ft(x[0],x[1],t),Nt(t)):t=new Kt(x[0],x[1],Dt.UTC),g&&Kt.addSeconds(t,1,t),t},Kt.now=function(e){return Kt.fromDate(new Date,e)};var $t=new Kt(0,0,Dt.TAI);function er(e){var t;e instanceof er?(this.scheme=e.scheme,this.authority=e.authority,this.path=e.path,this.query=e.query,this.fragment=e.fragment):e&&(t=tr.exec(e),this.scheme=t[1],this.authority=t[2],this.path=t[3],this.query=t[4],this.fragment=t[5])}Kt.toGregorianDate=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");var r=!1,n=Ut(e,$t);D.defined(n)||(Kt.addSeconds(e,-1,$t),n=Ut($t,$t),r=!0);var a=n.dayNumber,i=n.secondsOfDay;43200<=i&&(a+=1);var o=a+68569|0,s=4*o/146097|0,u=4e3*(1+(o=o-((146097*s+3)/4|0)|0))/1461001|0,c=80*(o=o-(1461*u/4|0)+31|0)/2447|0,l=o-(2447*c/80|0)|0,f=2+c-12*(o=c/11|0)|0,d=100*(s-49)+u+o|0,h=i/Rt.SECONDS_PER_HOUR|0,p=i-h*Rt.SECONDS_PER_HOUR,y=p/Rt.SECONDS_PER_MINUTE|0,m=0|(p-=y*Rt.SECONDS_PER_MINUTE),C=(p-m)/Rt.SECONDS_PER_MILLISECOND;return 23<(h+=12)&&(h-=24),r&&(m+=1),D.defined(t)?(t.year=d,t.month=f,t.day=l,t.hour=h,t.minute=y,t.second=m,t.millisecond=C,t.isLeapSecond=r,t):new St(d,f,l,h,y,m,C,r)},Kt.toDate=function(e){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");var t=Kt.toGregorianDate(e,At),r=t.second;return t.isLeapSecond&&--r,new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,r,t.millisecond))},Kt.toIso8601=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");var r=Kt.toGregorianDate(e,At),n=r.year,a=r.month,i=r.day,o=r.hour,s=r.minute,u=r.second,c=r.millisecond;return 1e4===n&&1===a&&1===i&&0===o&&0===s&&0===u&&0===c&&(n=9999,a=12,i=31,o=24),D.defined(t)||0===c?D.defined(t)&&0!==t?_t("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n,a,i,o,s,u,(.01*c).toFixed(t).replace(".","").slice(0,t)):_t("%04d-%02d-%02dT%02d:%02d:%02dZ",n,a,i,o,s,u):_t("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n,a,i,o,s,u,(.01*c).toString().replace(".",""))},Kt.clone=function(e,t){if(D.defined(e))return D.defined(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Kt(e.dayNumber,e.secondsOfDay,Dt.TAI)},Kt.compare=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("left is required.");if(!D.defined(t))throw new Q.DeveloperError("right is required.");var r=e.dayNumber-t.dayNumber;return 0!=r?r:e.secondsOfDay-t.secondsOfDay},Kt.equals=function(e,t){return e===t||D.defined(e)&&D.defined(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay},Kt.equalsEpsilon=function(e,t,r){return r=D.defaultValue(r,0),e===t||D.defined(e)&&D.defined(t)&&Math.abs(Kt.secondsDifference(e,t))<=r},Kt.totalDays=function(e){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");return e.dayNumber+e.secondsOfDay/Rt.SECONDS_PER_DAY},Kt.secondsDifference=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("left is required.");if(!D.defined(t))throw new Q.DeveloperError("right is required.");return(e.dayNumber-t.dayNumber)*Rt.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)},Kt.daysDifference=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("left is required.");if(!D.defined(t))throw new Q.DeveloperError("right is required.");return e.dayNumber-t.dayNumber+(e.secondsOfDay-t.secondsOfDay)/Rt.SECONDS_PER_DAY},Kt.computeTaiMinusUtc=function(e){Pt.julianDate=e;var t=Kt.leapSeconds,r=qt(t,Pt,It);return r<0&&(r=~r,--r<0&&(r=0)),t[r].offset},Kt.addSeconds=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");if(!D.defined(t))throw new Q.DeveloperError("seconds is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");return Ft(e.dayNumber,e.secondsOfDay+t,r)},Kt.addMinutes=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");if(!D.defined(t))throw new Q.DeveloperError("minutes is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");var n=e.secondsOfDay+t*Rt.SECONDS_PER_MINUTE;return Ft(e.dayNumber,n,r)},Kt.addHours=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");if(!D.defined(t))throw new Q.DeveloperError("hours is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");var n=e.secondsOfDay+t*Rt.SECONDS_PER_HOUR;return Ft(e.dayNumber,n,r)},Kt.addDays=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("julianDate is required.");if(!D.defined(t))throw new Q.DeveloperError("days is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");return Ft(e.dayNumber+t,e.secondsOfDay,r)},Kt.lessThan=function(e,t){return Kt.compare(e,t)<0},Kt.lessThanOrEquals=function(e,t){return Kt.compare(e,t)<=0},Kt.greaterThan=function(e,t){return 0<Kt.compare(e,t)},Kt.greaterThanOrEquals=function(e,t){return 0<=Kt.compare(e,t)},Kt.prototype.clone=function(e){return Kt.clone(this,e)},Kt.prototype.equals=function(e){return Kt.equals(this,e)},Kt.prototype.equalsEpsilon=function(e,t){return Kt.equalsEpsilon(this,e,t)},Kt.prototype.toString=function(){return Kt.toIso8601(this)},Kt.leapSeconds=[new Tt(new Kt(2441317,43210,Dt.TAI),10),new Tt(new Kt(2441499,43211,Dt.TAI),11),new Tt(new Kt(2441683,43212,Dt.TAI),12),new Tt(new Kt(2442048,43213,Dt.TAI),13),new Tt(new Kt(2442413,43214,Dt.TAI),14),new Tt(new Kt(2442778,43215,Dt.TAI),15),new Tt(new Kt(2443144,43216,Dt.TAI),16),new Tt(new Kt(2443509,43217,Dt.TAI),17),new Tt(new Kt(2443874,43218,Dt.TAI),18),new Tt(new Kt(2444239,43219,Dt.TAI),19),new Tt(new Kt(2444786,43220,Dt.TAI),20),new Tt(new Kt(2445151,43221,Dt.TAI),21),new Tt(new Kt(2445516,43222,Dt.TAI),22),new Tt(new Kt(2446247,43223,Dt.TAI),23),new Tt(new Kt(2447161,43224,Dt.TAI),24),new Tt(new Kt(2447892,43225,Dt.TAI),25),new Tt(new Kt(2448257,43226,Dt.TAI),26),new Tt(new Kt(2448804,43227,Dt.TAI),27),new Tt(new Kt(2449169,43228,Dt.TAI),28),new Tt(new Kt(2449534,43229,Dt.TAI),29),new Tt(new Kt(2450083,43230,Dt.TAI),30),new Tt(new Kt(2450630,43231,Dt.TAI),31),new Tt(new Kt(2451179,43232,Dt.TAI),32),new Tt(new Kt(2453736,43233,Dt.TAI),33),new Tt(new Kt(2454832,43234,Dt.TAI),34),new Tt(new Kt(2456109,43235,Dt.TAI),35),new Tt(new Kt(2457204,43236,Dt.TAI),36),new Tt(new Kt(2457754,43237,Dt.TAI),37)],er.prototype.scheme=null,er.prototype.authority=null,er.prototype.path="",er.prototype.query=null,er.prototype.fragment=null;var tr=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");er.prototype.getScheme=function(){return this.scheme},er.prototype.getAuthority=function(){return this.authority},er.prototype.getPath=function(){return this.path},er.prototype.getQuery=function(){return this.query},er.prototype.getFragment=function(){return this.fragment},er.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},er.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},er.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},er.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(ar,or).replace(rr,ir)),this.path&&(this.path=this.path.replace(rr,ir)),this.query&&(this.query=this.query.replace(rr,ir)),this.fragment&&(this.fragment=this.fragment.replace(rr,ir))};var rr=/%[0-9a-z]{2}/gi,nr=/[a-zA-Z0-9\-\._~]/,ar=/(.*@)?([^@:]*)(:.*)?/;function ir(e){var t=unescape(e);return nr.test(t)?t:e.toUpperCase()}function or(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}function sr(e,t){if(null===e||"object"!==_typeof(e))return e;t=D.defaultValue(t,!1);var r,n,a=new e.constructor;for(r in e){e.hasOwnProperty(r)&&(n=e[r],t&&(n=sr(n,t)),a[r]=n)}return a}function ur(e,t,r){r=D.defaultValue(r,!1);var n,a,i,o={},s=D.defined(e),u=D.defined(t);if(s)for(n in e)e.hasOwnProperty(n)&&(a=e[n],u&&r&&"object"===_typeof(a)&&t.hasOwnProperty(n)&&"object"===_typeof(i=t[n])?o[n]=ur(a,i,r):o[n]=a);if(u)for(n in t)t.hasOwnProperty(n)&&!o.hasOwnProperty(n)&&(i=t[n],o[n]=i);return o}function cr(e,t){var r;return"undefined"!=typeof document&&(r=document),cr._implementation(e,t,r)}er.prototype.resolve=function(e){var t=new er;return this.scheme?(t.scheme=this.scheme,t.authority=this.authority,t.path=this.path,t.query=this.query):(t.scheme=e.scheme,this.authority?(t.authority=this.authority,t.path=this.path,t.query=this.query):(t.authority=e.authority,""==this.path?(t.path=e.path,t.query=this.query||e.query):("/"==this.path.charAt(0)?t.path=this.path:e.authority&&""==e.path?t.path="/"+this.path:t.path=e.path.substring(0,e.path.lastIndexOf("/")+1)+this.path,t.removeDotSegments(),t.query=this.query))),t.fragment=this.fragment,t},er.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];n&&t.shift();for(""==t[0]&&t.shift();t.length;)".."==(e=t.shift())?r.pop():"."!=e&&r.push(e);"."!=e&&".."!=e||r.push(""),n&&r.unshift(""),this.path=r.join("/")},er.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},cr._implementation=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("relative uri is required.");if(!D.defined(t)){if(void 0===r)return e;t=D.defaultValue(r.baseURI,r.location.href)}var n=new er(t);return new er(e).resolve(n).toString()};var lr,fr=/^blob:/i;function dr(e){return Q.Check.typeOf.string("uri",e),fr.test(e)}var hr=/^data:/i;function pr(e){return Q.Check.typeOf.string("uri",e),hr.test(e)}var yr=Object.freeze({UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5}),mr=Object.freeze({TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3});function Cr(e){e=D.defaultValue(e,D.defaultValue.EMPTY_OBJECT);var t=D.defaultValue(e.throttleByServer,!1),r=D.defaultValue(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=D.defaultValue(e.priority,0),this.throttle=r,this.throttleByServer=t,this.type=D.defaultValue(e.type,mr.OTHER),this.serverKey=void 0,this.state=yr.UNISSUED,this.deferred=void 0,this.cancelled=!1}function wr(e,t,r){this.statusCode=e,this.response=t,this.responseHeaders=r,"string"==typeof this.responseHeaders&&(this.responseHeaders=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n<r.length;++n){var a,i,o=r[n],s=o.indexOf(": ");0<s&&(a=o.substring(0,s),i=o.substring(s+2),t[a]=i)}return t}(this.responseHeaders))}function Or(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}function vr(e,t){return t-e}function br(e){Q.Check.typeOf.object("options",e),Q.Check.defined("options.comparator",e.comparator),this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}function gr(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}Cr.prototype.cancel=function(){this.cancelled=!0},Cr.prototype.clone=function(e){return D.defined(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 Cr(this)},wr.prototype.toString=function(){var e="Request has failed.";return D.defined(this.statusCode)&&(e+=" Status Code: "+this.statusCode),e},Object.defineProperties(Or.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}}),Or.prototype.addEventListener=function(e,t){Q.Check.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);var r=this;return function(){r.removeEventListener(e,t)}},Or.prototype.removeEventListener=function(e,t){Q.Check.typeOf.func("listener",e);for(var r=this._listeners,n=this._scopes,a=-1,i=0;i<r.length;i++)if(r[i]===e&&n[i]===t){a=i;break}return-1!==a&&(this._insideRaiseEvent?(this._toRemove.push(a),r[a]=void 0,n[a]=void 0):(r.splice(a,1),n.splice(a,1)),!0)},Or.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;for(var e=this._listeners,t=this._scopes,r=e.length,n=0;n<r;n++){var a=e[n];D.defined(a)&&e[n].apply(t[n],arguments)}var i=this._toRemove;if(0<(r=i.length)){for(i.sort(vr),n=0;n<r;n++){var o=i[n];e.splice(o,1),t.splice(o,1)}i.length=0}this._insideRaiseEvent=!1},Object.defineProperties(br.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){Q.Check.typeOf.number.greaterThanOrEquals("maximumLength",e,0);var t=this._length;if(e<t){for(var r=this._array,n=e;n<t;++n)r[n]=void 0;this._length=e,r.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}}),br.prototype.reserve=function(e){e=D.defaultValue(e,this._length),this._array.length=e},br.prototype.heapify=function(e){e=D.defaultValue(e,0);for(var t=this._length,r=this._comparator,n=this._array,a=-1,i=!0;i;){var o=2*(e+1),s=o-1,a=s<t&&r(n[s],n[e])<0?s:e;o<t&&r(n[o],n[a])<0&&(a=o),a!==e?(gr(n,a,e),e=a):i=!1}},br.prototype.resort=function(){for(var e=this._length,t=Math.ceil(e/2);0<=t;--t)this.heapify(t)},br.prototype.insert=function(e){Q.Check.defined("element",e);var t,r=this._array,n=this._comparator,a=this._maximumLength,i=this._length++;for(i<r.length?r[i]=e:r.push(e);0!==i;){var o=Math.floor((i-1)/2);if(!(n(r[i],r[o])<0))break;gr(r,i,o),i=o}return D.defined(a)&&this._length>a&&(t=r[a],this._length=a),t},br.prototype.pop=function(e){if(e=D.defaultValue(e,0),0!==this._length){Q.Check.typeOf.number.lessThan("index",e,this._length);var t=this._array,r=t[e];return gr(t,e,--this._length),this.heapify(e),t[this._length]=void 0,r}};var xr={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},Er=20,kr=new br({comparator:function(e,t){return e.priority-t.priority}});kr.maximumLength=Er,kr.reserve(Er);var qr=[],jr={},_r="undefined"!=typeof document?new er(document.location.href):new er,Sr=new Or;function Mr(){}function Tr(e){D.defined(e.priorityFunction)&&(e.priority=e.priorityFunction())}function Rr(e){var t=D.defaultValue(Mr.requestsByServer[e],Mr.maximumRequestsPerServer);return jr[e]<t}function Dr(e){return e.state===yr.UNISSUED&&(e.state=yr.ISSUED,e.deferred=D.when.defer()),e.deferred.promise}function Ar(e){var t,r,n=Dr(e);return e.state=yr.ACTIVE,qr.push(e),++xr.numberOfActiveRequests,++xr.numberOfActiveRequestsEver,++jr[e.serverKey],e.requestFunction().then((r=e,function(e){var t;r.state!==yr.CANCELLED&&(t=r.deferred,--xr.numberOfActiveRequests,--jr[r.serverKey],Sr.raiseEvent(),r.state=yr.RECEIVED,r.deferred=void 0,t.resolve(e))})).otherwise((t=e,function(e){t.state!==yr.CANCELLED&&(++xr.numberOfFailedRequests,--xr.numberOfActiveRequests,--jr[t.serverKey],Sr.raiseEvent(e),t.state=yr.FAILED,t.deferred.reject(e))})),n}function zr(e){var t,r=e.state===yr.ACTIVE;e.state=yr.CANCELLED,++xr.numberOfCancelledRequests,D.defined(e.deferred)&&(t=e.deferred,e.deferred=void 0,t.reject()),r&&(--xr.numberOfActiveRequests,--jr[e.serverKey],++xr.numberOfCancelledActiveRequests),D.defined(e.cancelFunction)&&e.cancelFunction()}Mr.maximumRequests=50,Mr.maximumRequestsPerServer=6,Mr.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18},Mr.throttleRequests=!0,Mr.debugShowStatistics=!1,Mr.requestCompletedEvent=Sr,Object.defineProperties(Mr,{statistics:{get:function(){return xr}},priorityHeapLength:{get:function(){return Er},set:function(e){if(e<Er)for(;kr.length>e;){zr(kr.pop())}Er=e,kr.maximumLength=e,kr.reserve(e)}}}),Mr.update=function(){for(var e,t=0,r=qr.length,n=0;n<r;++n)(e=qr[n]).cancelled&&zr(e),e.state===yr.ACTIVE?0<t&&(qr[n-t]=e):++t;qr.length-=t;var a=kr.internalArray,i=kr.length;for(n=0;n<i;++n)Tr(a[n]);kr.resort();for(var o=Math.max(Mr.maximumRequests-qr.length,0),s=0;s<o&&0<kr.length;)!(e=kr.pop()).cancelled&&(!e.throttleByServer||Rr(e.serverKey))?(Ar(e),++s):zr(e);!function(){if(!Mr.debugShowStatistics)return;0===xr.numberOfActiveRequests&&0<xr.lastNumberOfActiveRequests&&(0<xr.numberOfAttemptedRequests&&(console.log("Number of attempted requests: "+xr.numberOfAttemptedRequests),xr.numberOfAttemptedRequests=0),0<xr.numberOfCancelledRequests&&(console.log("Number of cancelled requests: "+xr.numberOfCancelledRequests),xr.numberOfCancelledRequests=0),0<xr.numberOfCancelledActiveRequests&&(console.log("Number of cancelled active requests: "+xr.numberOfCancelledActiveRequests),xr.numberOfCancelledActiveRequests=0),0<xr.numberOfFailedRequests&&(console.log("Number of failed requests: "+xr.numberOfFailedRequests),xr.numberOfFailedRequests=0));xr.lastNumberOfActiveRequests=xr.numberOfActiveRequests}()},Mr.getServerKey=function(e){Q.Check.typeOf.string("url",e);var t=new er(e).resolve(_r);t.normalize();var r=t.authority;/:/.test(r)||(r=r+":"+("https"===t.scheme?"443":"80"));var n=jr[r];return D.defined(n)||(jr[r]=0),r},Mr.request=function(e){if(Q.Check.typeOf.object("request",e),Q.Check.typeOf.string("request.url",e.url),Q.Check.typeOf.func("request.requestFunction",e.requestFunction),pr(e.url)||dr(e.url))return Sr.raiseEvent(),e.state=yr.RECEIVED,e.requestFunction();if(++xr.numberOfAttemptedRequests,D.defined(e.serverKey)||(e.serverKey=Mr.getServerKey(e.url)),!Mr.throttleRequests||!e.throttleByServer||Rr(e.serverKey)){if(!Mr.throttleRequests||!e.throttle)return Ar(e);if(!(qr.length>=Mr.maximumRequests)){Tr(e);var t=kr.insert(e);if(D.defined(t)){if(t===e)return;zr(t)}return Dr(e)}}},Mr.clearForSpecs=function(){for(;0<kr.length;){zr(kr.pop())}for(var e=qr.length,t=0;t<e;++t)zr(qr[t]);qr.length=0,jr={},xr.numberOfAttemptedRequests=0,xr.numberOfActiveRequests=0,xr.numberOfCancelledRequests=0,xr.numberOfCancelledActiveRequests=0,xr.numberOfFailedRequests=0,xr.numberOfActiveRequestsEver=0,xr.lastNumberOfActiveRequests=0},Mr.numberOfActiveRequestsByServer=function(e){return jr[e]},Mr.requestHeap=kr;var Ir={},Pr={};Ir.add=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("host is required.");if(!D.defined(t)||t<=0)throw new Q.DeveloperError("port is required to be greater than 0.");var r=e.toLowerCase()+":"+t;D.defined(Pr[r])||(Pr[r]=!0)},Ir.remove=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("host is required.");if(!D.defined(t)||t<=0)throw new Q.DeveloperError("port is required to be greater than 0.");var r=e.toLowerCase()+":"+t;D.defined(Pr[r])&&delete Pr[r]},Ir.contains=function(e){if(!D.defined(e))throw new Q.DeveloperError("url is required.");var t=function(e){var t=new er(e);t.normalize();var r=t.getAuthority();if(D.defined(r)){if(-1!==r.indexOf("@")&&(r=r.split("@")[1]),-1===r.indexOf(":")){var n=t.getScheme();if(D.defined(n)||(n=(n=window.location.protocol).substring(0,n.length-1)),"http"===n)r+=":80";else{if("https"!==n)return;r+=":443"}}return r}}(e);return!(!D.defined(t)||!D.defined(Pr[t]))},Ir.clear=function(){Pr={}};var Nr,Ur=function(){try{var e=new XMLHttpRequest;return e.open("GET","#",!0),(e.responseType="blob")===e.responseType}catch(e){return!1}}();function Fr(e,t,r,n){var a,i,o=e.query;if(!D.defined(o)||0===o.length)return 1;a=-1===o.indexOf("=")?((i={})[o]=void 0,i):function(e){if(!D.defined(e))throw new Q.DeveloperError("queryString is required.");var t={};if(""===e)return t;for(var r=e.replace(/\+/g,"%20").split(/[&;]/),n=0,a=r.length;n<a;++n){var i=r[n].split("="),o=decodeURIComponent(i[0]),s=i[1],s=D.defined(s)?decodeURIComponent(s):"",u=t[o];"string"==typeof u?t[o]=[u,s]:Array.isArray(u)?u.push(s):t[o]=s}return t}(o),t._queryParameters=r?Wr(a,t._queryParameters,n):a,e.query=void 0}function Vr(e,t){var r=t._queryParameters,n=Object.keys(r);1!==n.length||D.defined(r[n[0]])?e.query=function(e){if(!D.defined(e))throw new Q.DeveloperError("obj is required.");var t,r="";for(t in e)if(e.hasOwnProperty(t)){var n=e[t],a=encodeURIComponent(t)+"=";if(Array.isArray(n))for(var i=0,o=n.length;i<o;++i)r+=a+encodeURIComponent(n[i])+"&";else r+=a+encodeURIComponent(n)+"&"}return r=r.slice(0,-1)}(r):e.query=n[0]}function Lr(e,t){return D.defined(e)?D.defined(e.clone)?e.clone():sr(e):t}function Br(e){if(e.state===yr.ISSUED||e.state===yr.ACTIVE)throw new X.RuntimeError("The Resource is already being fetched.");e.state=yr.UNISSUED,e.deferred=void 0}function Wr(e,t,r){if(!r)return ur(e,t);var n,a,i,o=sr(e,!0);for(n in t){t.hasOwnProperty(n)&&(a=o[n],i=t[n],D.defined(a)?(Array.isArray(a)||(a=o[n]=[a]),o[n]=a.concat(i)):o[n]=Array.isArray(i)?i.slice():i)}return o}function Yr(e){"string"==typeof(e=D.defaultValue(e,D.defaultValue.EMPTY_OBJECT))&&(e={url:e}),Q.Check.typeOf.string("options.url",e.url),this._url=void 0,this._templateValues=Lr(e.templateValues,{}),this._queryParameters=Lr(e.queryParameters,{}),this.headers=Lr(e.headers,{}),this.request=D.defaultValue(e.request,new Cr),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=D.defaultValue(e.retryAttempts,0),this._retryCount=0;var t=new er(e.url);Fr(t,this,!0,!0),t.fragment=void 0,this._url=t.toString()}function Zr(e){var r=e.resource,n=e.flipY,a=e.preferImageBitmap,i=r.request;i.url=r.url,i.requestFunction=function(){var e=!1;r.isDataUri||r.isBlobUri||(e=r.isCrossOriginUrl);var t=D.when.defer();return Yr._Implementations.createImage(i,e,t,n,a),t.promise};var t=Mr.request(i);if(D.defined(t))return t.otherwise(function(t){return i.state!==yr.FAILED?D.when.reject(t):r.retryOnError(t).then(function(e){return e?(i.state=yr.UNISSUED,i.deferred=void 0,Zr({resource:r,flipY:n,preferImageBitmap:a})):D.when.reject(t)})})}Yr.createIfNeeded=function(e){return e instanceof Yr?e.getDerivedResource({request:e.request}):"string"!=typeof e?e:new Yr({url:e})},Yr.supportsImageBitmapOptions=function(){if(D.defined(Nr))return Nr;if("function"!=typeof createImageBitmap)return Nr=D.when.resolve(!1);return Nr=Yr.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4////fwAJ+wP9CNHoHgAAAABJRU5ErkJggg=="}).then(function(e){return createImageBitmap(e,{imageOrientation:"flipY",premultiplyAlpha:"none"})}).then(function(e){return!0}).otherwise(function(){return!1})},Object.defineProperties(Yr,{isBlobSupported:{get:function(){return Ur}}}),Object.defineProperties(Yr.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){var t=new er(e);Fr(t,this,!1),t.fragment=void 0,this._url=t.toString()}},extension:{get:function(){return function(e){if(!D.defined(e))throw new Q.DeveloperError("uri is required.");var t=new er(e);t.normalize();var r=t.path,n=r.lastIndexOf("/");return-1!==n&&(r=r.substr(n+1)),r=-1===(n=r.lastIndexOf("."))?"":r.substr(n+1)}(this._url)}},isDataUri:{get:function(){return pr(this._url)}},isBlobUri:{get:function(){return dr(this._url)}},isCrossOriginUrl:{get:function(){return function(e){D.defined(lr)||(lr=document.createElement("a")),lr.href=window.location.href;var t=lr.host,r=lr.protocol;return lr.href=e,lr.href=lr.href,r!==lr.protocol||t!==lr.host}(this._url)}},hasHeaders:{get:function(){return 0<Object.keys(this.headers).length}}}),Yr.prototype.toString=function(){return this.getUrlComponent(!0,!0)},Yr.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;var r=new er(this._url);e&&Vr(r,this);var n=r.toString().replace(/%7B/g,"{").replace(/%7D/g,"}"),a=this._templateValues,n=n.replace(/{(.*?)}/g,function(e,t){var r=a[t];return D.defined(r)?encodeURIComponent(r):e});return t&&D.defined(this.proxy)&&(n=this.proxy.getURL(n)),n},Yr.prototype.setQueryParameters=function(e,t){this._queryParameters=t?Wr(this._queryParameters,e,!1):Wr(e,this._queryParameters,!1)},Yr.prototype.appendQueryParameters=function(e){this._queryParameters=Wr(e,this._queryParameters,!0)},Yr.prototype.setTemplateValues=function(e,t){this._templateValues=t?ur(this._templateValues,e):ur(e,this._templateValues)},Yr.prototype.getDerivedResource=function(e){var t,r=this.clone();return r._retryCount=0,D.defined(e.url)&&(Fr(t=new er(e.url),r,!0,D.defaultValue(e.preserveQueryParameters,!1)),t.fragment=void 0,r._url=t.resolve(new er(cr(this._url))).toString()),D.defined(e.queryParameters)&&(r._queryParameters=ur(e.queryParameters,r._queryParameters)),D.defined(e.templateValues)&&(r._templateValues=ur(e.templateValues,r.templateValues)),D.defined(e.headers)&&(r.headers=ur(e.headers,r.headers)),D.defined(e.proxy)&&(r.proxy=e.proxy),D.defined(e.request)&&(r.request=e.request),D.defined(e.retryCallback)&&(r.retryCallback=e.retryCallback),D.defined(e.retryAttempts)&&(r.retryAttempts=e.retryAttempts),r},Yr.prototype.retryOnError=function(e){var t=this.retryCallback;if("function"!=typeof t||this._retryCount>=this.retryAttempts)return D.when(!1);var r=this;return D.when(t(this,e)).then(function(e){return++r._retryCount,e})},Yr.prototype.clone=function(e){return D.defined(e)||(e=new Yr({url:this._url})),e._url=this._url,e._queryParameters=sr(this._queryParameters),e._templateValues=sr(this._templateValues),e.headers=sr(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e},Yr.prototype.getBaseUri=function(e){return function(e,t){if(!D.defined(e))throw new Q.DeveloperError("uri is required.");var r="",n=e.lastIndexOf("/");return-1!==n&&(r=e.substring(0,n+1)),t&&(e=new er(e),D.defined(e.query)&&(r+="?"+e.query),D.defined(e.fragment)&&(r+="#"+e.fragment)),r}(this.getUrlComponent(e),e)},Yr.prototype.appendForwardSlash=function(){var e;this._url=(0!==(e=this._url).length&&"/"===e[e.length-1]||(e+="/"),e)},Yr.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})},Yr.fetchArrayBuffer=function(e){return new Yr(e).fetchArrayBuffer()},Yr.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})},Yr.fetchBlob=function(e){return new Yr(e).fetchBlob()},Yr.prototype.fetchImage=function(e){e=D.defaultValue(e,D.defaultValue.EMPTY_OBJECT);var t=D.defaultValue(e.preferImageBitmap,!1),r=D.defaultValue(e.preferBlob,!1),n=D.defaultValue(e.flipY,!1);if(Br(this.request),!Ur||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!r)return Zr({resource:this,flipY:n,preferImageBitmap:t});var a,i,o,s=this.fetchBlob();return D.defined(s)?Yr.supportsImageBitmapOptions().then(function(e){return a=e&&t,s}).then(function(e){if(D.defined(e)){if(o=e,a)return Yr.createImageBitmapFromBlob(e,{flipY:n,premultiplyAlpha:!1});var t=window.URL.createObjectURL(e);return Zr({resource:i=new Yr({url:t}),flipY:n,preferImageBitmap:!1})}}).then(function(e){if(D.defined(e))return e.blob=o,a||window.URL.revokeObjectURL(i.url),e}).otherwise(function(e){return D.defined(i)&&window.URL.revokeObjectURL(i.url),e.blob=o,D.when.reject(e)}):void 0},Yr.fetchImage=function(e){return new Yr(e).fetchImage({flipY:e.flipY,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})},Yr.prototype.fetchText=function(){return this.fetch({responseType:"text"})},Yr.fetchText=function(e){return new Yr(e).fetchText()},Yr.prototype.fetchJson=function(){var e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(D.defined(e))return e.then(function(e){if(D.defined(e))return JSON.parse(e)})},Yr.fetchJson=function(e){return new Yr(e).fetchJson()},Yr.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})},Yr.fetchXML=function(e){return new Yr(e).fetchXML()},Yr.prototype.fetchJsonp=function(e){var t;for(e=D.defaultValue(e,"callback"),Br(this.request);t="loadJsonp"+Math.random().toString().substring(2,8),D.defined(window[t]););return function r(n,a,i){var e={};e[a]=i;n.setQueryParameters(e);var o=n.request;o.url=n.url;o.requestFunction=function(){var t=D.when.defer();return window[i]=function(e){t.resolve(e);try{delete window[i]}catch(e){window[i]=void 0}},Yr._Implementations.loadAndExecuteScript(n.url,i,t),t.promise};var t=Mr.request(o);if(!D.defined(t))return;return t.otherwise(function(t){return o.state!==yr.FAILED?D.when.reject(t):n.retryOnError(t).then(function(e){return e?(o.state=yr.UNISSUED,o.deferred=void 0,r(n,a,i)):D.when.reject(t)})})}(this,e,t)},Yr.fetchJsonp=function(e){return new Yr(e).fetchJsonp(e.callbackParameterName)},Yr.prototype._makeRequest=function(s){var u=this;Br(u.request);var c=u.request;c.url=u.url,c.requestFunction=function(){var e=s.responseType,t=ur(s.headers,u.headers),r=s.overrideMimeType,n=s.method,a=s.data,i=D.when.defer(),o=Yr._Implementations.loadWithXhr(u.url,e,n,a,t,i,r);return D.defined(o)&&D.defined(o.abort)&&(c.cancelFunction=function(){o.abort()}),i.promise};var e=Mr.request(c);if(D.defined(e))return e.then(function(e){return c.cancelFunction=void 0,e}).otherwise(function(t){return c.cancelFunction=void 0,c.state!==yr.FAILED?D.when.reject(t):u.retryOnError(t).then(function(e){return e?(c.state=yr.UNISSUED,c.deferred=void 0,u.fetch(s)):D.when.reject(t)})})};var Hr=/^data:(.*?)(;base64)?,(.*)$/;function Xr(e,t){var r=decodeURIComponent(t);return e?atob(r):r}function Jr(e,t){for(var r=Xr(e,t),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return n}function Gr(e,t){switch(t){case"text":return e.toString("utf8");case"json":return JSON.parse(e.toString("utf8"));default:return new Uint8Array(e).buffer}}Yr.prototype.fetch=function(e){return(e=Lr(e,{})).method="GET",this._makeRequest(e)},Yr.fetch=function(e){return new Yr(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yr.prototype.delete=function(e){return(e=Lr(e,{})).method="DELETE",this._makeRequest(e)},Yr.delete=function(e){return new Yr(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})},Yr.prototype.head=function(e){return(e=Lr(e,{})).method="HEAD",this._makeRequest(e)},Yr.head=function(e){return new Yr(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yr.prototype.options=function(e){return(e=Lr(e,{})).method="OPTIONS",this._makeRequest(e)},Yr.options=function(e){return new Yr(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yr.prototype.post=function(e,t){return Q.Check.defined("data",e),(t=Lr(t,{})).method="POST",t.data=e,this._makeRequest(t)},Yr.post=function(e){return new Yr(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yr.prototype.put=function(e,t){return Q.Check.defined("data",e),(t=Lr(t,{})).method="PUT",t.data=e,this._makeRequest(t)},Yr.put=function(e){return new Yr(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yr.prototype.patch=function(e,t){return Q.Check.defined("data",e),(t=Lr(t,{})).method="PATCH",t.data=e,this._makeRequest(t)},Yr.patch=function(e){return new Yr(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},(Yr._Implementations={}).createImage=function(s,u,c,l,f){var d=s.url;Yr.supportsImageBitmapOptions().then(function(e){if(!e||!f)return t=d,r=u,n=c,(a=new Image).onload=function(){n.resolve(a)},a.onerror=function(e){n.reject(e)},r&&(Ir.contains(t)?a.crossOrigin="use-credentials":a.crossOrigin=""),void(a.src=t);var t,r,n,a,i=D.when.defer(),o=Yr._Implementations.loadWithXhr(d,"blob","GET",void 0,void 0,i,void 0,void 0,void 0);return D.defined(o)&&D.defined(o.abort)&&(s.cancelFunction=function(){o.abort()}),i.promise.then(function(e){return D.defined(e)?Yr.createImageBitmapFromBlob(e,{flipY:l,premultiplyAlpha:!1}):void c.reject(new X.RuntimeError("Successfully retrieved "+d+" but it contained no content."))}).then(c.resolve)}).otherwise(c.reject)},Yr.createImageBitmapFromBlob=function(e,t){return Q.Check.defined("options",t),Q.Check.typeOf.bool("options.flipY",t.flipY),Q.Check.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none"})};var Qr="undefined"==typeof XMLHttpRequest;function Kr(e){var t,r;e=D.defaultValue(e,D.defaultValue.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=D.defaultValue(e.addNewLeapSeconds,!0),D.defined(e.data)?en(this,e.data):D.defined(e.url)?(t=Yr.createIfNeeded(e.url),(r=this)._downloadPromise=t.fetchJson().then(function(e){en(r,e)}).otherwise(function(){r._dataError="An error occurred while retrieving the EOP data from the URL "+t.url+"."})):en(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}function $r(e,t){return Kt.compare(e.julianDate,t)}function en(e,t){if(D.defined(t.columnNames))if(D.defined(t.samples)){var r=t.columnNames.indexOf("modifiedJulianDateUtc"),n=t.columnNames.indexOf("xPoleWanderRadians"),a=t.columnNames.indexOf("yPoleWanderRadians"),i=t.columnNames.indexOf("ut1MinusUtcSeconds"),o=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),s=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),u=t.columnNames.indexOf("taiMinusUtcSeconds");if(r<0||n<0||a<0||i<0||o<0||s<0||u<0)e._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns";else{var c,l=e._samples=t.samples,f=e._dates=[];e._dateColumn=r,e._xPoleWanderRadiansColumn=n,e._yPoleWanderRadiansColumn=a,e._ut1MinusUtcSecondsColumn=i,e._xCelestialPoleOffsetRadiansColumn=o,e._yCelestialPoleOffsetRadiansColumn=s,e._taiMinusUtcSecondsColumn=u,e._columnCount=t.columnNames.length,e._lastIndex=void 0;for(var d=e._addNewLeapSeconds,h=0,p=l.length;h<p;h+=e._columnCount){var y,m,C,w=l[h+r],O=l[h+u],v=new Kt(w+Rt.MODIFIED_JULIAN_DATE_DIFFERENCE,O,Dt.TAI);f.push(v),d&&(O===c||!D.defined(c)||(m=qt(y=Kt.leapSeconds,v,$r))<0&&(C=new Tt(v,O),y.splice(~m,0,C)),c=O)}}}else e._dataError="Error in loaded EOP data: The samples property is required.";else e._dataError="Error in loaded EOP data: The columnNames property is required."}function tn(e,t,r,n,a){var i=r*n;a.xPoleWander=t[i+e._xPoleWanderRadiansColumn],a.yPoleWander=t[i+e._yPoleWanderRadiansColumn],a.xPoleOffset=t[i+e._xCelestialPoleOffsetRadiansColumn],a.yPoleOffset=t[i+e._yCelestialPoleOffsetRadiansColumn],a.ut1MinusUtc=t[i+e._ut1MinusUtcSecondsColumn]}function rn(e,t,r){return t+e*(r-t)}function nn(e,t,r,n,a,i,o){var s=e._columnCount;if(i>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[a],c=t[i];if(u.equals(c)||n.equals(u))return tn(e,r,a,s,o),o;if(n.equals(c))return tn(e,r,i,s,o),o;var l,f,d=Kt.secondsDifference(n,u)/Kt.secondsDifference(c,u),h=a*s,p=i*s,y=r[h+e._ut1MinusUtcSecondsColumn],m=r[p+e._ut1MinusUtcSecondsColumn],C=m-y;return!(.5<C||C<-.5)||(l=r[h+e._taiMinusUtcSecondsColumn])!==(f=r[p+e._taiMinusUtcSecondsColumn])&&(c.equals(n)?y=m:m-=f-l),o.xPoleWander=rn(d,r[h+e._xPoleWanderRadiansColumn],r[p+e._xPoleWanderRadiansColumn]),o.yPoleWander=rn(d,r[h+e._yPoleWanderRadiansColumn],r[p+e._yPoleWanderRadiansColumn]),o.xPoleOffset=rn(d,r[h+e._xCelestialPoleOffsetRadiansColumn],r[p+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=rn(d,r[h+e._yCelestialPoleOffsetRadiansColumn],r[p+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=rn(d,y,m),o}function an(e,t,r){this.heading=D.defaultValue(e,0),this.pitch=D.defaultValue(t,0),this.roll=D.defaultValue(r,0)}Yr._Implementations.loadWithXhr=function(e,a,i,t,r,o,n){var s=Hr.exec(e);if(null===s){if(Qr)return u=e,c=a,l=i,f=r,d=o,h=require("url").parse(u),p="https:"===h.protocol?require("https"):require("http"),y=require("zlib"),m={protocol:h.protocol,hostname:h.hostname,port:h.port,path:h.path,query:h.query,method:l,headers:f},void p.request(m).on("response",function(t){var r;t.statusCode<200||300<=t.statusCode?d.reject(new wr(t.statusCode,t,t.headers)):(r=[],t.on("data",function(e){r.push(e)}),t.on("end",function(){var e=Buffer.concat(r);"gzip"===t.headers["content-encoding"]?y.gunzip(e,function(e,t){e?d.reject(new X.RuntimeError("Error decompressing response.")):d.resolve(Gr(t,c))}):d.resolve(Gr(e,c))}))}).on("error",function(e){d.reject(new wr)}).end();var u,c,l,f,d,h,p,y,m,C=new XMLHttpRequest;if(Ir.contains(e)&&(C.withCredentials=!0),C.open(i,e,!0),D.defined(n)&&D.defined(C.overrideMimeType)&&C.overrideMimeType(n),D.defined(r))for(var w in r)r.hasOwnProperty(w)&&C.setRequestHeader(w,r[w]);D.defined(a)&&(C.responseType=a);var O=!1;return"string"==typeof e&&(O=0===e.indexOf("file://")||"undefined"!=typeof window&&"file://"===window.location.origin),C.onload=function(){if(!(C.status<200||300<=C.status)||O&&0===C.status){var e=C.response,t=C.responseType;if("HEAD"===i||"OPTIONS"===i){var r=C.getAllResponseHeaders().trim().split(/[\r\n]+/),n={};return r.forEach(function(e){var t=e.split(": "),r=t.shift();n[r]=t.join(": ")}),void o.resolve(n)}if(204===C.status)o.resolve();else if(!D.defined(e)||D.defined(a)&&t!==a)if("json"===a&&"string"==typeof e)try{o.resolve(JSON.parse(e))}catch(e){o.reject(e)}else(""===t||"document"===t)&&D.defined(C.responseXML)&&C.responseXML.hasChildNodes()?o.resolve(C.responseXML):""!==t&&"text"!==t||!D.defined(C.responseText)?o.reject(new X.RuntimeError("Invalid XMLHttpRequest response type.")):o.resolve(C.responseText);else o.resolve(e)}else o.reject(new wr(C.status,C.response,C.getAllResponseHeaders()))},C.onerror=function(e){o.reject(new wr)},C.send(t),C}o.resolve(function(e,t){t=D.defaultValue(t,"");var r=e[1],n=!!e[2],a=e[3];switch(t){case"":case"text":return Xr(n,a);case"arraybuffer":return Jr(n,a);case"blob":var i=Jr(n,a);return new Blob([i],{type:r});case"document":return(new DOMParser).parseFromString(Xr(n,a),r);case"json":return JSON.parse(Xr(n,a));default:throw new Q.DeveloperError("Unhandled responseType: "+t)}}(s,a))},Yr._Implementations.loadAndExecuteScript=function(e,t,r){return function(e){var t=D.when.defer(),r=document.createElement("script");r.async=!0,r.src=e;var n=document.getElementsByTagName("head")[0];return r.onload=function(){r.onload=void 0,n.removeChild(r),t.resolve()},r.onerror=function(e){t.reject(e)},n.appendChild(r),t.promise}(e).otherwise(r.reject)},(Yr._DefaultImplementations={}).createImage=Yr._Implementations.createImage,Yr._DefaultImplementations.loadWithXhr=Yr._Implementations.loadWithXhr,Yr._DefaultImplementations.loadAndExecuteScript=Yr._Implementations.loadAndExecuteScript,Yr.DEFAULT=Object.freeze(new Yr({url:"undefined"==typeof document?"":document.location.href.split("?")[0]})),Kr.NONE=Object.freeze({getPromiseToLoad:function(){return D.when.resolve()},compute:function(e,t){return D.defined(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new jt(0,0,0,0,0),t}}),Kr.prototype.getPromiseToLoad=function(){return D.when(this._downloadPromise)},Kr.prototype.compute=function(e,t){if(D.defined(this._samples)){if(D.defined(t)||(t=new jt(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;var r=this._dates,n=this._lastIndex,a=0,i=0;if(D.defined(n)){var o=r[n],s=r[n+1],u=Kt.lessThanOrEquals(o,e),c=!D.defined(s),l=c||Kt.greaterThanOrEquals(s,e);if(u&&l)return a=n,!c&&s.equals(e)&&++a,i=a+1,nn(this,r,this._samples,e,a,i,t),t}var f=qt(r,e,Kt.compare,this._dateColumn);return 0<=f?(f<r.length-1&&r[f+1].equals(e)&&++f,i=a=f):(a=(i=~f)-1)<0&&(a=0),this._lastIndex=a,nn(this,r,this._samples,e,a,i,t),t}if(D.defined(this._dataError))throw new X.RuntimeError(this._dataError)},an.fromQuaternion=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("quaternion is required");D.defined(t)||(t=new an);var r=2*(e.w*e.y-e.z*e.x),n=1-2*(e.x*e.x+e.y*e.y),a=2*(e.w*e.x+e.y*e.z),i=1-2*(e.y*e.y+e.z*e.z),o=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(o,i),t.roll=Math.atan2(a,n),t.pitch=-H.CesiumMath.asinClamped(r),t},an.fromDegrees=function(e,t,r,n){if(!D.defined(e))throw new Q.DeveloperError("heading is required");if(!D.defined(t))throw new Q.DeveloperError("pitch is required");if(!D.defined(r))throw new Q.DeveloperError("roll is required");return D.defined(n)||(n=new an),n.heading=e*H.CesiumMath.RADIANS_PER_DEGREE,n.pitch=t*H.CesiumMath.RADIANS_PER_DEGREE,n.roll=r*H.CesiumMath.RADIANS_PER_DEGREE,n},an.clone=function(e,t){if(D.defined(e))return D.defined(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new an(e.heading,e.pitch,e.roll)},an.equals=function(e,t){return e===t||D.defined(e)&&D.defined(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll},an.equalsEpsilon=function(e,t,r,n){return e===t||D.defined(e)&&D.defined(t)&&H.CesiumMath.equalsEpsilon(e.heading,t.heading,r,n)&&H.CesiumMath.equalsEpsilon(e.pitch,t.pitch,r,n)&&H.CesiumMath.equalsEpsilon(e.roll,t.roll,r,n)},an.prototype.clone=function(e){return an.clone(this,e)},an.prototype.equals=function(e){return an.equals(this,e)},an.prototype.equalsEpsilon=function(e,t,r){return an.equalsEpsilon(this,e,t,r)},an.prototype.toString=function(){return"("+this.heading+", "+this.pitch+", "+this.roll+")"};var on,sn,un,cn=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function ln(e){return"undefined"==typeof document?e:(D.defined(on)||(on=document.createElement("a")),on.href=e,on.href=on.href,on.href)}function fn(){if(D.defined(sn))return sn;var e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:"object"===("undefined"==typeof define?"undefined":_typeof(define))&&D.defined(define.amd)&&!define.amd.toUrlUndefined&&D.defined(require.toUrl)?cr("..",pn("Core/buildModuleUrl.js")):function(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;t<r;++t){var n=e[t].getAttribute("src"),a=cn.exec(n);if(null!==a)return a[1]}}();if(!D.defined(e))throw new Q.DeveloperError("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return(sn=new Yr({url:ln(e)})).appendForwardSlash(),sn}function dn(e){return ln(require.toUrl("../"+e))}function hn(e){return fn().getDerivedResource({url:e}).url}function pn(e){return D.defined(un)||(un="object"===("undefined"==typeof define?"undefined":_typeof(define))&&D.defined(define.amd)&&!define.amd.toUrlUndefined&&D.defined(require.toUrl)?dn:hn),un(e)}function yn(e,t,r){this.x=e,this.y=t,this.s=r}function mn(e){e=D.defaultValue(e,D.defaultValue.EMPTY_OBJECT),this._xysFileUrlTemplate=Yr.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=D.defaultValue(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=D.defaultValue(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new Kt(this._sampleZeroJulianEphemerisDate,0,Dt.TAI),this._stepSizeDays=D.defaultValue(e.stepSizeDays,1),this._samplesPerXysFile=D.defaultValue(e.samplesPerXysFile,1e3),this._totalSamples=D.defaultValue(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var t=this._interpolationOrder,r=this._denominators=new Array(t+1),n=this._xTable=new Array(t+1),a=Math.pow(this._stepSizeDays,t),i=0;i<=t;++i){r[i]=a,n[i]=i*this._stepSizeDays;for(var o=0;o<=t;++o)o!==i&&(r[i]*=i-o);r[i]=1/r[i]}this._work=new Array(t+1),this._coef=new Array(t+1)}pn._cesiumScriptRegex=cn,pn._buildModuleUrlFromBaseUrl=hn,pn._clearBaseResource=function(){sn=void 0},pn.setBaseUrl=function(e){sn=Yr.DEFAULT.getDerivedResource({url:e})},pn.getCesiumBaseUrl=fn;var Cn=new Kt(0,0,Dt.TAI);function wn(e,t,r){var n=Cn;return n.dayNumber=t,n.secondsOfDay=r,Kt.daysDifference(n,e._sampleZeroDateTT)}function On(o,s){if(o._chunkDownloadsInProgress[s])return o._chunkDownloadsInProgress[s];var u=D.when.defer();o._chunkDownloadsInProgress[s]=u;var e=o._xysFileUrlTemplate,t=D.defined(e)?e.getDerivedResource({templateValues:{0:s}}):new Yr({url:pn("Assets/IAU2006_XYS/IAU2006_XYS_"+s+".json")});return D.when(t.fetchJson(),function(e){o._chunkDownloadsInProgress[s]=!1;for(var t=o._samples,r=e.samples,n=s*o._samplesPerXysFile*3,a=0,i=r.length;a<i;++a)t[n+a]=r[a];u.resolve()}),u.promise}mn.prototype.preload=function(e,t,r,n){var a=wn(this,e,t),i=wn(this,r,n),o=a/this._stepSizeDays-this._interpolationOrder/2|0;o<0&&(o=0);var s=i/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;s>=this._totalSamples&&(s=this._totalSamples-1);for(var u=o/this._samplesPerXysFile|0,c=s/this._samplesPerXysFile|0,l=[],f=u;f<=c;++f)l.push(On(this,f));return D.when.all(l)},mn.prototype.computeXysRadians=function(e,t,r){var n=wn(this,e,t);if(!(n<0)){var a=n/this._stepSizeDays|0;if(!(a>=this._totalSamples)){var i=this._interpolationOrder,o=a-(i/2|0);o<0&&(o=0);var s=o+i;s>=this._totalSamples&&(o=(s=this._totalSamples-1)-i)<0&&(o=0);var u=!1,c=this._samples;if(D.defined(c[3*o])||(On(this,o/this._samplesPerXysFile|0),u=!0),D.defined(c[3*s])||(On(this,s/this._samplesPerXysFile|0),u=!0),!u){D.defined(r)?(r.x=0,r.y=0,r.s=0):r=new yn(0,0,0);for(var l,f=n-o*this._stepSizeDays,d=this._work,h=this._denominators,p=this._coef,y=this._xTable,m=0;m<=i;++m)d[m]=f-y[m];for(m=0;m<=i;++m){for(p[m]=1,l=0;l<=i;++l)l!==m&&(p[m]*=d[l]);p[m]*=h[m];var C=3*(o+m);r.x+=p[m]*c[C++],r.y+=p[m]*c[C++],r.s+=p[m]*c[C]}return r}}}};var vn={},bn={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"}},gn={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},xn={},En={east:new A.Cartesian3,north:new A.Cartesian3,up:new A.Cartesian3,west:new A.Cartesian3,south:new A.Cartesian3,down:new A.Cartesian3},kn=new A.Cartesian3,qn=new A.Cartesian3,jn=new A.Cartesian3;vn.localFrameToFixedFrameGenerator=function(o,s){if(!bn.hasOwnProperty(o)||!bn[o].hasOwnProperty(s))throw new Q.DeveloperError("firstAxis and secondAxis must be east, north, up, west, south or down.");var e,u=bn[o][s],t=o+s;return D.defined(xn[t])?e=xn[t]:(e=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("origin is required.");var n,a,i;return D.defined(r)||(r=new K),A.Cartesian3.equalsEpsilon(e,A.Cartesian3.ZERO,H.CesiumMath.EPSILON14)?(A.Cartesian3.unpack(gn[o],0,kn),A.Cartesian3.unpack(gn[s],0,qn),A.Cartesian3.unpack(gn[u],0,jn)):H.CesiumMath.equalsEpsilon(e.x,0,H.CesiumMath.EPSILON14)&&H.CesiumMath.equalsEpsilon(e.y,0,H.CesiumMath.EPSILON14)?(n=H.CesiumMath.sign(e.z),A.Cartesian3.unpack(gn[o],0,kn),"east"!==o&&"west"!==o&&A.Cartesian3.multiplyByScalar(kn,n,kn),A.Cartesian3.unpack(gn[s],0,qn),"east"!==s&&"west"!==s&&A.Cartesian3.multiplyByScalar(qn,n,qn),A.Cartesian3.unpack(gn[u],0,jn),"east"!==u&&"west"!==u&&A.Cartesian3.multiplyByScalar(jn,n,jn)):((t=D.defaultValue(t,A.Ellipsoid.WGS84)).geodeticSurfaceNormal(e,En.up),a=En.up,(i=En.east).x=-e.y,i.y=e.x,i.z=0,A.Cartesian3.normalize(i,En.east),A.Cartesian3.cross(a,i,En.north),A.Cartesian3.multiplyByScalar(En.up,-1,En.down),A.Cartesian3.multiplyByScalar(En.east,-1,En.west),A.Cartesian3.multiplyByScalar(En.north,-1,En.south),kn=En[o],qn=En[s],jn=En[u]),r[0]=kn.x,r[1]=kn.y,r[2]=kn.z,r[3]=0,r[4]=qn.x,r[5]=qn.y,r[6]=qn.z,r[7]=0,r[8]=jn.x,r[9]=jn.y,r[10]=jn.z,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,r},xn[t]=e),e},vn.eastNorthUpToFixedFrame=vn.localFrameToFixedFrameGenerator("east","north"),vn.northEastDownToFixedFrame=vn.localFrameToFixedFrameGenerator("north","east"),vn.northUpEastToFixedFrame=vn.localFrameToFixedFrameGenerator("north","up"),vn.northWestUpToFixedFrame=vn.localFrameToFixedFrameGenerator("north","west");var _n=new Ge,Sn=new A.Cartesian3(1,1,1),Mn=new K;vn.headingPitchRollToFixedFrame=function(e,t,r,n,a){Q.Check.typeOf.object("HeadingPitchRoll",t),n=D.defaultValue(n,vn.eastNorthUpToFixedFrame);var i=Ge.fromHeadingPitchRoll(t,_n),o=K.fromTranslationQuaternionRotationScale(A.Cartesian3.ZERO,i,Sn,Mn);return a=n(e,r,a),K.multiply(a,o,a)};var Tn=new K,Rn=new J;vn.headingPitchRollQuaternion=function(e,t,r,n,a){Q.Check.typeOf.object("HeadingPitchRoll",t);var i=vn.headingPitchRollToFixedFrame(e,t,r,n,Tn),o=K.getMatrix3(i,Rn);return Ge.fromRotationMatrix(o,a)};var Dn=new A.Cartesian3(1,1,1),An=new A.Cartesian3,zn=new K,In=new K,Pn=new J,Nn=new Ge;vn.fixedFrameToHeadingPitchRoll=function(e,t,r,n){Q.Check.defined("transform",e),t=D.defaultValue(t,A.Ellipsoid.WGS84),r=D.defaultValue(r,vn.eastNorthUpToFixedFrame),D.defined(n)||(n=new an);var a=K.getTranslation(e,An);if(A.Cartesian3.equals(a,A.Cartesian3.ZERO))return n.heading=0,n.pitch=0,n.roll=0,n;var i=K.inverseTransformation(r(a,t,zn),zn),o=K.setScale(e,Dn,In),o=K.setTranslation(o,A.Cartesian3.ZERO,o),i=K.multiply(i,o,i),s=Ge.fromRotationMatrix(K.getMatrix3(i,Pn),Nn),s=Ge.normalize(s,s);return an.fromQuaternion(s,n)};var Un=H.CesiumMath.TWO_PI/86400,Fn=new Kt;vn.computeTemeToPseudoFixedMatrix=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("date is required.");var r=(Fn=Kt.addSeconds(e,-Kt.computeTaiMinusUtc(e),Fn)).dayNumber,n=Fn.secondsOfDay,a=r-2451545,i=43200<=n?(.5+a)/Rt.DAYS_PER_JULIAN_CENTURY:(a-.5)/Rt.DAYS_PER_JULIAN_CENTURY,o=(24110.54841+i*(8640184.812866+i*(.093104+-62e-7*i)))*Un%H.CesiumMath.TWO_PI+(72921158553e-15+11772758384668e-32*(r-2451545.5))*((n+.5*Rt.SECONDS_PER_DAY)%Rt.SECONDS_PER_DAY),s=Math.cos(o),u=Math.sin(o);return D.defined(t)?(t[0]=s,t[1]=-u,t[2]=0,t[3]=u,t[4]=s,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new J(s,u,0,-u,s,0,0,0,1)},vn.iau2006XysData=new mn,vn.earthOrientationParameters=Kr.NONE;var Vn=32.184;vn.preloadIcrfFixed=function(e){var t=e.start.dayNumber,r=e.start.secondsOfDay+Vn,n=e.stop.dayNumber,a=e.stop.secondsOfDay+Vn,i=vn.iau2006XysData.preload(t,r,n,a),o=vn.earthOrientationParameters.getPromiseToLoad();return D.when.all([i,o])},vn.computeIcrfToFixedMatrix=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("date is required.");D.defined(t)||(t=new J);var r=vn.computeFixedToIcrfMatrix(e,t);if(D.defined(r))return J.transpose(r,t)};var Ln=new yn(0,0,0),Bn=new jt(0,0,0,0,0),Wn=new J,Yn=new J;vn.computeFixedToIcrfMatrix=function(e,t){if(!D.defined(e))throw new Q.DeveloperError("date is required.");D.defined(t)||(t=new J);var r=vn.earthOrientationParameters.compute(e,Bn);if(D.defined(r)){var n=e.dayNumber,a=e.secondsOfDay+Vn,i=vn.iau2006XysData.computeXysRadians(n,a,Ln);if(D.defined(i)){var o=i.x+r.xPoleOffset,s=i.y+r.yPoleOffset,u=1/(1+Math.sqrt(1-o*o-s*s)),c=Wn;c[0]=1-u*o*o,c[3]=-u*o*s,c[6]=o,c[1]=-u*o*s,c[4]=1-u*s*s,c[7]=s,c[2]=-o,c[5]=-s,c[8]=1-u*(o*o+s*s);var l=J.fromRotationZ(-i.s,Yn),f=J.multiply(c,l,Wn),d=e.dayNumber-2451545,h=(e.secondsOfDay-Kt.computeTaiMinusUtc(e)+r.ut1MinusUtc)/Rt.SECONDS_PER_DAY,p=(p=.779057273264+h+.00273781191135448*(d+h))%1*H.CesiumMath.TWO_PI,y=J.fromRotationZ(p,Yn),m=J.multiply(f,y,Wn),C=Math.cos(r.xPoleWander),w=Math.cos(r.yPoleWander),O=Math.sin(r.xPoleWander),v=Math.sin(r.yPoleWander),b=n-2451545+a/Rt.SECONDS_PER_DAY,g=-47e-6*(b/=36525)*H.CesiumMath.RADIANS_PER_DEGREE/3600,x=Math.cos(g),E=Math.sin(g),k=Yn;return k[0]=C*x,k[1]=C*E,k[2]=O,k[3]=-w*E+v*O*x,k[4]=w*x+v*O*E,k[5]=-v*C,k[6]=-v*E-w*O*x,k[7]=v*x-w*O*E,k[8]=w*C,J.multiply(m,k,t)}}};var Zn=new G;vn.pointToWindowCoordinates=function(e,t,r,n){return(n=vn.pointToGLWindowCoordinates(e,t,r,n)).y=2*t[5]-n.y,n},vn.pointToGLWindowCoordinates=function(e,t,r,n){if(!D.defined(e))throw new Q.DeveloperError("modelViewProjectionMatrix is required.");if(!D.defined(t))throw new Q.DeveloperError("viewportTransformation is required.");if(!D.defined(r))throw new Q.DeveloperError("point is required.");D.defined(n)||(n=new A.Cartesian2);var a=Zn;return K.multiplyByVector(e,G.fromElements(r.x,r.y,r.z,1,a),a),G.multiplyByScalar(a,1/a.w,a),K.multiplyByVector(t,a,a),A.Cartesian2.fromCartesian4(a,n)};var Hn=new A.Cartesian3,Xn=new A.Cartesian3,Jn=new A.Cartesian3;vn.rotationMatrixFromPositionVelocity=function(e,t,r,n){if(!D.defined(e))throw new Q.DeveloperError("position is required.");if(!D.defined(t))throw new Q.DeveloperError("velocity is required.");var a=D.defaultValue(r,A.Ellipsoid.WGS84).geodeticSurfaceNormal(e,Hn),i=A.Cartesian3.cross(t,a,Xn);A.Cartesian3.equalsEpsilon(i,A.Cartesian3.ZERO,H.CesiumMath.EPSILON6)&&(i=A.Cartesian3.clone(A.Cartesian3.UNIT_X,i));var o=A.Cartesian3.cross(i,t,Jn);return A.Cartesian3.normalize(o,o),A.Cartesian3.cross(t,o,i),A.Cartesian3.negate(i,i),A.Cartesian3.normalize(i,i),D.defined(n)||(n=new J),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=i.x,n[4]=i.y,n[5]=i.z,n[6]=o.x,n[7]=o.y,n[8]=o.z,n};var Gn=new K(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Qn=new A.Cartographic,Kn=new A.Cartesian3,$n=new A.Cartesian3,ea=new J,ta=new K,ra=new K;vn.basisTo2D=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("projection is required.");if(!D.defined(t))throw new Q.DeveloperError("matrix is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");var n=K.getTranslation(t,$n),a=e.ellipsoid,i=a.cartesianToCartographic(n,Qn),o=e.project(i,Kn);A.Cartesian3.fromElements(o.z,o.x,o.y,o);var s=vn.eastNorthUpToFixedFrame(n,a,ta),u=K.inverseTransformation(s,ra),c=K.getMatrix3(t,ea),l=K.multiplyByMatrix3(u,c,r);return K.multiply(Gn,l,r),K.setTranslation(r,o,r),r},vn.wgs84To2DModelMatrix=function(e,t,r){if(!D.defined(e))throw new Q.DeveloperError("projection is required.");if(!D.defined(t))throw new Q.DeveloperError("center is required.");if(!D.defined(r))throw new Q.DeveloperError("result is required.");var n=e.ellipsoid,a=vn.eastNorthUpToFixedFrame(t,n,ta),i=K.inverseTransformation(a,ra),o=n.cartesianToCartographic(t,Qn),s=e.project(o,Kn);A.Cartesian3.fromElements(s.z,s.x,s.y,s);var u=K.fromTranslation(s,ta);return K.multiply(Gn,i,r),K.multiply(u,r,r),r},e.BoundingSphere=z,e.Cartesian4=G,e.FeatureDetection=Je,e.GeographicProjection=t,e.Intersect=o,e.Interval=s,e.Matrix3=J,e.Matrix4=K,e.Quaternion=Ge,e.Resource=Yr,e.Transforms=vn,e.buildModuleUrl=pn});