define(["./createTaskProcessorWorker","./ComponentDatatype-c140a87d","./Color-5008547b","./S3MCompressType-25e9ba65","./Cartographic-3309dd0d","./Matrix4-cde86d0e","./pako_inflate-f73548c4","./when-b60132fc","./Check-7b2a090c","./WebGLConstants-4ae0db90","./FeatureDetection-c3b71206","./Math-119be1a3","./RuntimeError-4a5c8994","./Cartesian4-3ca25aab"],(function(t,e,r,n,a,i,o,E,s,y,p,T,u,A){"use strict";function l(t,e,r,n,a,i){this.left=t,this.bottom=e,this.right=r,this.top=n,this.minHeight=a,this.maxHeight=i,this.width=r-t,this.length=n-e,this.height=i-a}function _(t,r,n,o,E,s,y){var p=E.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var T=0,u={},A=u.vertexAttributes=[],l=u.attrLocation={};u.instanceCount=0,u.instanceMode=0;var _=0;E.getUint32(s,!0),s+=Uint32Array.BYTES_PER_ELEMENT;var v=E.getUint16(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var c=v;v>4&&(c=v>>8,v&=15);var m=E.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var d=void 0,f=void 0;if(m>0){var B=E.getUint16(s,!0);B=v*Float32Array.BYTES_PER_ELEMENT,s+=Uint32Array.BYTES_PER_ELEMENT,T=m*B;var g=o.subarray(s,s+T);if(n){var U=new a.Cartesian3,P=new a.Cartesian3,L=new Float32Array(g.buffer,g.byteOffset,g.byteLength/4),h=new a.Cartographic;d=new a.Cartographic,f=new a.Cartographic;for(var M=new Float32Array(2*m),N=new Float64Array(2*m),S=0;S0){var Y=E.getUint16(s,!0);Y=c*Float32Array.BYTES_PER_ELEMENT,s+=Uint32Array.BYTES_PER_ELEMENT,T=R*Y,t.ignoreNormal||(l.aNormal=_,A.push({index:l.aNormal,typedArray:o.subarray(s,s+T),componentsPerAttribute:c,componentDatatype:e.ComponentDatatype.FLOAT,offsetInBytes:0,strideInBytes:Y,normalize:!1}),_++),s+=T}var D=E.getUint32(s,!0);if(s+=Uint32Array.BYTES_PER_ELEMENT,D>0){var C=new Uint8Array(4*D);y.push(C.buffer);var b=E.getUint32(s,!0);b=4*Float32Array.BYTES_PER_ELEMENT,s+=Uint32Array.BYTES_PER_ELEMENT,T=D*b;for(var x=new Float32Array(o.buffer,s,4*m),F=0;F0&&(s+=T=16*I);var w=E.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;for(var O,k,z=-1,H=0;H0&&(0==K?(s+=T=J*Uint16Array.BYTES_PER_ELEMENT,J%2==1&&(s+=2)):s+=T=4*J),q.indicesTypedArray=o.subarray(Z,Z+T);var $=E.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var tt=E.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT*$,q.materialCode=tt,j.push(q)}return t[p]={vertexPackage:u,arrIndexPackage:j,cartographicBounds:{max:d,min:f}},s}function v(t,r,n){var a=t.vertexAttributes,i=t.attrLocation,o=a.length;i[1===n?"instanceId":"batchId"]=o,a.push({index:o,typedArray:r,componentsPerAttribute:1,componentDatatype:e.ComponentDatatype.FLOAT,offsetInBytes:0,strideInBytes:0,instanceDivisor:n})}return new r.Color,t((function(t,e){var r=t.buffer,a=t.supportCompressType,i=t.bVolume,E=null,s=null,y=null,p=t.isCoverImageryLayer,T=t.modelMatrix;if(i&&t.volbuffer.byteLength<8&&(i=!1),i){var u=t.volbuffer,A=new Uint8Array(u,8),c=o.pako.inflate(A).buffer,m=new Float64Array(c,0,1),d=new Uint32Array(c,48,1);if(0===m[0]||3200===d[0]||3201===d[0]){var f=0;0===m[0]&&(f=8),e.push(c);var B=new Float64Array(c,f,6),g=B[0],U=B[1],P=B[2],L=B[3],h=B[4]B[5]?B[4]:B[5];s={left:g,top:U,right:P,bottom:L,minHeight:h,maxHeight:M,width:(E=new l(g,L,P,U,h,M)).width,length:E.length,height:E.height};var N=new Uint32Array(c,48+f,7),S=N[0],R=N[1],Y=N[2],D=N[3];y={nFormat:S,nSideBlockCount:R,nBlockLength:Y,nLength:D,nWidth:N[4],nHeight:N[5],nDepth:N[6],imageArray:new Uint8Array(c,76+f,D*D*4)}}}var C=0,b=new Uint8Array(r,0,4);if(115!==b[0]||51!==b[1]||109!==b[2])return{result:!1};var x=b[3],F=(A=new Uint8Array(r,4),o.pako.inflate(A).buffer),I=new Uint8Array(F);e.push(I.buffer);var w=new DataView(F),O=w.getUint32(C,!0);C+=Uint32Array.BYTES_PER_ELEMENT;var k=new Uint8Array(F,C,O),z=O%4;z&&(z=4-z),C+=O+z;var H=n.getStringFromTypedArray(k,void 0,void 0,"gbk");H=(H=H.replace(new RegExp("\r\n","gm"),"")).replace(new RegExp(":","gm"),""),w.getUint32(C,!0),C+=Uint32Array.BYTES_PER_ELEMENT;var G=w.getUint32(C,!0);C+=Uint32Array.BYTES_PER_ELEMENT;var W={};W.ignoreNormal=t.ignoreNormal;for(var V=0;Vn.S3MPixelFormat.BGR||_t===n.S3MPixelFormat.LUMINANCE_ALPHA?(ct=new Uint8Array(F,C,ut*At),vt=new Uint8Array(ut*At*4)):(ct=new Uint16Array(F,C,$/2),vt=new Uint16Array(ut*At)),n.DXTTextureDecode.decode(vt,ut,At,ct,_t),e.push(vt.buffer),lt=0}else vt=new Uint8Array(F,C,$);pt[Tt]={id:Tt,width:ut,height:At,compressType:lt,nFormat:_t,imageBuffer:vt},C+=$}return{result:!0,version:x,xmlDoc:H,geoPackage:W,texturePackage:pt,volImageBuffer:y,volBounds:s}}))}));